もう少し詳しく

テキストを一定の規則で区切り、それぞれを数値に変換して処理します。区切り方はモデルのトークナイザーによって異なり、1単語が複数トークンになる場合もあります。

トークンは、モデルが入力長や計算量を見積もるための実務上の単位でもあります。APIの料金やコンテキスト上限を確認するときは、文章の文字数をそのまま代用せず、利用するモデルのトークナイザーで数えます。

HISTORY

開発された年代と歴史

この用語を大きな流れで見ると、1990年代〜現在に発展してきました。

  1. 1994Philip Gageが、頻出するバイト列をまとめるBPEを提案。
  2. 2016SennrichらがBPEをニューラル機械翻訳の語彙分割に活用。
  3. 2020年代LLMの入力長、料金、出力単位を測る基本単位として一般化。

キーマン・関わった研究者

Philip Gage、Rico Sennrich、LLMトークナイザー研究者

技術の変遷

文字・単語分割 → サブワード分割 → モデル固有のトークン化

理解のポイント

  • 文章はモデルごとの規則で区切られるため、単語数・文字数・トークン数は一致しません。
  • 同じ文章でもトークナイザーが違えば分割結果が変わるので、利用するモデルの単位で数えます。
  • 長い資料を扱う際は、資料だけでなく指示や会話履歴が使うトークンも考慮します。
FOR EXAMPLE

たとえば、こんな場面で

同じ文章でも、使うモデルが変わるとトークン数が変わることがあります。

覚えておきたいこと

文字数とトークン数は同じではありません。日本語も「1文字=一定のトークン数」とは限りません。

参考資料

Hugging Face — Tokenizers