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ボーイフレンドに変えた女性プログラマーは何を考えているのか?

AIを搭載した「セックスロボット」については多くの議論がなされている。しかし、多くの人々、特に女性...

...

...

...

Baidu World 2018 の開会式で最初の切り札が切られました。Baidu AI City が新しい世界への機関車としてスタートしました!

スマートカーからスマート道路、スマートシティまで、「複雑な世界をよりシンプルに」という百度の使命によ...

人工知能は目覚めたのか?アマゾンの人工知能は人間の命令を聞かず不気味な笑い声を上げる

人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...

インタラクティブな推測 | ワールドカップとブラックテクノロジーが出会ったとき、最終的な勝者は誰になるでしょうか?

[オリジナル記事は51CTO.comより] 2018年ロシアワールドカップはエキサイティングな決勝...

AIでAIを守る、次世代のAIベースのサイバー脅威ソリューション

多くの関係者は、AI が「悪」の力にもなり得るという事実を受け入れ始めています。関連する海外メディア...

特許出願は世界中に広がっています!中国の新興人工知能についてあなたが知らないこと

待望の2020年世界インターネット会議が先日、烏鎮で開催されました。中国サイバースペースアカデミーが...

AIと自動化でコンプライアンスコストを削減する5つの方法

規制は消費者と市場を保護するために設けられていますが、多くの場合、規制は複雑であり、遵守にはコストが...

...

ロボティック プロセス オートメーション (RPA) を構築するための基本知識とベスト プラクティス

[[442548]]世界中でロボティックプロセスオートメーション (RPA) が使用され、ビジネスの...

...

自動運転テストシステムを1つの記事で理解する

[[433515]]自動運転のテストは非常に複雑なシステムです。この記事では、小さなものから大きなも...

AI 開発の加速: 企業はどのように MLOps を使用して生産効率を向上できるでしょうか?

企業が初めて AI を導入し、機械学習プロジェクトを構築するときは、理論に重点を置くことがよくありま...