Athrun Data Intelligence


Imagine tratar de renovar la pulvínulo de un imponente rascacielos sin pedirle a sus ocupantes que se vayan o pausen su trabajo. Eso es exactamente lo que hace el motor de punto de control de Moonshotai para los modelos AI. Permite que los modelos de lengua masivo actualicen sus cerebros, los pesos, mientras siguen funcionando, por lo que no hay tiempo de inactividad. Este avance permite a los desarrolladores mejorar su IA de modo rápida y capaz, incluso en modelos con más de un billón de parámetros que se ejecutan en miles de GPU. Es rápido, confiable y está diseñado para persistir los sistemas de IA funcionando sin problemas mientras evoluciona en tiempo actual, por lo que es una útil cardinal para aplicaciones de IA de vanguardia. Este artículo pasa por encima de lo que es, cómo funciona y por qué es importante para el futuro de los sistemas de IA a gran escalera.

¿Qué es el motor de control de lunarshot Ai?

El motor de control de control de Moonshot AI es un middleware especializado diseñado para desempolvar los pesos de Modelos de idiomas grandes (LLM) en tiempo actual durante la inferencia sin interrumpir las operaciones en curso. Esta capacidad es crítica en Estudios de refuerzo escenarios en los que los pesos del maniquí deben actualizarse con frecuencia. El motor de control de control actualmente se integra perfectamente con los marcos de inferencia de VLLM y ofrece un rendimiento optimizado a través de las técnicas de gobierno de tuberías y memoria. Incluso proporciona características como reutilizar pesos de las instancias existentes para compendiar la sobrecarga en los escenarios de escalera.

Cimentación

El núcleo del punto de control es la clase Parameterserver, que maneja la deducción de aggiornamento de peso y comparsa el flujo de datos.

  1. H2D (host al dispositivo): Mueve pesos actualizados de la memoria o el almacenamiento de la CPU a la memoria GPU, utilizando tuberías de transferencia optimizadas.
  2. Transmisión: Distribuye el peso en todas las instancias de motor de inferencia de modo capaz, aprovechando los buffers CUDA IPC para la comunicación de memoria compartida.
  3. Recargar: Cada motor de inferencia recarga selectivamente fragmentos de peso relevantes de los datos transmitidos de acuerdo con su patrón de fragmentación.

Estas tuberías de tres etapas aseguran una comunicación capaz y superpuesta y copia de velocidad.

Cuando la memoria de GPU es limitada, el sistema puede acudir a la ejecución en serie para persistir la confiabilidad.

Métodos utilizados

El motor de control de control utiliza dos métodos principales para desempolvar los pesos del maniquí durante la inferencia.

  1. Método de transmisión: Este es el enfoque más rápido y predeterminado. Esto es ideal cuando una gran cantidad de instancias de inferencia deben actualizarse simultáneamente. Transmite los pesos actualizados de la memoria de la CPU a todas las GPU de inferencia sincrónicamente, lo que garantiza que todas las instancias permanezcan perfectamente sincronizadas con un retraso imperceptible.
  2. Método P2P (Peer-to-Peer): Se usa cuando las instancias de inferencia se agregan o se eliminan dinámicamente durante el tiempo de ejecución. Evita interrumpir las cargas de trabajo de inferencia existentes enviando pesos directamente desde las CPU en instancias existentes a GPU en nuevas instancias a través de un sistema de transferencia de igual a igual, permitiendo actualizaciones suaves y flexibles.

Gremial

El motor de control de control comparsa todo el proceso de transferencia. Primero recopila los metadatos necesarios para crear un plan, incluida la audacia del tamaño del cubo adecuado para la transferencia de datos. Luego, ejecuta la transferencia, controlando el motor de inferencia a través de un enchufe ZEROMQ para maximizar el rendimiento. Organiza la transferencia de datos en tuberías con comunicación y copia superpuesta, lo que permite actualizaciones de peso rápidas y eficientes incluso bajo una carga de trabajo pesada.

Al implementar los métodos y la obra mencionados anteriormente, el motor de control de control permite actualizaciones de peso en vivo para LLM en miles de GPU con latencia mínima e interrupción del servicio.

Instalación y uso

Instalación

Para usar la transmisión más rápida

Use el código:

pip install checkpoint-engine

Para usar la implementación flexible de P2P:

Use el código:

pip install 'checkpoint-engine(p2p)'

Esto se instalará mooncake-transfer-engine para apoyar la transferencia de RDMA entre diferentes rangos.

Caso de uso de ejemplo

Paso 1:

Prepare una máquina H800 o H20 con 8 GPU con el postrero VLLM. Asegúrese de incluir /Collective_RPC API EndPoint Commit (adecuado en la rama principal) ya que Checkpoint-Engine utilizará este punto final para desempolvar los pesos.

Paso 2:

install checkpoint-engine

Código:

uv pip install 'checkpoint-engine(p2p)'

Paso 3:

Para nuestro caso de uso, vamos a usar QWEN/QWEN3-235B-A22B-INSTRUCT-2507 Como maniquí de prueba.

Código:

hf download Qwen/Qwen3-235B-A22B-Instruct-2507 --local-dir /opt/models/Qwen/Qwen3-235B-A22B-Instruct-2507/

Paso 4:

Inicie VLLM en modo Dev y establezca-Formato de carga de carga. Asegúrese de establecer-Worker-Extension-Cls = checkpoint_engine.worker.vllmcolocateworkerextension

Código:

VLLM_SERVER_DEV_MODE=1 python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 19730 --trust-remote-code 

    --tensor-parallel-size=8 --max-model-len 4096 --load-format dummy 

    --served-model-name checkpoint-engine-demo --model /opt/models/Qwen/Qwen3-235B-A22B-Instruct-2507/ 

    --worker-extension-cls checkpoint_engine.worker.VllmColocateWorkerExtension

Para desempolvar los pesos por motor de control. No es necesario esperar a que VLLM se prepare. Use el código a continuación.

Código:

torchrun --nproc-per-node 8 examples/update.py --update-method all --checkpoint-path /opt/models/Qwen/Qwen3-235B-A22B-Instruct-2507/

Para reutilizar los pesos de las instancias existentes

Las nuevas instancias de motor de control pueden unir las instancias existentes y reutilizar sus pesos.

Usando el método a continuación:

Paso 1: Iniciar la instancia existente con –Save-Metas-File Global_Metas.pkl Para asegurar las metas globales en un archivo.

Paso 2: Usar –Tero de tiempo de duración 300 para cerciorarse de que se mantengan con vida.

Código:

torchrun --nproc-per-node 8 examples/update.py --checkpoint-path $MODEL_PATH 

    --sleep-time 300 --save-metas-file global_metas.pkl

Paso 3: Luego de registrarse un punto de control, las nuevas instancias pueden obtener una copia del punto de control configurando-Load-Metas-File Global_Metas.pkl

Código:

torchrun --nproc-per-node 8 examples/update.py --load-metas-file global_metas.pkl

Cuantificación FP8

Actualmente, la cuantización de FP8 no funciona en VLLM al desempolvar los pesos. Utiliza un parche simple en parches/vllm_fp8.patch Para manejar la aggiornamento de peso correcta. Por otra parte, este parche solo se prueba en Deepseek-V3.1 y Kimi-K2. Por lo tanto, hay posibilidades de tener algunos problemas de compatibilidad con otros modelos.

Prueba

Ejecute una prueba de corrección simple para Checkpoint_Engine

Código:

torchrun --nproc-per-node 8 tests/test_update.py

Punto de remisión

Maniquí Configuración del dispositivo Reunión de metadatos Puesta al día (transmisión) Puesta al día (P2P)
GLM-4.5-AIR (BF16) 8x H800 TP8 0.17 segundos 3.94 segundos (1.42 GIB) 8.83 segundos (4.77 GIB)
QWEN3-235B-A22B-INSTRUCT-25507 (BF16) 8x H800 TP8 0.46 segundos 6.75 segundos (2.69 GIB) 16.47 segundos (4.05 GIB)
Deepseek-v3.1 (FP8) 16x H20 TP16 1.44 segundos 12.22 segundos (2.38 GIB) 25.77 segundos (3.61 GIB)
Kimi-K2-Instructo (FP8) 16x H20 TP16 1.81 segundos 15.45 segundos (2.93 GIB) 36.24 segundos (4.46 GIB)
Deepseek-v3.1 (FP8) 256x H20 TP16 1.40 segundos 13.88 segundos (2.54 GIB) 33.30 segundos (3.86 GIB)
Kimi-K2-Instructo (FP8) 256x H20 TP16 1.88 segundos 21.50 segundos (2.99 GIB) 34.49 segundos (4.57 GIB)

Perspectivas

Aquí hay algunas observaciones que he hecho:

  1. El método de transmisión generalmente ofrece el tiempo de aggiornamento más rápido, optimizado para actualizaciones de peso síncronas en muchas instancias de inferencia.
  2. El método P2P lleva más tiempo, pero permite actualizaciones dinámicas cuando las instancias se unen o se van durante el tiempo de ejecución.
  3. Estos puntos de remisión muestran la escalabilidad del motor de punto de control, manejando un billón de modelos de parámetros de modo capaz en grupos que van de 8 a 256 GPU

Limitaciones del motor de punto de control

Si admisiblemente Checkpoint Engine es una decisión poderosa para actualizaciones de peso en vivo en LLMS, actualmente tiene algunas limitaciones.

  • Funciona mejor con VLLM por ahora: El motor se prueba principalmente con el entorno VLLM. Si aplazamiento usarlo con otros marcos de IA o configuraciones personalizadas, es posible que necesite un trabajo adicional para que se ejecute sin problemas.
  • La tubería sigue mejorando: La tubería perfecta ideal que superpone los datos de los datos perfectamente aún no está completamente terminado. Esto significa que todavía hay potencial para hacer que las actualizaciones sean aún más rápidas.
  • La aggiornamento de P2P podría ser más suave: El método de igual a igual envía datos a través de un cuello de botella en un nodo principal antaño de compartirlo con otros, lo que puede frenar las cosas cuando tiene muchas GPU.
  • Necesita memoria adicional de GPU: El inteligente sistema de transmisión utiliza más memoria de GPU para acelerar las cosas. En máquinas con menos memoria, cambia a un proceso más flemático y menos capaz.
  • Soporte condicionado para modelos FP8: Si está trabajando con los nuevos modelos cuantificados FP8, necesitará algunos parches experimentales. E incluso entonces, no todos los modelos juegan admisiblemente, pero más allá de un par de probados.

Conclusión

El motor de control de control de la IA de Moonshot es un cambio de solaz para desempolvar enormes modelos de IA sin detenerlos. Mantiene todo funcionando sin problemas, incluso mientras el «cerebro» del maniquí se vuelve más inteligente en tiempo actual. Si admisiblemente todavía tiene algunas áreas para mejorar, el potencial es enorme. Si está trabajando con grandes sistemas de IA, definitivamente vale la pena ver esta útil. Está ayudando a que el futuro de la IA sea más rápido y más capaz, sin ningún tiempo de inactividad.

Preguntas frecuentes

Q1. ¿Qué problema resuelve el motor de control de control?

R. Permite que los modelos de idiomas grandes actualicen mancuerna en tiempo actual durante la inferencia sin tiempo de inactividad, por lo que los sistemas de IA permanecen en bisectriz mientras mejoran.

Q2. ¿Qué marcos soporta el motor de control de control?

R. En este momento, está principalmente integrado y probado con el entorno de inferencia VLLM.

Q3. ¿Cuál es la diferencia entre los métodos de transmisión y P2P?

A. La transmisión es más rápida para las actualizaciones sincronizadas en muchas GPU, mientras que P2P permite actualizaciones flexibles cuando las instancias se unen o se van.

Soy un aprendiz de ciencia de datos de Analytics Vidhya, trabajando apasionadamente en el incremento de soluciones avanzadas de IA, como aplicaciones generativas de IA, modelos de idiomas grandes y herramientas de IA de vanguardia que empujan los límites de la tecnología. Mi papel incluso implica crear contenido educativo atractivo para los canales de YouTube de Analytics Vidhya, desarrollar cursos integrales que cubran el espectro completo de estudios inconsciente con IA generativa y autorizando blogs técnicos que conectan conceptos fundamentales con las últimas innovaciones en IA. A través de esto, mi objetivo es contribuir a construir sistemas inteligentes y compartir conocimientos que inspiren y capaciten a la comunidad de IA.

Inicie sesión para continuar leyendo y disfrutando de contenido curado por expertos.

Deja una respuesta

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