• Skip to main content
  • Skip to primary sidebar

bloggggggggggggggg

// コードと趣味の境界線上

LLMのトークナイザー — なぜ「りんご」が2トークンなのか

LLMを使っていると「トークン制限」という壁に必ずぶつかる。でも「トークン」って何?文字数とは違うの?と思ったこと、ないだろうか。これ、LLMを深く理解する上でめちゃくちゃ重要な概念だ。

トークンとは、LLMがテキストを処理する最小単位。英語ならおおよそ「1単語≒1.3トークン」。でも日本語はそう単純じゃない。「りんご」は1トークンのこともあれば2トークンのこともある。漢字一文字で1トークンになることも。この言語間格差、地味にデカい。

トークナイザーの仕組み。有名なのはBPE(Byte Pair Encoding)。頻出する文字列パターンを辞書に登録していく方式だ。簡単に言うと:

  1. 最初は全文字をバラバラにする(「あ」「い」「う」…)
  2. よく一緒に出てくるペアを見つけて、それを1つのトークンとして辞書に登録
  3. これを何万回も繰り返して、最適なトークン辞書を作る

これで「今日はいい天気」が「今日」「は」「いい」「天気」みたいに分割される。よく使う単語は1トークン、珍しい単語は複数トークン、という塩梅。

日本語のトークン問題は深刻で:

  • 英語: 1000文字 ≒ 約750トークン
  • 日本語: 1000文字 ≒ 約400〜600トークン(モデルによる)
  • 同じ情報量でも日本語の方がトークン数が多くなりがち → API料金が割高に

最近のモデル(GPT-4o、Claude 3)は日本語トークナイザーが改善されてて、以前よりはマシになった。でもまだ英語に比べると不利。これは日本語ユーザーの永遠の悩みだ。

参考:OpenAI Tokenizer

← AIコーディングアシスタントの実力比較 — どれを選ぶべきか
AIセーフティとアラインメントの問題 — 誰がAIの「正しさ」を決めるのか →

Primary Sidebar

最近の投稿

  • インフラエンジニアのキャリアパス — 手動運用からSREへ
  • 障害対応の心得 — 本番で焦らないために
  • 監視設計の基本 — 何をどう見るべきか
  • ログ管理 — ELKスタック入門
  • HTTPSと証明書管理 — Let’s Encryptの恩恵を最大限に

アーカイブ

  • May 2026

カテゴリー

  • AI
  • Linux
  • OS
  • Windows
  • インフラ・DevOps
  • おうちサーバー
  • サーバー・インフラ
  • ツール・環境
  • プログラミング
  • 未分類
  • 開発哲学

最近のコメント

No comments to show.

© 横山鉄工所 & まめたろう重工