Entrena e implementa IA generativa más rápido con MosaicML y Oracle

22 de mayo de 2023 | 10 minutos de lectura

Compartir:

Los modelos de IA generativa nos han deslumbrado con su capacidad para resumir y responder preguntas, crear software e incluso escribir poesía. Estas herramientas tienen implicaciones prácticas en sectores como servicios financieros, donde se pueden utilizar en la identificación de riesgos, protección contra fraudes y servicio de atención al cliente. En ciencias de la vida, ayudan en el descubrimiento, desarrollo e incluso ensayos clínicos de fármacos. Sin embargo, la mayoría de las organizaciones aún no han aprovechado los sistemas basados en estos modelos.

El motivo es complicado. La cantidad de potencia de cálculo, datos y conocimientos necesarios para crear un modelo propio de IA generativa supone un enorme desafío de recursos para muchas organizaciones. Las personas se preocupan por saber sobre cómo funcionan estos modelos y qué sucede con los datos comerciales utilizados para entrenar estos modelos, especialmente en el caso de las empresas. Aquí, MosaicML y Oracle AI pueden ayudar. La plataforma de MosaicML está diseñada para facilitar al máximo el entrenamiento e implementación de modelos de aprendizaje profundo, para que más empresas puedan aprovechar esta tecnología transformadora en Oracle Cloud Infrastructure (OCI) y otros proveedores de nube.

Esta entrada de blog desglosa los obstáculos para la adopción y explica por qué la plataforma MosaicML en OCI es la mejor solución para las empresas que desean poner en funcionamiento la IA generativa. Nos centramos en una clase de modelos de aprendizaje profundo, conocidos como modelos fundacionales. Un subconjunto de estos modelos son grandes modelos de lenguaje (LLM) que alimentan servicios como ChatGPT.

Aprendizaje profundo y modelos fundacionales

Un modelo de aprendizaje profundo es un programa informático al que se puede enseñar a realizar tareas específicas alimentándolo con una gran cantidad de datos, no una vez, sino repetidamente, en un proceso llamado entrenamiento. El resultado es una herramienta que se puede consultar sobre una gran cantidad de temas y a la que se puede acceder a través de una interfaz de programación de aplicaciones (API).

Los modelos fundacionales entrenados en conjuntos de datos grandes y diversos pueden aprender automáticamente funciones y desarrollar capacidades emergentes. Pueden generar nuevos contenidos para una amplia gama de aplicaciones, por lo que se les conoce comúnmente como IA generativa. Lo que hace diferentes a los modelos fundacionales de otros modelos de aprendizaje profundo es que se entrenan de forma autosupervisada. No es necesario especificar qué debe aprender el modelo, ya que se proporcionan muchos ejemplos preetiquetados. Podemos optimizar aún más la precisión de un modelo entrenado para casos de uso del sector entrenando en conjuntos de datos específicos del dominio.

Recursos para el entrenamiento de modelos

El entrenamiento de un modelo fundacional requiere tres recursos clave: modelos, datos y recursos informáticos. Cada recurso presenta un conjunto único de desafíos que las empresas deben abordar antes de que puedan poner en práctica la IA generativa.

Modelos

En esencia, una IA generativa es un modelo matemático capaz de aprender representaciones abstractas de datos. Un determinado modelo de aprendizaje profundo tiene asociado un conjunto de pesos o parámetros que se ajustan durante el proceso de entrenamiento para aprender varias funciones de los datos de entrada. El número de parámetros que contiene un modelo suele denominarse tamaño del modelo.

Existen varias arquitecturas de modelos, dependiendo de la modalidad de las tareas. Por ejemplo, los transformadores generativos preentrenados (GPT) son una arquitectura común para los LLM, capaz de aprender a partir de datos de texto. Una arquitectura de modelo determinada puede contener millones, miles de millones o incluso billones de parámetros con cientos de otros atributos que se pueden utilizar para personalizar y optimizar el modelo.

Datos

El entrenamiento de un LLM de alta calidad requiere un volumen masivo de datos de texto diversos. Cuanto mayor sea el modelo, más datos se necesitan para entrenarlo. Para obtener este gran volumen de texto, un método común de creación de conjuntos de datos públicos de esta escala es rastrear Internet. lo que puede tener implicaciones legales significativas para su uso comercial.

La calidad de los modelos puede mejorar en gran medida si se siguen entrenando con datos específicos del ámbito, un proceso que denominamos "ajuste de dominio". En última instancia, acabamos teniendo múltiples conjuntos de datos abiertos y patentados a escala de terabytes, que deben almacenarse de forma segura, mantenerse y a los que se debe acceder repetidamente.

Recursos informáticos

Para entrenar modelos y procesar datos a la escala que hemos estado comentando, necesitamos nada menos que una supercomputadora de IA, como OCI Supercluster. La supercomputadora requiere cientos de aceleradores de hardware especializados, como GPU NVIDIA, todos conectados con redes de alto rendimiento a escala de centro de datos, con tecnología de NVIDIA ConnectX SmartNICs. Los LLM deben entrenar durante varias semanas o meses en estas supercomputadoras.

Desarrollar esta infraestructura compleja de manera rentable es extremadamente difícil. Requiere expertos que posean un profundo conocimiento de varios marcos y herramientas de aprendizaje automático (ML) y que sepan cómo utilizar eficientemente estos aceleradores. Debe aprovisionar y mantener los recursos informáticos, lo que requiere herramientas complejas que permitan la orquestación y coordinación entre varios usuarios. A escala, las fallas de hardware son comunes, lo que supone una carga aún mayor para los departamentos de TI a la hora de gestionar recursos personalizados y diagnosticar problemas complejos.

El entrenamiento de la IA generativa, como los LLM, es costoso y complicado. Por esta razón, la mayoría de las empresas de IA generativa dedican la mayor parte de sus recursos y conocimientos a entrenar un solo modelo y luego venden servicios comercializados en torno a las capacidades de ese modelo. Algunas de estas empresas incluso permiten ajustar sus modelos para mejorar la calidad. Se ocupan de las complejidades del entrenamiento y alojan el modelo que hay detrás de una API mientras que tú accedes a los beneficios y te facturan por su uso. Problema resuelto, ¿verdad?

Datos empresariales y API de terceros

Aunque una API de terceros puede funcionar bien para algunas empresas, no es una buena opción para las que se ven limitadas por estrictas políticas de exportación de datos empresariales. Las empresas de atención médica están legalmente obligadas a proteger los historiales de los pacientes. Las instituciones financieras deben cumplir con la normativa de la SEC sobre información financiera confidencial. Las empresas tecnológicas innovadoras deben proteger su propiedad intelectual de filtraciones. Estas empresas no pueden suministrar fácilmente sus datos a terceros, por muy capaz que sea el modelo.

Otra complicación de los modelos de terceros es la propiedad. Muchas de las empresas de IA generativa ofrecen servicios de personalización que permiten que sus modelos se ajusten al dominio para mejorar la calidad. Sin embargo, aún conservan la propiedad del modelo y el acceso a los parámetros ajustados al dominio, lo que crea una serie de preocupaciones sobre la dependencia del proveedor y el uso futuro.

Plataforma MosaicML

Diagrama de arquitectura de la plataforma de MosaicML. A la izquierda se encuentra la casilla Interfaces de clientes, que incluye tres componentes. Estos componentes aparecen verticalmente de arriba abajo e incluyen CLI MosaicML, el SDK de Python y la consola web MosaicML. En el centro se encuentra la casilla Plano de control, que incluye Control de Entrenamiento y Orquestación y se conecta a la casilla Interfaces de clientes. En el extremo derecho de la arquitectura se encuentran Oracle Cloud Infrastructure y proveedores locales u otros proveedores en la nube, que tienen sus propias casillas y se conectan al Plano de Control.
Figura 1: Arquitectura de la plataforma MosaicML


MosaicML se basa en un principio básico: los modelos de IA de una empresa son tan valiosos como cualquier otra propiedad intelectual principal. La plataforma MosaicML se creó para permitir a las empresas mantener el control de sus datos y la propiedad de sus modelos sin compromiso. Veamos cómo la plataforma MosaicML en OCI resuelve los obstáculos que impiden poner en marcha la IA generativa en las empresas.

Diagrama que muestra la Pila de Entrenamiento de MosaicML. A la izquierda hay tres cubos. El primer cubo tiene un elemento y es Código de usuario y Rastreo de experimentos. El segundo bloque tiene tres elementos: Carga y procesamiento de datos, Marcos de Entrenamiento distribuidos y Bibliotecas de aprendizaje profundo. Estos tres elementos constituyen el Tiempo de entrenamiento. El tercer cubo tiene dos elementos: Implementación y orquestación y Controladores de dispositivos y kits de herramientas. Estos dos elementos conforman la Infraestructura.
Figura 2: Entrenamiento de la plataforma MosaicML


La pila de la plataforma comienza con modelos de IA generativa de última generación. Proporciona códigos de modelo optimizados y fáciles de usar y ejemplos de modelos de difusión y lenguaje de gran tamaño. Los modelos pueden entrenarse desde cero y vienen con recetas de entrenamiento de eficacia comprobada elaboradas por investigadores de talla mundial. MosaicML también proporciona puntos de control preentrenados y de alta calidad y entrenados en diversos conjuntos de datos para ayudarte a comenzar rápidamente. Puedes ajustar estos puntos de control a datos propios para maximizar la calidad del modelo en casos de uso específicos. También puedes transferir y entrenar rápidamente todos los modelos de código abierto, listos para usar y propietarios en la plataforma MosaicML.

Para entrenar un modelo de última generación se necesita un marco que pueda alimentar un modelo con datos de entrenamiento y aplicar el algoritmo utilizado para actualizar las ponderaciones del modelo durante el proceso de entrenamiento, todo ello con un uso eficiente de los recursos informáticos. El tiempo de ejecución de entrenamiento de MosaicML utiliza los siguientes componentes principales para lograr este objetivo:


Juntos, estos componentes hacen que el tiempo de ejecución de entrenamiento nativo en la nube de MosaicML sea el más versátil y único disponible para los modelos de entrenamiento. Composer es un entrenador potente y extensible capaz de escalar sin problemas a múltiples aceleradores y ofrece todas las herramientas necesarias para entrenar un modelo de aprendizaje profundo. Composer también puede cargar y almacenar artefactos del almacenamiento en la nube, lo que permite implementar el tiempo de ejecución de entrenamiento en cualquier nube.

StreamingDataset permite transmitir datos de forma segura a cualquier ubicación sin que esto afecte al rendimiento. El tiempo de ejecución de entrenamiento se empaqueta convenientemente como una imagen Docker que incluye Composer, Streaming y el resto del software necesario para que el entrenamiento funcione de manera eficiente.

La gestión de la gran cantidad de infraestructura informática necesaria para entrenar un modelo generativo requiere un marco sofisticado. El objetivo es abstraer la complejidad del aprovisionamiento y la orquestación de los recursos informáticos y permitir realizar ejecuciones fácilmente. Para lograrlo, la capa de infraestructura de la plataforma MosaicML se divide en tres partes: Interfaces de cliente, Plano de control y Plano de recursos informáticos. Los usuarios interactúan con la plataforma mediante una API de Python simple, una interfaz de línea de comandos (CLI) o una consola web. El plano de control gestiona la orquestación de los recursos informáticos necesarios para realizar el entrenamiento de modelos. También supervisa los errores y fallas, lo que permite la recuperación automática de la ejecución. La naturaleza apátrida del plano de cálculo contiene los aceleradores físicos que realizan la ejecución del entrenamiento, pero no conserva ningún dato del usuario

Diagrama que muestra la interacción entre el Plano de control y el Plano de cálculo. A la izquierda hay una casilla para el Plan de control que incluye los metadatos de ejecución, los datos de aplicación y las credenciales de usuario. Debajo de esa casilla Plano de control se encuentra el VPC de MosaicML. A la derecha hay una casilla para el Plano de recursos informáticos, que incluye OCI, otro CSP, Puntos de control de modelo, Código fuente de usuario, Imágenes Docker privadas y datos. Debajo de ese Plano de cálculo está el VPC del cliente. Al conectar el Plano de Control con el Plano de Cómputo se encuentran Emisiones de Entrenamiento que van del Plano de Control al Plano de Cómputo, y Emisiones solamente que van del Plano de Cómputo al Plano de Control.
Figura 3: Interacción entre el plano de control y el plano de cómputo sin estado.


La arquitectura de plataforma MosaicML garantiza que los datos empresariales esenciales se mantengan aislados y seguros, al tiempo que ofrece la flexibilidad de que los recursos informáticos residan en la nube que elija el cliente, en varias nubes o en el centro de datos local.

IA de Oracle Cloud Infrastructure (OCI)

El entrenamiento de LLM requieren una red de alto rendimiento para coordinar y compartir información a través de cientos o miles de servidores independientes. Las GPU NVIDIA en OCI están conectadas por una red Ethernet simple y de alto rendimiento, con tecnología de NVIDIA ConnectX SmartNICs, que utiliza RDMA sobre Ethernet convergente v2 (RoCEv2). El ancho de banda que proporciona OCI supera significativamente tanto a Amazon Web Services (AWS) como a Google Cloud Platform (GCP), lo que a su vez reduce el tiempo y el costo del entrenamiento de machine learning.

OCI incluye numerosas capacidades para la IA, incluida la infraestructura de IA. Las máquinas virtuales (VM) de OCI Compute y las instancias de GPU NVIDIA con hardware dedicado pueden impulsar aplicaciones de visión por computadora, procesamiento de lenguaje natural (NLP), sistemas de recomendación y más. Para entrenar a los LLM a escala, OCI Supercluster proporciona redes de cluster de latencia ultrabaja, almacenamiento de recursos informáticos de alto rendimiento (HPC) e instancias con hardware dedicado de OCI Compute con tecnología de GPU NVIDIA A100 Tensor Core y ConnectX SmartNICs.

Imagen que representa un supercluster de OCI. Esto incluye la región, los recursos informáticos, el almacenamiento y las redes de Oracle Cloud, con hasta 4.096 instancias con hardware dedicado de OCI Compute con 32.768 GPU NVIDIA A100.
Figura 4: OCI Supercluster


MosaicML y OCI, juntas son mejores

La plataforma MosaicML con tecnología OCI ofrece la solución de pila completa, rentable y de mayor desempeño para que las empresas entrenen modelos de IA generativa. Con los aceleradores de GPU y redes Ethernet más rápidos de NVIDIA, OCI ofrece las siguientes ventajas:

  • Precios competitivos para infraestructura de IA
  • Red supercluster de alto ancho de banda que permite un movimiento rápido de los datos entre aceleradores y una gran escala de desempeño
  • Bloques de cálculo de gran tamaño para escalar a miles de GPUs
  • Sin tarifas de salida en OCI para la transmisión de datos desde Oracle Cloud Storage


Los modelos de MosaicML con StreamingDataset y Composer pueden aprovechar al máximo las últimas GPU NVIDIA, las interconexiones rápidas y los grandes tamaños de bloque para entrenar modelos de forma rápida y exitosa. Se pueden alojar grandes conjuntos de datos en el almacenamiento de OCI y transmitirlos de forma rentable para entrenar en recursos informáticos de OCI. Juntos, MosaicML y OCI permiten a todas las empresas aprovechar el poder de la IA generativa.

¿Deseas más información? Contáctanos y obtén una demostración de la plataforma MosaicML en Oracle Cloud Infrastructure. Para obtener más información, consulta los siguientes recursos:

Por Akshai Parthasarathy,
Director de Marketing de Productos, Oracle
Por Bandish Shah,
Gerente de ingeniería, MosaicML