トークナイザとは、人間が読むテキストをAIが処理できる数値の列へと変換するプログラムやモジュールです。大規模言語モデルにおいては、文章を単語や文字、あるいはそれらの断片であるトークンに細分化し、AIが計算可能な形式へ変換する役割を担います。
トークナイザとは
一言でいうと、トークナイザとは「人間が書いた文章を、AIが理解できる数値(トークンID)の並びに変換する翻訳機」のことです。
詳しく解説
大規模言語モデルは、直接アルファベットや日本語の文字を計算することはできません。そのため、入力されたテキストをまず「トークナイザ」を用いて細かな単位であるトークンに分割します。その後、それぞれのトークンに対応する固有の数値を割り振ることで、モデルが処理できる入力データを作成します。代表的な手法として、頻出する文字列の組み合わせを一つの単位として効率的に切り出すサブワードトークナイゼーションが広く採用されており、未知語への対応とボキャブラリサイズの抑制を両立させています。
具体例・使われ方
例えば、「大規模言語モデル」という文章が入力された場合、トークナイザはこれを「大」「規模」「言語」「モデル」あるいは「大規」「模」「言語」「モデル」といった複数のトークンに分割します。そして、それぞれのトークンをあらかじめ定義された辞書に基づいて「1283」「4510」のような数値IDに変換し、大規模言語モデルの入力層へと送り出します。
似た用語との違い
埋め込み表現(エンベディング)と混同されやすいですが、トークナイザはテキストを離散的なトークンIDの列に変換する段階を担当し、埋め込み表現はそのトークンIDを高次元の連続的なベクトル空間に配置する処理を担当するという違いがあります。
注意点
トークナイザの種類やバージョンの違いによって、同じ文章でも生成されるトークンの数やIDが大きく変わる点に注意が必要です。特に、日本語や英語以外の言語では、英語に比べて多くのトークン消費や意図しない分割が発生しやすく、これがコンテキスト長や処理コストに影響を与えることがあります。