論文
ソフトウェア研究開発の収穫は特異点を示唆しているか?
原題:Do the returns to software R&D point towards a singularity?
研究開発の収穫と双曲的な技術進歩
AIの向上は、主に2つの要因によってもたらされてきた。第一に、ハードウェア性能の進歩と、より大規模なクラスターへの多額の投資によって、AIモデルの学習に使える計算能力が増えた。より大きなAIシステムの学習に使えるデータが豊富にあることから、これが性能の向上につながった。第二に、「ソフトウェア」面(学習手法、アーキテクチャ、アルゴリズムの実装など)の進歩によって、計算資源がより効率的に使われるようになった(アルゴリズムの進歩に関する私たちの研究を参照)。つまり、AIモデルの性能は、計算資源を増やすだけで期待される水準を上回っている。Epochでは、これらの傾向のそれぞれを幅広く研究してきた。
計算資源の拡大と学習手法の改善が組み合わさったことで、「実効計算量」の総予算が実質的に増えた。実効計算量とは、「ソフトウェア」面の改善を考慮に入れたうえで、AI開発に使える計算資源のことである。この実効計算量の増加が、高い能力を持つAIシステムの開発の主な原動力となってきた。
今後を見通すと、将来AIが自らの研究開発を大幅に自動化することは十分にありうる。そうなった場合、2種類の結果が考えられる。Ajeya Cotraはこれを、印象的な言葉で「foom(爆発)」と「fizzle(失速)」と呼んでいる。1
-
Foom(爆発):AIシステムがAIソフトウェアに比例的な改善をもたらし、それがその後のAIによる研究開発の成果に比例以上の改善をもたらして、技術進歩が加速する。
-
Fizzle(失速):AIシステムがAIソフトウェアに比例的な改善をもたらすが、それがその後のAIによる研究開発に比例未満の改善しかもたらさず、技術進歩が減速する。
研究への投入を比例的に増やしたとき、研究の成果が比例以上に増えるのか、比例未満にしか増えないのか。つまり「研究努力の収穫」がどうなっているのかという問題は、経済学者によってさまざまな文脈で調べられてきた。経済全体を対象とした研究のほか、コンピュータハードウェア、作物の収量、生物医学のイノベーションといった特定の分野の研究もある。研究努力の収穫を推定することは、経済の長期的な成長率を見きわめるうえで決定的に重要である。
このパラメータは、研究開発がAIシステムによって自動化された経済ではとりわけ重要になる。そのようなシナリオでは、研究努力の収穫は成長のペースだけでなく、成長の軌道の型も決める。収穫が1より大きい、つまりAIによる研究開発を比例的に増やすと研究成果が比例以上に増えるなら、技術的能力が急速に、場合によっては双曲的に成長する可能性がある。逆に、収穫が1より小さければ、AIによる研究開発への投資を続けても、進歩の速度は時間とともに徐々に落ちていく。したがって、AIが推進する経済で技術進歩が今後どんな軌道をたどるかを予測するには、「研究努力の収穫」を理解することが決定的に重要である。
私たちの研究は、研究努力の収穫について、より良い推定値を出すことを目指している。また、対象はソフトウェアの研究開発に絞る。AI開発に関係する種類の研究開発に最も近い代理指標と言えるだろう。ソフトウェアという文脈で研究努力の収穫を調べることで、AIシステムそのものの開発がますます自動化されていく、AIが推進する経済のダイナミクスについて、貴重な知見が得られる。私たちの研究の狙いは、ソフトウェア研究開発の収穫がAIの能力の将来の軌道をどう形づくりうるかを、より正確に、きめ細かく理解することにある。
アイデア生産モデルにおける双曲的成長
「研究開発の収穫」は、内生的成長理論の道具を使って定式化できる。イノベーション、つまり「アイデアの生産」をモデル化する標準的な方法は、Jones 1995が提案した次の運動法則である。
ここで は時点 における何らかの効率の尺度、 は何らかの「努力」または投資の尺度である。このモデルは2つの重要な効果をとらえている。
-
パラメータ は、新しいアイデアの発見について、時間とともに収穫が逓増するのか逓減するのかを数値で表す。
-
パラメータ は、ある時点における研究努力の規模に対する収穫をとらえる。
比 は、Bloom et al. (2020) が「研究努力の収穫」と呼ぶもので、系の長期的なダイナミクスを決めるうえで中心的な役割を果たす。2
これを説明するため、 がAIシステムの効率を表すシナリオを考えよう。効率はたとえば、(非常に多数かもしれない)演算を実行することで生み出される、人間換算の研究時間数で測るものとする。さらに、すべての研究が完全に自動化されていると仮定する。このとき、研究努力の総量 は、AIシステムの効率に、そのシステムを動かすのに使う計算資源のストック を掛けたものになる。
この条件のもとでは、決定的な閾値が現れる。研究努力の収穫が1を超える()場合に限り、系は双曲的成長を示し、有限の時間で発散する。
このシナリオが計算資源の量を一定と仮定している点に注意が必要である。計算資源のストックも増えるなら、研究努力 は効率の改善 より速く増える可能性がある。Tom Davidsonが「ソフトウェア特異点」と呼んだこのシナリオは、計算資源のストックを一定と仮定しているという意味で、保守的なものである。
このシナリオの決定的な仮定の一つは、AIシステムの効率の進歩がもっぱら知的労働によって推進されるというものである。実際には、効率の進歩を推進するうえで実験も大きな役割を果たしている可能性が高く、そうした実験に費やさなければならない計算量は、他の部分でのソフトウェアの進歩によってあまり減らない可能性がある。その場合、この単純なモデルは、ソフトウェア特異点を支持する論拠の強さを過大に見積もることになる。
ソフトウェア研究開発の収穫はソフトウェア特異点を示唆しているか?
ここまでのソフトウェア特異点の議論は純粋に理論的なものだったが、この可能性を実証的に裏づけるものはあるのだろうか。私たちの新しい論文では、アイデア生産関数を推定する戦略を方法論の観点から包括的に概観し、それをソフトウェアのさまざまな分野に適用した。これにより、さまざまな分野のソフトウェア研究開発について、研究努力の収穫に関する新しい推定値を数多く得ることができた。ここでは結果の一部をまとめる。
コンピュータチェス
一般に、ソフトウェア研究開発について高頻度の時系列データがあるのは、例外であって通例ではない。さまざまな分野のソフトウェアの進歩を推定した研究はこれまでほとんどない。3その理由の一つは、アルゴリズムの進歩を推定するのに必要なデータ(実行時間や計算コストなど)を手に入れるのが難しい場合が多いことである。
とはいえ、「例外」は存在する。その一つがコンピュータチェス、とくにStockfishチェスエンジン(Stockfish 2023)である。Stockfishは、最も強く最も人気のあるオープンソースのチェスエンジンの一つである。Stockfishエンジンに何らかの新しい工夫を加えて更新するたびに、Eloレーティングの上昇幅が推定される。Eloの上昇が追加の計算量とどう関係するかを示すStockfishのスケーリング則を使って、この上昇幅を、追加の計算時間に換算したアルゴリズムの進歩率に変換した。Stockfishはオープンソースなので、研究開発の投入についても質の高いデータ、すなわち開発者が提案したパッチを試すために行われたテストの回数を得ることができる。
Stockfishのデータを使うと、研究努力の収穫 の中心推定値として約0.83(標準誤差0.15)が得られる。この の値は先に論じた閾値 をわずかに下回るが、私たちの推定は研究努力の収穫が1を超える可能性を排除していない。AIの研究開発が、より良いチェスエンジンを作るための研究開発と少しでも似ているなら、これは「foom」に対する弱い反証になる。
ソフトウェアの他の分野
残念ながら、ソフトウェアの進歩に関する他のほとんどの分野では、高頻度の時系列データを使うという贅沢は望めない。たとえば、研究開発の成果に関する最良のデータでも、数年間にわたるソフトウェアの進歩の平均的な速度を示すだけで、時間の経過とともに起こりうるソフトウェア効率の変動については何も教えてくれない(Erdil and Besiroglu 2022、Hernandez and Brown 2020)。
この問題を回避するため、私たちはベイズ推論の手法を使って を推定する。パラメータの値についてかなり情報量の少ない事前分布から出発し、手に入る限られたデータに基づいて更新するのである。これを、ソフトウェア効率 の推定値がある4つの分野、すなわちコンピュータビジョン、SATソルバー(Fichte, Hecher, and Szeider 2020)、線形計画法(Koch et al. 2022)、強化学習(Dorner 2021)について行う。いずれの場合も、成果の尺度について手に入るデータは、ソフトウェア効率の推定成長率だけである。投入の側については、関連する研究を発表した異なる著者の数の推定値を使う。
このデータでは、私たちの推定戦略は、データ点1つだけでベイズ更新を行うことに等しい。これが完璧からほど遠いのは明らかである(たとえば、データ点が1つしかなければ適合度検定は行えない)。それでも、文献でこれまで使われてきた手法よりは望ましい。結果を図2に示す。4つの事例研究のすべてで の推定中央値は1を超えているが、コンピュータチェスと同様に、この結果は統計的に有意ではない。これらの事例研究からは、コンピュータチェスの場合よりも である可能性が高いと考えられるが、私たちはStockfishの推定値により大きな重みを置く。最良のデータがある分野だからである。それでも、これらの(限られた)事例研究全体を見ると、ソフトウェア研究開発の収穫が実際に1より大きいことは十分にありそうである。
なお、図2では閾値 を破線で示しているが、この閾値が常に質的に大きな意味を持つわけではない。図2のソフトウェア効率の尺度のすべてが、実行時間や推論実行の効率の尺度というわけではないからである。コンピュータビジョンのデータは学習の効率に関するもので、強化学習のデータはサンプル効率に関するものである。どちらも、双曲的成長の節のモデルをそのまま当てはめるのに必要な種類の進歩とは厳密には一致しない。
私たちの推定は特異点を示唆しているか?
私たちの研究からは、ソフトウェアの研究の収穫は高いと考えられる。場合によっては、研究への投入を比例的に増やすとソフトウェアが比例以上に改善するという見方と整合する推定値が得られた。これに対して、他の分野の研究開発の収穫はかなり低いかもしれない。たとえば、Bloom et al. (2020) は米国経済全体について という低い値を得ており、私たちがこの結果を再現したところ、推定中央値は とさらに悲観的なものになった。このことは、研究開発を自動化でき、同時にAIシステムを動かすのに使う計算資源の量を拡大できるなら、成長の加速が起こりそうだという私たちの以前の議論をいっそう裏づける。
私たちの推定はソフトウェア特異点の可能性と整合するが、これらの結果をその結末を強く支持する証拠と解釈することには慎重であるべき理由がある。歴史的に、ハードウェアとソフトウェアは同じくらいの速いペースで進歩してきた。これは両者が共生関係にあることを示唆している。一つの説明は、ハードウェアの進歩によってより複雑なアルゴリズムのアイデアを探れるようになり、その一部がソフトウェア効率の改善につながるというものである。これは、ハードウェアの進歩が同時に起こらなければ、ソフトウェア研究開発の進歩はより難しくなるかもしれないことを意味する。したがって、私たちの結果はソフトウェア特異点と整合するものの、ソフトウェアの進歩がハードウェアの進歩に依存していることが、その可能性を阻むかもしれない。
結論
私たちの新しい論文で示した実証結果は、決定的ではないものの、ソフトウェア研究開発の収穫が、ソフトウェアだけで双曲的成長を引き起こせるほど高いかもしれないことを示唆している。最も信頼できるデータがある分野であるコンピュータチェスについては、私たちの推定では、鍵となるパラメータは双曲的成長に必要な閾値に近いが、わずかに下回っている。コンピュータビジョンや強化学習など他の分野の推定値は、データが限られているため確実性が低いが、研究への投入が倍増すればソフトウェア特異点に至る可能性をうかがわせる。
歴史的に、ソフトウェアの改善は、同時に起きたハードウェアの進歩から大きな影響を受けてきた。ここに両者の共生関係がはっきり表れている。このことから、ハードウェアの進歩が並行して起こらなければ、ソフトウェア研究開発の改善はより難しくなるかもしれない。したがって私たちは、現在の実証データがソフトウェア特異点の可能性を強く裏づける証拠になるとは考えていない。
なお、ソフトウェア特異点が起こるための条件は、ソフトウェアとハードウェアの進歩の組み合わせから双曲的成長が生じるのに必要な条件よりも、かなり厳しい点に注意したい。私たちの結果は、全体的な能力が急速に、場合によっては双曲的に向上する可能性を排除するものではないが、ソフトウェアだけでそのような成長の唯一の原動力になりうることを強く裏づける証拠にはならない。今後の研究では、ソフトウェア研究開発の長期的なダイナミクスと、それがハードウェアの進歩とどう相互作用するかをよりよく理解するために、実証的手法を洗練し、より質の高いデータを得ることに力を注ぐべきである。
参考文献
Bloom, Nicholas et al. (2020). “Are ideas getting harder to find?” In: American Economic Review 110.4, pp. 1104–1144.
Dorner, Florian E (2021). “Measuring progress in deep reinforcement learning sample efficiency”. In: arXiv preprint arXiv:2102.04881.
Erdil, Ege and Tamay Besiroglu (2022). “Algorithmic progress in computer vision”. In: arXiv preprint arXiv:2212.05153.
Fichte, Johannes K, Markus Hecher, and Stefan Szeider (2020). “A time leap challenge for SAT-solving”. In: Principles and Practice of Constraint Programming: 26th International Conference, CP 2020, Louvain-laNeuve, Belgium, September 7–11, 2020, Proceedings. Springer, pp. 267–285.
Hernandez, Danny and Tom B Brown (2020). “Measuring the algorithmic efficiency of neural networks”. In: arXiv preprint arXiv:2005.04305.
Ho, Anson et al. (2024). Algorithmic progress in language models. arXiv: 2403.05812 [cs.CL].
Jones, Charles I (1995). “R & D-based models of economic growth”. In: Journal of political Economy 103.4, pp. 759–784.
Koch, Thorsten et al. (2022). “Progress in mathematical programming solvers from 2001 to 2020”. In: EURO Journal on Computational Optimization 10, p. 100031.
Stockfish (2023). Useful data. Accessed: July 2023. URL: https://github.com/official-stockfish/Stockfish/wiki/Useful-data##elo-from-speedups
注
-
3つ目の結果もありうる。AIによる研究開発を比例的に増やすとAIソフトウェアが比例的に改善し、それがその後のAIによる研究開発の成果をちょうど比例的に改善する場合である。この説明では、このきわどい均衡のシナリオは考えないことにする。 ↩
-
パラメータ も長期的なダイナミクスに影響するが、それは量的な意味(たとえば指数関数的成長の軌道における指数の値)にとどまる。これに対して は長期的な成長の質的なダイナミクスを変えうるので、この記事ではこちらに主に焦点を当てる。 ↩
-
その例については、Ho et al. 2024 の文献レビューを参照。 ↩