断片化の解消、整然とした機械学習パイプラインへの挑戦

Getty Images

断片化(フラグメンテーション、さまざまな構成要素が円滑に連携できていないこと)はソフトウェアを殺す。断片化による亀裂は、エンタープライズソフトウェアの既存のブロック、アプリケーション全体、あるいはソフトウェアスイート全体に生じる可能性がある。同様に、より小さなソフトウェア部品やサービスにも亀裂や断絶が発生する。断片化が起きるとパイプからの漏れが発生する。

ソフトウェアの断片化を心配する私たちは、コードパイプラインで働くエンジニアと密接な連携を行ってきた。人工知能(AI)や機械学習(ML)の台頭は、データの連続性の穴を懸念させる新たな理由をもたらしている。なぜなら1つのひび割れを直しても、また別のひび割れが現れてしまうような果てしない徒労作業が要求される可能性があるからだ。

断片化されたMLが意味するのは貧弱なAI、スマートでない知能、そして高度なことが行えないアプリケーションだ。

エンド・ツー・エンドの意味とは


断片化との戦いの中で、よく使われる業界用語に出くわす。それが「エンド・ツー・エンド」だ。テクノロジー企業は「エンド・ツー・エンド」というラベルを安易に使いすぎている。つまり、堅牢なスケーラビリティの概念を示そうと、あらゆる製品、アプリ、ツールセットにこのラベルを貼り付けているのだ。エンド・ツー・エンドの本当の意味は、ソフトウェアのコードとデータ構造が、一方の端で構成されて始まり、内部で実行される必要のあるツールチェーン全体が動作し、そして、サービスを受けるために作られたエンドポイントであるマシン(もしくは人間)に結果が届けられるということだ。

実際のところ、強固なエンド・ツー・エンドのシステムとは、断片的なシステムの対極にあるものだ。

こうした問題に取り組む私たちはやがて、オープンソース企業ClearML(クリアML)にたどり着いた。ClearMLは、データサイエンス、MLOps(学習/運用)、DevOps(開発/運用)のチームが、MLワークフローの大規模な開発、オーケストレーション(協調動作)、自動化をできるように設計されたMLOpsプラットフォームを提供する。ClearMLはエンド・ツー・エンドのMLOpsスイートとして設計されているため、ユーザーや顧客はMLコードと自動化の開発に集中でき、作業の再現性と拡張性を確保することができる。

ここで言葉の定義をはっきりさせておくが、MLOpsとは、機械学習(ML)を運用(Ops)チーム(データベース管理者など)に適用するという意味ではなく、MLチームが単一の完全に統合されたプラットフォーム上でMLOpsプロセス全体を実行、管理、監視、監査、分析できるという意味である。なおClearMLを利用する場合、これらの作業すべてをたった2行のコードを追加すれば実行できるようになる。ただ逆説的な話だが、OpsがMLツールを使用するならば、究極的にはMLOpsは、Opsに適用されるMLとなり得る。とはいえ、第一義的には、どこで使われるかにかかわらず、MLを正しく理解し、技術の断片化を避けることが重要だ。
次ページ > ClearMLの誕生

翻訳=酒匂寛

ForbesBrandVoice

人気記事