推論最適化・実行基盤

TGIとは|保守のみになった道具でも、呼び出しが18か所を超えるなら層を挟むほうが早い

いま使い続けてよいのか乗り換えの作業量はどれだけか複数の機材へ分けると何が要るのか

公式は保守のみの状態へ移ったと告知し、別の実行基盤を勧めています。

乗り換えの作業量は呼び出し箇所の数で決まります。18か所が、層を挟むかどうかの分かれ目でした。

この記事の要点

  • 公式が保守のみと告知
  • 分かれ目は18か所
  • 300か所なら66時間の差
  • 140GBは2枚から載る

呼び出しが18か所を超えたら、層を挟むほうが早い

公式が保守のみへ移ったと告知しています。乗り換えの作業量は、呼び出し箇所の数で決まります。

Text Generation Inference(TGI)は、保守のみの状態へ移りました。公式はtext-generation-inferenceは現在、保守のみの状態にあると述べています。

同じ告知の中で、別の実行基盤が勧められています。では乗り換えにどれだけかかるのか実際に数えて比べました。

呼び出し箇所の数を変える

text
呼び出し箇所を数え、1か所 18分で直す場合と、間に挟む層を作る場合を比べる
間に挟む層は作るのに 240分、1か所の差し替えは 4分として計算した

呼び出し箇所  そのまま直す  層を挟んで直す  差      層を挟むほうが得になるか
        12か所         3.6時間           4.8時間    -1.2時間                       損
        60か所        18.0時間           8.0時間    10.0時間                       得
       300か所        90.0時間          24.0時間    66.0時間                       得
     1,200か所       360.0時間          84.0時間   276.0時間                       得

分かれ目は 18 か所。これより少なければ、層を挟まず直したほうが早い。

12か所なら、そのまま直すほうが1.2時間早く終わります。層を作る手間が回収できません。

300か所では66.0時間の差です。90.0時間が24.0時間になりました。

2回目があるかどうか

この計算は1回の乗り換えだけを見ています。2回目があるなら、層を挟んだ側は層の中だけで済みます

だから分かれ目の18か所は、1回で終わる前提での値です。回数が増えれば、層を挟む側がさらに有利になります。

呼び先を切り替えられる形にしておく話はLiteLLMの記事でも扱いました。

18か所を境に、層を挟む側が逆転する。

そのまま直すほうが早い層を挟むほうが早い乗り換えにかかる時間呼び出し箇所の数 →そのまま直す(1か所18分)層を挟んで直す(作成240分+1か所4分)18か所で並ぶ300か所では66.0時間の差になる※ 軸の目盛りは省略。1か所18分・層の作成240分は置いた値であり、自社の工数で計算し直す必要がある。
図1 ── 呼び出し箇所の数と、乗り換えにかかる時間
出典Hugging Face 公式ドキュメント「Text Generation Inference」2026-08-18 確認
text-generation-inference is now in maintenance mode.
原文Hugging Face 公式ドキュメント「Text Generation Inference」 この内容の有効期限2027-02-18

140GBのモデルは、2枚に分けて初めて載る

複数の機材へ分けられます。載せるための手ですが、分けた分だけ持ち寄りが要ります。

Text Generation Inferenceは、複数の機材へ分けて動かせます。公式は複数のGPUでより速く推論するためのテンソル並列を挙げています。

分けると何が要るのか。実際に計算して数えました。

分割数を変える

text
重み 140GB のモデルを、1枚 80GB の機材へ分けて載せる
層 80・隠れ次元 8192・16bit。1トークン出すたびに層ごとの持ち寄りが要る

分割数  1枚あたりの重み  載るか  1トークンの持ち寄り  1000トークンでの持ち寄り  重み以外に残る容量
    1枚        140.0 GB    載らない             0.00 MB                   0.00 GB                   —
    2枚         70.0 GB      載る             1.25 MB                   1.22 GB             10.0 GB
    4枚         35.0 GB      載る             1.88 MB                   1.83 GB             45.0 GB
    8枚         17.5 GB      載る             2.19 MB                   2.14 GB             62.5 GB

1枚では140GBが載りません。2枚に分けて70.0GBになり、初めて載ります。

そのとき1000トークンあたり1.22GBの持ち寄りが発生します。分けなければ0だったものです。

増やしても持ち寄りは頭打ち

8枚まで増やしても、持ち寄りは2.14GBです。2枚の1.22GBから1.75倍にしかなりません。

一方で重み以外に残る容量は10.0GBから62.5GBへ6.25倍になります。文脈に使える分が増えます。

つまり分割数を増やす判断は、持ち寄りより文脈の余裕で決まることになります。

出典Hugging Face 公式ドキュメント「Text Generation Inference」2026-08-18 確認
Tensor Parallelism for faster inference on multiple GPUs
原文Hugging Face 公式ドキュメント「Text Generation Inference」 この内容の有効期限2027-02-18

長さがそろっていると、詰め方の工夫は効かない

入ってきた要求を続けて詰めます。効くのは、出力の長さがばらついている場合だけです。

Text Generation Inferenceは、要求を続けて詰めます。公式は全体の処理量を増やすための、入ってくる要求の連続的な詰め合わせを挙げています。

どんなときに効くのか。実際に流して比べました。

詰め方を変える

text
依頼 600件・同時に処理できる数 8・1トークン 8ミリ秒
出力の長さ: 85%は40〜200トークン、15%は400〜1000トークン

詰め方                  平均の待ち時間  p95      最大      全体の所要  1秒あたり
まとめて始めて終わる                 151.36秒   260.13秒   272.69秒      326.4秒      1.84件
空いた枠から入れる                   34.62秒    60.26秒    66.79秒      120.3秒      4.99件

出力の長さがそろっている場合(全員150トークン)

詰め方                  平均の待ち時間  全体の所要
まとめて始めて終わる                  19.67秒         91.0秒
空いた枠から入れる                   19.38秒         91.0秒

長さがばらついていると、平均の待ちが151.36秒から34.62秒になります。4.4分の1です。

全員150トークンにそろえると、19.67秒と19.38秒でほぼ同じでした。

効く条件を先に確かめる

効く理由は、長い1件が枠を占めたまま短い依頼が待つ状況を解消できるからです。

だから導入の前に、出力の長さがどれだけばらついているかを測ることになります。そろっていれば得るものがありません。

余談 この計測での注意

3つの計測はいずれも手元で書いた模型で、実際のTGIを動かしたものではありません。1か所18分・層の作成240分といった工数は置いた値で、実際の作業量とは違います。持ち寄りの量も層ごとに2回という単純な式からの計算で、実装によって変わります。1トークン8ミリ秒も置いた値です。ここで見せているのは、乗り換えの判断が呼び出し箇所の数で決まるという点と、詰め方の工夫は長さがばらついていなければ効かないという点の2つです。

出典Hugging Face 公式ドキュメント「Text Generation Inference」2026-08-18 確認
Continuous batching of incoming requests for increased total throughput
原文Hugging Face 公式ドキュメント「Text Generation Inference」 この内容の有効期限2027-02-18

よくある質問

TGIはいま使ってよいですか
公式が保守のみの状態へ移ったと告知しています。新規の採用では別の実行基盤が勧められています。
乗り換えの作業量はどう見積もりますか
呼び出し箇所の数で決まります。300か所なら、そのまま直すと90.0時間の計算になりました。
間に層を挟む価値はありますか
18か所を超えるなら得でした。12か所では逆に1.2時間の損になります。
複数の機材へ分けると何が要りますか
層ごとの持ち寄りです。1000トークン出すのに1.22GBから2.14GBの通信になりました。

まとめ

  • 公式が保守のみと告知
  • 作業量は呼び出し箇所で決まる
  • 層を挟むかは数で決まる
  • 分けると持ち寄りが要る

今日から始められること

  1. 呼び出し箇所の数を数える
  2. 層を挟むかどうかを決める
  3. 移り先の候補を確かめる
  4. 機材の枚数と重みを突き合わせる

実務で組んだText Generation Inferenceのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る