Hacer modelos asequibles que coincidan con las capacidades de Big Tech
Estamos al final de una era, una en la que las empresas tecnológicas gigantes compiten entre sí para construir el modelo de lenguaje más grande que puedan. Durante mucho tiempo, hemos perseguido modelos cada vez más grandes con una cantidad cada vez mayor de parámetros, que culminaron en GPT-4 de OpenAI, que se rumorea que contiene más de 1 billón de parámetros.
Los modelos de lenguaje grande (LLM) como GPT-4 y LLaMA 2, producidos por gigantes de Big Tech como OpenAI y Meta respaldados por Microsoft, tienen aplicaciones significativas y de amplio alcance tanto para empresas como para individuos. Sin embargo, el costo incurrido por entrenar y ejecutar estos modelos se ha vuelto imposible de ignorar, escribe Victor Botev, CTO y cofundador de Iris.ai.
Necesitamos arquitecturas modelo más inteligentes y optimizadas para hacer de la IA algo a lo que todas las empresas puedan acceder para sus propias necesidades. Afortunadamente, hay una variedad de formas para que las organizaciones más pequeñas construyan una IA rentable que compita con las capacidades de los modelos más grandes.
Abordar el problema de los costos
Para la mayoría de las empresas, pero especialmente para las operaciones pequeñas y medianas, la cantidad de capital adicional disponible para invertir en IA puede ser pequeña. Si queremos que la IA sea accesible para la gran mayoría de las organizaciones, debemos hacer que sus costos de capacitación y funcionamiento sean factibles.
En este momento, el ajuste fino y el ajuste del conjunto de instrucciones de un modelo como GPT-4 para que una empresa lo aplique a un caso de uso específico puede costar decenas de miles de dólares. Aparte de los costos de capacitación, cuanto más complicado sea su modelo, más costoso será ejecutarlo a lo largo del tiempo. En el extremo extremo, hay estimaciones de que puede costar alrededor de $ 700,000 por día mantener los servidores de ChatGPT en funcionamiento.
Estos problemas hacen que la personalización de los modelos más grandes para casos de uso específicos de dominio esté totalmente fuera del alcance de muchas organizaciones. Entonces, examinemos cómo los desarrolladores pueden superar este problema y crear modelos verdaderamente rentables.
Entrenamiento y ajuste de sus modelos de IA
Uno de los enfoques más comunes para crear un modelo de lenguaje es tomar un modelo de código abierto existente y entrenarlo para que se ajuste a los requisitos de una organización. Cuando pensamos en cómo podemos personalizar estos modelos para reducir los costos de ejecución y capacitación, es esencial conocer la cantidad mínima de parámetros y ajustes necesarios para cada caso de uso.
Las empresas de hoy en día deben poder realizar tres tipos de ajuste de modelos para que se ajusten a su propósito. Desde el nivel más complejo hasta el más alto, estos son el ajuste fino, el ajuste del conjunto de instrucciones y el ajuste rápido.
Sintonia FINA
Ajuste fino significa hacer ajustes menores en la forma en que los modelos entienden y codifican el lenguaje relacionado con un dominio en particular. Si ciertos tokens están subrepresentados, el ajuste fino nos ayuda a cambiar esto y mejorar la comprensión contextual del modelo. Digamos que se ha creado un modelo con el objetivo de reconocer y categorizar artículos científicos, por ejemplo, esto puede convertirlo en un buen candidato para afinar la investigación de patentes.
Con un conjunto de datos cuidadosamente seleccionado, que a menudo incluye datos propios de la empresa, el nuevo modelo puede ser mucho más preciso que el modelo genérico a partir del cual evolucionó. Al centrarnos en la calidad sobre la cantidad, podemos mejorar la precisión y reducir el tiempo total de entrenamiento.
Ajuste del conjunto de instrucciones
El ajuste del conjunto de instrucciones y el ajuste de avisos son menos costosos y consumen muchos datos que el ajuste fino, pero requieren que tengamos más cuidado en la forma en que formulamos las instrucciones y los avisos. Otro desafío para ambos enfoques es determinar cómo automatizamos la recopilación de datos para que sea un proceso escalable.
El ajuste del conjunto de instrucciones es una técnica ligeramente más nueva, introducida en 2021 con el artículo «Los modelos de lenguaje ajustados son estudiantes de tiro cero» de los investigadores de Google. Implica darle al modelo una comprensión de ciertas instrucciones, en lugar de que el usuario tenga que decirle cómo seguir una instrucción paso a paso.
Este enfoque tiene algunas otras limitaciones, a saber, cómo tratamos las pérdidas de rendimiento debido a instrucciones contraproducentes o superpuestas. Para superar esto, necesita conjuntos de datos bien seleccionados y altamente personalizados con instrucciones que no se superpongan; normalmente, necesitaría crear y seleccionar estos conjuntos de datos manualmente. Sin embargo, al usar un «enjambre» de modelos de lenguaje especializados más inteligentes, puede generar automáticamente conjuntos de datos de alta calidad y ahorrar trabajo humano en el proceso.
afinación rápida
Cuando se trata de un ajuste rápido, podemos centrar nuestra atención en cómo extraemos el conocimiento exacto que queremos de un modelo en función de cómo se ha codificado. Un paralelo útil puede ser cómo formula una consulta de motor de búsqueda para obtener los resultados correctos. A medida que nos acercamos a esta optimización de alto nivel, tenga en cuenta que la efectividad de la sintonización inmediata depende de la cantidad de sintonización fina y ajuste de instrucciones que quede por hacer.
Si el conocimiento que desea extraer del modelo se ha codificado correctamente, no será necesario realizar ningún ajuste. Pero el lenguaje tiene diferentes significados en diferentes contextos, por lo que a menudo se requerirá un ajuste fino para optimizar un modelo para dominios especializados. De manera similar, si un modelo es capaz de llevar a cabo instrucciones de varios pasos y presentar el conocimiento al usuario de una manera fácilmente comprensible, no será necesario ajustar las instrucciones.
¿Cuántos parámetros necesitas?
Definir un modelo con ‘X mil millones de parámetros’ significa simplemente que esta cantidad de parámetros se activa cada vez que responde. Si bien, en un mundo ideal, esto se correlaciona con una respuesta mejor y más precisa, debemos considerar cuántos parámetros se necesitan para cada caso de uso específico.
Para hacer que los modelos sean rentables, no podemos caer en la trampa de tratar el tamaño y la capacidad como una progresión lineal. Debemos buscar arquitecturas más inteligentes y optimizadas, no solo aplicar la fuerza bruta a cada caso de uso.
Los desarrolladores deben examinar la tarea o el conjunto de tareas para las que están creando un modelo de IA. Si se trata de un modelo de lenguaje, deben considerar si debe ser particularmente bueno en un determinado elemento del procesamiento del lenguaje natural, como la desambiguación de límites de oraciones, la validación de hechos o el etiquetado de partes del discurso. `Esta información revelará qué áreas de la arquitectura exigen un enfoque adicional y qué áreas se pueden simplificar.
Para hacer un activo viable, debe poder realizar ajustes finos, ajustes de conjuntos de instrucciones y ajustes rápidos de forma relativamente económica. Esto crea una ‘zona templada’ para el número requerido de parámetros. Cualquier valor inferior a un par de miles de millones de parámetros y el rendimiento se verán afectados. Cualquier cosa por encima de eso y el precio queda fuera del alcance de las empresas más pequeñas. Al igual que con cualquier proyecto que requiera muchos recursos, el equilibrio es clave.
Haz que los datos trabajen para ti, no en tu contra
La idea de la ‘IA centrada en los datos’, defendida por figuras de la industria como Andrew Ng, postula que debemos centrarnos en la calidad de los datos sobre la cantidad. A medida que nuestros algoritmos han progresado y tenemos acceso a increíbles LLM de código abierto para entrenar nuestros propios modelos, es hora de centrarse en cómo diseñamos los datos para construir un modelo rentable sin sacrificar el rendimiento, con corporaciones como Microsoft que ya están trabajando en esta dirección con Phi-1.
Concéntrese en la recopilación de conjuntos de datos seleccionados y de alta calidad para el ajuste fino, lo que garantiza una alta precisión y pocas posibilidades de alucinaciones, al mismo tiempo que reduce el tiempo total de entrenamiento. En el futuro, los conjuntos de datos sintéticos pueden convertirse en una opción viable, permitiéndonos obtener la cantidad necesaria de datos incluso para los dominios más especializados.
Para que la IA sea financieramente viable para las organizaciones más pequeñas, debemos crear modelos de lenguaje más inteligentes que solo consuman la cantidad de energía necesaria. Una vez que hagamos eso, estaremos bien encaminados para democratizar la IA y hacerla accesible para todos, sin importar cuán especializado o complejo sea su dominio.