Перейти к основному содержимому

Чтобы получить чистое Markdown-содержимое этой страницы, добавьте .md к этому URL. Полный индекс документации см. на https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. на https://docs.nvidia.com/dynamo/llms-full.txt.

Спекулятивное декодирование с vLLM

Использование спекулятивного декодирования с бэкендом vLLM.

См. также: обзор спекулятивного декодирования с документацией для разных бэкендов.

Предварительные требования

  • Контейнер vLLM с поддержкой Eagle3
  • GPU как минимум с 16 ГБ VRAM
  • Токен доступа Hugging Face (для моделей с ограниченным доступом)

Быстрый старт: Meta-Llama-3.1-8B-Instruct + Eagle3

В этом руководстве показано, как развернуть Meta-Llama-3.1-8B-Instruct со спекулятивным декодированием Eagle3 на одном узле.

Шаг 1. Настройте окружение Docker

Сначала инициализируйте Docker-контейнер с бэкендом vLLM. Подробности см. в руководстве по быстрому старту vLLM.

# Launch infrastructure services
docker compose -f dev/docker-compose.yml up -d

# Build the container
./container/build.sh --framework VLLM

# Run the container
./container/run.sh -it --framework VLLM --mount-workspace

Шаг 2. Получите доступ к модели Llama-3

Модель Meta-Llama-3.1-8B-Instruct имеет ограниченный доступ. Запросите доступ на Hugging Face: репозиторий Meta-Llama-3.1-8B-Instruct

Время одобрения зависит от текущей нагрузки на проверку запросов в Hugging Face.

После одобрения задайте токен доступа внутри контейнера:

export HUGGING_FACE_HUB_TOKEN="insert_your_token_here"
export HF_TOKEN=$HUGGING_FACE_HUB_TOKEN

Шаг 3. Запустите агрегированное спекулятивное декодирование

# Requires only one GPU
cd examples/backends/vllm
bash launch/agg_spec_decoding.sh

Когда загрузка весов завершится, сервер будет готов принимать запросы инференса.

Шаг 4. Проверьте развертывание

curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-8B-Instruct",
"messages": [
{"role": "user", "content": "Write a poem about why Sakura trees are beautiful."}
],
"max_tokens": 250
}'

Пример вывода

{
"id": "cmpl-3e87ea5c-010e-4dd2-bcc4-3298ebd845a8",
"choices": [
{
"message": {
"role": "assistant",
"content": "In cherry blossom's gentle breeze ... A delicate balance of life and death, as petals fade, and new life breathes."
},
"index": 0,
"finish_reason": "stop"
}
],
"model": "meta-llama/Meta-Llama-3.1-8B-Instruct",
"usage": {
"prompt_tokens": 16,
"completion_tokens": 250,
"total_tokens": 266
}
}

Конфигурация

Спекулятивное декодирование в vLLM использует Eagle3 в качестве draft-модели. Скрипт запуска настраивает:

  • Целевая модель: meta-llama/Meta-Llama-3.1-8B-Instruct
  • Draft-модель: вариант Eagle3
  • Агрегированный режим обслуживания

Полную конфигурацию см. в examples/backends/vllm/launch/agg_spec_decoding.sh.

Ограничения

  • Сейчас поддерживается только Eagle3 в качестве draft-модели
  • Требуются совместимые архитектуры целевой и draft-модели

См. также

ДокументПуть
Обзор спекулятивного декодированияREADME.md
Руководство по бэкенду vLLMREADME vLLM
Meta-Llama-3.1-8B-InstructHugging Face