
トークナイザ
1.4
トークナイザは、テキストとトークンID 列を相互変換するソフトウェアモジュールです。
テキストをトークンID列に変換する処理をトークン化(tokenization)やエンコード処理
(encoding)と呼びます。一方、逆にトークンID 列をテキストに変換することをデコード処理
(decoding)と呼びます。
本書執筆時点の主要なLLM におけるトークナイザでは、サブワードをトークンとして使用
します。サブワードとは単語を細かく分解した単位です。このサブワード分割には、Byte
Pair Encoding(BPE)やその派生形が用いられます。これらのトークン化アルゴリズムは、
テキストを一連のトークンに分割するために、多言語コーパスで事前に学習された共通の語彙
を使用します。ここでの語彙はすべてのトークンの集合を意味します。また、コーパスとは、
モデルの訓練に使用するテキストデータの集合のことです。多言語コーパスには単一の言語だ
けでなく英語や日本語など様々な言語のテキストデータが含まれます。
本書では、基本となるBPE について解説します。BPEでは語彙表を用いてエンコード/デ
コード処理を行います。この語彙表はTransformer の学習とは独立して行われます。本節で
は、以降、デコード処理、エンコード処理、語彙表の学習について順に説明します。語彙表の
役割を理解するために、まずはデコード処理から見てみましょう。
1.4.1
デコード
デコードは、トークンID のリストをテキストに変換する処理です。トークナイザは ...