Por Yuri Brigance
Aquí se presenta lo que separa a los modelos fundacionales de los modelos habituales de IA. Exploramos las razones por las que estos modelos son difíciles de entrenar y cómo entenderlos en el contexto de los modelos de IA más tradicionales.
¿Qué son los Modelos Fundacionales?
¿Qué son los modelos básicos y en qué se diferencian de los modelos tradicionales de IA de aprendizaje profundo? El Centro de IA Centrada en el Ser Humano del Instituto Stanford define un modelo básico como "cualquier modelo entrenado con datos amplios (generalmente utilizando autosupervisión a escala) que puede adaptarse a una amplia gama de tareas posteriores". Esto describe también muchos modelos estrechos de IA, como MobileNets y ResNets, que también pueden ajustarse y adaptarse a distintas tareas.
Las distinciones clave aquí son "autosupervisión a escala" y "amplia gama de tareas".
Los modelos Foundation se entrenan con cantidades ingentes de datos sin etiquetar o semietiquetados, y el modelo contiene órdenes de magnitud más de parámetros entrenables que un modelo de aprendizaje profundo típico destinado a ejecutarse en un smartphone. Esto hace que los modelos básicos sean capaces de generalizarse a una gama mucho más amplia de tareas que los modelos más pequeños entrenados en conjuntos de datos específicos del dominio. Es un error común pensar que arrojar muchos datos a un modelo hará que de repente haga algo útil sin más esfuerzo. En realidad, estos modelos de gran tamaño son muy buenos para encontrar y codificar patrones intrincados en los datos con poca o ninguna supervisión, patrones que pueden explotarse de diversas formas interesantes, pero es necesario realizar una buena cantidad de trabajo para utilizar este conocimiento oculto aprendido de forma útil.
La arquitectura de los modelos básicos de IA
El aprendizaje no supervisado, semisupervisado y por transferencia no son conceptos nuevos y, hasta cierto punto, los modelos de fundamentos también entran en esta categoría. Estas técnicas de aprendizaje se remontan a los inicios de los modelos generativos, como las máquinas de Boltzmann restringidas y los autocodificadores. Estos modelos más sencillos constan de dos partes: un codificador y un descodificador. El objetivo de un autocodificador es aprender una representación compacta (conocida como codificación o espacio latente) de los datos de entrada que capte los rasgos o características importantes de los datos, lo que se conoce como "separación lineal progresiva" de los rasgos que definen los datos. Esta codificación puede utilizarse después para reconstruir los datos de entrada originales o generar datos sintéticos completamente nuevos introduciendo variables latentes modificadas de forma inteligente en el descodificador.
Un ejemplo de arquitectura de un modelo autoencodificador convolucional de imágenes se entrena para reconstruir su propia entrada, por ejemplo: imágenes. La modificación inteligente del espacio latente permite generar imágenes completamente nuevas. Esto se puede ampliar añadiendo un modelo adicional que codifique las indicaciones de texto en representaciones latentes que el descodificador entienda para permitir la funcionalidad de texto a imagen.
Muchos modelos modernos de ML utilizan esta arquitectura, y la parte del codificador se denomina a veces columna vertebral, mientras que el decodificador se denomina cabeza. A veces los modelos son simétricos, pero con frecuencia no lo son. Muchas arquitecturas de modelos pueden servir como codificador o columna vertebral, y el resultado del modelo puede adaptarse a un problema específico modificando el decodificador o la cabeza. No hay límite en el número de cabezas que puede tener un modelo, ni en el número de codificadores. Las columnas vertebrales, las cabezas, los codificadores, los decodificadores y otras abstracciones de alto nivel son módulos o bloques construidos a partir de múltiples capas lineales, convolucionales y de otros tipos de redes neuronales básicas. Podemos intercambiarlas y combinarlas para producir diferentes arquitecturas de modelos a medida, del mismo modo que utilizamos diferentes marcos y bibliotecas de terceros en el desarrollo de software tradicional. Esto, por ejemplo, nos permite codificar una frase en un vector latente que luego puede descodificarse en una imagen.
Modelos básicos para el procesamiento del lenguaje natural
Los modelos modernos de Procesamiento del Lenguaje Natural (PLN) como ChatGPT entran en la categoría de Transformadores. El concepto de transformador se introdujo en el artículo de 2017 "Attention Is All You Need" de Vaswani et al. y desde entonces se ha convertido en la base de muchos modelos de vanguardia en PNL. La innovación clave del modelo transformador es el uso de mecanismos de autoatención, que permiten al modelo sopesar la importancia de las diferentes partes de la entrada al hacer predicciones. Estos modelos utilizan lo que se denomina una "incrustación", que es una representación matemática de una entrada discreta, como una palabra, un carácter o un fragmento de imagen, en un espacio continuo de alta dimensión. Las incrustaciones se utilizan como entrada para los mecanismos de autoatención y otras capas del modelo transformador para realizar la tarea específica que se esté llevando a cabo, como la traducción de idiomas o el resumen de textos. ChatGPT no es el primero ni el único modelo de transformador que existe. De hecho, los transformadores se han aplicado con éxito en muchos otros ámbitos, como la visión por ordenador y el procesamiento de sonido.
Entonces, si ChatGPT se construye sobre conceptos ya existentes, ¿qué lo hace tan diferente de todas las demás arquitecturas de modelos de última generación que ya se utilizan hoy en día? Una explicación simplificada de lo que distingue a un modelo básico de un modelo de aprendizaje profundo "normal" es la inmensa escala del conjunto de datos de entrenamiento, así como el número de parámetros entrenables que tiene un modelo básico en comparación con un modelo generativo tradicional. Una red neuronal excepcionalmente grande entrenada en un conjunto de datos verdaderamente masivo proporciona al modelo resultante la capacidad de generalizarse a una gama más amplia de casos de uso que tus hermanos más estrechamente enfocados, sirviendo así de base para un número incalculable de nuevas tareas y aplicaciones. Un modelo tan amplio codifica muchos patrones, características y relaciones útiles en tus datos de entrenamiento. Podemos extraer este acervo de conocimientos sin necesidad de volver a entrenar toda la parte codificadora del modelo. Podemos acoplar diferentes cabezas nuevas y utilizar técnicas de aprendizaje por transferencia y de ajuste fino para adaptar el mismo modelo a diferentes tareas. Así es como un solo modelo (como Stable Diffusion) puede realizar a la vez tareas de conversión de texto en imagen, de imagen en imagen, de repintado, de superresolución e incluso de generación de música.
Retos del entrenamiento de modelos de IA
La potencia de cálculo de la GPU y los recursos humanos necesarios para entrenar desde cero un modelo básico como GPT eclipsan los disponibles para desarrolladores individuales y equipos pequeños. Los modelos son sencillamente demasiado grandes y el conjunto de datos demasiado difícil de manejar. Estos modelos no pueden (por ahora) entrenarse de forma rentable de principio a fin y repetirse utilizando hardware básico.
Aunque los conceptos pueden estar bien explicados por la investigación publicada y entendidos por muchos científicos de datos, las habilidades de ingeniería y los costos exorbitantes necesarios para conectar cientos de nodos de GPU durante meses a la vez estirarían los presupuestos de la mayoría de las organizaciones. Y eso sin tener en cuenta los costos de acceso a los conjuntos de datos, almacenamiento y transferencia de datos asociados a la alimentación del modelo con cantidades masivas de muestras de entrenamiento.
Hay varias razones por las que los modelos de fundación como ChatGPT están actualmente fuera del alcance de los particulares para formarse:
- Datos necesarios: El entrenamiento de un gran modelo lingüístico como ChatGPT requiere una cantidad masiva de datos de texto. Estos datos deben ser de alta calidad y diversos, y suelen obtenerse de diversas fuentes, como libros, artículos y sitios web. Estos datos también se preprocesan para obtener el mejor rendimiento, lo que supone una tarea adicional que requiere conocimientos y experiencia. Los costos de almacenamiento, transferencia de datos y carga de datos son tustancialmente más elevados que los que se utilizan para modelos con un enfoque más limitado.
- Recursos informáticos: ChatGPT requiere importantes recursos informáticos para entrenarse. Esto incluye clústeres en red de potentes GPU y una gran cantidad de memoria volátil y no volátil. La ejecución de un clúster informático de este tipo puede alcanzar fácilmente los cientos de miles por experimento.
- Tiempo de formación: Entrenar un modelo básico puede llevar varias semanas o incluso meses, dependiendo de los recursos informáticos disponibles. Cablear y alquilar tantos recursos requiere mucha habilidad y un generoso compromiso de tiempo, por no hablar de los costos de computación en la nube asociados.
- Experiencia: Para llevar a buen término un curso de formación se requieren conocimientos de Machine Learning, procesamiento del lenguaje natural, ingeniería de datos, infraestructura en la nube, redes y mucho más. La mayoría de las personas no pueden adquirir fácilmente este amplio conjunto de competencias interdisciplinares.
Acceso a modelos de IA preentrenados
Dicho esto, hay modelos preentrenados disponibles, y algunos pueden ajustarse con una menor cantidad de datos y recursos para un conjunto de tareas más específico y reducido, lo que constituye una opción más accesible para particulares y organizaciones más pequeñas.
El entrenamiento de Stable Diffusion requirió 600.000 dólares, el equivalente a 150.000 horas de GPU. Es decir, un cluster de 256 GPUs funcionando 24 horas al día, 7 días a la semana durante casi un mes. Stable Diffusion se considera una reducción de costos en comparación con GPT. Por lo tanto, aunque es posible entrenar tu propio modelo de base utilizando proveedores de nube comerciales como AWS, GCP o Azure, el tiempo, el esfuerzo, la experiencia necesaria y el costo total de cada iteración imponen limitaciones a su uso. Existen muchas soluciones y técnicas para reutilizar y volver a entrenar parcialmente estos modelos, pero por ahora, si quieres entrenar tu propio modelo básico desde cero, lo mejor que puedes hacer es solicitarlo a una de las pocas empresas que tienen acceso a los recursos necesarios para llevar a cabo esta tarea.
Póngase en contacto con nosotros
Kopius apoya a las empresas que buscan gobernar y utilizar la IA y el ML para construir el futuro. Hemos diseñado un programa para poner en marcha su éxito con los clientes, la tecnología y los datos.
Adaptado a sus necesidades, nuestro enfoque centrado en el usuario, nuestros conocimientos tecnológicos y la colaboración con las partes interesadas dotan a los equipos de las habilidades y la mentalidad necesarias para:
- Identificar las necesidades insatisfechas de clientes, empleados o empresas
- Alinear las prioridades
- Planificar y definir la estrategia, la calidad y la gobernanza de los datos para IA y ML
- Prototipos rápidos de datos y soluciones de IA
- Y, éxito rápido
Asóciese con Kopius y ponga en marcha su éxito futuro.
Recursos adicionales:
- Descarga gratuita: Prepara tu política de conservación de datos para el éxito
- 3 razones por las que las empresas avanzan en su viaje de datos para combatir la presión económica
- Arquitectura de data mesh en almacenes de datos basados en la nube