はじめに
こんにちは、LegalscapeでAIエンジニア/データサイエンティストをしている富田です。
皆さんは各LLMの本当のコストを測ったことがありますか? 1Mtokenあたり○ドルという料金表は確認されていると思いますが、実は各LLMの日本語に対するトークン効率は大きく異なっており、全く同じ文字数の入出力でも、消費されるトークン数=コストは大きく変わります。
そこで今回は、代表的なLLM(GPT-5、Claude Sonnet 4.5、Gemini 2.5 Pro、PLaMo 2.1 Prime)のトークナイザーの考え方を概観したのち、弊社が直面している「日本語の法律文書」におけるトークン効率を実測し、日本語100万文字あたりの実質コストを比較してみます。
各LLMのトークナイザーの概観
GPT-5
OpenAI社のGPT-5は、Byte Pair Encoding(BPE)アルゴリズムに基づいたo200k系列のトークナイザーを使用しているとされています。英語だけでなく多言語やコーディングにも最適化されているとされます。
BPEアルゴリズムとは、頻出する文字列(サブワード)を段階的に結合してひとつの「トークン」として登録する仕組みであり、以下のような特徴を持ちます。
- 頻出パターンの学習:文字や記号の組み合わせから、よく出現するもの(例:"ing"、"tion"、"こんにちは")を1トークンとして扱う
- 効率的な圧縮:よく使われるフレーズをまとめることで、総トークン数を削減し、長文の処理を高速化
- 未知語への強さ:完全な単語辞書を使わず、文字ベースで組み立てるため、新語や造語、絵文字にも対応可能
[参考]GitHub - openai/tiktoken: tiktoken is a fast BPE tokeniser for use with OpenAI's models.
Claude Sonnet 4.5
Anthropic社のClaudeモデルがどのようなトークナイザーを採用しているかについては、筆者の知る限り公式には明らかにされていません。 さらに、Claudeシリーズにはオープンソース化されたモデルも存在しないため、推測することも困難な状況です。おそらく独自のトークナイザーが用いられていると思われます。
Gemini 2.5 Pro
Google社のGemini 2.5 Proはどのようなトークナイザーを用いているのか公表していませんが、オープンモデルのGemma3とおそらく同種であると考えられます。
Gemma3のトークナイザーはSentencePieceで、語彙サイズは262kとなっています。 SentencePieceとは、 Googleが開発した(ただしOfficial Productではない)サブワード分割アルゴリズムで、生のテキストから直接トークン化を行うことができる仕組みです。 よく挙げられる特徴としては、空白を区切り文字ではなく、1つの記号(▁)として扱うことで空白に依存しない処理を実現しています。その結果、日本語や中国語のように空白を使わない言語でも、英語のように空白を使う言語でも統一的に扱うことができ、言語固有の処理に依存しない可逆的で一貫したトークン化が可能とされています。
[参考]GitHub - google/sentencepiece: Unsupervised text tokenizer for Neural Network-based text generation.
PLaMo 2.1 Prime
日本のPFN社が開発する PLaMo 2.1 Prime のトークナイザーは、(PLaMo 2.0 と同様であれば)日本語・英語・プログラミング言語のいずれのコーパスにおいても、最高水準のトークン効率を実現しているとされています。語彙数は100k です。
このトークナイザーは、単に圧縮率を追求するのではなく、
- 各トークンの生成難易度が偏らないこと
- モデル内部で重みを共有しやすい構造であること
- 同じ語が一貫して同じトークン列で表されること
といった、いわば 「LLMにとって都合の良い分割」 を重視して設計された独自方式です。 詳細については、PFNが公開している以下の技術ブログを参照ください。
[参考] 大規模言語モデル PLaMo 2 のためのトークナイザ性能改善 - Preferred Networks Research & Development
日本語の法律文書におけるトークン効率の実測
実験方法
さて、それでは本題の実験に移っていきましょう。開発者としてはトークナイザーの詳細もさることながら、その性能が気になるものです。 今回は私が収集した、一般に公表されている日本語の法律関連の文書を入力プロンプトとして、各LLMに同一のプロンプトを入力し、実際に消費されたトークン数を比較しました。
実験結果
実測された1トークンあたりの平均文字数を比較すると、日本語に最適化されているであろうPLaMo 2.1 Primeが圧倒的に優れていることがわかります。また、語彙数の多いGemini 2.5 Proも比較的良好な結果となっています。一方で、GPT-5とClaude Sonnet 4.5は日本語のトークン効率が低く、特にClaude Sonnet 4.5は1トークン≒1文字に近い結果となりました。
| モデル | 1トークンあたりの平均文字数 |
|---|---|
| GPT-5 | 1.17 |
| Claude Sonnet 4.5 | 1.02 |
| Gemini 2.5 Pro | 1.52 |
| PLaMo 2.1 Prime | 1.85 |
次に、各LLMの1Mトークンあたりの入出力コストを改めて確認しましょう。
| モデル | 1Mトークンあたり入力コスト | 1Mトークンあたり出力コスト |
|---|---|---|
| GPT-5 | $1.25 | $10.00 |
| Claude Sonnet 4.5 | $3.00 | $15.00 |
| Gemini 2.5 Pro | $1.25 | $10.00 |
| PLaMo 2.1 Prime | ¥60.00 | ¥250.00 |
これらを用いて、100万文字あたりの実質コストを、1ドル=150円と仮定して計算しました。
| モデル | 100万文字あたり入力コスト | 100万文字あたり出力コスト |
|---|---|---|
| GPT-5 | ¥159.81 | ¥1,278.52 |
| Claude Sonnet 4.5 | ¥439.60 | ¥2,198.00 |
| Gemini 2.5 Pro | ¥123.46 | ¥987.70 |
| PLaMo 2.1 Prime | ¥32.43 | ¥135.13 |
考察
このように「日本語の法律分野」における文字あたりのコストを測定すると、トークンあたりのコストでは同等のGPT-5とGemini 2.5 Proの間でも、実質コストは約1.3倍の差が生じることがわかりました。Claude Sonnet 4.5はトークン効率が非常に悪いため、実質コストは他のモデルの約2倍以上となっています。PLaMo 2.1 Primeは圧倒的に優れており、他のモデルの約1/4〜1/10程度のコストで済むことも確認できました。
終わりに
今回は出力の質については触れていませんが、LLMを選択する際には、コストと出力の質のバランスを考慮することが重要です。タスクに応じて、「そのコスト差を正当化できる精度差なのか」をしっかりと評価しながら選択することが、プロダクト開発において重要だと考えています。
We Are Hiring
Legalscapeでは、LLMの実装・評価を通じて最適なモデルを選定し、より良い顧客体験の実現を目指しています。日本一のリーガルAIプロダクトを共に創り上げていただける方を募集しています。興味のある方はぜひご応募ください!
告知
2025年12月9日(火)に、弊社のオフィスにて交流イベントLegalscape Nightを開催します。
当日は、私たちが普段どんなツールを使い、どのように開発を進めているのかを気軽にお話しできる場にしたいと思っています。 ご応募は以下のページからお待ちしております!
※Legalscapeテックブログ経由の旨を参加フォームからご登録いただきますようお願いいたします。 参加お申し込みフォームからお申し込みいただいた後、担当より参加確定メールをお送りいたします。応募者多数の場合、ご参加いただけない場合ございますこと大変恐縮ですがご了承ください。その際もご連絡いたします。