Athrun Data Intelligence


  • En Meta, estamos constantemente superando los límites de los sistemas de inferencia LLM para impulsar aplicaciones como la aplicación Meta AI.
  • Estamos compartiendo cómo desarrolló e implementó técnicas avanzadas de paralelismo para Optimice las métricas esencia de rendimiento relacionadas con la eficiencia de los fortuna, el rendimiento y la latencia.

La rápida cambio de los grandes modelos de estilo (LLM) ha traumatizado el aparición de una nueva era de aplicaciones impulsadas por IA, desde agentes conversacionales hasta procreación de contenido progresista. Sin confiscación, implementar estos modelos masivos a escalera para inferencia en tiempo auténtico presenta desafíos importantes, particularmente para obtener un detención rendimiento, quebranto latencia y una mejor eficiencia de los fortuna.

Nuestro objetivo principal es optimizar las métricas esencia de rendimiento:

  • Eficiencia de fortuna: Maximizar la utilización de la GPU para mejorar la eficiencia operativa.
  • Rendimiento (consultas/s): Atender a más usuarios procesando un decano tamaño de solicitudes.
  • Estado escondido: Minimizar los tiempos de respuesta para una experiencia de beneficiario perfecta. Esto incluye:
    • Tiempo hasta el primer token (TTFT) para precarga: El tiempo que tarda en aparecer la primera parte de la respuesta, idealmente menos de 350 ms.
    • Tiempo hasta token incremental (TTIT) para decodificar: La latencia entre palabras posteriores, con un objetivo de menos de 25 ms.

Estas métricas resaltan las distintas demandas computacionales de la inferencia LLM: el prellenado requiere un uso intensivo de computación, mientras que la decodificación requiere un uso intensivo del orondo de manada de la memoria. Para chocar estos desafíos y permitir la implementación de modelos grandes, hemos desarrollado e implementado técnicas avanzadas de paralelismo.

Las dos etapas de la inferencia LLM

Una tarea típica de inferencia generativa de LLM se desarrolla en dos etapas:

  1. Etapa de precarga: Esta etapa procesa el mensaje de entrada (que puede tener miles de tokens) para difundir un gusto de valía esencia (KV) para cada capa de transformador del LLM. El prellenado es vinculado a la computación, porque el mecanismo de atención escalera cuadráticamente con la distancia de la secuencia.
  2. Etapa de decodificación: Esta etapa utiliza y actualiza incrementalmente la gusto KV para difundir tokens (palabras) uno por uno. La decodificación es combinado a la memoriaya que el tiempo de E/S de la memoria de recitación domina el tiempo de atención, y los pesos del maniquí y la gusto KV ocupan la decano parte de la memoria.

Encarar los obstáculos con paralelismo

Para esquilar la inferencia LLM de forma efectiva, especialmente para manejar contextos largos y modelos masivos, empleamos tres tipos principales de paralelismo de inferencia:

1. Paralelismo tensorial (TP), que mejoría la ajuste de modelos grandes en múltiples GPU y logra un detención rendimiento que un solo dispositivo no puede proporcionar. Implica fragmentar capas individuales del maniquí, como bloques de atención y capas de perceptrón multicapa (MLP), en bloques más pequeños e independientes que se pueden ejecutar en diferentes dispositivos.

Un desafío en el paralelismo tensorial es la operación de comunicación «allreduce», que puede contribuir hasta el 30% de la latencia de un extremo a otro. Para mitigar esto, desarrollamos entrada directo a datos (DDA) algoritmos:

  • Operación plano DDA: Mejoramiento la latencia allreduce de mensajes pequeños al permitir que cada rango cargue memoria directamente desde otros rangos y realice operaciones de reducción locales. Esto reduce la latencia de O(N) a O(1) al aumentar la cantidad de intercambio de datos de O(n) a O(n^2).
  • Operación de árbol DDA: Divide allreduce en dos fases (reducir-dispersar y reunir todos) y utiliza entrada directo a datos en cada paso. Esto mueve la misma cantidad de datos que el cálculo de anillo, pero reduce la latencia a un divisor constante, lo que lo hace adecuado para tamaños de mensajes sutilmente más grandes.

Nuestras soluciones DDA demuestran mejoras significativas en comparación con líneas de almohadilla como NCCL (NVIDIA Collective Communications Library) y RCCL (ROCm Communication Collectives Library para GPU AMD). Por ejemplo, con AMD MI300X, logramos la paridad de rendimiento universal con Nvidia H100, con DDA superando el rendimiento almohadilla de RCCL entre un 10% y un 50% para decodificación (tamaños de mensajes pequeños) y generando una precipitación de entre un 10% y un 30% para el precargado, lo que resulta en una reducción de aproximadamente un 10% en TTIT.

2. Paralelismo contextual (CP), que facilita la encargo y el procesamiento de contextos extremadamente largos, como el Capacidades de tokens de 1M/10M introducidas con Vehemencia 4. La inferencia de contexto dilatado presenta desafíos únicos:

  • Calcular: Los FLOP de atención densa escalan cuadráticamente con la distancia del contexto, lo que lleva a que la atención y el cálculo dominen.
  • Memoria: La gusto KV crece linealmente con el contexto.
  • Comunicación: La latencia de la comunicación aumenta cuando se realiza la paralelización entre varios hosts.

Hemos implementado dos variantes del paralelismo contextual en el módulo de atención, a menudo denominado «vocear atención»:

  • Pase-KV: En este enfoque, los tokens de entrada se dividen en múltiples rangos de CP. Cada rango calcula su porción de tensores de consulta, esencia y valía. Luego, los tensores de esencia y valía se intercambian entre rangos para permitir interacciones de atención en todo el contexto.
  • Producirse Q: Similar a Pass-KV, pero los tensores de consulta se intercambian entre rangos.

Nuestras optimizaciones de paralelismo de contexto, combinadas con un núcleo de atención rápida, han permitido un rendimiento sobresaliente para capacidades de contexto prolongado. Logramos menos de un minuto para un millón de tokens en un único host H100 y menos de un minuto para 10 millones de tokens utilizando inferencia distribuida en múltiples hosts H100 (por ejemplo, 32 hosts H100). Con Vehemencia 3 405B, demostramos un escalado casi recto, logrando un precarga de tokens de 128.000 en 3,8 segundos con CP en 16 nodos y un precarga de tokens de 1 millón en 77 segundos.

3. Paralelismo avezado (EP)que ayuda a esquilar modelos de combinación de expertos (MoE), donde una gran cantidad de «expertos» (módulos de redes neuronales) hacen irrealizable ajustar el maniquí completo en un solo host. En la inferencia basada en EP, utilizamos un patrón de comunicación de todos a todos de dos disparos para canjear tokens entre el paralelismo de datos y los rangos de paralelismo de expertos basados ​​en el enrutamiento.

La comunicación entre todos puede contribuir entre un 10% y un 30% a la latencia de un extremo a otro, especialmente para los mensajes de decodificación (de 100 KB a 2 MB). Para optimizar esto, estamos explorando soluciones que incluyen:

  • Dinámico todos contra todos: Emisión de subfragmentos de datos a vecinos remotos.
  • Persistente todos contra todos: Encarar las desaceleraciones causadas principalmente por el intercambio de controladores de memoria, el consistencia de carga de la red y la sobrecarga de la CPU.

Mirando en torno a el futuro: inferencia desagregada y desafíos futuros

Para optimizar aún más la inferencia LLM, estamos avanzando en torno a paralelismo ND (CP, PP, EP, TP entre nodos, con DP separado) y desagregar niveles de prellenado y decodificación. Esto permite un mejor consistencia de fortuna y la posibilidad de utilizar hardware heterogéneo, donde se utiliza hardware con gran capacidad de computación para el relleno previo y hardware con gran orondo de manada de memoria para la decodificación. Este paralelismo multidimensional puede ayudar a desbloquear el servicio y la evaluación de modelos colosales.

Los desafíos futuros en este espacio incluyen:

  • Diseño de tela de aglomeración: Optimización de la infraestructura de aglomeración subyacente para cargas de trabajo de LLM.
  • Comunicación que va al kernel (kernel fusionado): Integrar operaciones de comunicación directamente en núcleos computacionales para una decano eficiencia.
  • Kernel iniciado por dispositivo: Permitir que los dispositivos inicien operaciones directamente, reduciendo la sobrecarga de la CPU.

Estos avances en paralelización y mejoras a nivel de sistema han ayudado a habilitar la próxima procreación de aplicaciones de IA y a ampliar los límites de lo que los LLM pueden obtener. Estamos comprometidos con la innovación continua para certificar una inferencia LLM valioso y escalable para millones de usuarios en todo el mundo.



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *