Próximo seminario web: Seguridad empresarial para Claude Code | 21 de abril · 11:00 a. m. PST. Regístrese aquí →

True ML Talks #23: Apps MLOps and LLMS in GitLab

Por TrueFoundry

Actualizado: October 26, 2023

Resumir con

Volvemos con otro episodio de True ML Talks. En este artículo, volvemos a profundizar en las aplicaciones MLOps y LLMS en GitLab y estamos hablando con Rayo Monmayuri.

Monmayuri lidera la vertical de investigación sobre IA en GitLab con mucho enfoque en los LLM durante el último año. Antes de eso, fue director de ingeniería en la división ModelOps de GitLab. También trabajó con otras empresas como Microsoft y eBay.

📌

Nuestras conversaciones con Monmayuri abordarán los siguientes aspectos:
- Casos de uso de ML y LLM en GitLab
- La evolución de la infraestructura de aprendizaje automático de GitLab para admitir modelos de lenguaje grandes (LLM)
- El viaje de GitLab con los LLM: del código abierto al ajuste
- Training of large language models in GitLab
- Triton frente a PyTorch, GPU ensambladas y procesamiento dinámico por lotes para la inferencia de LLM
- Desafíos e investigación en la evaluación del LLM en GitLab
- La arquitectura LLM de GitLab y el futuro de los LLM

Mira el episodio completo a continuación:

Casos de uso de ML y LLM en GitLab

El aprendizaje automático (ML) está transformando el ciclo de vida del desarrollo de software, y GitLab está a la vanguardia de esta innovación. GitLab utiliza el aprendizaje automático para ayudar a los desarrolladores a lo largo de todo su recorrido, desde la creación de problemas hasta la fusión de solicitudes y la implementación de aplicaciones.

Uno de los casos de uso más interesantes del aprendizaje automático en GitLab son los modelos de lenguaje grandes (LLM). GitLab utiliza LLM y GenAI para desarrollar nuevas funciones para sus productos, como completar el código y resumir los problemas.

Beneficios del aprendizaje automático para los usuarios de GitLab

  1. Mayor productividad: El aprendizaje automático puede ayudar a los desarrolladores a ser más productivos al automatizar tareas como la finalización del código y el resumen de problemas.
  2. Calidad del código mejorada: El aprendizaje automático puede ayudar a los desarrolladores a escribir mejor código al identificar posibles errores y sugerir mejoras.
  3. Development time: El aprendizaje automático puede ayudar a los desarrolladores a reducir el tiempo necesario para desarrollar software y automatizar las tareas y ayudar a identificar y solucionar los problemas con mayor rapidez.
  4. Experiencia de desarrollador mejorada: El aprendizaje automático puede ayudar a mejorar la experiencia de los desarrolladores al facilitar el uso de los productos de GitLab y al proporcionar asistencia y orientación.

Cómo evoluciona la infraestructura de aprendizaje automático de GitLab para admitir modelos de lenguaje de gran tamaño (LLM)

GitLab ha estado a la vanguardia del uso de grandes modelos lingüísticos (LLM) para capacitar a los desarrolladores. Como resultado, GitLab ha tenido que evolucionar su infraestructura de aprendizaje automático para dar soporte a estos modelos complejos.

Desafíos

  1. Size and Complejity: Los LLM son mucho más grandes y complejos que los modelos de aprendizaje automático tradicionales, lo que significa que requieren hardware y software más potentes para entrenarlos e implementarlos.
  2. Integración: Los productos de GitLab están escritos en Ruby on Rails y JavaScript. Esto significa que GitLab ha tenido que encontrar formas de integrar su infraestructura de aprendizaje automático con estas tecnologías.
  3. Infraestructura distribuida: La infraestructura de aprendizaje automático de GitLab se distribuye entre varios proveedores de nube diferentes. Esto significa que GitLab ha tenido que desarrollar formas de gestionar su infraestructura de aprendizaje automático de forma coherente y eficiente.

Solucions

Para abordar los desafíos mencionados anteriormente, GitLab ha realizado una serie de cambios en su infraestructura de aprendizaje automático. Estos cambios se pueden clasificar en las siguientes áreas:

  1. Hardware: GitLab ha invertido en hardware nuevo, como GPU y TPU, para apoyar la formación y el despliegue de los LLM.
  2. Software: GitLab ha desarrollado nuevos canales de capacitación e implementación para los LLM. GitLab también ha desarrollado una serie de soluciones de integración para permitir que su infraestructura de aprendizaje automático funcione con sus aplicaciones Ruby on Rails y JavaScript.
  3. Administration: GitLab ha desarrollado una serie de herramientas y procesos para ayudar a administrar su infraestructura de aprendizaje automático distribuido.

El viaje de GitLab with LLM: del código abierto al ajuste

GitLab ha estado a la vanguardia del uso de grandes modelos lingüísticos (LLM) para capacitar a los desarrolladores. Al principio, GitLab comenzó a usar LLMs de código abierto, como la generación de código de Salesforce. Sin embargo, a medida que el panorama ha cambiado y los LLM se han vuelto más potentes, GitLab ha optado por ajustar sus propios LLM para casos de uso específicos, como la generación de código.

El perfeccionamiento de los LLM requiere una inversión significativa en infraestructura, ya que estos modelos son muy grandes y complejos. GitLab ha tenido que desarrollar nuevos canales de capacitación e implementación para los LLM, así como nuevas formas de administrar su infraestructura de aprendizaje automático en un entorno distribuido.

Uno de los principales desafíos a los que se ha enfrentado GitLab para ajustar los LLM es encontrar el equilibrio adecuado entre el costo y la latencia. Los LLM pueden ser muy costosos de entrenar e implementar, y también pueden tardar en generar resultados. GitLab ha tenido que experimentar con diferentes tamaños de clústeres, configuraciones de GPU y técnicas de procesamiento por lotes para encontrar el equilibrio adecuado para sus necesidades.

Otro desafío al que se ha enfrentado GitLab es garantizar que sus LLM sean precisos y confiables. Los LLM se pueden entrenar con conjuntos de datos masivos de texto y código, pero estos conjuntos de datos también pueden contener errores y sesgos. GitLab ha tenido que desarrollar nuevas técnicas para evaluar y depurar sus LLM.

A pesar de los desafíos, GitLab ha logrado avances significativos en el uso de LLM para capacitar a los desarrolladores. GitLab ahora puede capacitar e implementar LLM a escala, y está utilizando estos modelos para desarrollar nuevas funciones y productos que harán que el proceso de desarrollo de software sea más eficiente y agradable.

Training of large size linguistical models in GitLab

La formación de grandes modelos lingüísticos (LLM) es una tarea difícil que requiere una inversión significativa en infraestructura y recursos. GitLab ha estado a la vanguardia del uso de los LLM para capacitar a los desarrolladores, y la empresa ha aprendido mucho a lo largo del camino.

Estas son algunas ideas y lecciones aprendidas de la experiencia de GitLab en la formación de LLM:

  1. Comience con algo pequeño y amplio. Al estimar la cantidad de recursos de GPU necesarios para el entrenamiento, es mejor empezar con algo pequeño y ampliarlos gradualmente. Esto te ayudará a evitar el despilfarro de recursos y a cualquier posible identificación de obstáculos desde el principio.
  2. Utilice el procesamiento por lotes dinámico. El procesamiento dinámico por lotes puede ayudar a optimizar su proceso de entrenamiento al agrupar entradas similares. Esto puede generar importantes mejoras en el rendimiento, especialmente para conjuntos de datos de gran tamaño.
  3. Elija los parámetros correctos para los que desee optimizar. No existe un enfoque único para elegir los parámetros correctos para optimizar a la hora de ajustar los LLM. Los mejores parámetros variarán según el LLM específico, los datos de entrenamiento y el resultado deseado. Sin embargo, es importante experimentar con diferentes parámetros para encontrar la mejor combinación para tus necesidades específicas.
  4. Considera la posibilidad de utilizar la formación distribuida. La formación distribuida puede ayudar a acelerar el proceso de formación al distribuir la carga de trabajo entre varias GPU o máquinas. Esto puede resultar especialmente beneficioso para la formación de grandes LLM en grandes conjuntos de datos.
  5. Experimenta con el modo de adaptación de rango bajo. El modo de adaptación de rango bajo es una técnica que se puede utilizar para ajustar los LLM con un número menor de parámetros. Esto puede resultar útil en los casos en los que no se dispone de recursos suficientes para ajustar todo el modelo.

Además de las ideas anteriores, GitLab también ha aprendido una serie de valiosas lecciones sobre la importancia de comprender bien el modelo base y los datos de entrenamiento. Por ejemplo, GitLab ha descubierto que es importante conocer la estructura del modelo base y cómo seleccionar los datos de entrenamiento para optimizarlos para el caso de uso deseado.

Triton frente a PyTorch, GPU ensambladas y procesamiento dinámico por lotes para la inferencia de LLM

GitLab usa Triton para la inferencia de LLM porque es más adecuado para adaptarse al gran volumen de solicitudes que recibe GitLab. Triton también es más fácil de empaquetar y escalar que otros modelos de servidores, como los servidores PyTorch.

GitLab aún no ha experimentado con los servidores modelo TGI o VLLM de Hugging Face, ya que aún se encontraban en las primeras etapas de desarrollo cuando GitLab implementó por primera vez su canal de inferencia de LLM.

En lo que respecta al procesamiento dinámico por lotes, la estrategia de GitLab consiste en optimizarlo para el caso de uso específico, la carga, el nivel de consulta, el volumen y la cantidad de GPU disponibles. Por ejemplo, si GitLab tiene 500 GPU para un modelo de 7 GB, puede usar una estrategia de procesamiento por lotes diferente a la que utilizaría si solo tuviera unas pocas GPU para un modelo más pequeño.

GitLab también usa un conjunto de GPU para gestionar las solicitudes. Esto significa que GitLab usa una combinación de diferentes tipos de GPU, incluidas las GPU de alto rendimiento y las GPU de bajo rendimiento. GitLab equilibra la carga de las solicitudes en todo el conjunto de GPU para optimizar el rendimiento y el costo.

Estos son algunos consejos para diseñar una arquitectura que combine las GPU y optimice el equilibrio de carga:

  1. Comprenda sus patrones de tráfico. ¿Cuáles son las horas de mayor tráfico? ¿Qué tipos de solicitudes recibe con más frecuencia?
  2. Usa las pruebas A/B para experimentar con diferentes configuraciones de GPU y estrategias de equilibrio de carga.
  3. Supervise el rendimiento y la latencia para garantizar que su arquitectura satisfaga sus necesidades.

Estos son algunos ejemplos específicos de cómo GitLab ha optimizado su arquitectura para las GPU ensambladas y el procesamiento dinámico por lotes:

  1. GitLab usa un sistema de orquestación dinámica para asignar solicitudes a las GPU en función de su tipo, rendimiento y disponibilidad.
  2. GitLab utiliza una técnica denominada «calentamiento de la GPU» para garantizar que las GPU estén listas para gestionar las solicitudes cuando sean necesarias.
  3. GitLab utiliza la cuantificación para reducir el tamaño de sus modelos sin sacrificar la precisión.

Si sigue estos consejos, puede diseñar una arquitectura que pueda gestionar de manera eficiente grandes volúmenes de solicitudes de inferencia de LLM.

También hemos probado el streaming y creo que también estamos buscando streaming para nuestros terceros - Monmayuri

Desafíos e investigación en la evaluación del LLM en GitLab

Evaluar el rendimiento de los modelos lingüísticos de gran tamaño (LLM) es una tarea difícil. GitLab ha estado trabajando en este problema y se ha enfrentado a varios desafíos, entre ellos:

  1. Los diferentes casos de uso tienen necesidades diferentes. Los diferentes casos de uso de LLM, como el chat, la sugerencia de código y la explicación de vulnerabilidades, tienen necesidades diferentes y requieren métricas de evaluación diferentes.
  2. Es difícil saber qué modelo funciona mejor para una consulta determinada. Es difícil determinar qué LLM funcionará mejor en una consulta determinada, especialmente en producción.
  3. Es difícil equilibrar las tasas de precisión y aceptación. Es importante encontrar un equilibrio entre la precisión de los resultados del LLM y la tasa de aceptación de estos resultados por parte de los usuarios.

GitLab aborda estos desafíos de la siguiente manera:

  1. Curar un buen conjunto de datos para cada caso de uso. GitLab está seleccionando un conjunto de datos para cada caso de uso de LLM que sea representativo de los tipos de consultas que los usuarios enviarán en producción.
  2. Historical data analysis. GitLab está analizando los datos históricos para comprender el rendimiento de los LLM en los diferentes tipos de consultas en el pasado.
  3. Development of new evaluation metrics. GitLab está desarrollando nuevas métricas de evaluación que se adaptan a los casos de uso específicos de LLM.
  4. Uso de datos para impulsar la toma de decisiones. GitLab usa datos para tomar decisiones sobre qué usar LLM para diferentes casos de uso y cómo ajustar los parámetros de estos LLM.

El objetivo de GitLab es desarrollar un enfoque escalable y basado en datos para evaluar los LLM. Este enfoque ayudará a GitLab a garantizar que sus LLM funcionen correctamente en producción y satisfagan las necesidades de sus usuarios.

Direcciones de investigación

GitLab también está investigando nuevas formas de evaluar los LLM. Algunas de las líneas de investigación que GitLab está explorando incluyen:

  1. Uso de datos de interacción humano-computadora (HCI) para evaluar los LLM. Los datos de la HCI pueden proporcionar información sobre cómo los usuarios interactúan con los LLM y cómo perciben los resultados de estas interacciones. Estos datos se pueden utilizar para desarrollar nuevas métricas de evaluación para los LLM.
  2. Uso de métodos contradictorios para evaluar los LLM. Los métodos contradictorios se pueden utilizar para generar entradas diseñadas para engañar a los LLM para que cometan errores. Estos datos se pueden usar para evaluar la solidez de los LLM frente a diferentes tipos de errores.
  3. Utilizar el aprendizaje por transferencia para evaluar los LLM. El aprendizaje por transferencia se puede utilizar para evaluar los LLM en nuevas tareas sin tener que recopilar un nuevo conjunto de datos para cada tarea. Esto puede resultar útil para evaluar los LLM en tareas para las que es difícil o costoso recopilar datos.

La investigación de GitLab sobre la evaluación de los LLM está en curso. GitLab se compromete a desarrollar formas nuevas e innovadoras de evaluar los LLM para garantizar que sus LLM satisfagan las necesidades de sus usuarios.

La arquitectura LLM de GitLab y el futuro de los LLM

La arquitectura LLM de GitLab es un enfoque integral para la capacitación, la evaluación y implementación de LLM. La arquitectura está diseñada para ser flexible y escalable, de modo que GitLab pueda adoptar fácilmente nuevas tecnologías y satisfacer las necesidades de sus usuarios.

La arquitectura consta de varios componentes clave:

  1. Preprocesamiento y tokenización de datos: La arquitectura LLM de GitLab comienza con el preprocesamiento y la tokenización de los datos que se utilizan para entrenar el LLM. Este proceso implica limpiar los datos, eliminar el ruido y convertir el texto a un formato que el LLM pueda entender.
  2. Muestreo y acortamiento: Una vez que los datos se han preprocesado y tokenizado, la arquitectura LLM de GitLab muestrea y acorta los datos. Esto se hace para reducir el costo computacional de la capacitación del LLM.
  3. GPUs sets: La arquitectura LLM de GitLab usa suites de GPU para entrenar el LLM. Las GPU son procesadores especializados que son idóneos para el entrenamiento de los LLM.
  4. Suite de evaluación: La arquitectura LLM de GitLab incluye una suite de evaluación para evaluar el rendimiento del LLM. La suite de evaluación incluye una variedad de métricas, como la precisión, la fluidez y la coherencia.
  5. Model control points: La arquitectura LLM de GitLab almacena puntos de control de modelos a intervalos regulares. Esto permite a GitLab reanudar el entrenamiento desde un punto anterior si algo sale mal.
  6. Messages library: La arquitectura LLM de GitLab incluye una biblioteca de indicaciones, que es una colección de solicitudes que se pueden usar para generar diferentes tipos de texto a partir del LLM.
  7. Model registry: La arquitectura LLM de GitLab incluye un registro de modelos, que es un repositorio central para todos los modelos LLM de GitLab.
  8. Motor de despliegue: La arquitectura LLM de GitLab incluye un motor de implementación que implementa el LLM en producción. El motor de despliegue incluye un balanceador de cargas para distribuir el tráfico entre varias instancias del LLM.

La arquitectura LLM de GitLab es una poderosa herramienta que permite a GitLab entrenar, evaluar e implementar LLM a escala. La arquitectura está diseñada para ser flexible y escalable, de modo que GitLab pueda adoptar fácilmente nuevas tecnologías y satisfacer las necesidades de sus usuarios.

El futuro de los LLM

Los LLM siguen siendo una tecnología relativamente nueva, pero tienen el potencial de revolucionar muchas industrias. GitLab cree que los LLM tendrán un impacto significativo en la industria del desarrollo de software.

GitLab ya utiliza LLMs para mejorar sus productos y servicios. Por ejemplo, GitLab utiliza los LLM para generar sugerencias de código, explicar las vulnerabilidades y mejorar la experiencia de usuario de sus productos.

GitLab cree que otras organizaciones también deberían invertir en LLM. Los LLM tienen el potencial de mejorar la productividad, la eficiencia y la calidad en muchos sectores.

Áreas en las que invertir

GitLab recomienda que las organizaciones inviertan en las siguientes áreas para mantenerse a la vanguardia en el ámbito de la LLM:

  1. Infraestructura: Los LLM requieren una inversión significativa en infraestructura. Las organizaciones deben invertir en GPU, almacenamiento y redes para respaldar las LLM.
  2. Tools and technologies: Hay una serie de herramientas y tecnologías que pueden ayudar a las organizaciones a capacitar, evaluar e implementar la LLM. Las organizaciones deben invertir en las herramientas y tecnologías adecuadas para sus necesidades.
  3. Talento: Los LLM son una tecnología compleja. Las organizaciones deben invertir en talentos con las habilidades y los conocimientos necesarios para capacitar, evaluar e implementar los LLM.

Al invertir en estas áreas, las organizaciones pueden mantenerse a la vanguardia en el ámbito de la LLM y aprovechar los beneficios de esta poderosa tecnología.

Lea nuestros blogs anteriores de la serie True ML Talks:

Sigue viendo el TrueML youtube series leyendo el TrueML series de blogs.

True Foundry es un PaaS de implementación de aprendizaje automático sobre Kubernetes para acelerar los flujos de trabajo de los desarrolladores y, al mismo tiempo, permitirles una flexibilidad total a la hora de probar e implementar modelos, al tiempo que garantiza una seguridad y un control totales para el equipo de Infra. A través de nuestra plataforma, permitimos a los equipos de aprendizaje automático implementar y supervisar modela en 15 minutos con un 100% de confiabilidad, escalabilidad y la capacidad de revertirse en segundos, lo que les permite ahorrar costos y lanzar los modelos a la producción más rápido, lo que permite obtener un verdadero valor empresarial.

La forma más rápida de crear, gobernar y escalar su IA

Inscríbase
Tabla de contenido

Controle, implemente y rastree la IA en su propia infraestructura

Reserva 30 minutos con nuestro Experto en IA

Reserve una demostración

La forma más rápida de crear, gobernar y escalar su IA

Demo del libro

Descubra más

May 21, 2024
|
5 minutos de lectura

¿Qué son las incrustaciones en el aprendizaje automático?

April 22, 2026
|
5 minutos de lectura

Mercados de agentes de IA: el futuro de la automatización de nivel empresarial

No se ha encontrado ningún artículo.
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 minutos de lectura

¿Qué es AI Gateway? Conceptos básicos y guía

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Aprovechar la puerta de enlace de IA de TrueFoundry para el cumplimiento de FIPS

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Integración de GraySwan con TrueFoundry

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

¡TrueFoundry ahora implementa y perfecciona los LLM de código abierto con unos pocos clics!

Ingeniería y producto
LLMS y GenAI

Blogs recientes

Realice un recorrido rápido por el producto
Comience el recorrido por el producto
Visita guiada por el producto