ソフトウェア

Metaの大規模言語モデル「LLaMa」に入力した文章がどのようなトークンとして認識しているかを確認できる「LLaMA-Tokenizer」


OpenAIのChatGPTやGoogleのBardなど、近年ではさまざまなAIが人間レベルに近い会話を行うことができるようになりました。AIは基本的に文章の処理に「トークン」と呼ばれる単位で認識を行います。普通の文章がトークン的にはどのように分解されるのかを一目で判断できるツールが「トークナイザー」で、Metaの大規模言語モデルである「LLaMA」専用のツール「LLaMA-Tokenizer」が公開されています。

GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs
https://github.com/belladoreai/llama-tokenizer-js

画像生成AIや対話型AIなどにプロンプトを入力するにあたって必要となるのは自然言語処理(NLP)です。自然言語処理とは、人間が使用する自然言語をコンピューターで処理して内容を抽出する技術です。自然言語処理を行うためには、まず文章を「トークン」とよばれる単語に分解し、それぞれのトークンにIDを振る「トークナイズ」を行い、コンピューターが処理できる入力形式に変換する必要があります。それを可視化するプログラムが「トークナイザー」です。

「LLaMA-Tokenizer」はJavaScript実行環境「Node.js」を利用する事で実行可能なほか、以下のサイトで無料のウェブデモが公開されており、実際に試すことが可能です。

llama-tokenizer-js playground
https://belladoreai.github.io/llama-tokenizer-js/example-demo/build/

LLaMA-Tokenizerの画面はこんな感じ。


最初から表示されている「Replace this text in the input field to see how 🦙 tokenization works.」という69文字の英文の場合、20トークンになる模様。下部に色分けされた「Replace this text in the input field to see how 🦙 tokenization works.」が出力されます。


日本語を入力してみた結果がこんな感じ。75文字の文章で61トークンになりました。日本語はトークン化する際に1字ずつ言葉を区切るため、英文と比べるとトークン数が増大してしまいます。


数字の羅列を入力してみました。「123456789」と入力すると、トークンの開始を示す「<s>」と空白が挿入された後、1字ずつトークンに区切られ、合計で11トークンになりました。


LLaMA-Tokenizerの開発者であるBelladore氏は、「現在トークナイザーで最も人気があるアプリケーションの一つは、OpenAIが公開するものですが、LLaMAを使っている人が、なぜLLaMAと互換性のないOpenAIのトークナイザーでトークン数を数えようとするのか、私には理解できません」と述べています。

ChatGPTなどのチャットAIがどんな風に文章をトークンとして認識しているのかが一目で分かる「Tokenizer」 - GIGAZINE


Belladore氏によると、自身が行ったテストの結果、OpenAIのトークナイザーとLLaMA-Tokenizerを比較するとトークン数が平均20%異なることが明らかになりました。「OpenAIのトークナイザーを使用してLLaMAに入力するプロンプト数を計測した場合、おおまかな数値しか得られません」と指摘しています。

また、GPT-3とCodexにしか互換性を持たなかったOpenAIのトークナイザーに対して、LLaMA-Tokenizerは「wizard-vicuna-13b-uncensored-gptq」や「manticore-7b-ggml」などの幅広いモデルに対して互換性を持つとのこと。一方で、LLaMA-TokenizerはOpenLLaMAのようなゼロから学習したモデルに関しては互換性を持ちません。

なお、LLaMA-Tokenizerのソースコードは、以下のリンク先で公開されています。

GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs
https://github.com/belladoreai/llama-tokenizer-js

この記事のタイトルとURLをコピーする

・関連記事
画像生成AIのためのプロンプト・呪文が実際にはどのようなトークンとして伝わっているかを見せてくれる「Tokenizer」 - GIGAZINE

画像生成AIで自分が作りたいイメージから類似画像を見つけてプロンプト・呪文を次々に探していける「KREA」 - GIGAZINE

チャットAI「LLaMA」を一発でローカルにインストールして「文章の続きを書く機能」を試せる「Dalai」使い方まとめ - GIGAZINE

ChatGPTに匹敵する性能の日本語対応チャットAI「Vicuna-13B」のデータが公開され一般家庭のPC上で動作可能に - GIGAZINE

イラスト特化画像生成AI「NovelAI」に入力するプロンプト・呪文を日本語の選択肢から簡単に作成できるウェブアプリ「Magic Generator」の使い方まとめ - GIGAZINE

in ソフトウェア, Posted by log1r_ut

You can read the machine translated English article here.