¿Qué es InstructLab?

Un hombre sentado frente a múltiples monitores de computadoras

Autores

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué es InstructLab?

InstructLab es un método para entrenar modelos de IA destinado a mejorar significativamente los LLM utilizados en el desarrollo de aplicaciones de IA generativa.

Instruct Lab fue desarrollado por IBM Investigación y RedHat, y es un proyecto de código abierto, lo que significa que depende de una comunidad global de desarrolladores (conocida como la comunidad InstructLab) para construirlo y mantenerlo.

El proyecto InstructLab se creó para abordar los problemas que limitan el desarrollo de modelos de lenguaje grandes (LLM), sobre todo el costo y la complejidad del entrenamiento y la recopilación de datos, y la dificultad de aportar habilidades y conocimientos.

Según Forbes, InstructLab ha mejorado el rendimiento de los LLM y ha resuelto varios retos de escalabilidad del entrenamiento tradicional de LLM, eliminando la necesidad de que las empresas creen y mantengan múltiples LLM. Esto es posible en gran medida gracias a un método de entrenamiento de LLM conocido como Alineación a gran escala para chatBots, o LAB, desarrollado por IBM.

¿Qué es la alineación a gran escala para chatBots (LAB)?

Los chatbots más poderosos de la actualidad, como Siri, Alexa y ChatGPT, dependen de LLM preentrenados, lo que les permite aprender tareas rápidamente durante el proceso de alineación de la IA. Pero llevar la inteligencia artificial a ese nivel puede ser costoso y llevar mucho tiempo, y los modelos que surgen a menudo carecen de la profundidad necesaria para superar situaciones complejas, matizadas y similares a las humanas. Según el IBM Institute of Business Value, los ejecutivos esperaban que el costo promedio de la computación aumentara casi un 90 % debido principalmente a las demandas de crear LLM para aplicaciones de IA generativa.

La alineación a gran escala para chatbots (LAB) es un método para generar datos sintéticamente para tareas específicas que una organización necesita que realice un chatbot. A diferencia de los métodos de entrenamiento tradicionales, permite a los chatbots asimilar rápidamente nueva información y aprender nuevas habilidades sin sobrescribir lo que ya han aprendido.  

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Cómo funciona InstructLab?

El enfoque de InstructLab para el desarrollo y mantenimiento de modelos de lenguaje grandes (LLM) es diferente de otros modelos en que pone el proceso firmemente en manos de una comunidad mundial de desarrolladores, un proceso conocido como IA de código abierto. Al igual que el software de código abierto permite a los desarrolladores contribuir al desarrollo de código y características, la IA de código abierto les permite agregar nuevas habilidades y capacidades e iterar rápidamente sobre los modelos existentes.

Respaldado por el método LAB, el enfoque de InstructLab para crear LLM es diferente de otros en tres aspectos críticos:

  • Curaduría de datos basada en taxonomía
  • Generación de datos sintéticos a gran escala
  • Ajuste de alineación a gran escala

Curaduría de datos basada en taxonomía

En el entrenamiento de un LLM, la taxonomía es una estructura jerárquica que categoriza las habilidades y áreas de conocimiento crítico para la aplicación prevista de un LLM. Por ejemplo, la taxonomía de un LLM que se va a aplicar a un vehículo autónomo diferiría significativamente de una que se aplica a la investigación médica de la misma manera que un piloto de carreras tendría que aprender diferentes habilidades que un médico.

Los datos de InstructLab están estructurados de una manera que facilita la comprensión de las habilidades y la base de conocimientos existentes del modelo. La simplicidad de la estructura de InstructLab hace que sea sencillo para los desarrolladores identificar brechas y completar conocimientos y habilidades cuando sea necesario. Esta curaduría de datos basada en la taxonomía también permite que los modelos se orienten específicamente a nuevos casos de uso, como la investigación o una aplicación específica del Internet de las cosas (IoT), y se les doten de las habilidades adecuadas.

Con este fin, el enfoque de InstructLab se basa en gran medida en YAML ("YAML Ain't No Markup Language" o "Yet Another Markup Language"), un formato estandarizado para representar datos de una manera que sea fácil de interpretar tanto para humanos como para máquinas. El enfoque YAML allana el camino para el siguiente paso clave en el proceso de InstructLab: la generación de datos sintéticos a gran escala.

Generación de datos sintéticos a gran escala

Una vez curados los datos para entrenar un modelo específico, el modelo en sí está listo para generar sus propios datos basados en los datos de entrenamiento, un proceso conocido como generación de datos sintéticos. Lo que distingue el enfoque de InstructLab para este paso en el entrenamiento de un LLM es la escala en la que se realiza y la precisión de los datos que puede generar. Basándose una vez más en el método de alineación a gran escala para chatBots (LAB), el enfoque de InstructLab agrega un paso automatizado, refinando aún más las respuestas que genera el LLM para garantizar su precisión.

Los nuevos datos generados durante este paso, críticos para la formación de todos los LLMs, no solo de InstructLab, se basan en lo que se conoce como un modelo de "profesor", un modelo más grande que genera etiquetas y datos para que un modelo "estudiante" más pequeño y eficiente pueda aprender.

Con el método LAB, los LLM de InstructLab en realidad no utilizan el almacén de datos del modelo docente, sino instrucciones específicas que aumentan exponencialmente el conjunto de datos y, al mismo tiempo, garantizan que los ejemplos generados por el modelo "estudiante" permanezcan en línea con el propósito previsto de los LLM.

Según IBM Research, este enfoque "genera sistemáticamente datos sintéticos para las tareas que desea que realice su chatbot, y para asimilar nuevos conocimientos y capacidades en el modelo fundacional, sin sobrescribir lo que el modelo ya ha aprendido".

Ajuste de alineación a gran escala

En el paso final del proceso InstructLab/LAB, el LLM se vuelve a entrenar en los datos sintéticos de los que ha estado aprendiendo, refinando sus habilidades y mejorando la precisión de sus respuestas. Este último paso se divide en dos fases:

  • Ajuste del conocimiento: el ajuste del conocimiento es un entrenamiento que se centra en mejorar el conocimiento básico del LLM de las habilidades esenciales mediante la introducción de nuevos hechos que requieren respuestas cortas y largas y la evaluación de la precisión de esas respuestas.
  • Ajuste de habilidades: una vez completado el entrenamiento de conocimientos, el modelo se somete a un ajuste de habilidades como parte de su preparación final antes de desplegarse. Durante la afinación de habilidades, el modelo se entrena con muestras de datos relacionadas con habilidades específicas que se le exigen (dependiendo de su propósito previsto). Por ejemplo, durante esta etapa de entrenamiento, un chatbot de atención al cliente probablemente se entrenaría con miles de horas de transcripciones de consultas de clientes.
Red Hat

Habilite las capacidades de IA con Red Hat Openshift on IBM Cloud

Descubra cómo puede utilizar Red Hat OpenShift on IBM Cloud para habilitar la plataforma de operaciones de machine learning flexible y escalable con herramientas para crear, desplegar y gestionar aplicaciones habilitadas para IA.

En qué se diferencia InstructLab de la RAG tradicional

Los LLM entrenados con métodos más tradicionales suelen utilizar un proceso llamado generación aumentada por recuperación (RAG, por sus siglas en inglés) para complementar sus conocimientos con un entrenamiento más enfocado y específico del dominio. La RAG es una herramienta útil para las organizaciones que necesitan agregar datos de propiedad exclusiva a un modelo base existente para un propósito específico sin renunciar al control sobre sus datos de propiedad exclusiva.

El método InstructLab/LAB se puede utilizar para el mismo propósito que un proceso de RAG más tradicional, pero en lugar de agregar conocimientos específicos existentes, se centra más en las contribuciones de los usuarios finales de su comunidad para desarrollar conocimientos y habilidades relevantes. Las organizaciones que buscan ajustar los LLM para un propósito específico pueden usar tanto RAG como InstructLab/LAB para lograr resultados ideales.

Infraestructura de entrenamiento de modelos de InstructLab

A medida que las aplicaciones de IA se vuelven más exigentes, los LLM para apoyarlas son cada vez más grandes y complejos y, en consecuencia, imponen exigencias más rigurosas a la infraestructura de IA subyacente. InstructLab/LAB, al igual que todos los demás métodos avanzados de entrenamiento de modelos, depende de una infraestructura intensiva en GPU capaz de cumplir con los puntos de referencia de rendimiento necesarios para volver a entrenar constantemente los modelos de IA de acuerdo con las contribuciones de su comunidad global de código abierto en github.com/instructlab.

Afortunadamente, IBM se dedica a proporcionar todo el almacenamiento de datos, la gestión, los flujos de trabajo y las prácticas necesarios para el éxito de los proyectos de LLM.

¿Por qué es importante InstructLab?

Hoy en día, los LLM sustentan los casos de uso de IA más interesantes, desde chatbots de IA generativa y asistentes de programación hasta computación edge, aplicaciones de Internet de las cosas (IoT) y más. Pueden ser modelos patentados, como OpenAI y Claude, o modelos que se basan en principios de código abierto en lo que respecta a los datos de preentrenamiento que utilizan, como Mistral, Llama-2 y los modelos Granite de IBM.

InstructLab destaca por su capacidad para igualar e incluso superar el rendimiento de los modelos patentados que utilizan los disponibles públicamente. IBM watsonx, una plataforma de IA y datos diseñada para ayudar a las empresas a escalar y acelerar el impacto de la IA, depende ampliamente de ella. Por ejemplo, Merlinite-7B, un modelo recientemente entrenado en LAB, superó a varios modelos propietarios en áreas clave, según un artículo de investigación de IBM.

Las limitaciones de modificar los LLM existentes

Para cumplir con los requisitos de las aplicaciones avanzadas de IA generativa, los desarrolladores suelen confiar en un LLM existente que adaptan para satisfacer una necesidad empresarial específica. Tomemos, por ejemplo, una compañía de seguros que busca crear una aplicación de IA generativa para ayudar a los empleados a obtener insights de los datos patentados de los clientes. Hoy en día, probablemente comprarían un LLM existente creado para chatbots y lo modificarían según sus necesidades. Pero este enfoque tiene varias limitaciones importantes:

  • Ajustar un LLM existente para comprender el área única de experiencia que requiere su organización puede ser costoso y requerir muchos recursos.
  • Es difícil que el modelo mejore continuamente una vez que se ha ajustado para adaptarse a un determinado conjunto de necesidades, lo que significa que no puede iterar o evolucionar con los requisitos de la organización.
  • Refinar un LLM para que se ajuste a un propósito comercial específico requiere una gran cantidad de datos generados por humanos para que el modelo se entrene, lo que requiere mucho tiempo y es costoso de adquirir.

InstructLab mejora los LLM con menos entrada humana y menos recursos

El método InstructLab puede entrenar LLM utilizando menos entradas generadas por humanos y muchos menos recursos informáticos. La base del método de entrenamiento de la mayoría de los LLM modernos, especialmente los que sustentan los potentes chatbots, es un extenso entrenamiento previo en grandes conjuntos de datos de texto no estructurado. Si bien este enfoque de entrenamiento permite a los LLM adquirir nuevas habilidades con relativa rapidez en la etapa de alineación, es costoso y requiere una amplia entrada humana.

El enfoque LAB, desarrollado por IBM Investigación, utiliza la generación de datos sintéticos guiada por taxonomía para reducir los costos y la necesidad de entrada humana. Junto con el enfoque de desarrollo de código abierto e impulsado por la comunidad de InstructLab, este enfoque democratiza eficazmente el desarrollo de los LLM necesarios para las aplicaciones de IA generativa.

La interfaz de línea de comandos (CLI) de InstructLab, el conjunto de instrucciones que los desarrolladores usan para administrarla, incluso está diseñada para ejecutarse en dispositivos ampliamente utilizados como computadoras portátiles personales, y se alienta a los desarrolladores a aportar nuevos conocimientos o habilidades a través de la comunidad de IA Hugging Face.

Casos de uso de InstructLab

InstructLab adopta un enfoque de código abierto basado en la comunidad para ajustar los LLM a una amplia gama de casos de uso. Estos son algunos de los más comunes.

Atención médica

Los LLM desarrollados con el enfoque InstructLab pueden entrenarse para adquirir nuevas habilidades y conocimientos para muchas aplicaciones en la industria de la atención médica, desde rastrear volúmenes de datos clínicos para ayudar a los científicos a lograr avances en la investigación médica hasta evaluar el riesgo del paciente a partir del historial médico y más.

Banca

En la banca, el enfoque de InstructLab puede crear LLM con énfasis en el análisis comercial y la proyección de modelos para ayudar a detectar tendencias y pronosticar el riesgo asociado con las estrategias de trading. También se puede utilizar para entrenar a los LLM para aplicaciones de IA generativa en finanzas personales, como ahorro para la jubilación, elaboración de presupuestos y más.

Atención al cliente

Los LLM entrenados con el enfoque de InstructLab pueden impulsar chatbots inteligentes entrenados en áreas específicas de atención al cliente, como devolver un artículo o solicitar un producto específico. Más allá de eso, el método LAB puede ayudar a perfeccionar a los LLM para que sean asistentes virtuales con un conjunto complejo de habilidades, como programar citas, reservar viajes, declarar impuestos y más.

Marketing

El método InstructLab ayuda a ajustar los LLM detrás de las aplicaciones de IA generativa en marketing para una variedad de propósitos. Pueden aprender a examinar los datos de los clientes para obtener insights sobre el comportamiento, la preferencia del producto e incluso el diseño futuro del producto. También pueden adquirir las habilidades necesarias para ofrecer consejos personalizados sobre productos, como tallas de calzado o ropa, preferencia de color y más.

DevOps

La aplicación del método InstructLab para entrenar LLM para ayudar a mejorar el ciclo de vida de DevOps puede beneficiar a los desarrolladores de varias maneras importantes. Los LLM entrenados con el método InstructLab pueden generar código y crear scripts, automatizar el aprovisionamiento de infraestructura (aplicaciones de infraestructura como código (IaC)) y acortar y mejorar la resolución de problemas de rutina, e incluso el análisis y revisión de código.  

Soluciones relacionadas
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud es una plataforma de contenedores OpenShift (OCP) totalmente gestionada.

Explore IBM Red Hat OpenShift
Soluciones Red Hat

Desbloquee Red Hat IA e InstructLab como servicio en IBM Cloud.

Explore las soluciones de Red Hat AI
Servicios de consultoría de Red Hat

Transforme su negocio con las tecnologías de Red Hat e IBM Consulting, logre ahorros de costos y acelere su transición a la nube híbrida.

Explore los servicios de Red Hat
Dé el siguiente paso

Desbloquee Red Hat IA e InstructLab como servicio en IBM Cloud.

Explore las soluciones de Red Hat AI Más información