AIは「GitHub危機」を乗り越えられるか?

AIは「GitHub危機」を乗り越えられるか?

機械学習は現在、この分野の急速な発展を妨げるいくつかの危機に直面しています。これらの危機は、より広範なジレンマ、つまり科学研究の再現性から生じています。ネイチャー誌が1,500人の科学者を対象に行った調査によると、研究者の70%が他の科学者の実験を再現しようとして失敗しており、50%以上が自身の研究結果を再現できなかったという。再現性は、複製可能性とも呼ばれ、特定の研究の結果が一回限りのものではなく、再現可能な観察結果であることを保証する科学的方法の中核となる原則です。

コンピュータ サイエンスでは、再現性の定義はより狭義です。つまり、計算を再度実行して同じ結果が得られるように、すべてのデータとコードを公開して結果を文書化する必要があります。残念ながら、人工知能 (AI) と機械学習 (ML) の進歩は、透明性と再現性に関しては順調ではありませんでした。例えば、31人の科学者がネイチャー誌に、乳がんの兆候を検出するために人工知能を「うまく」利用したことを示すGoogle Healthの実験研究を厳しく批判する記事を発表しました。

この実験に懐疑的な科学者たちは、Google の研究では AI モデルがどのように構築されテストされたかについての詳細があまりに少なく、自社の独自技術の宣伝にさえなっていると主張している。このモデルがどのように作成されたかについての適切な情報がなければ、科学界がその結果を検討し、再現することはほぼ不可能でしょう。これにより、AI には透明性が欠けているという認識が高まり、人間と AI システム間の信頼の問題が悪化しています。

機械学習の継続的な進歩を維持し、人工知能での成功を可能にするには、この分野の再現性と透明性の問題に対処することが重要です。この記事では、AI の再現性危機の重要性と、機械学習専用に構築された GitHub の新バージョンが、その解決にどのように役立つかを説明します。

機械学習専用に構築されたGitHubが必要な理由

GitHub はクラウドベースのコード開発および管理サービスです。このプラットフォームはソフトウェアのバージョン管理に使用され、開発者が開発ライフサイクル全体にわたってコードの変更を追跡するのに役立ちます。これにより、プロジェクトを安全に分岐およびマージできるようになり、コードが再現可能になり、誰が実行しても同じ動作をすることが保証されます。 AI および機械学習アプリケーションはコードで記述されるため、それらを管理するための自然な選択肢は GitHub です。残念ながら、AI と従来のソフトウェア プロジェクトの間にはいくつかの違いがあるため、GitHub は AI に適しておらず、機械学習の再現性危機につながっています。

GitHubはデータをプロジェクトの中核コンポーネントとして設計されていません

従来、ソフトウェア アルゴリズムは、開発者が頭の中にあるアイデアを決定論的、数学的、チューリング完全な言語でコードとして記述することによって作成されます。これにより、ソフトウェアの再現性が高まります。特定のソフトウェアを再現するために必要なのは、そのタスクに最適化されたコードとライブラリだけです。

機械学習アルゴリズムは、開発者の頭の中で作成されるのではなく、データから「抽出」されるという点で異なります。つまり、従来のソフトウェア開発で記録されたコードやランタイム環境変数が変更されていなくても、データが変更されると機械学習アルゴリズムも変更されることになります。これが GitHub for AI の問題の核心です。AI アルゴリズムの開発に使用されるコードとライブラリが追跡されたとしても、コードだけでなくデータに依存しているため、再現することはできません。

この問題を克服するには、いくつかの方法があります。

  • 自動データ バージョン管理: トレーニング データセットの不整合によって発生する再現性の問題を回避するには、データ バージョン管理が AI/ML プロジェクトを管理するあらゆるプラットフォームの重要な機能である必要があります。これにより、チームはデータに加えられたすべての変更を自動的に追跡できるようになり、結果を対応するトレーニング データセットの特定のバージョンに関連付けることができるようになります。現在、GitHub はコードの変更を追跡できますが、データを追跡することはできません。これを克服することが、AI における再現性の危機を解決する上で重要な役割を果たすことになります。
  • 不変のデータ リネージ: 不変のデータ リネージは、データに関連する機械学習ライフサイクル内のすべてのアクティビティとアセットの変更不可能な記録を提供します。これにより、機械学習チームはコード、モデル、データのすべてのバージョンを追跡できるようになります。トレーニングから本番環境まで、機械学習モデルに関連するすべてのアクティビティの不変の記録を提供することで、再現性が保証され、履歴データセット間の関係がより適切に管理されます。

人工知能は大規模な非構造化データセットを使用する

AI に GitHub を使用する場合の問題は、データの変更を追跡できないことだけではありません。従来のソフトウェアと人工知能が依存するデータの種類はまったく異なります。従来、ソフトウェアはコードで記述され、コードはテキストで表現されます。一般的に言えば、テキスト ファイルはそれほど大きくありません。しかし、AI は音声、画像、ビデオなどの非構造化データに大きく依存しており、これらのデータはテキスト ファイルよりもはるかに大きいため、データの追跡と管理において追加の課題に直面しています。

複数のデータ ソースからのデータを単一のデータ ストアに結合するプロセスは、抽出、変換、ロード (ETL) と呼ばれます。これは、ソース システムからターゲット システムにデータをコピーする一般的なプロセスであり、これにより、異なるタイプのデータを一緒に処理できるようになります。データ サイエンティストとエンジニアには、AI アプリケーション開発のためにデータを抽出、変換、ロードするためのデータ バージョン管理、データ リネージ、大容量ファイルの処理能力、データ処理用のスクリプトとライブラリの管理が必要です。

この記事では、この問題に対するいくつかの新しい解決策について説明しますが、この機能は現在 GitHub のコアに組み込まれていないため、機械学習アルゴリズムに供給されるデータをプラットフォーム上で適切に管理できないことに注意することが重要です。

機械学習モデルのパラメータにより複雑さが増す AI の再現性の課題、そして機械学習に GitHub を使用することを困難にする要因は、データの変更を追跡したり、大規模な非構造化データセットを管理したりできないことだけではありません。 AI アルゴリズムの開発に使用されるコード、ライブラリ、データが同じままであっても、モデルパラメータの変動性により、同じ AI システムを使用して同じ結果を再現することは不可能です。前述のように、機械学習アルゴリズムはデータによって形成されます。ただし、これがシステムに影響を与える唯一の要因ではありません。パラメータは、特定のアルゴリズムの動作にも影響します。モデル パラメータには、ハイパーパラメータと通常パラメータの 2 種類があります。ハイパーパラメータは、学習プロセスの高レベルの制御、つまり特定のモデルの結果に影響を与えるパラメータと考えることができます。機械学習モデルがトレーニングされた後、パラメータはモデル自体の表現になります。ハイパーパラメータは、トレーニング中に学習アルゴリズムによって使用されますが、最終モデルの一部ではありません。

定義上、ハイパーパラメータは機械学習モデルの外部にあり、その値をデータから推定することはできません。ハイパーパラメータを変更すると、機械学習モデルの最終的なアルゴリズムも変更されます。コードが人間の脳を構築するための設計図に例えられるとすれば、ハイパーパラメータとモデルは特定の脳を構築するための実装計画です。これは、モデルのトレーニングに使用される同じコード ベースで、数百または数千の異なるパラメーターが生成される可能性があるため重要です。

実験結果の追跡とコードレビュー

機械学習モデルをテストするときは、実験の結果を追跡することが重要です。これらの結果は、どのモデルを使用するのが最適かを判断するのに役立ちますが、もちろん、GitHub はこれらの詳細を記録するようには設計されていません。カスタムの回避策を構築することは可能ですが、このソリューションはスケーラブルではなく、時間とリソースの制約により多くの開発者が利用できません。

もちろん、機械学習モデルの管理にはコードレビューとバージョン追跡も含まれており、GitHub はこの点で優れています。ただし、GitHub はコードや環境変数の追跡には適していますが、機械学習ではデータ、パラメーター、メタデータ、実験結果などを追跡する必要が生じます。 Git プラットフォームはこのレベルの複雑さに対応するように構築されていませんが、幸いなことに、AI と機械学習を使用して GitHub の制限を克服しようとするソリューションが登場しています。

AIと機械学習のためのGitHubの代替手段

AI および機械学習プロジェクトを管理するための包括的なソリューションを提供する GitHub に代わるものは存在しません。理想的なシナリオは、人工知能や機械学習に取り組むデータ サイエンティストやエンジニア向けにカスタマイズされた GitHub を提供することです。ただし、これが完了するまでは、上記のさまざまな問題に対処できる解決策があります。

  • Neptune は、機械学習オペレーティング システム用のメタデータ リポジトリ サービスであり、すべての機械学習モデル ビルドのメタデータを記録、保存、表示、整理、比較、およびクエリするための単一の場所を提供します。 Neptune を使用してデータ バージョンをアーカイブする方法についての情報を提供します。これには、モデル トレーニング実行内のデータセットのバージョン管理、実行間のデータセットの比較、データセット バージョンの整理と共有が含まれます。
  • Pachyderm は、機械学習のライフサイクルを強化するためのデータ レイヤーです。このシステムは、自動データバージョン管理と不変のデータ系統のためのソリューションを提供します。
  • DVC は、機械学習プロジェクト用に構築されたオープンソースのバージョン管理システムです。このツールにより、データ サイエンティストやエンジニアは、実験結果、バージョン管理モデル、データを保存および再現し、展開およびコラボレーション プロセスを確立できます。
  • Git Large File Storage (Git LFS) は、オーディオ サンプル、ビデオ、データセット、グラフィックなどの大きなファイルを Git 内のテキスト ポインターに置き換え、ファイルの内容をリモート サーバーに保存します。このツールは、オーディオやビデオ データセットなどの大きなファイルをバージョン管理するためのオープン ソースの Git 拡張機能です。開発者が大容量ファイルやバイナリファイルをより効率的に処理するのに役立ちます。
  • DoIt は、Git とまったく同じ方法でデータのフォーク、クローン、ブランチ、マージ、プッシュ、プルが可能な SQL データベースです。 DoIt は「データ用の Git」として位置付けられており、さまざまな他のユースケースで一貫したモデルの再現性を確保するためにバージョン追跡によく使用されますが、データ管理に関しては、前述の GitHub の欠点を克服できます。
  • LakeFS は、2 つのオープン ソースの有料 SaaS (Software-as-a-Service) バージョンで利用できるデータ管理ツールです。このソリューションは、データとコードの完全な再現性、高速なデータ復元、PB レベルのバージョン管理を重視しています。
  • DeltaLake は、S3、ADLS、GCS、HDFS などの既存のストレージ システム上に Lakehouse アーキテクチャを構築するオープン ソース プロジェクトです。機械学習に最適なソリューションの機能には、データ共有のためのオープン プロトコル、スケーラブルなメタデータ処理、データのバージョン管理、データに加えられたすべての変更の監査履歴を表示する機能などがあります。

<<:  適切な機械学習アルゴリズムを簡単に選択

>>:  AIが産業のデジタル変革をどのように促進するか

ブログ    
ブログ    

推薦する

マイクロソフトとグーグルのAIジレンマ:お金を稼ぐためにもっとお金を使う

7月26日のニュースによると、将来、人工知能はマイクロソフトやアルファベットなどのテクノロジー大手に...

...

プレイヤー同士のアライアンス形成が加速しているが、アライアンスは自動運転の新たな活路となり得るのか?

さまざまなメーカーが続々と参入し、スマートカー市場はますます熱を帯びています。このような背景から、ス...

著者の半数以上が中国人です! Google Researchの画像表現モデルALIGNがImageNetを支配

[[399343]]ニューラル ネットワークは実際には表現を学習しています。CV の分野では、優れ...

疫病と戦うための新しい技術!北京で3Dプリント/コピー防護マスクの開発に成功

流行は激しく、科学技術界は全力で流行と戦っています。北京化工大学の楊衛民教授は2月25日、21世紀ビ...

...

サイバーセキュリティの専門家が知っておくべきAI用語

人工知能の急速な発展により、私たちは第四次産業革命の真っ只中にいます。このデジタル時代において、サイ...

...

より強力なLlama 2はオープンソースであり、商用目的で直接使用できます。一夜にして、ビッグモデルの風景は変わりました。

一夜にして、ビッグモデルの状況は再び劇的に変化しました。写真Llama は常に AI コミュニティで...

...

AIチャットボット市場は2028年までに150億ドルに達する

AI チャットボットは、自然言語処理と機械学習を使用してユーザーとの人間の会話をシミュレートするソフ...

Pythonアルゴリズムを使用して取引する方法

投資管理会社でシステム開発エンジニアとして働いていたとき、定量金融で成功するには、数学、プログラミン...

このロボットはアリよりも小さく、電気なしで動くことができる

アリは小さくても、集団で行動すると侮れません。『アントマン』を観たことがある人なら分かると思います。...