AI解剖教室 · Part 3 文字を数字に
第32章 番号札の限界
Q. トークンには番号があるのに、その番号をそのままモデルに入れてはだめなのでしょうか?
- トークンには番号がありましたね(第29章)。「私は」は158341番、「に」は5280番。この番号をそのまま入れたらどうなるでしょう?
- モデルは数をかけたり足したりします(第12章)。すると「私は」は「に」の約30倍大きい値として扱われます。番号の大きさに意味はないのに。
- そこで番号の代わりに、場所で表します。単語の数だけ欄を作り、自分の場所にだけ1を入れます。これがワンホット表現です。
- これで大きさの差はなくなりました。でも問題が2つあります。1つめ、長すぎること。GPT-4oなら約20万欄のうち、1はたった1つです。
- 2つめ、どの単語もみんな同じだけ他人どうし。どの2語でも、距離は√2(第8章)、内積は0(第9章)です。
- 犬と猫が似ていることを、ワンホットでは表せません。犬とバスと同じくらい遠いのです。
- 必要なのは、短くて、意味が似ていれば近くなる数の列です。それが次の章で出会う埋め込みです。
この章のまとめ
- トークン番号の大きさには意味がないので、そのまま計算に使ってはいけない。
- ワンホット:単語の数だけある欄のうち、自分の場所にだけ1。大きさの差は消える。
- でも長すぎて(約20万欄)、どの単語も同じだけ遠い(距離√2、内積0)。