【実測】日本語は英語の何倍のトークンを使う?対訳50文を2世代のトークナイザーで数えた
「日本語はトークンを多く消費する」——AIの料金や文字数制限の話でよく聞く説ですが、 実際に何倍なのか を示すデータは意外と見つかりません。そこで当ラボで測ってみました。同じ意味の英日対訳50文を5つのジャンルで用意し、公開されているトークナイザー2世代でトークン数を数えた結果です。数字はすべて本記事のための実測で、手順も公開するので誰でも再現できます。 実験の方法 対訳50文(日常会話・ビジネスメール・技術・ニュース・手順説明の5ジャンル×各10文)を用意し、オープンソースのトークナイザー実装(js-tiktoken)で、 o200k_base(GPT-4o世代) と cl100k_base(GPT-4世代) の2つのエンコーディングのトークン数を数えました。文はすべて自然な対訳になるよう作成しています。トークナイザーはモデルごとに異なるため、この結果は「この2方式での実測値」であり、他社モデルでは比率が変わり得ます。 結果1:日本語は英語の1.63倍(新世代)〜2.26倍(旧世代) 50文合計のトークン数は次のとおりでした。 エンコーディング 英語 合計 日本語 合計 日本語/英語 o200k_base(新世代) 494 807 1.63倍 cl100k_base(旧世代) 500 1,132 2.26倍 1文あたりの中央値でも新世代1.60倍・旧世代2.20倍で、合計とほぼ一致します。文単位のばらつきは新世代で1.00〜2.63倍でした。つまり「日本語だから常に2倍」ではなく、 文の種類によってかなり幅がある のが実態です。 結果2:差が最も大きいのは「技術文書」 ジャンル別に見ると、日常会話が最も差が小さく(新世代1.37倍)、 技術文書が最も大きい(同1.97倍、旧世代では2.69倍) という結果になりました。「トークナイザー」「ファインチューニング」のようなカタカナ技術用語が細かく分割されるためと考えられます。AIに技術的な内容を日本語で長く書かせると、体感以上にコストがかさむ理由がここにあります。 結果3:新世代トークナイザーで日本語のハンデは大幅に縮小 今回の実測でいちばん重要な発見はこれです。旧世代(cl100k)では日本語1文字≒1トークン(実測0.98文字/トークン)でしたが、 新世代(o200k)では1トークンあたり1.37文字 まで改善しま...