システムと機械学習を接続するための MLOps の課題は何ですか?この記事は明らかにしている

システムと機械学習を接続するための MLOps の課題は何ですか?この記事は明らかにしている

[[418732]]

機械学習は、人々がデータを利用し、データとやり取りする方法に革命をもたらし、ビジネス効率を向上させ、広告業界の状況を根本的に変え、ヘルスケア技術に革命をもたらしました。ただし、機械学習の影響と範囲を拡大し続けるには、開発パイプラインを改善する必要があります。機械学習システムの研究は、データベース システム、分散コンピューティング、アプリケーションの展開などの分野での数十年にわたる研究を機械学習の分野に持ち込むことで、このニーズを満たすことができます。さらに、モデルの並列処理を活用し、従来のソリューションを改善することで、システムの再設計を活用して機械学習を改善できます。

過去 10 年間で、機械学習 (ML) はさまざまな分野の無数のアプリケーションやサービスに不可欠な要素になりました。機械学習の急速な発展により、ヘルスケアから自動運転まで、多くの分野で大きな変化が起こっています。

実際のアプリケーションにおける機械学習の重要性の高まりにより、機械学習の実践に焦点を当てた新しい分野、つまり機械学習システム (略して MLOps) が生まれました。この分野では、コンピュータシステムと機械学習を結び付け、従来のシステム研究の観点から機械学習の新たな課題を検討します。

では、機械学習の課題は何でしょうか?カリフォルニア大学サンディエゴ校の博士課程の学生である Kabir Nagrecha 氏は、D. Sculley 氏の 2015 年の論文「機械学習システムにおける隠れた技術的負債」で提案されたアーキテクチャを使用して、一般的な ML システムの問題を説明して、そのコンポーネントを 1 つずつ分解します。

D. Sculley の論文の ML システム アーキテクチャ、出典: https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

Kabir Nagrecha 氏は、データの収集、検証、およびサービス提供タスクにおける課題に焦点を当て、近年システム開発においてますますコストのかかる部分となっているモデルトレーニングにおけるいくつかの問題について調査しました。

次に、それらを一つずつ分析します。

データ収集

学術研究者は CIFAR や SQuAD などのすぐに利用できるデータセットで満足していますが、業界の実務家はモデルトレーニング用にカスタムデータセットを手動で注釈付けして生成する必要があることがよくあります。ただし、特にドメイン知識が必要な場合、このようなデータセットの作成には非常にコストがかかる可能性があります。

したがって、これは ML システムの開発者にとって大きな課題となります。

どうすれば解決できるでしょうか?この問題に対する最も成功した解決策の 1 つは、システムと機械学習の分野の研究を活用したものです。たとえば、スタンフォード大学の研究者は、データ管理技術と自己教師あり学習を組み合わせて、2017 年の論文「Snorkel: 弱い教師による迅速なトレーニング データ作成」で、弱い教師ありのデータ プログラミング手法を提案しました。

彼らが提案した SnorkelAI は、データセットの作成をプログラミングの問題として扱い、ユーザーは弱く監視された注釈の機能を指定し、それらを組み合わせて重み付けすることで高品質のラベルを生成します。このようにして、専門家によって注釈が付けられた高品質のデータと、自動的に注釈が付けられた低品質のデータを融合して追跡し、モデル トレーニングが正確に重み付けされ、さまざまなレベルのラベル品質が完全に考慮されるようにすることができます。

SnorkelAI は、さまざまなソースからのラベルを組み合わせて、モデルがさまざまな品質のラベルを大規模に集約および改善できるようにします。画像出典: https://arxiv.org/pdf/1711.10160.pdf

このアプローチは、データベース管理システムにおけるデータ融合を彷彿とさせますが、機械学習への応用は、ML 専用の革新的な創造というよりも、転換と再設計です。システムと ML ドメインに共通する問題を特定し、データ ソースを組み合わせることで、従来のシステム手法を機械学習の設定に適用できます。

データ検証

データ検証はデータ収集のフォローアップです。データ品質は機械学習パイプラインにおける重要な問題です。メンテナーがシステム用に高品質のモデルを生成したい場合は、入力データも高品質であることを確認する必要があります。

この問題は機械学習の方法を調整しても簡単に解決できないため、ML システムの調整が必要になります。幸いなことに、機械学習のデータ検証は新しい問題ですが、データ検証は新しい問題ではありません。

TensorFlow Data Validation (TFDV) 関連の論文「機械学習のためのデータ検証」の記述を引用します。

データ検証は新しい問題でも機械学習に特有の問題でもありませんので、データベース システムなどの関連分野からの解決策を活用できます。しかし、機械学習のシナリオではデータ検証に特有の課題があり、既存のソリューションを再考する必要があると考えています。

もう一度、機械学習システムと従来のコンピュータ システム間の並行する課題を特定することで、機械学習向けの変更を加えて既存のソリューションを再利用することができます。

TFDV のソリューションは、データ管理システムで実績のあるソリューションであるスキーマを使用します。データベースは、データの入力と更新が指定された形式に従うようにプロパティを適用します。同様に、TFDV のデータ モデル システムは、モデルへのデータ入力に対していくつかのルールを適用します。

TFDV の ML データ検証用パターン システムにより、ユーザーは運用システムのデータ フィードにおける異常を回避できます。画像出典: https://mlsys.org/Conferences/2019/doc/2019/167.pdf

もちろん、機械学習システムと従来のパラダイムの違いを反映したいくつかの違いはあります。 ML モデルは、分布の変化に適応するためにリアルタイムでペースを維持して調整する必要があるだけでなく、システムのライフサイクル中にモデル自体に起こり得る変化も考慮する必要があります。

モデルトレーニング

ML 実践者にとって驚きとなるのは、モデル トレーニングがシステム最適化の領域に含まれていることです。結局のところ、機械学習アプリケーションの中で ML 技術に真に依存する領域が 1 つあるとすれば、それはトレーニングです。しかし、それでもシステム研究は役割を果たすことができます。

モデルの並列処理を例にとると、Transformer の登場により、さまざまな応用 ML 分野でモデル サイズが大幅に増加しました。数年前、BERT-Large モデルのパラメータ数は 3 億 4,500 万でしたが、現在では Megatron-LM によってそれが 1 兆以上に増加しています。

これらのモデルのメモリコストはすでに数百 GB に達しており、どの GPU もそれを保持できません。従来のソリューションであるモデルの並列化では、モデルを異なるデバイスに分割して、対応するメモリ コストを分散するという比較的単純なアプローチを採用しています。

従来のモデルの並列化は、ニューラル ネットワーク アーキテクチャの順次的な性質の影響を受けます。効率的な並列コンピュータは限られています。

ただし、この手法には、モデルが本質的に順次的であり、モデルをトレーニングするにはレイヤー間でデータを前後に渡す必要があるという問題もあります。したがって、一度に使用できるのは 1 つのレイヤーと 1 つのデバイスのみです。この状況は、機器の深刻な利用不足につながります。

システム研究はどのように補助的な役割を果たすことができるのでしょうか?

ディープ ニューラル ネットワークを例に挙げてみましょう。これを最小のコンポーネントに分解すると、データを変換する一連の演算子として考えることができます。トレーニングとは、データを演算子に渡し、勾配を生成し、その勾配を再び演算子にフィードバックし、最後に演算子を更新するプロセスを意味します。

このレベルの分解の後、モデルは CPU の命令パイプラインなどの他の段階的な操作に似たものになり始めます。 Googleが2019年に論文「GPipe: マイクロバッチパイプライン並列処理による簡単なスケーリング」で提案したGPipeシステムと分散タスク処理システムHydraは、このCPU並列命令を通じてスケーラビリティと並列性にシステム最適化を適用しようと試みたものである。

その中で、GPipe システムは、この CPU 並列命令を通じてモデル トレーニングをパイプライン問題に変換します。モデルの各パーティションはパイプラインの異なるステージとして扱われ、ミニバッチはパーティションごとにランク付けされ、使用率を最大化します。

シーケンス モデルの並列化における SOTA - パイプラインの並列化により、ミニバッチ トレーニングを並列で処理できます。ただし、同期のオーバーヘッドは、特に順方向パスと逆方向パスの変換中に非常に高くなります。

ただし、バックプロパゲーションではこれらのステージが逆の順序で再利用されることに注意してください。つまり、フォワード パイプラインが完全にブロック解除されるまで、バックワード伝播は開始できません。それでも、この手法により、モデルの並列トレーニングを 8 つの GPU で最大 5 倍高速化できます。

Hydra は、スケーラビリティと並列処理を 2 つの異なるステップに分割するという異なるアプローチを採用しています。データベース管理システムの一般的な概念はスピルであり、余分なデータはメモリ階層の下位レベルに送信されます。 Hydra は、モデル並列処理における順次計算を最大限に活用し、非アクティブなモデル パーティションを CPU で処理する必要がないことを確認します。代わりに、Hydra は不要なデータを DRAM に吐き出し、GPU 上のモデル パーティションを断続的に切り替えて、従来のモデルの並列実行をエミュレートします。

Hydra のモデル オーバーフロー テクノロジーは、GPU 実行の高速化の利点を維持しながら、ディープラーニング トレーニングのコストを GPU メモリではなく DRAM に移行します。

この方法では、一度に 1 つの GPU のみを使用してモデルをトレーニングできます。したがって、ある程度のタスクの並列処理を導入するのは簡単です。各モデルは、サイズに関係なく、システムが各 GPU を最大限に活用できるように、一度に 1 つの GPU のみを必要とします。 8 個の GPU を使用すると、7.4 倍を超えるほぼ最適な高速化を実現できます。

ただし、モデルの並列処理は、システム研究がモデルトレーニングにもたらすことができることのほんの始まりにすぎません。その他の潜在的な貢献としては、データ並列処理 (PyTorch DDP など)、モデル選択 (Cerebro やモデル選択管理システムなど)、分散実行フレームワーク (Spark や Ray) などがあります。モデルのトレーニングは、システム最適化の研究に適した分野です。

モデルサービング

結局のところ、機械学習モデルは使用するために構築されます。モデルの提供と予測は、機械学習の実践において最も重要な分野の 1 つであり、体系的な研究が最も大きな影響を与える分野の 1 つです。

予測は、オフライン展開とオンライン展開という 2 つの主な設定に分けられます。

  • オフライン展開は比較的簡単で、不定期に実行される単一の大規模なバッチ予測ジョブが含まれます。一般的な設定には、ビジネス インテリジェンス、保険評価、ヘルスケア分析などがあります。
  • オンライン展開はネットワーク アプリケーションであり、ユーザーがクエリに対して高速な応答を望む場合、高速で低遅延の予測が必要です。

オフライン展開とオンライン展開には、それぞれ独自のニーズと要件があります。通常、オフライン展開では、多数の例を迅速に処理するための高スループットのトレーニング プロセスが必要であり、オンライン展開では、一度に複数の予測を行うのではなく、単一の予測に対して非常に高速なターンアラウンド タイムが必要です。

システム研究により、オフライン展開とオンライン展開の両方でタスクを処理する方法が刷新されました。カリフォルニア大学サンディエゴ校の研究者が論文「ディープ CNN 推論を加速するための増分および近似計算」で提案した Krypton ツールを例に挙げてみましょう。このツールは、ビデオ分析を「マルチクエリ最適化 (MQO)」タスクとして再考します。

MQO は新しい分野ではなく、何十年もの間リレーショナル データベース設計の一部となってきました。基本的な考え方は単純です。異なるクエリが関連するコンポーネントを共有し、それを保存して再利用することができます。 Krypton ツールは、ビデオ分析などでは、CNN 推論が関連する画像のバッチに対して実行されることが多いことを観察します。

一般的に、ビデオは高いフレーム レートで生成されるため、隣接するフレームは比較的一貫している傾向があります。フレーム 1 の情報のほとんどは、フレーム 2 にも残っています。この状況は、一連のタスク間で情報が共有される MQO と明らかに似ています。

Krypton は最初のフレームで通常の推論を実行し、予測プロセス中に CNN によって生成された中間データを視覚化または保存します。後続の画像は最初のフレームと比較され、画像内のどのパッチが再計算を必要とするほど変化したかが判断されます。パッチが決定されると、Krypton は CNN を通じてパッチの「変更ドメイン」を計算し、モデルの全体的な状態でどのニューロン出力が変化したかを判断します。ニューロンは変更されたデータに基づいて再実行され、残りのデータはベース フレームからそのまま再利用されます。

その結果、推論ワークロードのエンドツーエンドのスピードが 4 倍以上向上し、古いデータの精度の低下はわずかです。このランタイムの改善は、セキュリティ映像のビデオ分析などの長時間実行されるストリーミング アプリケーションにとって重要です。

Krypton はモデル推論に重点を置いた唯一のツールではありません。カリフォルニア大学バークレー校の研究者が論文「Clipper: 低遅延オンライン予測サービス システム」で提案した Clipper や TensorFlow Extended などの他のツールは、システム最適化とモデル管理技術を使用して効率的で堅牢な予測を提供し、効率的な予測サービスという同じ問題を解決します。

<<:  高校生のアルゴリズム「y-cruncher」が円周率の精度の世界記録を更新した

>>:  機械が壁の建設を手伝うことがなぜそんなに難しいのでしょうか?これは人類の100年にわたる闘争の歴史である

ブログ    
ブログ    

推薦する

中国では人工知能が非常に人気のある職業になる

中国IDCサークルニュース:中国のオンライン求人プラットフォームBoss Zhipinは、中国政府が...

AIアルゴリズムが軍用無人車両への中間者攻撃を検出

研究者らは、軍用無人車両に対する中間者攻撃を検出できる人工知能アルゴリズムを開発した。ロボットオペレ...

...

北京ソフトウェア協会が「人工知能委員会」の設立準備を進め、アジアインフォテクノロジーズの欧陽葉博士が委員長に選出される

10月26日、中国科学技術協会社会サービスセンターの支援を受けて、北京ソフトウェア情報サービス協会(...

レポート:AI脅威論は誇張されている:導入と保守のコストが高いため、影響はそれほど早く広範囲に及ぶことはない

MITコンピュータ科学・人工知能研究所(MIT CSAIL)は3月3日、現段階では人間はAIに仕事を...

このバイオメディカル AI アプリケーションは信頼できますか?まずはシリコンバレーのトップベンチャーキャピタリストに6つの質問に答えてください

[[375650]]生物学分野における人工知能の応用は飛躍的に進歩しています。創薬、診断開発からヘル...

トレンディで無料! 2024 年に持つ価値のある 8 つの「チート」ツール!

編纂者:Xing Xuan企画 | ヤン・ジェン制作:51CTO テクノロジースタック(WeChat...

自動車技術が新たな時代を切り開きます!メルセデス・ベンツ、BMW、Google、Amazon、Qualcommの次世代レイアウト!

編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:blog)次世代のス...

AI 音声ジェネレーターとは何ですか? どのように機能しますか?

近年、AI 音声ジェネレーターは、人々が機械と対話し、デジタル コンテンツを受け取る方法を変える強力...

信頼とセキュリティの分野におけるデータサイエンスの典型的な 7 つの使用例

信頼とセキュリティとは何でしょうか? 現在の世界ではどのような役割を果たしているのでしょうか? 多く...

カルパシーはOpenAIの内部闘争中にビデオを録画しました:大規模言語モデル入門がオンラインです

OpenAIでの混乱はひとまず終息し、社員たちは忙しく「仕事」をしている。今年初めに OpenAI ...

2019 Baidu AI 開発者会議で AI レポートカードが披露される

7月3日、北京で百度AI開発者会議「Baidu Create2019」が開催された。この会議は「産業...

...

食品産業における人工知能:農家の意思決定を支援する

人工知能は食品システムを最適化できると思いますか? 精密農業からパーソナライズされた栄養管理まで、農...