Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Compare los LLM con vLLM y lm-evaluation-harness
En este tutorial se explica cómo evaluar varios modelos lingüísticos de gran tamaño (LLM) comparándolos con varios puntos de referencia en un solo trabajo de Deadline Cloud. Cada modelo se convierte en una tarea en un barrido de parámetros y las tareas se ejecutan en paralelo entre los trabajadores. En un último paso, se agregan los resultados de cada modelo en una tabla clasificatoria en formato CSV y Markdown.
El código fuente de este tutorial está disponible en el repositorio deadline-cloud-samples del sitio web
El siguiente vídeo muestra el flujo de trabajo de la tabla clasificatoria de vLLM LLM en Deadline Cloud.
Tiempo estimado: 20 a 40 minutos (según la cantidad de modelos y puntos de referencia).
Descripción general de
Cada tarea del EvalModels paso inicia un servidor vLLM local, ejecuta todas las pruebas comparativas con el sistema de evaluación lm-evaluation de EleutherAI comparándolas con el punto final local y, a continuación, detiene vLLM. Para obtener más información, consulte vLLM y lm-evaluation-harness en el sitio web. https://github.com/vllm-project/vllm
Para completar este tutorial, sigue estos pasos:
-
Cumplir los requisitos previos de .
-
Configura tu granja.
-
Envíe el trabajo de evaluación.
-
Descargue y revise los resultados.
-
Eliminación de recursos.
Requisitos previos
Antes de empezar, se recomienda la siguiente configuración:
-
Una granja de Deadline Cloud con una flota gestionada por servicios de GPU de NVIDIA (A10G o L4, al menos 32 GB de RAM y al menos 4 vCPU).
-
Una cola con un entorno de cola conda adjunto que lee los parámetros y trabaja.
CondaPackagesCondaChannels -
La CLI de Deadline Cloud instalada en su estación de trabajo. Para obtener instrucciones de instalación, consulte el repositorio
Deadline-Cloud en el sitio web. GitHub -
Cuota de servicio Deadline Cloud suficiente para instancias de GPU. La ejecución predeterminada de 3 modelos
g5.xlarge(4 CPU virtuales y 1 GPU cada uno) requiere al menos 3 GPU con instancias OnDemand G por región y 12 CPU virtuales con CPU virtuales por región. OnDemand
nota
El token Hugging Face solo es necesario para los modelos cerrados (como Llama). La lista de modelos predeterminada usa modelos no cerrados.
Configure su granja
La forma más rápida de obtener una granja compatible es implementar la CloudFormation plantilla de granja de CUDA
Para configurar la CLI para su granja
-
Cuando llegue la CloudFormation pila
CREATE_COMPLETE, configure la CLI de Deadline Cloud para usar la nueva granja:deadline config set defaults.farm_idFarmId-from-stack-outputsdeadline config set defaults.queue_idCUDAQueueId-from-stack-outputs
Si ya tiene una granja, se recomienda la siguiente configuración:
-
Una flota de SMF con GPU NVIDIA, al menos 32 GB de RAM y al menos 4 vCPU.
-
Una cola con un entorno de cola conda que lee y ejecuta los parámetros.
CondaPackagesCondaChannels
Envíe el trabajo de evaluación
Para enviar el trabajo de evaluación
-
Clone el repositorio de muestras y navegue hasta el directorio de paquetes de trabajos:
git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles/vllm_lm_eval_leaderboard -
Envíe el trabajo con los modelos y puntos de referencia predeterminados:
deadline bundle submit . \ --parameter MaxModelLen=2048La lista de modelos predeterminada evalúa tres modelos pequeños y no clasificados:
Qwen/Qwen2.5-0.5BQwen/Qwen2.5-1.5B, y.EleutherAI/pythia-1.4bLos puntos de referencia predeterminados son un conjunto de razonamiento de sentido común:.hellaswag,arc_easy,arc_challenge,winogrande -
Supervise el estado del trabajo en la consola de Deadline Cloud o mediante el
deadline job getcomando.
Cambiar la lista de modelos
Los modelos se definen como un espacio de parámetros STRING en el EvalModels escalón detemplate.yaml:
parameterSpace: taskParameterDefinitions: - name: ModelName type: STRING range: - "Qwen/Qwen2.5-0.5B" - "Qwen/Qwen2.5-1.5B" - "EleutherAI/pythia-1.4b"
Para añadir o eliminar modelos, edite la range lista. Cada entrada se convierte en una tarea visible en el monitor de Deadline Cloud. Los ID de modelo deben ser compatibles con vLLM. Para obtener más información, consulte la lista de modelos compatibles
Cómo elegir puntos de referencia
El parámetro de Benchmarks trabajo es una lista separada por comas de los nombres de las tareas de lm-evaluation-harness. Anule los puntos de referencia predeterminados en el momento del envío:
deadline bundle submit . \ --parameter Benchmarks="hellaswag,mmlu,gsm8k"
Todos los puntos de referencia de la lista se ejecutan de forma secuencial en el servidor vLLM de cada modelo. Mantenga MaxModelLen un valor inferior o igual a la ventana de contexto del modelo más pequeño. Para obtener una lista completa de los puntos de referencia disponibles, consulte las tareas de
Descarga y revisa los resultados
Para descargar los resultados de la clasificación
-
Una vez finalizado el trabajo, descarga el resultado:
deadline job download-output --job-idjob-id -
Vea la tabla de clasificación:
cat leaderboard_results/leaderboard.md
El siguiente ejemplo muestra el resultado típico de una tabla de clasificación:
# LLM Leaderboard Models: 3 | Benchmarks: arc_challenge, arc_easy, hellaswag, winogrande | Rank | Model | arc_challenge | arc_easy | hellaswag | winogrande | Mean | |------|------------------------|---------------|----------|-----------|------------|--------| | 1 | Qwen/Qwen2.5-1.5B | 0.4497 | 0.7176 | 0.6775 | 0.6322 | 0.6192 | | 2 | Qwen/Qwen2.5-0.5B | 0.3200 | 0.5816 | 0.5223 | 0.5691 | 0.4982 | | 3 | EleutherAI/pythia-1.4b | 0.2833 | 0.5387 | 0.5201 | 0.5730 | 0.4788 |
Limpieza
Para evitar cargos continuos, limpia los recursos que creaste para este tutorial:
Para limpiar los recursos del tutorial
-
Si implementó la CloudFormation plantilla de granja de CUDA, elimine la CloudFormation pila de la CloudFormation consola.
-
Si usaste una granja existente, detiene o elimina la flota de GPU que usaste en este tutorial.
-
Elimine los archivos de salida locales si ya no los necesita:
rm -rf leaderboard_results/
Resolución de problemas
La flota no aumenta el número de trabajadores
La causa más común es la cuota de servicio de Deadline Cloud. Abre la consola de cuotas de servicio
Recursos relacionados
Los siguientes recursos proporcionan información adicional sobre el GitHub sitio web y el sitio web del vLLM: