モデルが言語を処理するには、まず言語を数値に変換する必要があります。コンピュータは単語を読み取るのではなく、数値を読み取るのです。テキストをモデルが処理できる形式に変換する最初のステップはトークン化、つまり言語をトークンと呼ばれる小さな標準的な単位に分割することです。
トークンは必ずしも単語とは限りません。音節、よく使われる単語の断片、あるいは頻繁に出現する文字の並びなどです。「understanding」という単語は、「under」「stand」「ing」の3つのトークンになるかもしれません。「cat」という単語は1つのトークンになるかもしれません。「2024」のような数字は、トークナイザーによって、桁ごとに1つずつ、または1つのトークンになる場合があります。
なぜこれが重要なのでしょうか?それは、単語の分割の粒度が、その後の処理すべてに影響を与えるからです。例えば、32,000個のトークンといった語彙の少ないトークナイザーは、より細かく分割しますが、効率は低下します。一方、128,000個のトークンといった語彙の多いトークナイザーは、より少ない単語でより多くの言語を表現できます。これは多くの場合、モデルが同じ文をより少ないステップで処理できることを意味しますが、その代償として、埋め込みテーブルが大きくなり、多言語テキストでは異なるトレードオフが生じます。
Llama 2 は 32,000 トークンの語彙を使用していました。Llama 3 ではこれを 128,000 に拡張しました。この単一の変更により、他の改善を適用する前に、モデルが言語を処理する効率が向上しました。