- OpenAIを退職したAndrej Karpathyが新たに公開したコード
- LLMのトークン化で一般的に使われる(Byte Level)バイトペアエンコーディング(BPE)アルゴリズムのためのミニマルでクリーンなコード
- Byte Level : UTF-8でエンコードされた文字列に対して動作するため
- BPEはGPT-2論文と、OpenAIによる関連GPT-2コードのリリースを通じてLLMで広く普及した
- 今日のすべての最新LLM(例: GPT、Llama、Mistral)は、このアルゴリズムを使ってTokenizerを学習している
- Repoには2つのトークナイザーがある。どちらも3つの主要な動作を実行する
-
- 与えられたテキストに対してTokenizerの語彙とマージを学習
-
- テキストをトークンへエンコード
-
- トークンをテキストへデコード
- Tokenizerベースクラスと、最も単純な実装であるBasicTokenizer、入力文字列を正規表現で分割するRegexTokenizer
- RegexTokenizerのラッパーであるGPT4Tokenizerは、tiktokenライブラリでGPT-4のトークン化を正確に再現する
1件のコメント
これに関連して、GPT Tokenizerを構築する動画も公開されました。 GPTトークナイザーを構築する by Andrej Karpathy [動画]