自分の 3070 で Realtime Audio Variational autoEncoder(RAVE)を学習させ、マレー系の太鼓の音を再生成しようとしていたとき、データを増やしてもなぜ「結果」が良くならないのか、かなり首をひねっていた。で、気づいた。これ、ただの基礎統計ではないか。標本サイズが小さいと分散が大きくなり、少し外れ値っぽいデータ点がひとつあるだけで、モデル性能に不釣り合いな影響を与えてしまう。こうしたデータ不足環境こそ、世界中の大半のユースケースにとってはむしろ通常運転だ。いつものように良い知らせもあって、大きく強力なモデルを持ってきて、手元の限られたデータセットでチューニングするだけでも、かなりのものを立ち上げられる。前にもここで示したとおり。
何が起きていたのかを示す大きな手がかりは、私のカワセミの音が、以前のかなり「太鼓っぽい」音ではなく、鈴の入ったハドラー寄りの音に変換されたことだった。一方では、高めの入力音を偏差という意味で誤差が最小になる何かへ写像しているのだから、モデルはよりうまく汎化している、と言えるかもしれない。ただ、ここが私の耳で聞いているものとはきれいに噛み合わない。私は太鼓だけを聞くつもりでいるのに、表現学習に使った訓練データの太鼓に付随していた鈴の音まで拾ってしまう。結局のところ、これもまた、創作上の方向性に技術開発を従わせるかどうかの選択である。私たちは、最初の、かなり太鼓らしい訓練データ群から得たモデルに戻した。
音の領域では、モデル性能の測定が見た目ほど単純ではないことも触れておく価値がある。損失は下がり続けていても、人間の耳が音を信号として解釈する仕方は、そうした損失指標といつもきれいに一致するわけではない。だから私は、再構成音を実際に聞き、予測結果を耳で確かめるのが有用だと感じている。考えてみると、人間という計算機の効率はときどき本当におかしい。信号であふれた世界の中で、複数人が同時に話していてさえ、私たちはどういうわけかすばやく汎化し、細部に焦点を合わせられる。脳は話者ダイアライゼーションの計算をいつの間にか解いていて、その場でさらっと実行している。
データ不足環境で有効に学習するための戦略
使ったアーキテクチャは、記憶違いでなければ、v2 に wasserstein 正則化を入れただけだった。例を丸暗記してしまい、未知データで十分に性能が出ないほど過学習する危険は、正則化である程度抑えられる。そのほかの典型的な選択肢は下に挙げるとおり。後ろの 2 点については、もう少し詳しく話す。
-
データ拡張
-
小さめの学習スケジュール、またはエポック数を増やす
-
より良いモデル*
-
転移学習*
アスタリスクを付けた 2 点はいずれも、既存の、エンコード済みの知識を活用し、特定ドメインでよりうまく使うことに関わっている。A.I. の導入が速い組織にとっての「ただ飯」は、実質的にはこういうことだ。専門知と GPU にアクセスできるなら、自社データで訓練した最高水準のモデルに特定タスクを処理させられる。つまり、自分たちのプロセスに対して、より大きな主体性と制御を持てる。
LLM は世界についての知識をエンコードしている
多くの人が気づいていないのは、現代の A.I. アプリケーションの多くを支える Transformer アーキテクチャが、問題の種類やデータのモダリティをまたいで、驚くほどしぶとく堅牢だということだ。
Transformers:AI における最高のアイデア | Andrej Karpathy と Lex Fridman
最近かなり混乱した瞬間のひとつは、聴衆のひとりに「The Sound of Stories」を 1 個の物語から 100 個、あるいは n 個の物語へスケールさせるにはどれくらい時間がかかるのか、と聞かれたときだった。答えは、私がそのデータを取り込むのに必要な時間だけ、つまり大半の場合はたぶん 1 秒未満?というものだ。「The Sound of Stories」は、そもそもスケールする前提で、特定の 1 モデルに縛られないように作った。だからこそ最初に、使うべきデザインパターンを考え抜くことへ投資した(もっとも、最終デモに近づくにつれてコードベースはどんどん散らかっていった)。後で分かったのだが、彼女は私が A.I. に特定のひとつの文化のように考える訓練をしたと思っていたらしい。そこで、A.I. の外にいる人たちは、Transformer が文脈の問題をすでに解いていること、そして今回の深層学習の時代を過去の時代から分けているのは、システムがどれほど汎用的で賢くなっているかだということに、そもそも気づいていないのかもしれないと思った。
GPT-4 をクビにして Claude 3 Opus に乗り換えたとき、物語の進行を設計する面倒を見る必要はなかった。やったのは、でかいプロンプトを一発投げることだけだった。そういう言語まわりを設計するのが面倒だったので、assistant と user の応答を API 呼び出しに追加し続け、あとはモデルに、ユーザーとやり取りして適切に終わらせろ、と指示しただけだ。以前の GPT-4 は、ユーザーから突然来る返答を無視するか、どう扱えばいいか分からないような挙動をしていたが、Opus はこれまでのところ、本当に賢く、しかもはるかにバイリンガルであることを証明している。出力された中国語(普通話)の応答も十分まともだったので、調べていた中国系 LLM を使う必要は感じなかった。
インターネット規模のデータで訓練され、微調整や訓練に使える大規模なオープンモデルがこれだけ豊富にある以上、最も早くそれを実行する企業は、より良い利益率と新しい能力で先に進むだろう。そうしない企業は、近いうちに苦しくなるかもしれない。実際、A.I. のカンブリア爆発のただ中で繰り返し見える大きなテーマは、ボトムアップのユーザー採用がどれほど大きいかである。今日の若い人たちが働く年齢になったとき、A.I. 恐竜のような会社で働きたがるとは思えない。すばらしいことだ。競争は美しい。
仕事利用こそ、A.I. のブレイクアウト・ユースケース
だから私は、多言語翻訳をスケールさせるとか、異なるモダリティをデータでリミックスするといった、すぐ手をつけられる実装を妨げている唯一のものは……組織の慣性くらいではないか、と思っている。組織にとっては、自滅しないかぎり負けようのない勝負だ。なぜなら、私たちには自前の最高水準モデルを作るための材料がすでに揃っているからだ(繰り返すが、人材、GPU、そして多少のデータがあるという前提で)。今回は、ユーザー行動も実際にこちら側にある。人々が自分の手元の A.I. でどれだけのことをしているか、そのシグナルを読めばいい。幸いなことに、願わくば、この A.I. 導入競争の勝者と敗者は市場に選別させておける。
エンドユーザーとして見ると、仕事での A.I. 利用は、この汎用技術における「キラーアプリ」になりつつある。これは本当にいろいろな層で面白い。インターネットと携帯電話は、私たちのコミュニケーションと情報交換の仕方を変えた。しかし比較すると、私たちの働き方そのものは、そこまで大きく変わっていなかったとも言える。上司があなたにプロンプトを渡す。あなたはそのプロンプトを脳内で処理する(内側で動いている重みとバイアスには自分でもアクセスできない)。いくつかの変換を行い、出力を生成する。私たちは、人間の認知と知能に頼って、定型作業から複雑な複数利害関係者間の交渉まで、あらゆるタスクをこなしている。あるいは、そう、遅っそい LLM を前提に、ローカルコンピューターからリモート VM まで、山ほどの依存関係と連携箇所を抱えながらリアルタイム体験を届ける、ステートレスなマイクロサービス・アーキテクチャみたいなものを。:’)
私の A.I. ペアプログラマーがいなければ、「The Sound of Stories」を、複数の A.I. モダリティを活用し、WhatsApp 経由でリアルタイムに提供されるスケーラブルな体験にすることはできなかった。
指数関数的な力としての知能
以前から考えていたのは、幅広いことができる大きなモデルは、より小さく、より特化し、より高速なモデルより常に良いのか、ということだった。そして A.I./LLM で何かを作っていく過程で、かなりはっきりしてきたのは、たぶんこの見方を組み替えるべきだということだ。重要なのは、パラメータ数がいくつあるかではなく、そのモデルがどれほど汎用的に知的か、である。より一般的で基礎的な知能があるほど良い。なぜなら、それは指示により確実に従い、限られたデータからよりよく予測し、データに対して新しい変換を行い、他領域での学習を新しい領域へ転移できることを意味するからだ。つまり、人間がやっている種類の知能をやっている、ということ。
この一部は単なるエンジニアリングでもある。タスクを分解し、処理のために別々のエンドポイントへ配り、モデルのアンサンブルを活用する。ただし、より一般的な知能は(先ほどの GPT-4 と Claude 3 Opus の使い比べで触れたように)常に良い。こうしたシステムを知っていくことは、人間と社会に何ができるのかを理解し、評価するための最良の方法のひとつでもある。
知能が高いほど、少ないもので多くのことができる。Claude 3 Opus のようなモデルは、およそ 2T パラメータを 40T トークンで訓練しているにもかかわらず、世界についての基礎的な知識を持つこれらのモデルが、遂行しようとしている仕事に対してなお過小パラメータ化されている、というのはおかしくないか。明らかに、2 兆パラメータでは世界知識の全複雑性を捉えるには足りない。だからモデルは、限られたアーキテクチャの中に膨大なデータを圧縮し表現しようとして、高次元空間で大量の重ね合わせを使うことになる。そもそも世界全体の知識にアクセスすることは、ひとりの個人にとって不可能なのかもしれない。ましてモデルならなおさらだ。だから人間社会では、特定領域の知識を体現した別の主体(専門家)がいるし、図書館、博物館、外部知識リポジトリ、さらには日常的な意味でのノートを持つ人間に頼ることで、私たちの心には多くの足場と拡張が与えられている。こうして私たちは、世界についての知識を分割し、分散させてきた。
そして私たちは、これまで存在した中で最もエネルギー効率、サンプル効率、計算効率の高い生物学的コンピューターである。モデルの振る舞いを望ましいものへよりよく整合させるために、強化学習、Direct Preference Optimisation、Kahneman-Tversky Optimisation が大量に行われてきた。それでも、データの疎さは一貫した課題であり続けている。これと対照的に、私たち人間が、シグナルがまばらであるにもかかわらず、社会的な種の一員として振る舞い、適応していくことを学ぶのは、驚くべきことではないだろうか。そして、おそらくメディアと文化の役割はまるごとそこにある。個人の欲望に、選好の固有ベクトルを注入すること。進化は、競争と同じく、美しい。
忘れる、抽象化する、類推する、想像する、計画を立てる、といった私たちの能力こそが、現在の A.I. システムに欠けており、さらなる一般学習と拡張を妨げている部品であるように見える。環境の中で探索し実験し、手元にある文化的、社会的、知的資源を整理して使いこなす人間の能力は、他に並ぶものがない。
というわけで私は、もう少し考えていれば、いきなり突っ込むのではなく違う訓練上の選択をしていただろう、と気づくメタな状態にたどり着いた。同じように、LLM に Chain-of-Thought 推論を使うよう指示すると性能が上がることに、何か驚きがあるだろうか。
次の続編では、なぜ知能が高いことが重要なのかをさらに具体的に示し、個人ユーザー、コミュニティ、企業がそうした知能を自分たちの目的のために立ち上げ、活用する方法について、いくつか提案したい。その大半はすでにこの記事で触れている。高品質で広範かつ多様なデータセット、外部知識リポジトリ、人材、社会的共有、計算資源、そしてより良いモデル。最初のデータセットの話は掘り下げたい。多くの組織には、面白いものを作るのに十分なデータがすでにあるのではないか、と疑っているからだ。単に行き詰まりに足止めされているだけなのだ。この文脈で、とくに合成データセットを見てみたい。データサイエンスの卒業制作を準備していたときに試したものの、うまく動かせなかったからだ。ありがたいことに、世界は変わったし、私も今はもう少し分かっている。;)
初出は PubPub の erniesg.pubpub.org/pub/1eogiw8s です。