1.1 文字単位のトークン化 1.1.1 文字をIDに変換する 1.1.2 文字単位トークナイザの実装 1.1.3 文字単位トークナイザの課題 1.2 バイト単位のトークン化 1.2.1 UTF-8エンコード 1.2.2 バイト単位トークナイザの実装 1.2.3 バイト単位トークナイザの課題 1.3 BPEの学習アルゴリズム 1.3.1 BPEの処理手順 1.3.2 BPEの実装 BPEのタイブレーク(引き分け処理) 1.3.3 BPEの動作確認 1.4 BPEによるエンコードとデコード 1.4.1 BPEトークナイザの実装 1.4.2 エンコードの実装 1.4.3 デコードの実装 1.4.4 動作確認 1.5 特殊トークンへの対応 1.5.1 特殊トークンの役割 1.5.2 特殊トークンに対応したBPEの学習 1.5.3 train_bpe関数の実装 1.5.4 特殊トークンに対応したトークナイザの実装 1.6 事前トークン化 1.6.1 事前トークン化の必要性 1.6.2 GPT-2の事前トークン化パターン 1.6.3 事前トークン化に対応したBPE学習の実装 1.6.4 事前トークン化に対応したトークナイザの実装 1.7 TinyCodesを用いた学習 1.7.1 トークナイザの読み込み機能 1.7.2 これまでのコードの整理 1.7.3 TinyCodesデータセットを用いた学習 1.8 トークナイザの評価 1.8.1 学習済みトークンの確認 1.8.2 圧縮効率の測定 1.8.3 他トークナイザとの比較 1.9 TinyCodesのエンコード