スキップしてメイン コンテンツに移動

大規模言語モデル(LLM)を支えるサブワードトークン化技術

近年、自然言語処理の分野で大規模言語モデル(LLM)が大きな注目を集めています。LLMは、膨大なテキストデータから言語の特徴を学習し、人間に匹敵する文章生成や言語理解を可能にしています。こうしたLLMの性能を支える重要な技術の一つが、サブワードトークン化です。

## サブワードトークンとは

サブワードトークンとは、単語をさらに細かい意味のある部分(部分文字列)に分割したトークンのことを指します[13]。単語全体をそのまま1つのトークンとして扱う単語トークン化と、1文字ずつをトークンとして扱う文字トークン化の中間に位置する手法です[11]。

サブワードトークン化の主な目的は以下の通りです[13]。

1. 語彙数の削減
2. 未知語への対応
3. 形態素情報の活用

例えば、"unbelievable"という単語をサブワードトークン化すると、以下のようになります[13]。

- BPE:「un」「believe」「able」
- WordPiece:「un」「##bel」「##iev」「##able」 
- SentencePiece:「_un」「bel」「ie」「v」「able」

## LLMにおけるサブワードトークンの活用

LLMの学習では、サブワードトークン化が広く採用されています[8][9]。その理由は以下の通りです。

1. 語彙数を抑えつつ、形態素情報を活用した柔軟なテキスト表現が可能[9]
2. 未知語に対応できるため、学習データにない単語も処理可能[2][9]
3. 単語の意味的な類似性を考慮したベクトル表現が可能[9]

例えばGPTシリーズでは、Byte Pair Encoding(BPE)と呼ばれるサブワードトークン化手法が使われています[8][12]。BERTやPaLMでは、WordPiece Embeddingと呼ばれる、BPEに類似した手法が採用されています[3][4]。

FastTextのようにサブワード情報を考慮する点は共通していますが、LLMではより洗練された手法が用いられているようです[4]。

## まとめ

サブワードトークン化は、LLMの性能を支える重要な技術です。単語をさらに細かい意味のある部分に分割することで、語彙数を抑えつつ、未知語への対応力や形態素情報の活用を可能にしています。

BPEやWordPieceなどの手法により、LLMは人間の言語の豊かさと複雑さを理解し、高度な文章生成や言語理解を実現しているのです。今後もLLMの発展に伴い、サブワードトークン化技術のさらなる進化が期待されます。

情報源
[1] LLMファインチューニングのためのNLPと深層学習入門 #14 Transformer|Sakusakumura - note https://note.com/sakusakumura/n/n95ab44b1c68c
[2] LLM テクニックの習得: トレーニング - NVIDIA 技術ブログ https://developer.nvidia.com/ja-jp/blog/mastering-llm-techniques-training/
[3] [中級編]LLMへ至る道~トークナイザーってなんだ?~[7日目] | DevelopersIO https://dev.classmethod.jp/articles/road-to-llm-advent-calendar-2023-07/
[4] 大規模自然言語モデル(LLM)で利用されるトークナイザーについて | 東京エレクトロンデバイス株式会社 https://cn.teldevice.co.jp/blog/p49546/
[5] 【LLM】TokenizerとEmbedding - Zenn https://zenn.dev/timoneko/articles/ee4ed91c243979
[6] Huggingface Transformers 入門 (8) - トークナイザー|npaka - note https://note.com/npaka/n/nb08941a36c8b
[7] Hugging Face Courseで学ぶ自然言語処理とTransformer 【part5】 - Zenn https://zenn.dev/ttya16/articles/0e3e1bff645f161fb4d7
[8] HuggingFace Transformers 4.5 : 利用方法 : トークナイザーの要点 https://torch.classcat.com/2021/05/14/huggingface-transformers-4-5-tokenizer-summary/
[9] Summary of the tokenizers - Hugging Face https://huggingface.co/docs/transformers/ja/tokenizer_summary
[10] LLMとは (大規模言語モデル, Large Language Model)|CO-WRITE - GRI https://gri.jp/media/entry/30270
[11] spaCyに基づくトークン化とレンマタイゼーションAPI - NLP Cloud https://nlpcloud.com/ja/nlp-tokenization-api.html
[12] エバンジェリストが語るICTの未来 | 生成AIの里 第一回:How many LLMs must we learn? https://www.nttcom.co.jp/evangelist/column/kawamae_10/
[13] [PDF] Tokenizer の違いによる日本語 BERT モデルの性能評価 - 言語処理学会 https://www.anlp.jp/proceedings/annual_meeting/2021/pdf_dir/P4-12.pdf
[14] 生成言語AIの進化:大規模言語モデルを理解する上で重要なトークンとは? https://book.st-hakky.com/data-science/llm-token-article/

コメント