はじめに:再現性と一貫性は計算科学研究の基本要件であり、機械学習も例外ではありません。 機械学習の研究を再現するのはなぜ難しいのでしょうか? Google の TensorFlow チームでディープラーニングを研究しているエンジニア、Pete Warden 氏の意見を聞いてみましょう。 ピート・ウォーデン氏の記事が公開された後、機械学習を研究している多くのエンジニアや研究者が同意を表明した。その中には、Google Brainの研究者でありSketchRNNの生みの親でもあるデビッド・ハ氏(@hardmaru)もおり、彼も彼のツイートを黙ってリツイートした。 私がコーディングのキャリアを始めたのは 1990 年代半ばで、当時は Microsoft の Visual SourceSafe がコード バージョン管理システムの標準でした。優れたエクスペリエンスを提供するために、アトミック コード送信操作はサポートされていないため、複数の開発者が同時に同じファイルを変更することはできません。予期しない競合を避けるために、スキャンとコピーは夜間に行う必要がありますが、それでも朝までにデータベースが完了するという保証はありません。私はとても幸運だったとしか言いようがありません。私のチームは付箋を貼る壁を用意し、それぞれの付箋はプロジェクト内のファイルに対応していました。開発者がファイルを変更する場合、対応するメモを取り、変更が完了したら元に戻します。 バージョン管理システムの前では、私は何の恐怖も感じないと言えます。私はかなりひどいシステムを扱ったことがありますが、必要な場合は同期ツールを使用して自分でいくつかのソリューションをハックすることもできます。しかし、そうはいっても、機械学習開発における変更追跡とコラボレーションに関しては、正直言って途方に暮れています。 この問題を説明するために、まず典型的な機械学習モデルのライフサイクルを見てみましょう。
研究者が十分に注意を払っている場合、これはすでに比較的楽観的な状況ですが、別の人が上記の手順を繰り返して同じ結果を保証した場合、どれほど困難になるかは想像に難くありません。上記の各ステップは一貫性がない可能性があり、言うまでもなく、機械学習フレームワークはパフォーマンスと数値の精度の間でトレードオフを行うことがあります。誰かが上記のステップを実際にステップごとに繰り返すことができたとしても、異なる結果が表示されます。 ほとんどの場合、研究者は自分が行った作業を追跡していないため、同じモデルを生成することができません。すべての手順を書き留めて再度実行したとしても、フレームワークはいつでも変更される可能性があるため、以前のモデルとの一貫性を保つためにシステムのスナップショットを記録する必要があります。私は研究者にモデルの再生成を手伝ってくれるよう頼んだことがあります。彼らは寛大に協力してくれましたが、彼らがモデルの元の作成者であったとしても、数か月かかることもよくあります。 一貫性はなぜそれほど重要なのでしょうか?論文を書いているときにモデルを再現する方法がわからなかったという友人が何人かいました。元の著者と同じ精度が得られない場合、新しい方法が元の方法よりも改良されていることを他の人にどうやって納得させることができるでしょうか?変更された要件やプラットフォームに対応するためにモデルを完全に再構築する能力がない場合は、運用システムで既存のモデルに大きく依存するのが普通です。コードの変更やトレーニング データをロールバックすることが難しいため、研究実験を行う際にも大きな問題となります。バージョン管理システムを使用しないとコード変更のコストが増加するのと同様に、上記の手順に従おうとすると追加のリスクが伴います。 もちろん、事態はそれほど悲観的ではなく、コミュニティはモデルの一貫性の問題を解決するためにこの点に関して努力しています。私のお気に入りは、Toby Boyd 氏が率いる TensorFlow Benchmarks プロジェクトです (https://www.tensorflow.org/performance/benchmarks)。このチームの使命は、現在主流のモデルの一部を複数のプラットフォームで迅速にトレーニングする方法を実現するだけでなく、これらのモデルが十分に高い精度を達成できるようにすることです。私は、彼がモデルの精度を向上させるために懸命に努力しているのを個人的に目撃しました。なぜなら、上記のすべての手順が結果に影響を与える可能性があり、モデルの元の作成者の助けを借りても簡単にデバッグする方法がなかったからです。そして、それは終わりのない仕事のように思えます。TensorFlow フレームワークは変化し、GPU ドライバーは変化し、データセットは変化し、これらすべてが結果に影響します。 Toby のチームは、TensorFlow の変更によって生じたバグの発見と修正、外部依存関係によって生じた問題の特定に協力してくれましたが、スケールアップは依然として困難でした。 また、一部のチームが本番システムで機械学習モデルを使用することに非常に慎重であることも知っています。トレーニングされたモデルの一貫性を確保するために多くの時間と労力を費やしていますが、問題はこのプロセスがまだ手動であることです。現時点では、モデルが将来も同じ結果を生成し続けることを保証できるバージョン管理システムや合意されたベスト プラクティスは存在しません。今のところこれより良い解決策は思いつきませんが、この問題を解決する際に従うべきいくつかの原則を以下に示します。
いくつかのオープンソース コミュニティやスタートアップ企業がこの問題に取り組んでいるのを見てきました。残りの人生をかけてこの問題を解決するのが待ちきれません。しかし、すぐに完全な解決策は見つかりません。モデルのトレーニングに関しては、バージョン管理システムの出現がコーディング プロセスに大きな変化をもたらしたのと同じように、変更が必要です。 機械学習の研究結果を再現しようとしたときに、どのような落とし穴に遭遇しましたか?機械学習の結果を再現するのが難しいことにも不満を言いたいですか?ぜひメッセージを残してご意見をお聞かせください。 オリジナルリンク: https://petewarden.com/2018/03/19/the-machine-learning-reproducibility-crisis/ |
<<: 「黄金の3月と銀の4月」が到来し、AIはすでに人材採用の分野に浸透しています。あなたにはどのような影響があるでしょうか?
>>: Cheetah MobileがロボットプラットフォームOrion OSと5つのロボット製品をリリース
6月19日のニュース:AI産業の急速な発展に伴い、テクノロジー業界のAI人材に対する需要も高まってい...
[[412540]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
アイアンマンは指と手のひらを回すだけで、あっという間に鎧の製作を完了した。この魔法のような技に、スク...
現在、AI チップ市場全体はディープラーニングを中心に展開しています。ディープラーニング (DL) ...
OpenAIは10月27日、汎用人工知能(AGI)によって引き起こされる可能性のある壊滅的なリスクを...
銀行の収益モデルとは何でしょうか? 3 つの言葉: 情報の非対称性です。銀行は預金者から資金を集めて...
ロボティック・プロセス・オートメーション (RPA) は、単調で反復的なタスクを排除するのでしょうか...
1年以上の開発期間を経て、前世代に比べて3つの主要な機能に進化しました。さあ、効果を直接確かめてみま...
電気の「ジュージュー」という音が響くコンピューター室では、「スマートガーディアン」コンピューター室検...
編集者注:この記事はWeChatパブリックアカウント「脑极体」(ID:unity007)からのもので...
執筆者 | 王 瑞平AutoGPT に続いて、GPT ファミリーに新しいメンバーである GPT-En...
ChatGPT の核心的な秘密が Microsoft によってこのように暴露されるとは誰も予想して...