Text Generation Inference(TGI)(テキストジェネレーションインファレンス)
Hugging Faceが開発したオープンソースのLLM推論サーバーで、Rustベースの高性能バックエンドとFlash Attention統合により本番環境向けのテキスト生成APIを提供する
Text Generation Inference(TGI)は、Hugging Faceが開発・メンテナンスするオープンソースのLLM推論サーバーである。Rustで実装されたバックエンドにより高い信頼性とパフォーマンスを実現し、Hugging Face Inference EndpointsやAmazon SageMakerなどの商用プラットフォームでも採用されている。2026年現在、TGI 2.x系がリリースされ、vLLMと並ぶ主要なLLMサービングソリューションとして位置づけられている。
概要
TGIは2023年にHugging Faceがオープンソースとして公開した推論サーバーで、当初からHugging Face Hubとの緊密な統合を特徴としていた。Rustで書かれたgRPCサーバーがリクエストのスケジューリングとバッチングを担当し、Pythonのモデルシャードがテンソル演算を実行するハイブリッドアーキテクチャを採用している。
2024年にはFlash Attention 2の完全統合とEETQ(Efficient Exact Top-K Quantization)サポートが追加され、2025年のTGI 2.0ではRouter層の全面刷新とGrammar-based Structured Generation(JSON Schema制約付き生成)が実装された。2026年にはNVIDIA H200対応とSpeculative Decoding Pipelineが安定版としてリリースされている。
主な特徴・仕組み
- Rust製Router: gRPCベースのルーターがリクエストキューイング・バッチスケジューリング・ヘルスチェックを低レイテンシで処理。メモリセーフなRust実装で本番運用の安定性を確保
- Flash Attention統合: Flash Attention 2/3をネイティブサポートし、Attention演算のメモリ使用量をO(N²)からO(N)に削減。シーケンス長128Kトークンまで効率的に処理
- Continuous Batching: Token-level の動的バッチングにより、各リクエストが生成完了次第バッチから離脱。GPU稼働率を最大化
- Watermark対応: テキスト透かし(Watermarking)をサーバーサイドで実装可能。生成テキストの出所追跡に活用
- Grammar制約生成: JSON Schema、正規表現、CFG(Context-Free Grammar)に基づく構造化出力を保証。APIレスポンスのスキーマ準拠を推論レベルで強制
- 量子化サポート: GPTQ、AWQ、EETQ、BitsAndBytes(4bit/8bit)をサポート。EETQ は FP16→INT8変換をオンザフライで実行
- Hugging Face Hub統合:
--model-idパラメータでHub上のモデルを直接ロード。ゲートモデル(Llama 3等)のトークン認証にも対応 - Prometheus メトリクス: リクエスト数・レイテンシ・キューサイズ・GPU利用率等のメトリクスをPrometheus形式でエクスポート
スペック比較表
| 機能 | TGI 2.x | vLLM 0.8 | TensorRT-LLM |
|---|---|---|---|
| 実装言語 | Rust + Python | Python | C++ + Python |
| Flash Attention | v2/v3 | v2 | 独自実装 |
| 構造化生成 | JSON Schema/Regex/CFG | Outlines統合 | × |
| Hub統合 | ネイティブ | 手動ダウンロード | 変換必要 |
| Docker公式 | ghcr.io/huggingface/tgi | vllm/vllm-openai | nvcr.io/nvidia |
| ライセンス | Apache 2.0 | Apache 2.0 | Apache 2.0 |
具体例・対応製品
- Llama 3.1 70B: 2x NVIDIA A100 80GBで秒間約70トークン生成。GPTQ 4bit量子化時は1x A100で約35トークン/秒
- Mistral 7B: 1x NVIDIA RTX 4090 24GBで秒間約110トークン。Flash Attention有効時のVRAM使用量は約13GB
- Falcon 180B: 4x NVIDIA A100 80GB構成で秒間約25トークン。TGI固有のSharded Model機能で自動分散
- StarCoder2 15B: コード生成特化モデルのサービングに最適化。Fill-in-the-Middle(FIM)プロンプトをネイティブサポート
- Hugging Face Inference Endpoints: TGIをバックエンドとするマネージドサービス。AWS/GCP/Azureの各リージョンで1クリックデプロイ、GPU 1x A10G($1.30/h)から利用可能
選び方・注意点
- Hugging Faceエコシステムとの親和性: Hub上のモデルを直接利用する場合、TGIが最もスムーズ。model card の
inference: trueフラグでTGI対応を確認可能 - 構造化出力の要件: JSON Schema準拠のレスポンスが必須なAPIバックエンドでは、TGIのGrammar制約生成が強力
- 運用監視: Prometheus + Grafana連携が標準装備。SLO(Service Level Objective)管理が容易
- スケーリング制限: Tensor Parallelismは最大4GPUまで(vLLMは8GPU)。405B規模のモデルにはvLLMかTensorRT-LLMを推奨
- コンテナデプロイ: 公式Dockerイメージが充実。
--max-concurrent-requests、--max-batch-total-tokens等の起動パラメータでリソース制御
関連用語との違い
TGIとvLLMの最大の差異はアーキテクチャ哲学にある。TGIはRust製Routerによる安定性とHugging Faceエコシステム統合を重視し、vLLMはPagedAttentionによるメモリ効率とスループット最大化を追求する。小〜中規模モデル(7B〜70B)のサービングではTGIの構造化出力機能が優位、大規模モデル(70B+)の高スループットサービングではvLLMが有利となる場面が多い。
よくある質問(FAQ)
Q1: TGIとvLLMのどちらを選ぶべきですか? A: Hugging Face Hubのモデルをそのまま使い、JSON Schema制約付き生成が必要ならTGI。最大スループットと大規模モデル対応を重視するならvLLM。両者ともOpenAI互換APIを提供するため移行は容易。
Q2: TGIはAMD GPUで動作しますか? A: ROCm対応のDockerイメージが提供されており、AMD Instinct MI250/MI300Xで動作可能。ただしNVIDIA GPU比でパフォーマンスチューニングの成熟度は劣る。
Q3: TGIの起動に必要な最小構成は? A: 7Bモデル(FP16)で1x RTX 3090/4090(24GB VRAM)、Docker環境とNVIDIA Container Toolkitが必要。量子化モデルなら16GB VRAMでも動作可能。
まとめ
- TGIはHugging Face公式の本番向けLLM推論サーバーで、Rustベースの信頼性の高いアーキテクチャ
- Flash Attention統合・Continuous Batching・Grammar制約生成が主要機能
- Hugging Face Hub・Inference Endpointsとのシームレスな統合が最大の強み
- 7B〜180B規模のモデルに対応し、Prometheus監視・Docker デプロイが標準装備