Esta publicación fue coescrita con Anthony Medeiros, Gerente de Ingeniería y Arquitectura de Soluciones para Inteligencia Artificial de América del Norte, y Blake Santschi, Gerente de Inteligencia Comercial, de Schneider Electric. Otros expertos de Schneider Electric incluyen a Jesse Miller, Somik Chowdhury, Shaswat Babhulgaonkar, David Watkins, Mark Carlson y Barbara Sleczkowski.
Las empresas utilizan los sistemas de planificación de recursos empresariales (ERP) para gestionar varias funciones comerciales, como contabilidad, ventas o gestión de pedidos en un solo sistema. En particular, se utilizan habitualmente para almacenar información relacionada con las cuentas de los clientes. Diferentes organizaciones dentro de una empresa pueden utilizar diferentes sistemas ERP y fusionarlos es un desafío técnico complejo a escala que requiere conocimientos específicos del dominio.
Schneider Electric es líder en la transformación digital de la gestión energética y la automatización industrial. Para satisfacer mejor las necesidades de sus clientes, Schneider Electric necesita realizar un seguimiento de los vínculos entre las cuentas de los clientes relacionados en sus sistemas ERP. A medida que su base de clientes crece, se agregan nuevos clientes diariamente y sus equipos de cuentas tienen que clasificar manualmente a estos nuevos clientes y vincularlos a la entidad matriz adecuada.
La decisión de vinculación se basa en la información más reciente disponible públicamente en Internet o en los medios de comunicación y podría verse afectada por adquisiciones recientes, noticias del mercado o reestructuraciones divisionales. Un ejemplo de vinculación de cuentas sería identificar la relación entre Amazon y su filial, Whole Foods Market (fuente).
Schneider Electric está implementando modelos de lenguaje grandes por sus capacidades para responder preguntas en diversos dominios de conocimiento específicos; la fecha en que se entrenó el modelo limita su conocimiento. Abordaron ese desafío utilizando un modelo de lenguaje grande de código abierto de generación aumentada de Retriever disponible en Amazon SageMaker JumpStart para procesar grandes cantidades de conocimiento externo extraído y exhibir relaciones corporativas o públicas entre los registros de ERP.
A principios de 2023, cuando Schneider Electric decidió automatizar parte de su proceso de vinculación de cuentas mediante inteligencia artificial (IA), la empresa se asoció con el Laboratorio de soluciones de aprendizaje automático (MLSL) de AWS. Con la experiencia de MLSL en consultoría y ejecución de ML, Schneider Electric pudo desarrollar una arquitectura de IA que reduciría el esfuerzo manual en sus flujos de trabajo de vinculación y brindaría un acceso a datos más rápido a sus equipos de análisis posteriores.
IA generativa
La IA generativa y los modelos de lenguajes grandes (LLM) están transformando la forma en que las organizaciones empresariales pueden resolver desafíos tradicionalmente complejos relacionados con el procesamiento y la comprensión del lenguaje natural. Algunos de los beneficios que ofrecen los LLM incluyen la capacidad de comprender grandes porciones de texto y responder preguntas relacionadas produciendo respuestas similares a las humanas. AWS facilita a los clientes experimentar y producir cargas de trabajo de LLM al ofrecer muchas opciones a través de Amazon SageMaker JumpStart, Amazon Bedrock y Amazon Titan.
Adquisición de conocimientos externos
Los LLM son conocidos por su capacidad para comprimir el conocimiento humano y han demostrado capacidades notables para responder preguntas en diversos dominios específicos del conocimiento, pero su conocimiento está limitado por la fecha en que se entrenó el modelo. Abordamos ese límite de información combinando el LLM con una API de búsqueda de Google para ofrecer un potente LLM de recuperación aumentada (RAG) que aborde los desafíos de Schneider Electric. El RAG puede procesar grandes cantidades de conocimiento externo extraído de la búsqueda de Google y mostrar relaciones corporativas o públicas entre los registros del ERP.
Vea el siguiente ejemplo:
Pregunta: ¿Quién es la empresa matriz de One Medical?
Consulta de Google: “Empresa matriz de One Medical” → información → LLM
Respuesta: One Medical, una subsidiaria de Amazon…
El ejemplo anterior (tomado de la base de datos de clientes de Schneider Electric) se refiere a una adquisición que ocurrió en febrero de 2023 y, por lo tanto, no sería detectada únicamente por el LLM debido a cortes de conocimiento. Ampliar el LLM con la búsqueda de Google garantiza la información más actualizada.
Modelo Flan-T5
En ese proyecto utilizamos el modelo Flan-T5-XXL de la Flan-T5 familia de modelos.
Los modelos Flan-T5 están ajustados a las instrucciones y, por lo tanto, son capaces de realizar diversas tareas de PNL de disparo cero. En nuestra tarea posterior no era necesario acomodar una gran cantidad de conocimiento mundial, sino más bien tener un buen desempeño en la respuesta a preguntas dado un contexto de textos proporcionados a través de los resultados de búsqueda y, por lo tanto, el modelo T5 de parámetros 11B funcionó bien.
JumpStart proporciona una implementación conveniente de esta familia de modelos a través de Amazon SageMaker Studio y SageMaker SDK. Esto incluye Flan-T5 Pequeño, Flan-T5 Base, Flan-T5 Grande, Flan-T5 XL y Flan-T5 XXL. Además, JumpStart ofrece algunas versiones de Flan-T5 XXL con diferentes niveles de cuantización. Implementamos Flan-T5-XXL en un punto final para realizar inferencias mediante Amazon SageMaker Studio Jumpstart.
Recuperación LLM aumentada con LangChain
LangChain es un marco popular y de rápido crecimiento que permite el desarrollo de aplicaciones impulsadas por LLM. Se basa en el concepto de cadenas, que son combinaciones de diferentes componentes diseñados para mejorar la funcionalidad de los LLM para una tarea determinada. Por ejemplo, nos permite personalizar indicaciones e integrar LLM con diferentes herramientas como motores de búsqueda externos o fuentes de datos. En nuestro caso de uso, utilizamos Google Jefe componente para buscar en la web e implementó el modelo Flan-T5-XXL disponible en Amazon SageMaker Studio Jumpstart. LangChain realiza la orquestación general y permite que las páginas de resultados de la búsqueda se introduzcan en la instancia Flan-T5-XXL.
La Generación Aumentada de Recuperación (RAG) consta de dos pasos:
- Recuperación de fragmentos de texto relevantes de fuentes externas
- Aumento de los fragmentos con contexto en el mensaje dado al LLM.
Para el caso de uso de Schneider Electric, el RAG procede de la siguiente manera:
- El nombre de la empresa dado se combina con una pregunta como “¿Quién es la empresa matriz de X”, donde X es la empresa dada) y se pasa a una consulta de Google utilizando Serper ai?
- La información extraída se combina con la pregunta inicial y original y se pasa al LLM para obtener una respuesta.
El siguiente diagrama ilustra este proceso.
Utilice el siguiente código para crear un punto final:
Herramienta de búsqueda de instancias:
En el siguiente código, encadenamos los componentes de recuperación y aumento:
La ingeniería rápida
La combinación del contexto y la pregunta se llama indicación. Notamos que el mensaje general que utilizamos (variaciones en torno a preguntar por la empresa matriz) funcionó bien para la mayoría de los sectores públicos (dominios), pero no se generalizó bien a la educación o la atención médica, ya que la noción de empresa matriz no tiene significado allí. Para educación usamos “X” mientras que para atención médica usamos “Y”.
Para habilitar esta selección de solicitud específica de dominio, también tuvimos que identificar el dominio al que pertenece una cuenta determinada. Para esto, también utilizamos un RAG donde una pregunta de opción múltiple “¿Cuál es el dominio de {cuenta}?” como primer paso, y en base a la respuesta, preguntamos al padre de la cuenta utilizando el mensaje correspondiente como segundo paso. Vea el siguiente código:
Las indicaciones específicas del sector han aumentado el rendimiento general del 55 % al 71 % de precisión. En general, el esfuerzo y el tiempo invertidos para desarrollar estrategias efectivas indicaciones parecen mejorar significativamente la calidad de la respuesta LLM.
RAG con datos tabulares (SEC-10k)
Las presentaciones SEC 10K son otra fuente confiable de información para subsidiarias y subdivisiones presentadas anualmente por empresas que cotizan en bolsa. Estas presentaciones están disponibles directamente en la SEC EDGAR o a través de CorpWatch API.
Suponemos que la información se proporciona en formato tabular. A continuación se muestra un pseudo csv conjunto de datos que imita el formato original del conjunto de datos SEC-10K. Es posible fusionar varios csv fuentes de datos en un marco de datos de pandas combinado:
# A pseudo dataset similar by schema to the CorpWatch API dataset
df.head()