Чтобы получить чистое 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 |
| Руководство по бэкенду vLLM | README vLLM |
| Meta-Llama-3.1-8B-Instruct | Hugging Face |