¿Qué es InstructLab?

Copiar URL

InstructLab es un proyecto open source destinado a mejorar los modelos de lenguaje de gran tamaño (LLM) que se utilizan en las aplicaciones de inteligencia artificial generativa. Este proyecto de la comunidad, creado por IBM y Red Hat, ofrece una solución rentable para optimizar el ajuste de los LLM y permite que aquellas personas con poca experiencia en machine learning (aprendizaje automático) puedan realizar contribuciones.

Introducción a la inteligencia artificial a nivel empresarial

 Únete a la comunidad de InstructLab

Los LLM son la base para los casos prácticos de inteligencia artificial generativa, como los chatbots y los asistentes de codificación. Pueden ser propietarios, como los modelos GPT de OpenAI y los modelos Claude de Anthropic, u ofrecer diversos grados de apertura respecto de los datos de preentrenamiento y las restricciones de uso, como los modelos Llama de Meta, Mistral de Mistral AI y Granite de IBM.

A menudo, los especialistas en inteligencia artificial deben adaptar los LLM preentrenados para que se ajusten a propósitos empresariales particulares. Sin embargo, existen limitaciones sobre las formas en que se pueden modificar estos modelos:

  • El perfeccionamiento de un LLM para un área específica de conocimiento o habilidades suele requerir la división de un modelo abierto actual y posteriores entrenamientos costosos que utilizan muchos recursos.
  • Es imposible incorporar mejoras en los proyectos upstream y, por lo tanto, no se pueden aprovechar las contribuciones de la comunidad para optimizar los modelos de forma constante.
  • El perfeccionamiento de los LLM suele requerir grandes cantidades de datos generados por las personas, cuya obtención puede resultar lenta y costosa.

El enfoque de InstructLab acaba con todas esas limitaciones. Este proyecto mejora los LLM utilizando mucha menos información generada por las personas y muchos menos recursos informáticos que los que se suelen utilizar para volver a entrenar a un modelo. Además, permite que las contribuciones upstream mejoren el modelo de forma permanente.

Tanto el proyecto como su nombre se basan en el trabajo de IBM Research sobre el ajuste a gran escala de los chatbots, o Large-scale Alignment for chatBots (LAB). Los miembros del instituto de investigación MIT-IBM Watson AI Lab e IBM Research describen este método en un artículo de investigación de 2024.

El proyecto InstructLab no es específico para un solo modelo, por lo que te permite ajustar el LLM que elijas con habilidades y conocimientos adicionales. Este árbol de habilidades y conocimientos se perfecciona constantemente gracias a las contribuciones de la comunidad, y se puede aplicar para respaldar las compilaciones frecuentes de los LLM mejorados. InstructLab también mantiene una versión optimizada de IBM Granite. IBM lanzó otros dos modelos mejorados con el método LAB: Labradorite, que deriva de Llama 2, y Merlinite, que deriva de Mistral. El proyecto InstructLab prioriza las repeticiones rápidas de los procesos, y su objetivo es volver a entrenar los modelos con regularidad. Las empresas también pueden usar las herramientas de ajuste de modelos del proyecto para entrenar sus LLM privados con sus propias habilidades y conocimientos.

Recursos de Red Hat

El método LAB consta de tres fases:

  • Selección de datos centrada en taxonomías.El término taxonomía hace referencia a un conjunto diverso de datos de entrenamiento seleccionados por especialistas que sirven de ejemplo de las habilidades y los conocimientos nuevos que debe adquirir el modelo.
  • Generación de datos sintéticos a gran escala.Luego, el modelo se usa para generar nuevos ejemplos que se basan en los datos de entrenamiento originales. El método LAB reconoce que la calidad de los datos sintéticos puede variar, por lo que agrega un paso automatizado para perfeccionar las respuestas de ejemplo y garantizar que sean seguras y estén fundamentadas.
  • Optimización del ajuste iterativa y a gran escala.Por último, el modelo se vuelve a entrenar con el conjunto de datos sintéticos. El método LAB incluye dos etapas de perfeccionamiento: la de los conocimientos y la de las habilidades.

Con las contribuciones de datos de la comunidad, se generan compilaciones constantes de los LLM mejorados, cada uno perfeccionado gracias al árbol de habilidades que se creó a partir de ellas.

Comparemos InstructLab con los otros pasos para crear y mejorar un LLM.

Preentrenamiento

Durante este paso, el LLM se entrena con billones de tokens de datos sin etiquetar para predecir el siguiente token. Este proceso es bastante lento y costoso y, a veces, requiere miles de unidades de procesamiento gráfico (GPU). El preentrenamiento de un LLM altamente funcional solo es posible para las empresas que cuentan con muchos recursos.

Ajuste

Después del preentrenamiento, los LLM se ajustan para que las respuestas sean lo más precisas y útiles que sea posible. El primer paso suele ser el ajuste de instrucciones, en el cual el modelo se entrena directamente para tareas de interés específicas. Luego, sigue el ajuste de preferencias, que incluye el aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF). En este paso, las personas prueban el modelo, califican sus resultados y señalan si las respuestas son las adecuadas o no. Para optimizar un modelo, el proceso de RLHF puede incluir varias rondas de retroalimentación y perfeccionamiento.

Según los investigadores, en la etapa de ajuste puede utilizarse una cantidad de datos de retroalimentación mucho menor que el conjunto de datos inicial (decenas de miles de anotaciones de personas, en comparación con los billones de tokens de datos que se necesitan para el preentrenamiento) y, aun así, habilitar las funciones latentes del modelo.

InstructLab

El método LAB surgió de la idea de que debería ser posible obtener las ventajas del ajuste de modelos a partir de conjuntos mucho más pequeños de datos generados por las personas. Un modelo de inteligencia artificial puede utilizar algunos ejemplos de las personas para generar una gran cantidad de datos sintéticos, perfeccionar esa lista para mejorar la calidad, y usar ese conjunto de datos de alta calidad para realizar más ajustes y entrenamientos. En contraste con el ajuste de instrucciones, en el que se suelen necesitar miles de ejemplos de retroalimentación humana, LAB puede mejorar un modelo notablemente utilizando muchos menos ejemplos.

InstructLab y la generación aumentada por recuperación: ¿cuál es la diferencia?

En pocas palabras, la diferencia radica en que InstructLab y la generación aumentada por recuperación (RAG) solucionan problemas distintos.

La RAG es un método rentable para complementar un LLM con conocimiento específico que no estaba incluido en su preentrenamiento. Gracias a ella, un chatbot puede generar respuestas precisas relacionadas con un campo o sector en particular, sin necesidad de volver a entrenar el modelo. Los documentos de conocimiento se almacenan en una base de datos vectorial; luego, se recuperan en fragmentos y se envían al modelo como parte de las consultas de los usuarios. Esto es útil para cualquier persona que desee agregar datos propios a un LLM sin ceder el control de su información o que necesite que el modelo acceda a la información oportuna. 

Por el contrario, el método de InstructLab se basa en las contribuciones de los usuarios finales para respaldar las compilaciones regulares de la versión mejorada de un LLM. InstructLab permite agregar más conocimientos a un modelo y habilitar funciones nuevas en él.

Es posible mejorar al máximo un proceso de RAG implementando esta técnica en un modelo que se haya perfeccionado con InstructLab.

Obtén más información sobre la RAG
 

InstructLab está compuesto por varios proyectos.

Taxonomías

El proyecto se centra en las taxonomías, las cuales se crean en gran parte de forma manual y con mucho cuidado. InstructLab contiene un árbol de taxonomías que permite que los usuarios creen modelos perfeccionados con datos generados por las personas, que luego se mejoran con la generación de datos sintéticos.

Interfaz de línea de comandos

La interfaz de línea de comandos (CLI) de InstructLab permite que los miembros de la comunidad prueben sus contribuciones con sus computadoras portátiles o estaciones de trabajo. De este modo, se benefician de capacidades sencillas para generar datos sintéticos y ajustar instrucciones, sin recurrir a hardware específico.

Infraestructura para el entrenamiento del modelo

La última etapa consiste en crear los LLM mejorados. Para volver a entrenar los modelos con regularidad según las contribuciones nuevas de la comunidad, se requiere una infraestructura con muchas unidades de procesamiento gráfico. IBM dona y mantiene la infraestructura necesaria para volver a entrenar con frecuencia los modelos mejorados del proyecto InstructLab.

Obtén información más detallada sobre la infraestructura de la inteligencia artificial

Cuando estés listo para incorporar la inteligencia artificial a tu empresa, utiliza Red Hat® Enterprise Linux® AI, que integra los LLM con licencias open source de Granite, las herramientas de ajuste de modelos de InstructLab, una imagen de arranque de Red Hat Enterprise Linux, soporte técnico empresarial y compensación por la propiedad intelectual del modelo.

Red Hat Enterprise Linux es la plataforma empresarial de Linux líder en todo el mundo, certificada en cientos de nubes y con miles de proveedores de hardware y software. La estrategia de nube híbrida abierta de Red Hat se basa en la tecnología de Linux, los contenedores y la automatización y te brinda flexibilidad para ejecutar tus aplicaciones de inteligencia artificial donde sea que las necesites.

Red Hat Enterprise Linux AI y el proyecto InstructLab hacen realidad esta visión al disminuir los costos y recursos que se necesitan para diseñar modelos de inteligencia artificial y experimentar con ellos, al mismo tiempo que ofrecen las herramientas, los datos y los conceptos requeridos para impulsar la nueva generación de cargas de trabajo inteligentes.

Descubre Red Hat Enterprise Linux AI

Hub

El blog oficial de Red Hat

Obtenga la información más reciente sobre nuestro ecosistema de clientes, socios y comunidades.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

¿Qué es Podman Desktop?

Podman Desktop es una herramienta open source gratuita que simplifica el uso de contenedores en un entorno de desarrollo local.

Los remplazos de CentOS

Las distribuciones de Linux que poseen más características similares en relación con CentOS Linux facilitarán la transición antes de que llegue al final de su vida útil (EOL) el 30 de junio de 2024.

¿Qué es CentOS?

CentOS es un proyecto open source que ofrece dos distribuciones de Linux® diferentes: CentOS Stream y CentOS Linux.

Open source: lecturas recomendadas

Artículos relacionados