Inference
TGI (Text Generation Inference)
Сервер инференса от Hugging Face с поддержкой continuous batching и streaming.
Что такое TGI
Text Generation Inference (TGI) — production-ready сервер инференса от Hugging Face, написанный на Rust (HTTP-слой) и Python/PyTorch (вычисления). Разработан как универсальное решение для деплоя любых моделей с HuggingFace Hub с минимальной настройкой.
TGI поддерживает continuous batching, streaming, tensor parallelism и широкий спектр моделей «из коробки». Особенность — нативная интеграция с HuggingFace ecosystem: достаточно указать идентификатор модели вида meta-llama/Llama-3-8B-Instruct.
Ключевые возможности
- Универсальный деплой — поддерживает Llama, Mistral, Falcon, BLOOM, StarCoder, Gemma и десятки других архитектур
- Continuous batching и streaming из коробки
- Квантизация — AWQ, GPTQ, bitsandbytes (INT4/INT8)
- Flash Attention 2 — для ускорения инференса на Ampere/Hopper GPU
- Tensor parallelism — multi-GPU через
--num-shard - Safeguards — встроенные механизмы ограничения токенов, watermarking
Быстрый старт
# Docker-запуск (модель скачается автоматически)
docker run --gpus all \
-p 8080:80 \
-v $PWD/data:/data \
-e HF_TOKEN=$HF_TOKEN \
ghcr.io/huggingface/text-generation-inference:latest \
--model-id meta-llama/Llama-3.1-8B-Instruct \
--max-batch-prefill-tokens 4096
# С квантизацией AWQ
docker run --gpus all -p 8080:80 \
ghcr.io/huggingface/text-generation-inference:latest \
--model-id TheBloke/Llama-2-13B-chat-AWQ \
--quantize awq
Запрос:
from huggingface_hub import InferenceClient
client = InferenceClient(model="http://localhost:8080")
for token in client.text_generation("Напиши хайку о GPU.", stream=True):
print(token, end="", flush=True)
Когда выбирать TGI
| Сценарий | Рекомендация |
|---|---|
| Быстрый деплой любой HF-модели | TGI |
| Максимальный throughput чат-сервиса | vLLM |
| Запуск на CPU или тонком инстансе | llama.cpp |
| Максимум TPS на A100/H100 | SGLang |
Связанные термины
- continuous batching — ключевой механизм TGI
- streaming — потоковая отдача токенов
- квантизация — AWQ/GPTQ поддержка
- Подробный гайд по TGI
Готовы запустить GPU-задачу?
Запустить GPU-сервер