トークン
tokenisation · tokenizer
ひとことで
トークンは、言語モデルが処理する最小のテキスト単位です。トークナイザーが生成する一般的な単語の一部です。英語では、1トークンは平均して約4文字、または約0.75語に相当します。コンテキストの上限やAPI料金は、単語ではなくトークン単位で計算されます。
モデルは文字や単語を見ることはありません。テキストはまず トークナイザー によって、学習データに頻繁に出現した断片に分割されます。一般的な単語は1つのトークンになりますが、稀な単語はさらに分割されます。空白や句読点はそれぞれ独自のトークンとして扱われます。
この結果として3つの影響が生じ、すべてがコストを伴います。
言語は等しくありません。トークナイザー は主に英語の断片で学習しているため、韓国語や日本語の文書をより攻撃的に分割します。同じ文書でもトークン数が増えるため、通貨単位やコンテキストウィンドウの量も増加します。
文字レベルのタスクは難しいです。単語の文字数を数えるように求められたモデルは、文字ではなく断片を扱っています。これが、モデルの他の能力とは対照的に、スペルチェックパズルが奇妙に失敗する理由です。
出力長はコストのレバーです。出力トークンが高価であるため、「3つの箇条書きで答えなさい」は、形式的な選択だけでなく予算決定でもあります。
よくある質問
- 1,000語は何トークンですか?
- 英語で約1,300トークンです。韓国語、日本語、中国語のテキストは、一般的なトークナイザーでは文字が分断されやすいため、同じ見た目の長さでもはるかに多くのトークンに分割されます。
- 入力と出力に対して別々に課金されるのはなぜですか?
- 入力はシーケンス全体で並列に処理できますが、出力はトークン単位で1つずつ生成され、それぞれがモデルの全パスを必要とします。そのため、1トークンあたりのコストは数倍高くなるのです。