HOW MACHINES CHOP UP TEXT

AIはなぜ "strawberry" の r を数えられないのか

LLMは文章を「文字」でも「単語」でもなく、トークンという不思議な単位で読みます。 その正体はバイトペア符号化(BPE)——よく出る並びを、くっつけて育てた語彙。 この設計が、AIの「文字数えが苦手」という有名なクセや、日本語がトークンを食う理由まで、すべてを決めています。 トークナイザの内側を、5つのステップで開けてみましょう。

はじめる ↓
SCROLL
STEP 01

文字か、単語か——その間をとるWHY SUBWORDS

文章をモデルに入れる前に、まず数の列に変換します。素直な方法は2つ——1文字ずつか、1単語ずつ。 でもどちらも困った欠点を抱えています。同じ一文を3つの切り方で分解して、なぜ現代のLLMが 「サブワード(単語の部品)」という中間を選んだのかを確かめてください。

TOKENIZE — 同じ文を、3つの切り方で

STEP 02

BPE——よく出るペアを、くっつけていくBYTE-PAIR ENCODING

トークナイザは学習されます。最初は全部バラバラの文字。そこから 「いちばん多く隣り合っているペア」を1つの部品に合体——これを何度も繰り返すだけ。 出てきた合体ルール(マージ規則)の列が、そのままトークナイザの正体です。 小さなコーパスで、語彙が育っていく様子を1手ずつ回してみましょう。

BPE TRAINER — マージ規則が育つ

CORPUS — 各単語の、いまの分かれ方

MERGE RULES — 育っていく語彙

STEP 03

種明かし——なぜ "r" を数えられないのかTHE STRAWBERRY PROBLEM

「strawberry に r はいくつ?」——素直なLLMは平気で「2つ」と答えます。バカだからではありません。 モデルには、文字が1個ずつ届いていないから。トークナイザが単語を数個のID(あるいは丸ごと1個)に畳んでしまうと、 中の文字はもう見えない。人間の見え方とモデルの見え方を切り替えて、失敗の正体を確かめてください。

TWO VIEWS — 人間の目と、モデルの目

STEP 04

数字・空白・日本語——同じ長さでも、値段が違うTOKEN EFFICIENCY

トークナイザは主に英語のテキストで育てられます。だから英語は効率よく畳まれ、 それ以外は割高になる。数字はバラけ、インデントの空白は積もり、日本語は1文字が何トークンにもなりがち。 種類ごとに「1トークンで何文字を運べるか」を見比べてください。棒が長いほど、お得です。

EFFICIENCY — 1トークンあたりの文字数

CHARS PER TOKEN — 種類ごとの効率(長いほどお得)

STEP 05

自分の文で、確かめるTOKENIZER PLAYGROUND

仕上げは、あなたの言葉で。好きな文章を打ち込むと、その場でトークンに分解し、数と効率、 そして「この文が文脈窓のどれくらいを占めるか」まで見えます。 英語と日本語を混ぜたり、絵文字や数字を放り込んだり——ここまでのクセを自分の目で確かめてください。

LIVE TOKENIZER — 打つと、その場で分解

RECAP

5つのステップ、ふりかえり

STEP 01なぜサブワード文字は長すぎ、単語は覚えきれない。間をとる。
STEP 02BPE多いペアを合体、を繰り返して語彙を育てる。
STEP 03rを数えられない文字が畳まれ、モデルに1個ずつ届かない。
STEP 04効率差数字・空白・日本語はトークンを多く食う。
STEP 05語彙とコストトークン数が料金・文脈・速度を決める。
SERIES

この章はテキスト生成編の入口(トークン化)を掘り下げたものです。 畳まれたトークンから意味を作るのが埋め込み、 文字数えが推論編の思考の連鎖で解けるのも、根はここにあります。

シリーズ一覧へ →