一文定義
テキストを頻出サブワード単位に分割するトークン化手法(Byte Pair Encoding)。GPTシリーズやLlamaなど主要LLMで採用されている。
詳細解説
BPE(Byte Pair Encoding、バイト対符号化)とは、テキストを意味のあるサブワード単位に分割するトークナイザーアルゴリズムです。データ圧縮アルゴリズムに起源を持ち、Sennrichらが2016年に機械翻訳への適用を提案、その後GPTシリーズ・Llama・Mistral等の主要LLMに採用されています。
アルゴリズムの動作として、(1)テキストを文字単位に分割した状態から開始、(2)コーパス中で最も頻繁に隣接する文字ペアを1つの新トークンとしてマージ、(3)指定した語彙サイズに達するまでマージを繰り返す、という手順で語彙を構築します。
BPEの利点として、(1)未知語(OOV)問題への対応:単語を見たことがなくてもサブワード分割で表現できる、(2)語彙サイズの効率化:単語ベースより少ない語彙で多様な表現をカバー、(3)形態論的に豊かな言語(日本語・ドイツ語・フィンランド語)への適応性があります。
日本語処理では、BPEが欧米語向けに設計されているため1文字が複数トークンに分割されやすく、日本語テキストは英語と比較してトークン効率が低い傾向があります。「東京タワー」は英語と同程度のトークン数がかかることも多く、日本語向けに最適化したSentencePiece(Unigram言語モデルベース)との比較が実用上重要です。
参考情報・出典
- ▸Neural Machine Translation of Rare Words with Subword Units— arXiv / Sennrich et al. (2016)(参照日: 2026-02-26)
- ▸Byte Pair Encoding – Hugging Face NLP Course— Hugging Face(参照日: 2026-02-26)