TGI (Text Generation Inference)

Запустите HuggingFace Text Generation Inference (TGI) для продакшн-подачи LLM на GPU Clore.ai

Text Generation Inference (TGI) — это промышленный фреймворк обслуживания LLM от HuggingFace, разработанный для высокопроизводительного и низкозадержечного вывода. Он из коробки поддерживает Flash Attention 2, непрерывную пакетную обработку, PagedAttention и тензорный параллелизм — что делает его основным решением для развертывания больших языковых моделей в масштабе на GPU-серверах CLORE.AI.

circle-check

Требования к серверу

Параметр
Минимум
Рекомендуется

ОЗУ

16 ГБ

32 ГБ+

VRAM

8 ГБ

24 ГБ+

Диск

50 ГБ

200 ГБ+

GPU

Любая NVIDIA (Ampere+ для Flash Attention)

A100, H100, RTX 4090

circle-info

Flash Attention 2 требует архитектуры Ampere или новее (RTX 3000+, A100, H100). Для старых GPU TGI автоматически перейдет на стандартный механизм внимания.

Быстрое развертывание на CLORE.AI

Docker-образ: ghcr.io/huggingface/text-generation-inference:latest

Порты: 22/tcp, 8080/http

Переменные окружения:

Переменная
Пример
Описание

MODEL_ID

mistralai/Mistral-7B-Instruct-v0.3

ID модели на HuggingFace

HF_TOKEN

hf_xxx...

Токен HuggingFace (для закрытых моделей)

NUM_SHARD

2

Количество GPU для тензорного параллелизма

MAX_INPUT_LENGTH

4096

Максимум входных токенов

MAX_TOTAL_TOKENS

8192

Максимум входных + выходных токенов

QUANTIZE

bitsandbytes-nf4

Метод квантизации

Пошаговая настройка

1. Арендуйте GPU-сервер на CLORE.AI

Перейдите на CLORE.AI Маркетплейсarrow-up-right и отфильтруйте серверы по:

  • VRAM ≥ 24 ГБ для моделей 7B (полная точность)

  • VRAM ≥ 12 ГБ для моделей 7B (квантизация 4 бита)

  • VRAM ≥ 80 ГБ для моделей 70B (полная точность, один GPU)

2. Подключитесь по SSH

После подтверждения вашего заказа подключитесь к серверу, используя данные SSH из панели управления CLORE.AI:

Или используйте веб-терминал из панели заказа CLORE.AI.

3. Скачайте Docker-образ TGI

4. Запустите TGI с моделью

Базовый запуск (Mistral 7B):

С токеном HuggingFace (для закрытых моделей, например Llama 3):

С квантизацией 4 бита (для меньшего объема VRAM):

Тензорный параллелизм на нескольких GPU (для моделей 70B):

5. Проверьте, что сервер запущен

Ожидаемый ответ: {"status":"ok"}

6. Доступ через HTTP-прокси CLORE.AI

В панели заказа CLORE.AI вы увидите ваш http_pub URL для порта 8080. Это позволяет получить доступ из браузера/через API без SSH-туннелирования:


Примеры использования

Пример 1: Базовая генерация текста

Пример 2: Chat Completions (совместимо с OpenAI)

TGI поддерживает формат API chat completions от OpenAI:

Пример 3: Потоковый ответ

Пример 4: Клиент на Python

Пример 5: Пакетные запросы


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

Ключевые параметры CLI

Параметр
По умолчанию
Описание

--model-id

обязательно

ID модели HuggingFace или локальный путь

--num-shard

1

Количество шардов GPU (тензорный параллелизм)

--max-concurrent-requests

128

Максимум одновременных запросов

--max-input-length

1024

Максимальная длина входных токенов

--max-total-tokens

2048

Максимум входных + выходных токенов

--max-batch-total-tokens

auto

Максимум токенов в пакете

--quantize

none

Квантизация: bitsandbytes-nf4, gptq, awq

--dtype

auto

float16, bfloat16

--trust-remote-code

false

Разрешить пользовательский код модели

--port

80

Порт сервера

Использование локальной модели

Если у вас модель скачана локально:

AWQ квантизация (быстрее, чем NF4)


Советы по производительности

1. Включите Flash Attention 2

Flash Attention 2 автоматически включается на GPU Ampere+ (RTX 3000+, A100, H100). Дополнительная настройка не требуется.

2. Настройте максимальный размер батча

Для сценариев с высокой пропускной способностью увеличьте размер батча:

3. Используйте bfloat16 на GPU Ampere+

Это более численно устойчиво, чем float16, и работает одинаково на современных GPU.

4. Предварительно скачайте модели на постоянное хранилище

Затем смонтируйте локальный путь, чтобы избежать повторного скачивания при перезапусках.

5. Управление памятью GPU

Для RTX 3090/4090 (24 ГБ VRAM):

6. Спекулятивная декодировка

Для более быстрой генерации с использованием меньших моделей в качестве черновика:


Устранение неполадок

Проблема: "CUDA out of memory"

Решение: Уменьшите --max-total-tokens или включите квантизацию:

Проблема: медленное скачивание модели

Решение: Используйте зеркало HuggingFace или скачайте заранее:

Проблема: сервер недоступен через http_pub

Решение: Убедитесь, что порт 8080 правильно проброшен. TGI слушает порт 80 внутри контейнера, но вы пробрасываете его на 8080 снаружи:

Проблема: требуется "trust_remote_code"

Некоторые модели (например, Falcon, Phi) требуют пользовательского кода:

Проблема: медленный первый ответ

Первый запрос инициирует загрузку модели в VRAM. Это нормально. Последующие запросы будут быстрыми.

Проблема: контейнер завершается сразу


Ссылки


Рекомендации Clore.ai по GPU

Сценарий использования
Рекомендуемый GPU
Примерная стоимость на Clore.ai

Разработка/Тестирование

RTX 3090 (24GB)

~$0.12/gpu/hr

Продакшен (7B–13B)

RTX 4090 (24GB)

~$0.70/gpu/hr

Крупные модели (70B+)

A100 80GB / H100

~$1.20/gpu/hr

💡 Все примеры в этом руководстве можно развернуть на Clore.aiarrow-up-right GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.

Последнее обновление

Это было полезно?