情報科学 › LLM アーキテクチャ › トークン化

BPE の学習と符号化

定義 2.3(「トークン化」§2)

アルファベット Σ\Sigma に全順序が与えられているとする。コーパスとは、Σ+\Sigma^{+} の元(語)の有限列 C=(w1,…,wK)C = (w_1, \ldots, w_K)、K≥1K \ge 1 のことである。マージの回数の上限 m≥0m \ge 0 が与えられたとき、BPE の学習は次の手続きである。

  1. xk(0):=wkx_k^{(0)} := w_k(各語を基本語彙のトークン列とみなす)、V0:=ΣV_0 := \Sigma、j:=0j := 0 と置く。
  2. j=mj = m ならば終了する。そうでなければ、VjV_j の各ペア (a,b)(a, b) について、コーパス全体での出現回数 Nj(a,b):=∑k=1Kcntxk(j)(a,b)N_j(a, b) := \sum_{k=1}^{K} \mathrm{cnt}_{x_k^{(j)}}(a, b) を数える(語をまたぐペアは数えない)。
  3. すべてのペアで Nj(a,b)=0N_j(a, b) = 0 ならば終了する。
  4. NjN_j が最大のペアを選ぶ。最大のものが複数あるときは、VjV_j の順序に関する辞書式順序(まず aa を比べ、等しければ bb を比べる)で最小のものを選ぶ。選んだペアを (aj+1,bj+1)(a_{j+1}, b_{j+1}) とする。
  5. 新しい id cj+1c_{j+1} を作り、Vj+1:=Vj∪{cj+1}V_{j+1} := V_j \cup \{c_{j+1}\} とし、順序は cj+1c_{j+1} を VjV_j のどの元よりも大きいと定める。規則 rj+1:=(aj+1,bj+1↦cj+1)r_{j+1} := (a_{j+1}, b_{j+1} \mapsto c_{j+1}) をすべての語に適用して xk(j+1):=Mrj+1(xk(j))x_k^{(j+1)} := M_{r_{j+1}}\big(x_k^{(j)}\big) とする。jj を 1 増やして 2 に戻る。

終了したときの jj を m′m'(≤m\le m)とする。出力はマージ規則の列 (r1,…,rm′)(r_1, \ldots, r_{m'}) である。

一般に、マージ規則の列 R=(r1,…,rm)R = (r_1, \ldots, r_m)(各 rjr_j は、基本語彙に r1,…,rj−1r_1, \ldots, r_{j-1} を加えた語彙 Vj−1V_{j-1} の上の規則)に対し、符号化 encR:Σ∗→Vm∗\mathrm{enc}_R : \Sigma^{*} \to V_m^{*} を

encR(s):=Mrm(⋯Mr2(Mr1(s))⋯)\mathrm{enc}_R(s) := M_{r_m}\big( \cdots M_{r_2}\big(M_{r_1}(s)\big) \cdots \big)

で定める。すなわち、記号列を基本語彙のトークン列とみなし、規則を学習した順に 1 つずつ適用する。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 3 問