ここからは「言葉」を扱います。2017年、Googleの研究者たちが発表した論文 「Attention Is All You Need」が、いまのChatGPTやClaudeにまで続く Transformerという仕組みの出発点になりました。まずは一番シンプルな 「次に来る文字を当てるだけの機械」から。
展示A: 次の文字を当てるだけの機械
夏目漱石「坊っちゃん」(青空文庫、パブリックドメイン)から、直前2文字→ 次の1文字、という組み合わせの出現回数を数えただけの、ごく単純な統計モデルです。 「生成」を押すと、この統計だけを頼りに1文字ずつ文章もどきを作っていきます。
自分のテキストで学習し直す
好きな文章を貼り付けて「このテキストで学習し直す」を押すと、統計を 作り直して同じ仕組みで生成できます(短いと単調な繰り返しになりやすいです)。
もっと詳しく: これがChatGPTの原理と同じ?
驚くかもしれませんが、原理は本当に同じです。「直前の文脈から、次に 来るものを予測する」——これが言語モデルの土台です。違うのは (1)文脈の長さ(この展示は2文字だけ、ChatGPTは数千〜数十万文字分)、 (2)文脈の覚え方(この展示は単純な頻度表、本物はニューラルネットワークの 重み)、(3)規模(この展示は1つの文庫本、本物はインターネット規模の テキスト)です。次の展示Bで、「文脈をどう覚えるか」の要であるAttentionの 中身を見ていきます。
展示B: Attention機構の中身
短い文を単語(トークン)に分け、それぞれを平面上の点(2次元の「意味 ベクトル」)として置きました。点はドラッグで動かせます。下のトークンを クリックして選ぶと、そのトークンが他のどのトークンに強く注目しているかが 線の太さで表示されます。
もっと詳しく: Q・K・Vという比喩
Attentionは、各トークンから3つの役割のベクトルを作ります—— Q(クエリ、「自分は何を探しているか」)、K(キー、「自分は何を持っているか という見出し」)、V(バリュー、「自分が実際に持っている中身」)。 あるトークンのQと、他の全トークンのKとの近さ(内積)を測り、 softmaxで正規化したものが「注目の重み」です。その重みでVを 足し合わせたものが出力になります。図書館で例えるなら、Qが 「探している本のテーマ」、Kが「本の背表紙のタイトル」、Vが 「本の中身」に近いイメージです。
RNN(以前の主流だった逐次型のネットワーク)は文を先頭から1語ずつ 順番にしか処理できませんでしたが、Attentionは全トークンの関係を 一度に(並列に)計算できます。これが2017年の論文タイトル 「Attention Is All You Need」の核心であり、GPU(第3展示室で 触れた並列計算装置)との相性の良さが、その後の大規模化を 後押ししました。
本物の学習済みモデルで見る
ここまでは「あなたが動かす模型」でした。ここからは、このサーバー上で 実際に学習させた極小のTransformer(ひらがな+句読点87種類の語彙、 2層・層あたり2ヘッド、パラメータ数約22,700個)が、本物の学習によって どんなattentionパターンを獲得したかを見られます。