
11,123 文字

通常、こういった機会は新製品の発表のためのものですが、今日は少し趣向を変えて、GPT-4.5を開発した際の研究内容についてお話しします。GPT-4.5をリリースした時、ユーザーの皆さんに気に入ってもらえると思っていましたが、予想以上の反響がありました。「こんな体験ができるとは思わなかった」「GPT-4とは全然違う」「明らかに、あるいは説明しづらいけれど、ずっと良くなっている」といった声をたくさんいただきました。
今日は、GPT-4.5を開発したチームの主要メンバーを招いて、どのような開発プロセスがあったのか、何を学んだのか、そして巨大なモデルを作るには何が必要なのかについてお話しします。まずは、巨大モデルを開発するために必要なものは何でしょうか?
多くの人材と時間、そして計算リソースが必要です。自己紹介をお願いできますか?アレックスからどうぞ。
はい、私はアレックスです。事前学習データに関する多くの業務を担当しており、GPT-4.5の事前学習ML(機械学習)のリードも務めました。
私はアミン・チアンです。OpenAIのチーフシステムアーキテクトで、OpenAIのシステムとネットワークを広く監督しています。
私はダンです。データ効率性とアルゴリズムの開発に携わっています。
では、何が必要なのかという話ですが、私たちはこのプロジェクトを約2年前に開始しました。新しい大規模クラスターが稼働することを知っていたので、新モデルに導入したい機能についての検証作業や、システムからMLまでを含む長期的な計画を立てました。実行前には大規模なリスク低減作業を行い、実行に向けた準備を進めました。実行自体も非常に大きな取り組みでした。
これは、MLサイドとシステムサイドの協力から始まり、具体的にどのモデルを訓練したいかが決まるまで続くプロセスです。私たちの仕事のペースでは、特に最新の計算リソースを活用しようとする場合、完璧に優先順位を計画することは難しくなります。そのため、ほとんど常に未解決の問題を抱えたままローンチに進み、実行過程で問題を解決していきます。
高レベルで見ると、プロセス全体は予測したことと実際に起きることのギャップを埋めていく作業です。そして最後には、多くの人々が長期間にわたってエネルギーとモメンタムを注ぎ込んで訓練プロセスを完了させます。
予想と実際にどれくらい近かったですか?
通常、初期段階では予想から大きく離れていることが多いです。ローンチを遅らせてより多くの問題を解決するか、早めにローンチして進めながら問題を解決するかの選択を常に迫られます。開始時には知らなかった問題に必ず遭遇するものです。
では、どれくらい予想から離れていましたか?
最も高いレベルでは、このプロジェクトの目標はGPT-4より10倍賢いGPT-4.5を作ることでした。そして途中でさまざまな出来事がありましたが、最終的にはGPT-4の10倍賢いモデルに到達できたと感じています。
実行面では当初の予想よりもはるかに時間がかかりました。プロセスは、予想と一致するように短縮することを目指しています。
質問が2つあります。なぜ10,000 GPUから100,000 GPUへのスケールアップが問題をより難しくするのでしょうか?
スケールで観察される問題は、注意深く見れば小規模でも観察できることが多いですが、稀な出来事がスケールでは壊滅的になることがあります。
どのような種類の問題が壊滅的になりますか?
インフラの問題、障害率、障害の種類やその数などです。おそらくベンダーも観察していないような事象を観察することになります。ネットワークファブリック、個々のアクセラレータなど、期待通りに動作するためにはほとんどすべてが正常に機能する必要があります。
2つ目の質問です。スケールの最前線で作業することは非常に難しいですが、以前のフロンティアだったものを再現することはかなり簡単になっています。今日、OpenAIから自由に人材を選べるとしたら、GPT-4を一から再トレーニングするために必要な最小チーム規模はどれくらいでしょうか?
GPT-4レベルのモデルであれば、おそらく5〜10人程度でしょう。GPT-4.5は異なり、はるかに多くの人々が協力する必要がありました。しかし、その作業を経て、スタックは大幅に改善されました。実際、GPT-4.5の研修過程でGPT-4オクソというGPT-4クラスのモデルを訓練しましたが、これには少ない人数で実行できました。
ダンの視点から、巨大モデルのトレーニングが難しい理由は何ですか?
新しいことを行うことは常に難しいものです。誰かが何かを可能にしたと知るだけでも、はるかに簡単になります。何かが可能だということを知ることは大きなチートコードのようなものです。
これらのGPT事前学習実行では、常に以前の10倍のスケールに拡大しており、常に予測できなかった新しいことを発見します。
事前学習のスケールを次の10倍または100倍に増やすには何が必要ですか?データ効率性とは何を意味しますか?
トランスフォーマー(GPT)はデータを生産的に使用することに優れています。情報を吸収し、圧縮して、ある程度一般化します。しかし、データから得られる洞察の深さには上限があります。計算能力が増え続け、データの増加がそれほど速くない場合、標準パラダイムではデータがボトルネックになります。同じ量のデータからより多くを学ぶために、より多くの計算を使用するアルゴリズムのイノベーションが必要になります。
スケーリングを続けるために他に何が必要だと思いますか?
システム側では、GPT-4.5は必要な変更の量が膨大でした。状態管理へのアプローチが変わり、より多くの計算リソースに拡張する必要がありました。1つのクラスターだけでは足りず、マルチクラスタートレーニングに移行しました。
次の10倍のジャンプのためには、耐障害性が必要です。ワークロードと共同設計できる形の耐障害性が必要で、大規模な実行を維持する運用負担を心配する必要がないようにしたいと考えています。
GPT-4.5の実行中に何パーセントのステップが何らかのコンポーネントの障害で失敗しましたか?
正確な数字は覚えていませんが、新世代のハードウェアの初期段階では、十分に理解されていない問題が発生します。初期段階では障害率がかなり高いことがありますが、根本原因を見つけて排除すると、障害の総数が大幅に減少することがあります。初期段階は常に苦痛を伴いますが、後期段階になると障害率は大幅に低下し、稼働率は向上します。
明らかに推論モデルは私たちの未来の大きな部分ですが、無限のGPUとネットワーク、電力があるが、現在の問題(障害、耐障害性トレーニングの欠如、限られたデータなど)がそのままだとすると、従来の事前学習モデルでどこまで進めるでしょうか?GPTの各メジャーバージョンが100倍の計算増加という慣例を使うと、今の知識で何が訓練できますか?
それなら5.5くらいまで行けると思います。アルゴリズム側では、明確な限界はまだ見つかっていません。データ効率の高いアルゴリズムの表面をかろうじて引っ掻いている段階です。面白いのは、GPT-4までは主に計算制約のある環境にいましたが、現在は4.5から始まって、データに縛られた非常に異なる状況にいることです。
世界がまだ十分に理解していない驚くべき変化は、最高のモデルを生産する上でもはや計算制約がないということです。これは長い間私たちが生きてきた世界とは大きく異なります。
GPT-4.5のトレーニング中に学んだ最も興味深いML(機械学習)の知見は何ですか?
予測から外れてしまい、なぜ予測していた傾向から外れているかを理解しようとしたことです。
最も驚くべきことの一つは、ML側で取り組んでいた様々な側面がどのように拡張したか、そして何が拡張しなかったかということでした。このモデルをトレーニングするプロセスを通じて多くのことを学びました。
GPTパラダイムの2つの特徴は、テスト損失を予測できることと、それが予測可能に拡張され、低いテスト損失がより大きな知性を意味することです。あなたはそれを完全に信じていますか?
GPT-4.5から学んだ興味深いことの一つは、モデルが予想もしなかった信じられないほど微妙な能力を持っていることでした。より賢くなる方法を事前に特徴づけることは非常に難しいのですが、デプロイメントやユーザーの満足度から、あらゆる微妙な方法で賢くなっていることがわかります。より多くの常識的知識を持ち、ニュアンスやコンテキストをより理解しています。それがテスト損失の少しの改善から生まれる魔法です。
トレーニング全体を通じて最も前向きな瞬間は何でしたか?
私にとっては、実行中にML面で行った変更のいくつかが、予想以上に良い影響を与えたことです。それはとても刺激的な瞬間でした。
私にとっては、実行中に並行して多くの作業を行ったことです。作業を積極的に並列化して早く目標に到達するようにしていますが、モデルを本質的に訓練不可能にするようなパフォーマンスの崖を乗り越えることができると確信しています。計画があり、全員が実行していますが、時間がかかります。想像以上に難しい作業でした。
いくつかの問題が解決され、大きなパフォーマンス向上が得られた瞬間、チーム全体のエネルギーが変わったのを感じました。みんなが興奮し、最後まで押し進める動機づけがさらに高まりました。ステータストラッカーのETA(完了予定時間)が2年から具体的な期間に変わったときのチームの士気への影響は素晴らしいものでした。
もう一つ指摘したいのは、ML側の作業がローンチ時に終わらなかったことです。「後で解決する」と残された問題に対して、人々は積極的に取り組み、実行時間の改善に役立つものを提供し続けました。このチームワークの精神と「自分の仕事は終わったからあとはよろしく」という境界がないことは非常に強力なものです。
実行自体が難しかったことに多くの焦点が当てられていますが、これは非常に高度な計画にもかかわらずのことです。
間違いなく最も計画的でした。このプロジェクトを実際にモデルのトレーニングを始める約1年前から取り組み始めました。そして、非常に大規模なリスク低減実行を行い、変更を慎重に順序立てるよう細心の注意を払いました。ML視点から見て非常に確実な既知の良い設定(GPT-4のような)から始め、徐々に変更を重ねていきました。
どんな新機能も、ある程度の効果が見られるだけでは十分ではなく、その効果がスケールを通じて持続し、大規模で弱まらないようにする必要があります。小規模では良く見えても大規模では良く見えないものが多いので、このプロセスを通じて非常に慎重になる必要がありました。スケーリング法則の方法論を継続的に改良し、このリスク低減プロセスを通じて多くを学びました。それが今後のGPTの指針となっています。
もう一つの楽しい瞬間を思い出しました。私たちがローンチする際に、バグがないということはほとんどありえません。しかし、前進する必要があり、実行が正しい軌道に乗っていて、バグが実行の健全性に重大な影響を与えていないことを確認する必要があります。
私たちはハードウェア障害や様々な種類の破損、MLのバグなどを区別するためのシステムを構築しました。バグを修正しましたが、複数の未解決の問題が残っていました。あるとき、全員で「このバグの最も可能性の高い原因は何だと思うか」と投票しましたが、実際の原因だったものが最も票を集められませんでした。それはPyTorchのsum関数のバグでした。
このバグは非常にまれにしか発生せず、データの分布に依存していました。エンジニアがバグを発見し、修正を適用すると、異なる症状を持っていた一連のバグがすべて修正されました。これは非常に楽しい発見でした。
アレックス、実行ボタンを押した後の毎日はどのようなものですか?損失曲線を見つめているだけですか?
確かに損失曲線を多く見ています。それに加えて、発売時間前にコード設計の改善を取り入れるためにシステムチームと協力したり、実行中に様々な統計を監視して予想通りに推移しているかを確認したり、ML視点からさらなる改善を検討したりしています。データの面では、「実行開始」をクリックすると直ちに忙しさは減りますが、それでもやるべきことはたくさんあります。
MLにとって重要なのは正確さです。ノイズの多い信号の中で、これは健全かどうかを判断しなければなりません。十分に待てば、健全だったかどうかはわかりますが、問題は責任です。
誤警報はどれくらいの頻度で発生しますか?どれくらいの頻度で「これは本当に悪く見える」と思ったのに、結局問題なかったことがありますか?
かなり頻繁にあります。おそらく半分くらいの確率でしょうか。私たちは疑り深い集団なので、もし半分の頻度でなければ、十分に注意深く見ていないということになります。
短い質問をいくつかします。次の大規模な実行の前に、どのようなML(機械学習)の質問に答えが欲しいですか?
特定のドメインで限られたデータに対してどのようなアルゴリズムを採用すべきかということです。
現在のハードウェアに変更を加えることができるとしたら、システムの制限要因は何ですか?
ネットワークトランスポートレベルの変更です。アプリケーションレベルではなく、別のレベルで回避できる障害があります。ネットワークトランスポートがその仕事をして、利用可能な帯域幅を心配せずに与えてくれることを望みます。
その方向で有望なものはありますか?
はい、あります。
データ効率の質問に関連して、人間は信じられないほどデータ効率が良いように見えます。現在の最高のアルゴリズムは、人間レベルのデータ効率からどれくらい離れていますか?
アップルとオレンジを比較するのは難しいですが、言語における感覚としては天文学的に遠いです。100,000倍、1,000,000倍といったレベルです。それは、光学神経の全ピクセル情報をカウントするかどうかによりますが、私たちはそれをテキストで人間レベルに活用する方法をアルゴリズム的に知りません。アルゴリズム的には非常に遠い状況です。
現在のアプローチの方向性で人間レベルのデータ効率に達することができると思いますか、それともそれは起こらないと思いますか?
数十年間、ディープラーニングは計算効率に関するものでした。データと計算の成長以外に魔法的なのは、アルゴリズムの変更が非常にうまく積み重なることです。世界の異なる場所の異なる人々が、10%、20%と改善する小さなトリックを見つけ、それらが積み重なっていきます。
データが豊富で計算に制限がある場合、データ効率に関心を向ける価値がなかったため、これまでデータ効率に関してそのような動員はありませんでした。しかし今、私たちはAI研究の新しい段階に入り、データ効率の向上(ここで10%、そこで20%)を積み重ねていくことになります。壁に当たると予測する理由がない限り、壁に当たると予測するのは少し愚かでしょう。
しかし、脳は確かに私たちが行っていることの小さな調整とは異なるアルゴリズム原理で動作しているので、少し慎重にならざるを得ませんが、楽観視する理由はたくさんあります。
次の質問は3人全員に同じです。「はい」か「いいえ」で答えてください。人類は1000万GPU以上の同期事前学習実行を行うことがあるでしょうか?
正確に事前学習実行かどうかはわかりませんが、おそらく何らかの形のトレーニング実行で1000万GPUに達することはあるでしょう。今日私たちがやっていることとは全く違って見えるかもしれませんが、その規模で一種の教師なし学習のような何かはあるでしょう。
そう思います。半同期的と呼ぶでしょうが、その規模には期待しています。完全に同期的ではなく、自然の法則によって完全には曲げられません。
AIシステムで学習し、物事を行う1000万GPUが協力することは間違いなくあるでしょうが、「脳」のすべての部分が必ずしも互いに通信しているわけではないかもしれません。より分散化されている可能性があります。
より賢く大きな事前学習モデルと、モデルが推論を学習する能力の相関関係について学んだことを何か言えますか?
私たちが観察したのは、より良い事前学習と教師なし学習がモデルの幅広い知性を向上させ、一般化を大いに助けることです。これは、それが少し尖ったり、どこで知性が増加しているかがデコボコしがちな推論と非常に補完的であることがわかりました。
少し脱線しますが、事前学習があらゆる分野で非常に一般的で、モデルに推論を教えると一つのカテゴリーだけに非常に優れるようになるのは奇妙だと思いませんか?
そうですね、面白いですね。事前学習から何を得るかを見ると、これは驚くことではありません。事前学習データセットを構築するとき、本質的に非常に幅広いものを対象にしています。幅広さと多様性を目指しています。しかし、強化学習について話すときに、同じ幅広さを得ることは常に難しいです。
同意しますが、もう一つの要因があると思います。事前学習は本質的にデータを圧縮することであり、データの圧縮は異なるもの間のつながりを見ることです。それは類推や抽象化についてです。推論は特定の問題に関するものです。慎重に考えるスキルと技術があり、それによって異なるドメインでさまざまな種類の問題解決が可能になりますが、事前学習がドメイン間で圧縮するときのように、より抽象的なレベルで学習することがあります。
システムの進歩を制限するものは何でしょうか?チップ、プロセッサ、メモリ、ネットワーク、電力のうち、どれがスケールアップする上でのボトルネックになるでしょうか?
これがシステムの美しさです。コード設計を行えば、ワークロードは構築したインフラストラクチャに適応可能です。一般的にネットワークがボトルネックである、メモリ帯域幅がボトルネックである、計算がボトルネックであるという言明はありません。リソース要求を変更して、よりバランスの取れたシステムを作るオプションがあります。
ただし、事前学習の答えは推論の答えとは異なります。より多くのメモリ帯域幅があると常に助かります。これは資格なしで答えるのが難しい質問です。
チームはGPT-4.5の実行に向けてモデルの仕様についてどれくらい協力していましたか?
非常に密接に協力していました。実行のローンチの6〜9ヶ月前から、より深い協力が始まりました。4.5を実現するために必要な機能や側面についてのリスク低減実行を行い、システムとの共同設計に特に焦点を当てました。これは、MLとシステムが大規模にうまく連携するための最初の大規模な取り組みでした。
これは、システム側の特性を持たせるために、システムを導いていく必要がある初めての大規模な努力でした。その特性は何もないところから出現するわけではなく、システムをその特性に導くように本当に方向づける必要があります。この共同設計の取り組みが、モデルに組み込まれるアーキテクチャと設計要素を形作り、システムとMLの側面を結びつけています。
私たちが好まない特性かもしれませんが、理想的にはすべてを切り離して、互いに最大限の余地を与えたいですが、時にはインフラの要件や物事の在り方に合わせるために結びつくことがあります。多くの場合、バランスの取れたシステムと均衡のとれた通信、非常に対称的なタイプのシステムが必要で、私たちが自由に使える最良のノブは共同設計です。
理想的なシステムにどれくらい近いですか?私たちが望むすべてのハードウェアを持ち、ML用に機能し、完全に満足している状態に近いですか?
全くそうではありません。しかし、それは楽しいことです。システム構築の実践は常にそのようなものです。物事がどのように機能すべきかについての理想的な見方があり、それを現実と調和させることが重要です。
理論のための理論を作っているわけではなく、実現したいこと、そして可能な限り理想に近づけたいのです。これは、おそらくシステムにとって最も刺激的なことです。どのようなシステム設計が良いかという仮説を立て、そこから進めて、結果をすぐに実際に確認できます。以前なら「これはエレガントなシステム設計だ」と言い、歴史が正しいか間違っているかを判断するのを待つしかなかったことが、今は多くの計算リソースを持ち、問題と目標を知っているので、選択が正しかったかどうかを確認できます。
チームは実行に何を含めるかを決める際に、システム設計の制約についてどれくらい考慮していますか?
大規模な事前学習実行を行う上で、それは非常に大きな考慮事項です。4.5以降、アーキテクチャ側での作業には、さらなる共同設計や将来のハードウェア向けの設計に関する継続的なスレッドもあります。すでに有望な作業が多く行われています。
なぜ教師なし学習は機能するのでしょうか?圧縮とは?
理想的な知性はソロモン帰納と呼ばれるもので、どの宇宙にいるか不確かで、すべての可能な宇宙を想像し、単純なものをより複雑なものよりも可能性が高いと考えます。それは完全にベイズ的で、進行するにつれて見解を更新します。これを近似するには、これまでに見たすべてを計算する最短のプログラムを見つけることができます。
事前学習が行っていることの一つの見方は、人間がこれまでに生成したすべてのデータを説明する最短のプログラムを見つけようとしている圧縮であり、これを近似する方法です。
では、なぜ次のトークン予測を見ることでそれが実現するのでしょうか?実際には微妙な問題です。統計学では長い間パラドックスがありました。なぜディープネットワークは、圧縮しているように見えないのに一般化するのかという疑問です。通常、統計では多くのデータと小さなモデルがあり、モデルがデータを予測するため、モデルは圧縮し、何かを学習したに違いないと考えられます。事前学習では一般的にモデルは非常に巨大で、データとほぼ同じスケールで拡大します。
常に「実際に圧縮しているのか、一般化しているのか」という疑問があり、批評家たちは「それは単に記憶して補間しているだけで、表面的なものだ」と言うこともありました。しかし、事前学習を見る方法があり、それが異なる直感的でない方法で圧縮器であることがわかります。
その考え方は「プリクエンシャル圧縮」と呼ばれ、トレーニング中に速く学習するという事実は、それを素晴らしい圧縮器に変えることができることを意味します。重みは大きくても、バイナリは重みを保存する必要はなく、バイナリは圧縮を解除するために最初から事前訓練することができます。非常に速く学習しているという事実は、そのデータのほとんどを非常に少ないビット数でエンコードできることを意味します。微妙な理由で、それは実際にかなり良い圧縮器であり、これが実際に知性につながる理由の満足のいく説明だと思います。
何か付け加えることはありますか?
関連して、まだ出てきていないのは指標の規律です。これらのスケーリング法則を行い、ML科学をすべて行うときに得られるものは、選択する指標に非常に依存します。
どういう意味ですか?
評価する複雑性のテストサイドのことです。
複雑性を主に見ることでさえも?
はい、視聴者の中には大学のテストなどを見ていると思う人もいるかもしれません。
複雑性を説明しますか?
人間に理解しやすいテストでモデルの知性を評価しようとするのは非常に魅力的ですが、これを行うと、おそらくシステムを実際に賢くすることを犠牲にして、記憶を容易にする変更を優先することになります。インターネット全体でトレーニングできるなら、ほとんどすべてのテストはある程度変質してしまいます。人間向けのテストとは異なり、人間はそういうことができません。
この分野の主なアプローチは、良いデータだと考えられる一部のデータをどれだけ圧縮できるかを見ることです。しかし、そのデータがトレーニングデータと似すぎている場合は注意が必要です。トレーニングアルゴリズムに対する変更で、記憶を良くするものは、より賢く見えます。なぜなら、すでにテストセットを知っているからです。私たちは単なる記憶を測定したいのではなく、一般化、特に分布外の一般化を求めています。
それがおそらくあなたが言及しているものかもしれませんが、私たちが見ているキーとなるテストセットは、トレーニングセットに少しでも存在しないことを非常に重視しています。これはスケーリング法則の方法に影響を与えるからです。
それに対する最善の方法は何ですか?
私たちの内部コードベースです。これが外部にないことを知っています。多くの側面において、それは依然として最良のものです。
それは驚くべきことです。モデルはそのモノレポ損失であるとジョークしますが、それ以外のすべてにもいくつかの信じられないほどメタな再帰的なものがあります。何らかの方法でモデルを事前訓練し、モノレポ損失を持ち、これが将来どのように振る舞うかについて多くのことを教えてくれます。哲学の大学院生がその応答のニュアンスをどのように見つけるかについて多くを語りますが、それは信じられないことです。
それに関連して、最後の質問ですが、人々やお金、時間などの点で非常に高価だったこの全体の取り組みは、スケーリング法則が継続し、なぜ継続するのかをさらに検証する実験でした。それらは継続し、おそらく長い間継続することがわかりました。私は量子力学や何かのようにスケーリング法則を受け入れていますが、それでもなぜなのかはわかりません。なぜこれが宇宙の特性であるべきなのでしょうか?
その質問に挑戦してみます。より多くの圧縮がより多くの知性につながるという事実は、この非常に強力な哲学的根拠を持っています。問題は、より大きなモデルをより長くトレーニングすることで、なぜより多くの圧縮が得られるのかということです。ここには多くの理論があります。
私が好きなのは、関連する概念が世界のデータの中で一種のスパースであり、特にそれがべき乗則であるということです。つまり、100番目に重要な概念は、100のドキュメントのうちの1つに現れるというような長いテールがあります。
それは、完璧なデータセットを作成し、非常にデータ効率の良いアルゴリズムを考え出せば、家に帰ることができるということですか?
それは、データの選択について非常に洗練された方法があれば、計算上の指数関数的な利点がテーブルの上にある可能性があることを意味します。しかし、基本的に受動的にデータを掬い上げるだけの場合、テールの中の次の一定数のものを得るためには、計算とデータを10倍にする必要があります。そのテールは続き、長いです。掘り続けることができますが、あなたが言及したように、おそらくもっと良くすることができます。
ここで終わりにしましょう。皆さん、ありがとうございました。楽しかったです。


コメント