Modelos de lenguaje grande (LLM) de GitHub Copilot

Completado

GitHub Copilot cuenta con la tecnología de modelos de lenguaje grande (LLM) para ayudarle a escribir código sin problemas. En esta unidad, nos centraremos en comprender la integración y el impacto de las VM en GitHub Copilot. Vamos a revisar los siguientes temas:

  • ¿Qué son los LLM?
  • El rol de las VM en GitHub Copilot y las solicitudes
  • Ajuste de los LLM
  • Optimización de LoRA

¿Qué son los LLM?

Los modelos de lenguaje grande (LLM) son modelos de inteligencia artificial diseñados y entrenados para comprender, generar y manipular el lenguaje humano. Estos modelos están engrasados con la capacidad de controlar una amplia gama de tareas que implican texto, gracias a la amplia cantidad de datos de texto en los que se entrenan. Estos son algunos aspectos básicos para comprender sobre los LLM:

Volumen de datos de entrenamiento

Las LLM se exponen a grandes cantidades de texto de diversos orígenes. Esta exposición les equipa con una amplia comprensión del lenguaje, el contexto y las complejidades implicadas en diversas formas de comunicación.

Descripción contextual

Se destacan en la generación de texto contextualmente relevante y coherente. Su capacidad de comprender el contexto les permite proporcionar contribuciones significativas, ya sea completando oraciones, párrafos o incluso generando documentos completos que son contextualmente aptos.

Integración del aprendizaje automático y la inteligencia artificial

Los LLM se basan en los principios de aprendizaje automático e inteligencia artificial. Son redes neuronales con millones o incluso miles de millones de parámetros que están ajustados durante el proceso de entrenamiento para comprender y predecir texto de forma eficaz.

Versatilidad

Estos modelos no se limitan a un tipo específico de texto o lenguaje. Se pueden adaptar y ajustar para realizar tareas especializadas, por lo que son muy versátiles y aplicables en varios dominios e idiomas.

Rol de los LLM en GitHub Copilot y solicitudes

GitHub Copilot utiliza LLM para proporcionar sugerencias de código compatibles con el contexto. El LLM considera no solo el archivo actual, sino también otros archivos abiertos y pestañas en el IDE para generar finalizaciones de código precisas y pertinentes. Este enfoque dinámico garantiza sugerencias adaptadas, lo que mejora la productividad.

Ajuste de los LLM

El ajuste preciso es un proceso crítico que nos permite adaptar modelos de lenguaje grandes (LLM) entrenados previamente para tareas o dominios específicos. Implica entrenar el modelo en un conjunto de datos más pequeño y específico de tareas, conocido como conjunto de datos de destino, mientras se usan los conocimientos y parámetros obtenidos de un conjunto de datos entrenado previamente grande, denominado modelo de origen.

Diagrama que muestra cómo se usa el ajuste preciso en modelos de lenguaje grande.

La optimización es esencial para adaptar las LLM para tareas específicas, lo que mejora su rendimiento. Sin embargo, GitHub lo llevó un paso más allá mediante el método de ajuste fino de LoRA, que analizaremos a continuación.

Optimización de LoRA

La optimización completa tradicional significa entrenar todas las partes de una red neuronal, lo que puede ser lento y muy dependiente de los recursos. Pero LoRA (adaptación de baja clasificación) es una alternativa inteligente. Se usa para que los modelos de lenguaje grande (LLM) preentrenados funcionen mejor para tareas específicas sin rehacer todo el entrenamiento.

Así es como funciona LoRA:

  • LoRA agrega partes entrenables más pequeñas a cada capa del modelo entrenado previamente en lugar de cambiar todo.
  • El modelo original sigue siendo el mismo, lo que ahorra tiempo y recursos.

Lo mejor de LoRA:

  • Supera a otros métodos de adaptación como adaptadores y ajuste de prefijos.
  • Es como obtener excelentes resultados con menos partes móviles.

En términos sencillos, el ajuste de la precisión de LoRA consiste en trabajar de forma más inteligente, no más difícil, para mejorar los LLM para sus requisitos de codificación específicos al usar Copilot.