トークン

Token

トークンとは

トークン(Token)とは、自然言語処理においてテキストを分割した最小の処理単位のことです。トークンは単語、サブワード(単語の一部)、文字、あるいは記号など、使用するトークナイザーの方式によって異なります。テキストをトークンに分割する処理をトークン化(Tokenization)と呼びます。

トークンの種類

トークンの粒度にはいくつかの選択肢があります。単語レベルのトークン化は直感的ですが、未知語への対応が課題です。文字レベルのトークン化は未知語の問題を解消しますが、系列が長くなり文脈の把握が難しくなります。サブワードレベルのトークン化はこの2つの中間に位置し、BPEやSentencePieceなどの手法で実現されます。現代の大規模言語モデルの多くはサブワード方式を採用しています。

トークンとモデルの関係

大規模言語モデルではトークン数が処理コストに直結します。GPTやClaudeなどのモデルでは入力と出力のトークン数に基づいて課金が行われます。また、モデルが一度に処理できるトークン数の上限(コンテキストウィンドウ)も重要な制約です。日本語は英語に比べて同じ文章でもトークン数が多くなる傾向があります。

トークン数の見積もり

英語では1トークンは約4文字、1単語は約1.3トークンに相当します。日本語では漢字1文字が1〜2トークンになることが多く、言語やトークナイザーによって大きく変わります。正確なトークン数はトークナイザーを使って計測する必要があります。