機械学習研究の禅と芸術
(blog.jxmo.io)- 世界水準のAI研究は才能だけでは続かず、読むことと作ることを繰り返しながら長く耐える気質が成果を分ける
- テーマ選びは6か月ものの流行語ではなく、cross-entropy、SVD、policy gradientsのような基礎概念を深く理解することから始めるべき
- 良い研究は既存ベンチマークのスコア向上にとどまらず、新しい手法が実際に示す能力を試すためのデータセットまで見つけなければならない
- 実験結果は良くても悪くても情報を与えるが、良すぎて見える結果ほどバグや誤測定の可能性があるため、健全な偏執性が必要
- コーディングエージェントは速度を上げる一方で、システム理解の不足とコンテキストスイッチを増やすため、結果を生んだシステム全体を自分で理解する必要がある
研究者になる出発点
- AI研究は読むことと学ぶこと、そして何かを自分で作ることを一緒に繰り返すところから始まる
- どちらか一方だけでは不十分で、研究者はこの二つの活動を行き来しながら形作られる
- 研究は瞑想に似ていて、洞察が来る日にも座り、来ない日にも座り続けなければならない
- 科学的洞察はランダムに訪れるようなもので、ほとんどの日にはやって来ない
- 音楽、スポーツ、営業のように世界水準に到達するには、多くの時間と努力、そして大量の訓練量が必要
- SwiGLU論文でNoam Shazeerは「この構造がなぜ機能するのかは説明せず、その成功を他のあらゆることと同じく神の慈悲に帰する」と書き、研究アイデア成功の偶然性を示した
- 論文を読みすぎることも問題になりうる
- まず自分で解法を試し、行き詰まり、自力で解いてみたあと、自分のアイデアが尽きた段階で文献を探すやり方が、実証された道筋である
何を研究するか
- 始めたばかりなら、正確な研究テーマそのものはそれほど重要ではない
- ただし、流行してまだ6か月も経っていないテーマを選ぶのは避けたほうがよい
- AIは速く動くが、根本的なアイデアは40年間それほど大きく変わっていない
- 2026年のharnesses、agents、context engineeringのような概念にキャリアを過度に賭けるべきではない
- もっと学びたければ、基礎に立ち返るべき
- cross-entropyが何かを学び、小さな分布について手計算してみるべき
- SVDを頭の中で可視化できるほど深く理解すべき
- コーディング向けRLだけを見るのではなく、policy gradientsのアイデア、有用性、何十年も人気だった理由を学ぶべき
- 研究プロジェクトの最良の結果が既存ベンチマークのスコア向上だけなら、十分に深いとは言えない
- 既存のデータセットは、新しく興味深い能力を試せないことが多い
- Jason Weiは、新しい手法が実際に機能する能力を発揮させるデータセットを見つけることを、AI研究で過小評価されがちだが成否を左右しうる技術だと見ている
- 具体的なテーマは自分で見つける必要があり、深く掘り下げ、基礎に集中し、ベンチマーク追いに閉じ込められないようにすべき
初心と開かれた判断
- 「初心者の心には多くの可能性があり、専門家の心には少ない」というSuzukiの言葉は研究にも当てはまる
- 現代のAI研究では、従来のAI研究経験が良い研究直感にむしろ逆効果になりうるという話がSilicon Valleyでしばしば繰り返される
- pre-scaling時代の研究者の一部は、小規模では動くがスケールさせると失敗する手法の設計に関心を向け続けている
- OpenAIで技術面から会社を運営する人の多くは35歳未満で、ChatGPTの重要な意思決定者の多くは30歳未満である
- ChatGPTが登場してまだ4年も経っていない初期分野なので、誰も長年働いてきた圧倒的優位を持ってはいない
- アイデアを長く握りしめすぎると逆効果になることがあるため、心を開いたままにし、自我が判断を曇らせないようにすべき
ひらめきは研究の外からも来る
- ひらめきは予想しない瞬間に訪れる
- benzene ring構造の発見は夢から生まれたことで有名
- それまで見たことのない構造だったが、自分の尾をくわえた蛇のイメージとして想像された
- Ozempicはトカゲに由来する例である
- Ozempicが模倣するGLP-1ホルモンは、年に数回しか食べない砂漠のトカゲGila monsterの毒から最初に発見された
- この発見は人間にも作用する仕組みへとつながった
- 良い研究をするには、研究以外のこともする必要がある
- 多くの「アハ」体験はキーボードの前ではなく、とりわけ散歩の最中に起こる
- Darwin、Tesla、Feynman、Aristotleのような思想家たちは、足を伸ばして少し歩くことの大きな利点を語っていた
実験結果への向き合い方
- 完璧に実装していても、アイデアが根本的に真でない可能性はある
- 実験を分析するときは、うまくいった結果もいかなかった結果も、どちらも良いものとして受け止める実験的平静さが必要
- どちらの結果も同じだけの情報を与える
- 一つの肯定的な結果より、連続した否定的な結果から多くを学べることもある
- 良い結果に過度に興奮してはならない
- 良い結果のかなりの部分はバグによって生じる
- 結果が本当に良いのではなく、測定が間違っていて、自分で自分を納得させてしまった可能性もある
- 自分のアイデアが機能してほしいと思うのは自然だが、経験豊富な研究者たちは、とりわけ良すぎて見える結果の前では強い懐疑心を共有している
- 良すぎて見える結果は、ほとんど常に現実とは異なる
比較、運、深さ
- 研究は結果志向が非常に強い
- とりわけ学界では、他人の論文上の成功を見て感情的に揺さぶられやすい
- 人はそれぞれ異なる理由で成功する
- 運が良い人もいる
- 学術レビューの過程は一貫しても公平でもない
- 自分の分野で感嘆すべき新しい研究が出たときには、「自分はこの洞察を自力で生み出せるほどの深さで取り組んでいたか?」と問うべき
- 答えが「はい」なら、プロセス自体は正しかったが、別のことをしていてその発見を逃しただけである
- 答えが「いいえ」なら、さらに深く入っていく動機にすべき
見えない反復作業
- 悟る前にも薪を割って水を運び、悟った後にも薪を割って水を運ぶという言葉のように、研究にも反復作業が多い
- 成功したプロジェクトの多くには、裏で何百時間もの雑務的な作業が入っている
- Andrej KarpathyはImageNetのかなりの部分を 手作業でラベル付けした
- SWEBenchの作成者たちは、評価に有用な小さく扱いやすいGitHub issueの集合を作るために、GitHubデータを何百時間もかけて注意深くフィルタリングした
- 偉大な研究者たちのキャリアを見ると、成功の前に長いあいだ見えない場所で働いた時間が多い
- 野心的で未来志向のアイデアほど、徹底した実装と評価により多くの作業を要することがあり、この難しさは欠陥ではなく特徴である
バグを疑う研究習慣
- Collin Raffelは、多くのアイデアが悪いアイデアだからではなく、研究者が見つけられなかったコードバグのために失敗すると考えている
- LLMの世界ではこの問題はとりわけ難しい
- 現代のディープラーニングのソフトウェアスタックは非常に複雑で、バグはどこにでもありうる
- 学習
- 推論
- ハーネス
- データ
- 何かがおかしく見えたら、そのまま流してはいけない
- 多くの指標をロギングし、それらをすべて理解しようとすべき
- 一部の指標が予想と違うなら理由を探すべきで、実際に何かがおかしい可能性がある
- 研究者にとって重要な特性の一つは健全な偏執性である
速いフィードバックとコンテキストスイッチ
- ディープラーニング実験の大半は時間がかかりすぎる
- モデル学習には数週間または数か月かかることがある
- 単一タスクでモデルを評価するだけでも数日かかることがある
- エージェントでコーディングするときは、複数の実験を並列に立ち上げ、遅い周期で回したくなりがちである
- 単純な並列化はある程度役立つが、コンテキストスイッチは有害なパターンである
- 速い実験フィードバックを支える人間工学的な研究ワークフローを設計すべき
- 学習のコールドスタート時間を減らすべき
- すぐ結果を返す小さな評価を作るべき
- Keller JordanのnanoGPT speedrunは、速い反復サイクルでどれほど多くを学べるかを示す例である
- 一部の結果は、最終的にはどうしても時間がかかる
- 数日にわたって状態を保ち、今日終わった先週の実験を理解する能力は非常に有用である
コーディングエージェントが悪化させる問題
- コーディングエージェントはより速く動けるようにしてくれるが、二つの問題を悪化させる
- 基本的な詳細を理解しにくくなる
- コンテキストスイッチがさらに頻繁になる
- 良い研究者は、この二つの力に抗して積極的に取り組まなければならない
- Codexは学習スクリプトを書き、実行し、実行中に監視し、結果を解釈し、メールで送ることができる
- しかし次のような小さな誤りが起こりうる
- エラーが出ると、尋ねずにsystem promptを短くする
- 評価が妥当な時間内に回るようsequence lengthを短くする
- ユーザーが明示していないため、誤ったconfigを実行する
- エンジニアリングの観点では簡単に直せる小さなミスかもしれないが、科学の観点では重大である
- 小さな見落としでも、論文の重要な結果を実質的に変えてしまいうる
- したがって許容できない
- 自分でコードを書いていなくても、結果を理解するには、その結果を生んだシステムを理解しなければならない
- 良い科学には、システム全体がどう動くかを学ぶことが必要であり、そうして初めて観察が真だと確信できる
気質が作る研究
- 成功する研究者になるために必要なのは才能だけではない
- 気質は大きく過小評価されている
- 好奇心と粘り強さを保ち、思慮深く几帳面であり続けることで、アイデアはやって来る
- 最高の研究と最高のプロダクト仕事は、問題を十分に長く抱え続けて本当に理解できる人から生まれる
- 速く出版して反復せよという圧力は実際に存在するが、蓄積は深さから生まれる
2件のコメント
Hacker Newsの意見
西洋で使われるZenと東アジアの禅(禪)は、かなり異なるものに感じられる。
西洋的なZenは、おそらく1970年代の本 Zen and the Art of Motorcycle Maintenance から来たイメージに近く、概して平静さや初心者の心を意味するニュアンスを持っている。
一方で東アジアの禅は、実際には 無目的性 や目的のなさにより重きを置いている。
西洋的なZenは自我を鍛えてより強くする方向のように見えるが、東アジアの禅は自然に従い、自我を手放して流れに任せることに近い。
実際の禅の修行では、自我を疑い、執着を手放し、達成・比較・統制への欲望がすべてはかないものだと悟ることに焦点がある。
有名な言葉に 放下着(ほうげじゃく)、つまり「すべてを手放せ」がある。
むしろ古代ローマのストア哲学のほうが、西洋的なZenより禅に近く見える。
なのでこれを読んだとき、成功への欲望を諦めるべきかについての文章かと思ったが、まったく別の方向に進んでいて興味深かった。
一方で「ローマ的」と呼ぶほうが適切なストア主義は、はるかに 総合的な倫理体系 に近い。
心のある状態を5語に圧縮した言葉で、彼女の文章が東洋哲学の強い影響を受けていると語っていたのを思い出す。
健全に無目的で存在するあり方についての素晴らしい資料だ。
https://www.idler.co.uk/article/leisure-principles/
https://archive.is/nKJM2
そうなると脳は「思考を追いかける」状態から離れて休めるようになり、瞑想をやめたあとにはより集中できるので、より多くのことを成し遂げられる。
西洋の多くのZen実践者がこれに気づき、その目的のために瞑想を用いているのも事実だろう。
Star Warsを思い浮かべると、「フォース」は集中力によって宇宙船を持ち上げる力のように描かれるが、それは神話だ。
一方で禅的な心の状態に達すると、その宇宙船を持ち上げられるかどうかはそれほど重要ではなくなる。
東洋の伝統では、禅は それ自体が目的 だ。
元の趣旨もこういう意味に近いのか気になる。
2015年ごろ、バックエンドエンジニアと機械学習エンジニアを同時に管理するようになった。
バックエンドエンジニアの多くはもっと機械学習をやりたがっていて、機会を与えるとうまくやる人もいたが、数か月以内にまたバックエンドに戻りたがる人もいた。
同時に、機械学習リーダーの1人は機械学習から退いて、機械学習を支えるバックエンド作業だけをやりたがっていた。
こうした流れを見ているうちに、人によって 成功のシグナルを確認する必要頻度 が違うのではないかと思うようになった。
プロダクトの特性上、新しいモデルや更新されたモデルの性能を測定するには、最低でも1か月まるごと本番環境で動かす必要があり、初期作業から最終分析まで通常2か月以上かかった。
一方で多くのバックエンド作業は、素早くプロトタイプを作って実行し、動くかどうかをすぐ確認して次に進めるので、シグナルが一日中絶えずやってくる。
人によって必要なシグナルの頻度の違いが、機械学習の仕事を好むかどうかに大きく影響していた。
これはいわば管理職版の 特徴量エンジニアリング のようなもので、そのチームの人たちから本当に多くを学んだ。
データエンジニアのチームはデータサイエンスをもっとやりたがっていて、データサイエンティスト2人はどちらもデータエンジニアになりたがっていた。
そのうち1人は、みんながデータサイエンティストになりたがっていて混みすぎているので、データエンジニアのほうがもっと稼げると主張していた。
また別のときには、友人が純粋なフロントエンドから抜け出さなければならない、行き止まりのキャリアだと不満をこぼしていたのに、翌日の昼食では同僚がフロントエンド開発者ばかりが手柄を持っていくと言って転向を考えていた。
「洞察を得る日にも座る。洞察を得られない日にも座る」という言葉は、Brian GreeneのインタビューでEd Wittenがした返答を思い出させる。
GreeneがInstitute for Advanced Studyでの日常はどんなものかと尋ねると、Wittenは「机に向かって座っています」と答えた。
文章は「もっと深く入っていけ」という情緒が中心だが、これは 諸刃の剣 だと思う。
エントロピー、テンソル、勾配が重要で、ほぼ必須要件なのは確かだ。
しかしこの10年間のディープラーニングの進展の大半は、根本的なアイデアというより、漸進的で実験によって検証された実践から生まれたと思う。
ReLUがsigmoidより優れている理由についてはよい直感があるが、Hintonの元論文もおおむね「3倍速く学習するから」に近かった。
基本を考え直すことが役立つ場合はあるが、「基礎を変えよう」という形で実際の進歩が起こることはまれだ。
AlexNetや Attention Is All You Need のような重要な論文も、既存のアイデアを洗練し、それがどう役立つかを示したものだ。
機械学習は 実験科学 であり、数学的に美しい多くのアイデアは機能せず、工学的なアイデアがうまく機能することが多い。
「研究者にとって最も重要な特性のひとつは健全なパラノイアだ」という助言についても、博士課程の人たちが完全に燃え尽きるのをあまりに多く見てきたので、「うつは哲学者に良い」よりましな助言なのか分からない。
粘り強い探検家になれという意味なら正しい。
アイデアに長く執着しすぎるのは逆効果になりうるし、心を開いたまま、自我が判断を曇らせないようにすべきだという結論には同意する。
本当に素晴らしいエッセイで、読みやすかった。
筆者が述べているように、研究だけでなく多くの分野で 成功や進歩 は気質に大きく左右される。
結局のところ、よい姿勢、忍耐、生まれつきの好奇心、失敗から立ち直る力が重要だ。
優れた研究者を作る能力は、他の分野にも非常によく移転する。
ただ、不快さに耐える能力を超便利さで切り詰めてしまう文化のせいで、こうした能力はますます希少になり、より価値が高まっているように思う。
人々は待つことや失敗することを、ますます苦手にしている。
Zenという語の語源に関する脇道の情報として、Zen は日本語で、中国語の Chan に由来し、Chan はサンスクリット語の Dhyana に由来するDhyana はおおむね集中や瞑想と訳される
サンスクリット語 → 中国語 → 日本語という流れは、仏教がインドから広がっていった地理的経路を反映している
同じ語はベトナム語と韓国語ではそれぞれ Thien と Seon である
機械学習は数学やプログラミングよりも 生物学や錬金術 に近いため、このような現象が起きるのだと思う
数学やプログラミングでは第一原理まで掘り下げることができ、抽象化は堅固で非決定性も限定的だが、機械学習はそうではない
似た文脈で、Anthropic が求人は出し続けながら、自社製品を フロンティアモデル研究 に使うことを禁じているのは、かなり滑稽で近視眼的に見える
そうした人材がどこから出てくると思っているのかわからない
性急な判断であり、いずれ反競争訴訟を招く可能性が高そうだ
「OpenAI で印象的なのは、会社を運営している人たち、少なくとも技術側の大半が 35 歳未満だということ。ChatGPT の背後にいる重要な意思決定者の多くは 30 歳未満だ」というくだりは、ゴールドラッシュの時代も 49ers の大半が 25 歳未満 だったのだから、まだ改善の余地があるという意味にも見える
たとえて言い続けるなら、多くの AI の英雄たちは、初期の段階から TPU や GPU のプールに近い場所にいた人たちなのかもしれない
この文章の要点は、「現在の 評価バンドル をあまり信じすぎるな」ということのように見える
スコアは問題の一部しか反映しない
興味深いのは、新しく安定した評価指標を見つけ、それを基に新しいことをしたとき、予想外に知的な結果が出るかどうかだ
ただし核心は、他人が提案した問題に集中するのは非常に特定的で、かなり短期的な考え方だという点にある
良い研究者はベンチマークのスコアを上げ、偉大な研究者は 自分がどんな問題を解いているのか を考える
Hacker Newsのコメント要約も面白いですね