長い議事録をAIに渡して決定事項を三つ挙げてもらう仕事と、短い指示から長い報告書を書いてもらう仕事。どちらも文章を扱いますが、前者は入力が長く、後者は出力が長い依頼です。待ち時間を減らすためにモデルや使い方を選ぶなら、この二つを分けて試すと判断しやすくなります。

NVIDIAの公開技術解説は、大規模言語モデルという文章を処理・生成するAIの動作を、入力を処理する段階と、出力を順に作る段階に分けて説明しています。その基本を押さえると、速度の数値を仕事に結びつけて読めます。

長い資料を渡すと、短い回答の前にも処理があります

長い資料を渡す:入力の量と形式が影響する。内容を読み込む:答えを書く前の処理がある。答えを出す:文字を順番に返していく。資料を減らす工夫と、出力を短くする工夫は別

AIには、質問や指示、参照してほしい文章などを入力します。NVIDIAが説明するprefill(プリフィル)は、その入力を処理し、最初の出力に必要な中間状態を計算する段階です。中間状態とは、後の計算で使う内部の情報を指します。

続くdecode(デコード)では、それまでの情報に基づき、出力を一つずつ生成します。入力から内部の情報を計算し、それを使って回答を順に作っていく流れです。

人の仕事になぞらえるなら、資料を読む時間と答えを書く時間に分けると理解しやすいでしょう。ただし、これは役割をつかむための比喩で、人と同じように読んだり考えたりするという意味ではありません。

議事録の例では、回答が三項目だけでも、その前に長い入力を処理する段階があります。報告書の例では、指示が短くても、長い出力を順に作る処理が続きます。この仕組みから考えると、回答の短さだけで待ち時間を見積もったり、指示が短いからすぐ終わると判断したりするのは早計です。

計算済みの情報を残すため、メモリを使います

過去の中間状態を計算し直す手間を避ける仕組みが、KVキャッシュです。NVIDIAの説明では、計算済みの情報をGPUという計算用半導体のメモリに保持し、後の生成に使います。

入力が長くなったり、同時に処理する数が増えたりすると、必要なメモリも増えます。長い資料を扱う業務では、一件の文章量だけでなく、何件を同時に動かすかも機器を選ぶ際の条件になります。

ただし、この関係だけでは、特定のモデルに必要なメモリ量は決まりません。古いモデルを使ったメモリ計算例を、最新モデルの実際の必要量に当てはめることも避ける必要があります。自社で動かす機器を選ぶなら、対象モデルと実際の処理条件で確かめるのが妥当です。

「毎秒何トークン」が同じでも、扱う文章量はそろいません

速度の表記に使われるtokens/secondは、毎秒に扱うトークン数です。トークンとは、文章をモデルが処理するために区切った単位です。その区切り方を決める仕組みをトークナイザーと呼びます。

NVIDIAは、モデルによってトークナイザーが異なるため、同じtokens/secondでも同じ文章量を処理するとは限らないと説明しています。数値が大きいほど毎秒のトークン数は多くなりますが、それだけでモデル間の仕事の速さを比べきることはできません。

日本語で使う場合も、同じ文章が各モデルで同数のトークンになるとは仮定せずに比較したいところです。また、NVIDIAによると、入力の処理と出力の生成では計算やメモリの使い方も異なります。速度の数値を見る際は、入力と出力のどちらを測り、どのような文章をどれほど扱ったのかを合わせて確認する必要があります。