AI・機械学習
上級

Text Generation Inference(TGI)(テキストジェネレーションインファレンス)

Hugging Faceが開発したオープンソースのLLM推論サーバーで、Rustベースの高性能バックエンドとFlash Attention統合により本番環境向けのテキスト生成APIを提供する

0 回閲覧
0 いいね

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.xvLLM 0.8TensorRT-LLM
実装言語Rust + PythonPythonC++ + Python
Flash Attentionv2/v3v2独自実装
構造化生成JSON Schema/Regex/CFGOutlines統合×
Hub統合ネイティブ手動ダウンロード変換必要
Docker公式ghcr.io/huggingface/tgivllm/vllm-openainvcr.io/nvidia
ライセンスApache 2.0Apache 2.0Apache 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)から利用可能

選び方・注意点

  1. Hugging Faceエコシステムとの親和性: Hub上のモデルを直接利用する場合、TGIが最もスムーズ。model card の inference: true フラグでTGI対応を確認可能
  2. 構造化出力の要件: JSON Schema準拠のレスポンスが必須なAPIバックエンドでは、TGIのGrammar制約生成が強力
  3. 運用監視: Prometheus + Grafana連携が標準装備。SLO(Service Level Objective)管理が容易
  4. スケーリング制限: Tensor Parallelismは最大4GPUまで(vLLMは8GPU)。405B規模のモデルにはvLLMかTensorRT-LLMを推奨
  5. コンテナデプロイ: 公式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 デプロイが標準装備