このサイトには 2つのモデルがいます。ブラウザの中で育てる小さな 「こざかなモード」と、あらかじめ学習ずみの 「おさかなモード」です。 そして世の中には GPT-3 のような 巨大なモデルがあります。 この3つは しくみは ほとんど同じで、ちがうのは 大きさだけ。 どれくらい ちがうのか、見てみましょう。
1. パラメータの数
パラメータとは、モデルの中にある 調整できる つまみのことです。 学習とは、この つまみを 少しずつ回して、ちょうどいい位置を さがす作業。 つまみが多いほど、こまかい規則を おぼえられます。
本当の比は どれくらい?
対数の図は「桁のちがい」は分かりますが、実感は つかみにくいものです。 ほんとうの倍率は こうです。
おさかな は 51 倍、GPT-3 は 103万 倍
時間に たとえると、こうなります。
| こざかな | 1秒 |
| おさかな | 51秒 |
| GPT-3 | 12日 |
同じ縮尺で 描いてみる
面積で くらべてみます。こざかな を 小さな四角として、 同じ縮尺で となりに おさかな を描くと このくらい。
2. 学習に つかったデータの量
モデルは 文章を トークンという かたまりに分けて読みます (トークン可視化で 実際に見られます)。 読んだ量にも 大きな差があります。
データと モデル、どちらが 大きい?
パラメータ数と データ量を 割り算すると、意外なことが 分かります。 読んだ言葉 1トークンあたり、いくつの数字を 持っているかです。
| こざかな | 約 20 個 / トークン | データより モデルが 大きい → 丸暗記できてしまう |
| おさかな | 約 7.5 個 / トークン | まだ 覚える余地が ある |
| GPT-3 | 0.58 個 / トークン | 1個も 使えない → 丸暗記は 不可能 |
3. 学習に かかる 時間と場所
| どこで | どのくらい | |
|---|---|---|
| こざかな | きみのブラウザ(JavaScript) | 約 1分半 つづきから なら 約15秒 |
| おさかな | ふつうのパソコン(CPU 4コア) | 約 10分 |
| GPT-3 | データセンターの GPU 数千台 | 数週間 |
ブラウザの JavaScript だけでやるなら 約1184万年(概算)
4. 中身の かたち
3つとも Transformer という 同じ設計です。層を積み重ね、 「どの言葉に注目するか」を計算しながら、次の言葉を予想します。 ちがうのは、その積み方の規模だけです。
「層の数」「層の幅」と言われても ぴんと来ないので、 動かして 確かめてみてください。つまみを 動かすと 図と パラメータ数が すぐに 変わります。
※ 図は 層の 積み重なりかたを 表したもので、1つの層の 内部(ヘッドの分かれ方、 正規化、残差接続)は 省いています。パラメータ数は 語彙4,096・文脈128 として 実際の式で 計算しており、 6層・幅384 のとき おさかなモードの 8,726,016 と 一致します。
※ ここでは 語彙を 4,096 に そろえているため、「こざかな にする」を 押したときの 数は ブラウザで育てる ときの 約17万とは ちがいます。 こざかなモードは 使う語彙を 約1,500に しぼっていて、 そのぶん 埋め込みが 小さくなるためです。
| 層の数 | 1層の幅 | 読める長さ | 語彙 | |
|---|---|---|---|---|
| こざかな | 2 | 64 | 64 | 約1,500 |
| おさかな | 6 | 384 | 128 | 4,096 |
| GPT-3 | 96 | 12,288 | 2,048 | 50,257 |
5. 大きさで 何が変わるのか
小さいモデルにも できることは あります。こざかなでも、 1分半の学習で「さかなっぽい 話しかた」を つかみ、教えた文を 覚えます。 おさかなになると、60のトピックを 話し分けられます。
では 何が足りないのか。小さなモデルは、
- 学習したこと以外は ほとんど何も知らない
- 長い文章の つじつまを 保てない(すぐ前の言葉に つられる)
- 計算や 論理の 組み立てが できない
- おぼえた言い回しを そのまま 出しがち(丸暗記になりやすい)
GPT-3 のような大きなモデルは、桁ちがいの つまみと 読書量によって、 翻訳・要約・プログラミングなど 教わっていない仕事まで こなせるようになりました。 ただし その代わりに、数千台のGPUと 数週間が必要です。
大事なのは、しくみは まったく同じだということ。 こざかなモードで きみが動かしている 学習のループは、 GPT-3 を つくったものと 本質的に 同じ手順です。ちがうのは 規模だけ。 だから、ここで起きていることが 分かれば、あちらで起きていることも 分かります。
さわってみる
数値の出どころ: こざかな・おさかなは このリポジトリの実測値(既定設定)。 GPT-3 は論文 Language Models are Few-Shot Learners(2020) の公表値。 「4万7千年」は 3.14×1023 FLOPs を 実測 213 GFLOPS で割った概算です。