June 2026
Intermediate
384 pages
4h 17m
Japanese
WebBotでは、StoryBotよりもさらに大きな12GBのコーパスを扱います。本章では「挑戦編」として、大規模データに対応するための高速化テクニックや、トークナイザの発展的なトピックを紹介します。
WebBotのトークナイザには、StoryBotで作成したBPEトークナイザをそのまま使うことができます。次のコードで、WebBot用のトークナイザを学習できます。
ch07/01_bpe_train.py
importpicklefromstorybot.tokenizerimporttrain_bpeif__name__=='__main__':vocab_size=50000file_path="webbot/owt_train.txt"merge_rules=train_bpe(file_path,vocab_size,num_processes=8,num_chunks=64)withopen("webbot/merge_rules.pkl","wb")asf:pickle.dump(merge_rules,f)
語彙サイズは50,000としました。これはGPT-2(50,257語彙)に近い規模です。語彙が大きいほど、1つのトークンでより多くの情報を表現できますが、埋め込み層のパラメータ数も増加します。このあたりのトレードオフを意識しながら、適切なサイズを選びましょう。
このコードを実行すれば、WebBot用のトークナイザが完成します。ただし、12GBのデータを処理するには相応の時間がかかります。以降では、さらなる高速化や別アプローチの可能性を探ってみましょう。 ...
Read now
Unlock full access