Conceptos: modelos de lenguaje pequeños y grandes
En este artículo, obtendrá información sobre los modelos de lenguaje pequeños y grandes, incluido cuándo usarlos y cómo puede usarlos con los flujos de trabajo de inteligencia artificial y aprendizaje automático en Azure Kubernetes Service (AKS).
¿Qué son los modelos de lenguaje?
Los modelos de lenguaje son modelos de aprendizaje automático eficaces que se usan para tareas de procesamiento del lenguaje natural (NLP), como la generación de texto y el análisis de sentimiento. Estos modelos representan el lenguaje natural basándose en la probabilidad de que palabras o secuencias de palabras aparezcan en un contexto determinado.
Los modelos de lenguaje convencional se han usado en la configuración supervisada para fines de investigación en los que los modelos se entrenan en conjuntos de datos de texto bien etiquetados para tareas específicas. Los modelos de lenguaje entrenados previamente ofrecen una manera accesible de empezar a usar la inteligencia artificial y su uso se ha generalizado en los últimos años. Estos modelos se entrenan en corpus de texto a gran escala procedentes de Internet utilizando redes neuronales profundas y pueden ajustarse en conjuntos de datos más pequeños para tareas específicas.
El tamaño de un modelo de lenguaje viene determinado por su número de parámetros, o ponderaciones, que determinan la forma en que el modelo procesa los datos de entrada y genera la salida. Los parámetros se aprenden durante el proceso de entrenamiento ajustando las ponderaciones dentro de las capas del modelo para minimizar la diferencia entre las predicciones del modelo y los datos reales. Cuantos más parámetros tenga un modelo, más complejo y expresivo es, pero también resulta más caro de entrenar y utilizar desde el punto de vista computacional.
En general, los modelos de lenguaje pequeño tienen menos de 10 mil millones de parámetros y los modelos de lenguaje grandes tienen más de 10 mil millones de parámetros. Por ejemplo, la nueva familia de modelos de Microsoft Phi-3 tiene tres versiones con diferentes tamaños: mini (3,8 millones de parámetros), pequeño (7 mil millones de parámetros) y medio (14 mil millones de parámetros).
Cuándo usar modelos de lenguaje pequeños
Ventajas
Los modelos de lenguaje pequeños son una buena opción si desea modelos que sean:
- Más rápido y rentable para entrenar y ejecutar: requieren menos datos y potencia de proceso.
- Fácil de implementar y mantener: tienen superficies de memoria y almacenamiento más pequeñas.
- Menos propenso al sobreajustar, que es cuando un modelo aprende el ruido o patrones específicos de los datos de entrenamiento y no puede generalizar nuevos datos.
- Interpretable y explicable: tienen menos parámetros y componentes para comprender y analizar.
Casos de uso
Los modelos de lenguaje pequeños son adecuados para casos de uso que requieren:
- Datos o recursos limitados y necesita una solución rápida y sencilla.
- Tareas bien definidas o estrechas, y no necesita mucha creatividad en la salida.
- Tareas de alta precisión y baja coincidencia, y valora más la precisión y la calidad que la cobertura y la cantidad.
- Tareas confidenciales o reguladas, y debe garantizar la transparencia y la responsabilidad del modelo.
En la tabla siguiente se enumeran algunos modelos de lenguaje pequeños populares y de alto rendimiento:
Familia de modelos | Tamaños de modelo (número de parámetros) | Licencia de software |
---|---|---|
Microsoft Phi-3 | Phi-3-mini (3,8 mil millones), Phi-3-small (7 mil millones) | Licencia de MIT |
Microsoft Phi-2 | Phi-2 (2,7 mil millones) | Licencia de MIT |
Falcón | Falcon-7B (7 mil millones) | Licencia de Apache 2.0 |
Cuándo usar modelos de lenguaje grandes
Ventajas
Los modelos de lenguaje grandes son una buena opción si desea modelos que sean:
- Eficaces y expresivos: pueden capturar patrones y relaciones más complejos en los datos.
- Generales y adaptables: pueden controlar una amplia gama de tareas y transferir conocimientos entre dominios.
- Sólidos y coherentes: pueden controlar entradas ruidosas o incompletas y evitar errores y sesgos comunes.
Casos de uso
Los modelos de lenguaje grandes son adecuados para casos de uso que requieren:
- Abundantes datos y recursos, y tiene el presupuesto para crear y mantener una solución compleja.
- Tareas de baja precisión y alta coincidencia, y valora más la cobertura y la cantidad que la precisión y la calidad.
- Tareas complejas o exploratorias, y quiere aprovechar la capacidad del modelo para aprender y adaptarse.
En la tabla siguiente se enumeran algunos modelos de lenguaje grandes populares y de alto rendimiento:
Familia de modelos | Tamaños de modelo (número de parámetros) | Licencia de software |
---|---|---|
Microsoft Phi-3 | Phi-3-medium (14 mil millones) | Licencia de MIT |
Falcón | Falcon-40B (40 mil millones) | Licencia de Apache 2.0 |
Experimentar con modelos de lenguaje pequeño y grande en AKS
Kubernetes AI Toolchain Operator (KAITO) es un operador de código abierto que automatiza las implementaciones de modelos de lenguaje pequeños y grandes en clústeres de Kubernetes. El complemento KAITO para AKS simplifica la incorporación y reduce el tiempo de inferencia para los modelos de código abierto en los clústeres de AKS. El complemento aprovisiona automáticamente nodos de GPU de tamaño correcto y configura el servidor de interferencias asociado como servidor de punto de conexión en el modelo elegido.
Para obtener más información, consulte Implementar un modelo de IA en AKS con el operador de cadena de herramientas de IA. Para empezar a usar una gama de modelos de lenguaje pequeños y grandes admitidos para los flujos de trabajo de inferencia, consulte el repositorio de GitHub del modelo KAITO.
Importante
El software de código abierto se menciona en toda la documentación y ejemplos de AKS. El software que implemente se excluye de los contratos de nivel de servicio de AKS, la garantía limitada y el soporte técnico de Azure. A medida que usa la tecnología de código abierto junto con AKS, consulte las opciones de soporte técnico disponibles en las comunidades y los mantenedores de proyectos respectivos para desarrollar un plan.
Por ejemplo, el Repositorio Ray de GitHub describe varias plataformas que varían en el tiempo de respuesta, el propósito y el nivel de soporte técnico.
Microsoft asume la responsabilidad de crear los paquetes de código abierto que implementamos en AKS. Esa responsabilidad incluye tener la propiedad completa del proceso de compilación, examen, firma, validación y revisión, junto con el control sobre los archivos binarios en imágenes de contenedor. Para obtener más información, consulte Administración de vulnerabilidades para AKS y cobertura de soporte técnico de AKS.
Pasos siguientes
Para obtener más información sobre las cargas de trabajo de inteligencia artificial y el aprendizaje automático en contenedores en AKS, consulte los siguientes artículos:
Azure Kubernetes Service