Earth.comとProvectusがAmazon SageMakerを使用してMLOpsインフラストラクチャを実装する方法
Implementing MLOps infrastructure using Amazon SageMaker by Earth.com and Provectus.
このブログ記事は、ProvectusのMarat AdayevとDmitrii Evstiukhinと共同執筆しています。
機械学習(ML)モデルが本番環境に展開され、ビジネスの意思決定に活用される際、課題はしばしば複数のモデルを運用・管理することにあります。機械学習オペレーション(MLOps)は、この問題に対する技術的な解決策を提供し、中央集権的なプラットフォームでモデルを管理・監視・展開・ガバナンスすることで、組織の支援を行います。
スケールの大きいリアルタイム画像認識は、MLOpsの実装を必要とする複雑な技術問題でもあります。MLライフサイクルを効果的に管理することで、MLOpsは、リアルタイム画像認識アプリケーションの開発に関連するさまざまなデータ、モデル、コンセプトの変更に対応することができます。
そのようなアプリケーションの1つが、Earth.comが開発したAI駆動の画像認識アプリケーションであるEarthSnapです。EarthSnapは、スマートフォンのカメラを使用して、すべての種類の植物や動物を識別することができるようになっています。Earth.comは、環境、自然、科学に情熱を持つ愛好家向けの主要なオンラインプラットフォームです。
- Amazon SageMaker StudioでAmazon SageMaker JumpStartの独自の基盤モデルを使用してください
- A.I.はいつか医療の奇跡を起こすかもしれませんしかし今のところ、役立つのは書類作業です
- 3Dプリントされたセラミックはガスタービンの燃料効率を向上させる可能性がある
Earth.comのリーダーシップチームは、EarthSnapの膨大な可能性に着目し、最新のコンピュータビジョン(CV)のディープラーニング(DL)アーキテクチャを利用したアプリケーションを作成することを決定しました。しかし、手動で保守する必要があるさまざまな分離されたMLおよびインフラストラクチャコンポーネントからなるMLシステムを管理・スケーリングすることに課題がありました。EarthSnapを迅速に市場に投入するために、クラウドプラットフォームと、本番用のAI/MLソリューションを提供する実績のある戦略的パートナーが必要でした。そこで、Machine Learning、Data&Analytics、DevOpsの能力を持つAWS Premier Consulting PartnerであるProvectusが登場しました。
この投稿では、ProvectusとEarth.comが、管理されたMLOpsプラットフォームおよび管理されたAIサービスの一部として提供されるエンドツーエンドのMLパイプラインを実装することで、EarthSnapのAI駆動の画像認識機能を強化し、エンジニアリングの重労働を軽減し、管理コストを最小限に抑えることができた方法について説明します。
初期アプローチで直面した課題
Earth.comの経営陣は、EarthSnapの立ち上げを加速することを熱望していました。彼らはAmazon SageMakerを使用して画像認識モデルを構築することでAI/ML機能の開発を迅速に進め始めました。以下の図は、手動で順次実行される初期の画像認識MLワークフローを示しています。
Earth.comで開発されたモデルは、さまざまなノートブックに分散していました。データを処理してモデルを再学習するために、複雑なノートブックの一連の手順を手動で順次実行する必要がありました。エンドポイントも手動で展開する必要がありました。
Earth.comにはMLエンジニアリングチームがおらず、新しい種やモデルのリリースや改善、分離されたMLシステムのスケーリングが困難でした。
データインジェスション、前処理、モデルトレーニングのためのMLコンポーネントは、分離されたPythonスクリプトとノートブックとして提供され、エンジニアに多大な手間をかける必要がありました。
初期のソリューションには、技術的な第三者のサポートも必要でした。
ソリューションの最初のイテレーション
Provectusは、Earth.comの貴重なコラボレーターとして、EarthSnapのAI駆動の画像認識機能を強化するために重要な役割を果たしました。アプリケーションのワークフローは、Provectusの管理されたMLOpsプラットフォームと管理されたAIサービスを通じて提供されるエンドツーエンドのMLパイプラインを実装することで自動化されました。
プロジェクト発見セッションの一連のステップがProvectusによって開始され、EarthSnapの既存のコードベースを調べ、ノートブックスクリプトの在庫を調査し、既存のモデルの結果を再現することが目的でした。モデルの結果が復元された後、MLワークフローの分散したコンポーネントは、MLのための特別に構築されたCI/CDサービスであるAmazon SageMaker Pipelinesを使用して自動化されたMLパイプラインにマージされました。
最終的なパイプラインには、次のコンポーネントが含まれます。
- データQA&バージョニング – このステップは、Amazon Simple Storage Service(Amazon S3)からソースデータを取り込み、内部ルールに従ってフィルタリングされた有効な画像(URIおよびラベル)のみを含むメタデータを次のステップに準備するSageMaker Processingジョブとして実行されます。また、そのデータセットバージョンを再作成するために必要なすべての情報を含むマニフェストファイルをAmazon S3に永続化します。
- データの前処理 – これには、SageMaker処理ジョブとしてラップされた複数のステップが含まれ、順次実行されます。これらのステップは、画像を前処理し、RecordIO形式に変換し、画像をデータセット(全体、トレーニング、テスト、および検証)に分割し、SageMakerトレーニングジョブで消費されるように画像を準備します。
- ハイパーパラメータの調整 – SageMakerハイパーパラメータの調整ジョブは、トレーニングおよび検証セットのサブセットを入力として受け取り、フルトレーニングジョブのための最適なパラメーターを決定するために、小規模なトレーニングジョブのシリーズを実行します。
- フルトレーニング – SageMakerトレーニングジョブのステップは、ハイパーパラメーター調整ステップから最適なパラメーターを与えられた全データでトレーニングジョブを開始します。
- モデル評価 – 最終的なモデルのトレーニングが完了した後、SageMaker処理ジョブが実行されます。このステップにより、モデルのメトリクスを含む拡張レポートが生成されます。
- モデルの作成 – SageMaker ModelCreateステップは、モデルをSageMakerモデルパッケージにラップし、SageMakerモデルレジストリにプッシュします。
パイプラインが実行された後、すべてのステップは自動的に実行されます。パイプラインは以下のいずれかの方法で実行できます:
- 新しい変更がプライマリブランチにプッシュされ、パイプラインの新しいバージョンがupsertedされた後、AWS CodeBuildを使用して自動的に実行する(CI)
- Amazon API Gatewayを使用して自動的にトリガーできる(特定のAPI呼び出しでトリガーされる)
- Amazon SageMaker Studioで手動で実行
パイプラインの実行後(前述のいずれかの方法で起動される)、SageMakerエンドポイントとしてデプロイが可能なトレーニング済みモデルが生成されます。これは、まずモデルがモデルレジストリでPMまたはエンジニアによって承認される必要があることを意味し、その後、モデルはAmazon EventBridgeを使用してステージ環境に自動的にロールアウトされ、内部でテストされます。モデルが期待どおりに動作することが確認された後、本番環境にデプロイされます(CD)。
EarthSnapにおけるProvectusソリューションは、以下の手順で要約できます:
- 完全に自動化されたエンドツーエンドのMLパイプラインで開発者が新しいモデルをリリースしやすくする
- AI / MLをスムーズにするためのすべてのコンポーネントを備えた堅牢なMLインフラストラクチャを提供するために、パイプラインを構築する
- MLインフラストラクチャのプロビジョニング、メンテナンス、コストのモニタリングおよび最適化を含むマネージドAIサービスを提供することにより、ソリューションをサポートする
- AI / ML作業、データおよびデータベース操作、DevOpsを含む一連のエンゲージメントを通じて、EarthSnapを所望の状態(モバイルアプリケーションおよびバックエンド)にもたらす
基盤となるインフラストラクチャとプロセスが確立された後、モデルはより大きなデータセットでトレーニングされ、再トレーニングされました。しかし、この段階で、さらに大きなデータセットでモデルを拡張しようとしたとき、チームは追加の問題に遭遇しました。より高度で効果的にスケーリングできるように、ソリューションアーキテクチャを再構築する必要がありました。以下のダイアグラムは、EarthSnap AI / MLアーキテクチャを示しています。
EarthSnapのAI / MLアーキテクチャは、以下のAWSサービスを中心に設計されています:
- CodeBuild、API、マニュアルのいずれかの方法を使用して実行され、モデルをトレーニングしアーティファクトとメトリックを生成するSagemaker Pipelineが実行されます。その結果、新しいバージョンのモデルがSagemaker Model Registryにプッシュされます
- その後、モデルはモデルレジストリ内の内部チーム(PM /エンジニア)によってレビューされ、提供されたメトリックに基づいて承認/拒否されます
- モデルが承認されると、Amazon EventBridgeがモデルのステータス変更を追跡するために自動的にステージ環境にモデルバージョンが展開されます
- モデルがステージ環境のすべてのテストに合格した場合、モデルは本番環境にデプロイされます
最終的な解決策
必要なすべてのラベルセットに対応するために、EarthSnapのモデルの解決策には大幅な変更が必要でした。単一のモデルですべての種を組み込むことは、コストがかかり効率が悪いことが証明されました。最初に植物カテゴリが選択されました。
植物データの詳細な調査が行われ、内部特性に基づいてサブセットに分類されました。植物モデルの解決策は、マルチモデルの親子アーキテクチャを実装することで再設計されました。これは、植物データのグループ化されたサブセットで子モデルをトレーニングし、親モデルを各サブカテゴリからのデータサンプルのセットでトレーニングすることによって達成されました。子モデルは内部グループ化された種の正確な分類に使用され、親モデルは入力植物画像をサブグループに分類するために使用されました。この設計により、各モデルの異なるトレーニングプロセスが必要になり、別々のMLパイプラインが作成されました。この新しい設計により、以前に確立されたML / MLOps基盤とともに、EarthSnapアプリケーションはすべての重要な植物種を含めることができ、モデルのメンテナンスと再トレーニングに関する効率が向上しました。次のダイアグラムは、親子モデルの関係の論理的スキームを示しています。
再設計が完了した後、EarthSnapを駆動するAIソリューションが広範なユーザーベースによって生成される大量の負荷を管理できることを保証することが究極の課題でした。幸いなことに、管理されたAIオンボーディングプロセスには、ソリューションを本番環境に移行するために必要なすべての自動化、モニタリング、手順が含まれているため、さらなる資本投資は必要ありません。
結果
EarthSnapのAIによる画像認識機能を開発し、実装するためには数か月以内にすべてを完了する必要があったにも関わらず、Provectusは指定された期間内にすべてのプロジェクト要件を満たすことができました。たった3か月で、ProvectusはEarthSnapのMLソリューションを近代化し、製品化し、モバイルアプリケーションのリリースを公開可能な状態にしました。
MLとMLOpsのための近代化されたインフラストラクチャにより、Earth.comはエンジニアリングの負担を軽減し、EarthSnapのメンテナンスとサポートに関連する管理費用を最小限に抑えることができました。プロセスを効率化し、CI/CDとDevOpsのベストプラクティスを実装することにより、Provectusは、EarthSnapがより良いパフォーマンスを発揮しながら、適応性、弾力性、セキュリティを向上させることができました。革新と効率性に焦点を当て、すべてのユーザーにシームレスでユーザーフレンドリーなエクスペリエンスを提供しながら、EarthSnapが完璧に機能するようにしました。
管理されたAIサービスの一環として、Provectusはインフラストラクチャの管理オーバーヘッドを削減し、明確に定義されたSLAとプロセスを確立し、24時間365日のカバーとサポートを確保し、生産ワークロードと重要なリリースを含むインフラストラクチャの安定性を高めることができました。私たちは、管理されたMLOpsプラットフォームを提供し、MLエンジニアリングを強化するための一連の改善を開始しました。具体的には、AIによる画像認識アプリケーションの新しいMLモデルをリリースするのに、Earth.comが数日かかっていたものが、数分で完了するようになりました。
Provectusの支援により、Earth.comはスケジュールよりも早くApple StoreとPlayStoreでEarthSnapアプリケーションをリリースすることができました。早期リリースは、クライアントのために包括的な作業を行ったProvectusの重要性を示しています。
「Provectusと一緒に仕事をすることが非常に興奮しています。技術面の管理をProvectusに任せることができることは本当に素晴らしいことです。ビジネス面の開発以外のことを心配する必要がないということは、大きな安心感です。」
– EarthSnapの創設者兼CEOであるEric Ralls氏。
今後の協力の段階として、パイプラインに高度なモニタリングコンポーネントを追加し、モデルの再トレーニングを強化し、人間在中のステップを導入することが挙げられます。
結論
Provectusチームは、Earth.comが私たちと一緒にEarthSnapを近代化し続けることを望んでいます。会社の将来の拡大を支援し、自然現象をさらに普及させ、地球を保護するために私たちの役割を果たすことを楽しみにしています。
ProvectusのMLインフラストラクチャとMLOpsについてもっと学びたい場合は、Machine Learning Infrastructureを訪問し、より実践的なアドバイスを得るためにWebinarを視聴してください。また、Provectusの管理されたAIサービスについてもっと学ぶには、Managed AI Servicesを訪問してください。
組織内のMLとMLOpsの堅牢なインフラストラクチャを構築することに関心がある場合は、ML Acceleration Programに申し込んで開始してください。
Provectusは、ヘルスケアやライフサイエンス、小売やCPG、メディアやエンターテインメント、および製造業の企業が、AIを通じて目標を達成するのを支援しています。
Provectusは、AWS Machine Learning Competency Partnerであり、AIを基盤とした変革のコンサルタントおよびソリューションプロバイダーであり、AWS上でクラウドネイティブアプリケーションを設計、アーキテクチャ、移行、または構築するのを支援しています。
Provectusに連絡する | パートナー概要
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles