LLM y la pila tecnológica emergente de ML

Autores: harrison chase y brian raymond

El ritmo de desarrollo en el espacio del modelo de lenguaje grande (LLM) se ha disparado en los últimos meses y una de las historias más interesantes ha sido el cambio rápido hacia una nueva pila tecnológica para respaldar un patrón de compromiso completamente nuevo con estos modelos de lenguaje. En esta publicación de blog, exploraremos los cambios que se están produciendo en la pila de tecnología LLM y lo que significa para los desarrolladores.

La pila tecnológica existente de PNL

Hasta hace poco, los desarrolladores de NLP se han basado en una pila de tecnología optimizada para tareas de NLP como la clasificación de texto, el reconocimiento de entidades con nombre, la desambiguación de entidades con nombre. Esta pila tecnológica generalmente consta de una canalización de preprocesamiento de datos, una canalización de aprendizaje automático y varias bases de datos para almacenar incrustaciones y datos estructurados. Esta arquitectura funcionó bien para generar grandes cantidades de triples, incrustaciones de palabras, incrustaciones de oraciones, salidas de secuencia a secuencia, probabilidades de modelos de lenguaje, pesos de atención y más. Los desarrolladores generalmente almacenarían estos resultados estructurados en bases de datos de ElasticSearch, Postgres o Neo4j, que utilizarían como un gráfico de conocimiento que los usuarios (o servicios) podrían consultar.

Esta arquitectura funcionó bien para producir datos estructurados altamente confiables que podrían implementarse dentro de los sistemas empresariales para automatizar procesos clave (por ejemplo, clasificar documentos, encontrar entidades y las relaciones entre entidades, etc.). Sin embargo, tuvieron dificultades para obtener una adopción generalizada porque tardaron en ponerse de pie (requerían grandes cantidades de datos etiquetados y bastante ajuste fino del modelo); costosa de ejecutar (a menudo, estas arquitecturas tendrían más de tres docenas de modelos en una canalización/sistema); y las canalizaciones de ingesta y modelo eran frágiles para los nuevos diseños de documentos y tipos de datos.

La pila tecnológica emergente de LLM

Desde el otoño de 2022, ha comenzado a surgir una nueva pila tecnológica diseñada para explotar todo el potencial de los LLM. A diferencia de la pila tecnológica anterior, esta tiene como objetivo permitir la generación de texto, la tarea en la que los LLM modernos son notablemente buenos en comparación con los modelos de aprendizaje automático anteriores. Esta nueva pila consta de cuatro pilares: una canalización de preprocesamiento de datos, punto final de incrustaciones + almacén de vectores, puntos finales LLM y un marco de programación LLM. Hay varias diferencias importantes entre la pila de tecnología más antigua y la nueva. Primero: la nueva pila tecnológica no depende tanto de los gráficos de conocimiento que almacenan datos estructurados (por ejemplo, triples) porque los LLM como ChatGPT, Claude y Flan T-5 tienen mucha más información codificada que los modelos anteriores como GPT 2. En segundo lugar: la pila de tecnología más nueva utiliza un punto final de LLM listo para usar como modelo, en lugar de una canalización de ML personalizada (al menos para comenzar). Esto significa que los desarrolladores de hoy dedican mucho menos tiempo a entrenar modelos de extracción de información especializados (por ejemplo, reconocimiento de entidad nombrada, extracción de relación y sentimiento) y pueden generar soluciones en una fracción del tiempo (y costo).

Canalización de preprocesamiento de datos: El primer pilar de la nueva pila de tecnología prácticamente no ha cambiado con respecto a la pila anterior: la canalización de preprocesamiento de datos. Este paso incluye conectores para ingerir datos dondequiera que residan (p. ej., un depósito S3 o un CRM), una capa de transformación de datos y conectores posteriores (p. ej., a una base de datos vectorial). A menudo, la información más valiosa para alimentar un LLM es también la más difícil de trabajar (PDF, PPTX, HTML, etc.), pero también los documentos en los que el texto es fácilmente accesible (.DOCX, por ejemplo) contienen información que los usuarios no No quiero que se envíe al punto final de la inferencia (por ejemplo, anuncios, texto modelo legal, etc.).

Históricamente, este paso fue creado a mano específicamente para cada aplicación por científicos de datos. Dependiendo de los tipos de datos involucrados, pueden usar modelos OCR listos para usar y docenas a cientos de expresiones regulares personalizadas para transformar y limpiar datos de lenguaje natural para procesarlos en una canalización de aprendizaje automático posterior. En Unstructured estamos desarrollando herramientas de código abierto para acelerar este paso de preprocesamiento, utilizando una variedad de modelos de segmentación de documentos de visión por computadora, así como modelos NLP, scripts de Python y expresiones regulares para extraer, limpiar y transformar automáticamente elementos críticos del documento (por ejemplo, titulares, cuerpo del texto, encabezados/pies de página, listas y más). Actualmente estamos trabajando en la próxima generación de herramientas para que sea más fácil para los desarrolladores señalar corpus de archivos grandes y altamente heterogéneos que contienen datos de lenguaje natural (por ejemplo, un depósito S3 que contiene miles de PDF, PPTX, registros de chat, HTML extraído, etc.). ) en un solo punto final de API y recibir JSON limpio listo para un punto final de incrustación y almacenamiento en una base de datos vectorial.

Incrustaciones Endpoint y Vector Store: El uso de un punto final de incrustaciones y un almacén de vectores representa una evolución significativa en la forma en que se almacenan y se accede a los datos. Anteriormente, las incrustaciones se usaban en gran medida para tareas de nicho, como la agrupación de documentos. Sin embargo, en la nueva arquitectura, el almacenamiento de documentos y sus incrustaciones en una base de datos vectorial permite patrones de participación críticos por parte del extremo LLM (más sobre esto a continuación). Una de las principales ventajas de esta arquitectura es la capacidad de almacenar incrustaciones sin procesar directamente, en lugar de convertirlas a un formato estructurado. Esto significa que los datos se pueden almacenar en su formato natural, lo que permite tiempos de procesamiento más rápidos y una recuperación de datos más eficiente. Además, este enfoque puede facilitar el trabajo con grandes conjuntos de datos, ya que puede reducir la cantidad de datos que deben procesarse durante el entrenamiento y la inferencia.

Generar y almacenar incrustaciones de documentos, junto con versiones JSON de los propios documentos, crea un mecanismo fácil para que el LLM interactúe con el almacén de vectores. Esto es particularmente útil para aplicaciones donde se requiere procesamiento en tiempo real, como los chatbots. Al minimizar el tiempo requerido para la recuperación de datos, el sistema puede responder más rápidamente y brindar una mejor experiencia al usuario. Otra ventaja de usar las incrustaciones (y el índice de documentos) y el almacenamiento de vectores es que puede facilitar la implementación de técnicas como el aprendizaje de transferencia, para permitir un ajuste fino más eficiente y un mejor rendimiento.

Punto final de LLM: El tercer pilar de la nueva pila tecnológica es el punto final LLM. Este es el punto final que recibe datos de entrada y produce salida LLM. El punto final de LLM es responsable de administrar los recursos del modelo, incluida la memoria y la computación, y de proporcionar una interfaz escalable y tolerante a fallas para servir la salida de LLM a las aplicaciones posteriores.

Aunque la mayoría de los proveedores de LLM ofrecen varios tipos diferentes de puntos finales, usamos esto para referirnos a los puntos finales de generación de texto. Como se mencionó anteriormente, este es el nuevo desbloqueo tecnológico que está impulsando muchas de las aplicaciones emergentes (en comparación con las canalizaciones de ML más tradicionales). Es un poco simplificado, pero la interfaz que exponen estos extremos de LLM es un campo de texto como entrada y un campo de texto como salida.

Marco de programación LLM: El pilar final de la nueva pila tecnológica es un marco de programación LLM. Estos marcos proporcionan un conjunto de herramientas y abstracciones para crear aplicaciones con modelos de lenguaje. En LangChain, este es exactamente el marco en el que estamos trabajando para construir. Estos marcos evolucionan rápidamente, lo que puede dificultar su definición. Aún así, estamos convergiendo en un conjunto de abstracciones, que detallaremos a continuación.

Una gran función de estos marcos es orquestar todos los diversos componentes. En la pila moderna hasta ahora, los tipos de componentes que hemos visto emerger son: proveedores de LLM (cubiertos en la sección anterior), modelos integrados, tiendas de vectores, cargadores de documentos, otras herramientas externas (búsqueda de Google, etc.). En LangChain, nos referimos a formas de combinar estos componentes como cadenas. Por ejemplo, tenemos cadenas para hacer control de calidad sobre una tienda de vectores, cadenas para interactuar con bases de datos SQL, etc.

Todas estas cadenas implican llamar al modelo de lenguaje en algún momento. Al llamar al modelo de lenguaje, el desafío principal proviene de construir el indicador para pasar al modelo de lenguaje. Estos avisos suelen ser una combinación de información tomada de otros componentes más una plantilla de aviso base. LangChain proporciona un montón de plantillas de solicitud predeterminadas para comenzar con estas cadenas, pero también estamos enfocados en construir el LangChainHub — un lugar para que los usuarios compartan estas indicaciones.

Preguntas abiertas:

La mejor manera de indexar datos: En este momento, todos utilizan en gran medida las tiendas de vectores como la forma principal de indexar datos de modo que los LLM puedan interactuar con ellos. Sin embargo, este es solo el primer paso para definir cómo deberían funcionar estas interacciones. Un área de exploración activa es hasta qué punto los gráficos de conocimiento, junto con los índices de documentos y sus incorporaciones, pueden mejorar aún más la calidad de las inferencias de los LLM. Además, en el futuro previsible, la mayoría de las empresas seguirán necesitando datos estructurados de alta calidad (normalmente en una base de datos de gráficos) para fusionarlos con conjuntos de datos existentes y soluciones de inteligencia empresarial. Esto significa que, a mediano plazo, los usuarios empresariales pueden confiar tanto en bases de datos vectoriales como gráficas para potenciar las aplicaciones y los flujos de trabajo existentes.

Cómo se verá el ajuste fino/reentrenamiento: En este momento, los marcos de programación de LLM como LangChain se utilizan para combinar sus propios datos con un LLM preentrenado. Otra forma de hacer esto es ajustar el LLM en sus datos. El ajuste fino tiene algunos pros y contras. En el lado positivo, reduce la necesidad de mucha de esta orquestación. Sin embargo, la desventaja es que es más costoso y lleva más tiempo hacerlo bien, y requiere hacerlo periódicamente para mantenerse actualizado. Será interesante ver cómo evolucionan estas compensaciones con el tiempo.

Diferentes formas de usar incrustaciones: Incluso si el patrón de uso principal sigue manteniendo sus datos en una base de datos externa, en lugar de ajustarlos, hay otras formas de combinarlos con LLM en lugar de los enfoques actuales (que implican pasarlos al aviso). Los más emocionantes son enfoques como RETRO, que obtienen incrustaciones de documentos pero luego atienden directamente esas incrustaciones en lugar de pasar el texto como indicaciones. Si bien estos modelos se han utilizado principalmente en entornos de investigación, será interesante ver si se generalizan y cómo afecta esto a los marcos de programación de LLM.

Conclusión

El cambio hacia esta nueva pila de tecnología LLM es un desarrollo emocionante que permitirá a los desarrolladores crear e implementar aplicaciones NLP más potentes. La nueva pila es más eficiente, escalable y más fácil de usar que la antigua, y desbloquea todo el potencial de los LLM. Podemos esperar ver más innovaciones en este espacio en los próximos meses y años a medida que los desarrolladores continúen encontrando nuevas formas de aprovechar el poder de los LLM.


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *