全プロセスの詳細解説
-
68文字が13トークンになる場合の圧縮 5 ステップ
68文字が13トークンになる。圧縮率を計算し、トークンあたり5文字という数値がモデルにとって実際にどのような価値を持つのかを解き明かせ。
-
入力された文字数と出力されたトークン数という2つの数値が、測定の全容である。
-
両者の比率は5をわずかに上回っており、これはバイト対符号化(byte-pair encoding)における英語として典型的である。頻出単語は単一のトークンとして残り、まれな単語は細かく分割される。
-
意味のある比較は、他の選択肢との対比である。バイトレベルのモデルは同じテキストを68トークンとして読み込むため、シーケンス長は5倍以上になる。
-
アテンション行列の要素数はn²です。したがって、長さが5.23倍になると、この部分の計算量は27倍になります。ネットワークの残りの部分はnに比例するため、5.23分の1に減ります。どちらが支配的かはコンテキスト長によって決まり、アテンションの影響が上回るのは数千トークンを超えてからです。
-
ここでの13個のトークンはすべて異なるものであり、テキストが短く変化に富んでいることを示している。語彙があらかじめ符号化しているもの以外に、マージが利用できる繰り返しが存在しない。
解答
ツールには、68文字が13トークン、すなわち一トークン当たり5.23文字と表示されます。この圧縮こそ、トークン化が必要な理由です。決して些細な違いではありません。同じコンテキスト長でも、収められる文章量が五ページになるか一ページになるかを左右します。また、同じモデルでも英語のほうが、語彙の構築時に十分取り込まれなかった言語より安く処理できる理由でもあります。トークンの結合規則はコーパスから学習されるため、そこで出現の少ない文字体系ほどバイト単位に近くまで細分化されます。その負担は、ほかの処理では長さに比例し、アテンションでは長さの二乗に比例して増えます。別の言語の文章を貼り付け、比率が下がる様子を確かめてみましょう。
-
学習の道すじ
LLM はどう次の単語を選ぶか
参考文献 (2)
- Byte-pair encoding applied to text, which is where subword tokenisation came from: R. Sennrich, B. Haddow and A. Birch, "Neural Machine Translation of Rare Words with Subword Units." Proceedings of the 54th Annual Meeting of the ACL (Volume 1: Long Papers), 1715–1725, 2016.
- The language-independent scheme most current models actually ship: T. Kudo and J. Richardson, "SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing." Proceedings of EMNLP 2018: System Demonstrations, 66–71, 2018.