Amazon SageMakerを使用してSaaSプラットフォームを統合し、MLパワードアプリケーションを実現します

Using Amazon SageMaker, integrate SaaS platforms and create ML-powered applications.

Amazon SageMakerは、データの取り込み、変換、バイアスの測定、モデルのトレーニング、展開、管理など、幅広い機能を備えたエンドツーエンドの機械学習(ML)プラットフォームです。Amazon SageMaker Data Wrangler、Amazon SageMaker Studio、Amazon SageMaker Canvas、Amazon SageMaker Model Registry、Amazon SageMaker Feature Store、Amazon SageMaker Pipelines、Amazon SageMaker Model Monitor、Amazon SageMaker ClarifyなどのAmazon SageMakerの優れたコンピュートとサービスを利用することができます。多くの組織がSageMakerをMLプラットフォームとして選択しているのは、開発者やデータサイエンティスト向けの共通のツールセットを提供しているからです。AWSの独立系ソフトウェアベンダー(ISV)パートナーの多くは、SaaSプラットフォームのユーザーがSageMakerとそのさまざまな機能、トレーニング、展開、モデルレジストリを利用するための統合を既に構築しています。

この記事では、SaaSプラットフォームがSageMakerと統合することの利点、可能な統合の範囲、およびこれらの統合を開発するプロセスについて説明します。さらに、これらの統合を容易にするための最も一般的なアーキテクチャとAWSリソースについて詳しく説明します。これにより、ISVパートナーや他のSaaSプロバイダーが同様の統合を構築する際の市場参入までの時間を短縮し、SaaSプラットフォームのユーザーであるお客様がこれらの統合に関してSaaSプロバイダーと協力することを促進することを目指しています。

SageMakerとの統合の利点

SaaSプロバイダーがSageMakerとそのSaaSプラットフォームを統合することには、以下の利点があります:

  • SaaSプラットフォームのユーザーは、SageMakerの包括的なMLプラットフォームを活用することができます
  • ユーザーは、SaaSプラットフォーム内または外部のデータを使用してMLモデルを構築し、これらのMLモデルを利用することができます
  • ユーザーは、SaaSプラットフォームとSageMakerの間でシームレスな体験を提供されます
  • ユーザーは、Amazon SageMaker JumpStartで利用可能な基本モデルを活用して生成型AIアプリケーションを構築することができます
  • 組織はSageMakerを標準化できます
  • SaaSプロバイダーは、コアの機能に集中し、MLモデルの開発にSageMakerを提供できます
  • SaaSプロバイダーは、AWSと共同ソリューションを構築し、市場に参入する基盤を持つことができます

SageMakerの概要と統合オプション

SageMakerには、MLライフサイクルの各ステップに対応するツールが用意されています。SaaSプラットフォームは、データのラベリングと準備からモデルのトレーニング、ホスティング、モデルの監視、管理まで、さまざまなコンポーネントを使用してSageMakerと統合することができます。顧客のAWSアカウントまたはSaaSのAWSアカウントのいずれかでMLライフサイクルのすべてまたは一部を実行し、AWS Identity and Access Management(IAM)ポリシーまたはサードパーティのユーザーベースのアクセスツールを使用してデータとモデルをアカウント間で共有することができます。この統合の柔軟性により、SageMakerは顧客とSaaSプロバイダーが標準化するための理想的なプラットフォームとなっています。

統合プロセスとアーキテクチャ

このセクションでは、統合プロセスを4つの主要なステージに分割し、一般的なアーキテクチャについて説明します。これらに加えて、一般的でないが他の統合ポイントも存在することに注意してください。

  • データアクセス – SaaSプラットフォームにあるデータがSageMakerからアクセスされる方法
  • モデルのトレーニング – モデルがトレーニングされる方法
  • モデルのデプロイとアーティファクト – モデルがデプロイされる場所と生成されるアーティファクト
  • モデルの推論 – SaaSプラットフォームでの推論の方法

以下の図は、SageMakerが顧客のAWSアカウントで実行されている場合を想定しています。SageMakerがSaaSのAWSアカウントで実行されている場合でも、ほとんどの説明されたオプションは適用可能です。一部の場合、ISVは顧客のAWSアカウントにソフトウェアを展開する場合があります。これは通常、専用の顧客のAWSアカウントで行われます。つまり、SageMakerが実行されている顧客のAWSアカウントへのクロスアカウントアクセスが依然として必要です。

SaaSプラットフォームにあるデータがSageMakerからアクセスされる場合や、SaaSプラットフォームからMLモデルが呼び出される場合に、AWSアカウント間の認証をどのように実現するかはいくつかの異なる方法があります。推奨される方法はIAMロールを使用することです。別の方法として、アクセスキーIDとシークレットアクセスキーから構成されるAWSアクセスキーを使用する方法もあります。

データアクセス

SAASプラットフォーム内のデータには、SageMakerからアクセスするための複数のオプションがあります。データはSageMakerノートブック、SageMaker Data Wrangler、またはSageMaker Canvasからアクセスすることができます。一般的なデータアクセスオプションは次のとおりです:

  • SageMaker Data Wrangler組み込みコネクタ – SageMaker Data Wranglerコネクタは、SaaSプラットフォームからデータをインポートし、MLモデルのトレーニングのために準備することを可能にします。このコネクタはAWSとSaaSプロバイダによって共同で開発されています。現在のSaaSプラットフォームのコネクタには、DatabricksとSnowflakeが含まれます。
  • SAASプラットフォームのためのAmazon Athena Federated Query – Federated queriesを使用すると、ユーザーはSageMakerノートブックからカスタムコネクタを介してAmazon Athenaを使用してプラットフォームをクエリすることができます。このカスタムコネクタはSaaSプロバイダによって開発されます。
  • Amazon AppFlow – Amazon AppFlowを使用すると、カスタムコネクタを使用してデータをAmazon Simple Storage Service(Amazon S3)に抽出し、その後SageMakerからアクセスすることができます。SaaSプラットフォームのコネクタは、AWSまたはSaaSプロバイダによって開発されることがあります。オープンソースのCustom Connector SDKを使用すると、PythonまたはJavaを使用してプライベート、共有、またはパブリックコネクタを開発することができます。
  • SaaSプラットフォームSDK – SaaSプラットフォームにPython SDKなどのSDK(ソフトウェア開発キット)がある場合、これを使用してSageMakerノートブックからデータに直接アクセスすることができます。
  • その他のオプション – これらに加えて、SaaSプロバイダがAPI、ファイル、またはエージェントを介してデータを公開しているかどうかによって、他のオプションが存在する場合があります。エージェントはAmazon Elastic Compute Cloud(Amazon EC2)またはAWS Lambdaにインストールすることができます。また、AWS Glueやサードパーティの抽出、変換、ロード(ETL)ツールを使用してデータの転送を行うこともできます。

以下の図は、データアクセスオプションのアーキテクチャを示しています。

モデルのトレーニング

モデルは、データサイエンティストによってSageMaker Studioでトレーニングされることもありますし、データサイエンティストではない人でもAmazon SageMaker Autopilotを使用してトレーニングされることもあります。また、ビジネスアナリストによってSageMaker Canvasでトレーニングされることもあります。SageMaker Autopilotは、特徴エンジニアリング、アルゴリズムの選択、ハイパーパラメータの設定など、MLモデルの構築における重要な作業を代替します。また、SaaSプラットフォームに直接統合することも比較的容易です。SageMaker Canvasは、MLモデルのトレーニングのためのノーコードビジュアルインターフェースを提供します。

さらに、データサイエンティストは、SageMaker JumpStartで利用可能な事前トレーニング済みモデルを使用することもできます。これには、Alexa、AI21 Labs、Hugging Face、Stability AIなどのソースからの基礎モデルが含まれます。これらのモデルを調整して、独自の生成型AIユースケースに適用することができます。

また、モデルは、モデルアーティファクトにアクセス可能で読み取り可能である限り、サードパーティやパートナーが提供するツール、サービス、およびインフラストラクチャでトレーニングすることもできます。

以下の図は、これらのオプションを示しています。

モデルの展開とアーティファクト

モデルのトレーニングとテストが完了した後、モデルをSageMakerモデルエンドポイントにデプロイするか、SageMakerからエクスポートしてSaaSプラットフォームのストレージにインポートすることができます。モデルは、pickle、joblib、およびONNX(Open Neural Network Exchange)などの一般的なMLフレームワークがサポートする標準形式で保存およびインポートすることができます。

MLモデルがSageMakerモデルエンドポイントに展開された場合、追加のモデルメタデータをSageMaker Model Registry、SageMaker Model Cards、またはS3バケット内のファイルに保存することができます。これには、モデルバージョン、モデルの入力と出力、モデルメトリクス、モデル作成日、推論仕様、データのラインナップ情報などが含まれます。モデルパッケージに利用可能なプロパティがない場合、データはカスタムメタデータとして保存されるか、S3ファイルに保存されます。

このようなメタデータを作成することで、SaaSプロバイダはMLモデルのエンドツーエンドのライフサイクルをより効果的に管理することができます。この情報は、SaaSプラットフォームのモデルログに同期させ、MLモデルに対する変更と更新を追跡するために使用することができます。その後、このログは、SaaSプラットフォームでそのMLモデルを使用するダウンストリームデータとアプリケーションを更新する必要があるかどうかを判断するために使用することができます。

以下の図は、このアーキテクチャを説明しています。

モデルの推論

SageMakerでは、MLモデルの推論には4つのオプションがあります:リアルタイム推論、サーバーレス推論、非同期推論、バッチ変換です。最初の3つの場合、モデルはSageMakerモデルエンドポイントにデプロイされ、SaaSプラットフォームはAWS SDKを使用してモデルを呼び出します。推奨されるオプションはPython SDKを使用することです。これらの各オプションの推論パターンは、predict()メソッドまたはpredict_async()メソッドを使用することで類似しています。ロールベースのアクセスにより、クロスアカウントアクセスを実現することができます。

Amazon API Gatewayでバックエンドを保護することも可能であり、これにより、保護されたプライベートネットワーク内でLambda関数を介してエンドポイントを呼び出すことができます。

バッチ変換の場合、まずSaaSプラットフォームからデータをバッチでカスタマーのAWSアカウントのS3バケットにエクスポートする必要があります。その後、このデータ上でバッチで推論を行います。推論は、トランスフォーマージョブまたはオブジェクトを作成し、データのS3ロケーションを指定してtransform()メソッドを呼び出すことで行われます。結果はデータセットとしてバッチでSaaSプラットフォームにインポートされ、バッチパイプラインジョブの一部としてプラットフォーム内の他のデータセットと結合されます。

推論の別のオプションは、SaaSアカウントのコンピュートクラスターで直接行うことです。これは、モデルがSaaSプラットフォームにインポートされている場合に該当します。この場合、SaaSプロバイダーは、ML推論に最適化されたさまざまなEC2インスタンスから選択することができます。

以下の図は、これらのオプションを示しています。

統合の例

いくつかのISVは、SaaSプラットフォームとSageMakerの間で統合を構築しています。いくつかの例統合について詳しくは、以下を参照してください:

  • Amazon SageMakerを使用したデータ中心の人工知能の有効化:Snowflakeとの統合
  • Amazon SageMaker AutopilotとDomoを使用した誰でものための機械学習
  • AWSとDomino Data Labでモデルのエンドツーエンドの開発、モニタリング、およびメンテナンスのアーキテクチャ

結論

この記事では、SaaSプロバイダーがSageMakerをSaaSプラットフォームに統合する方法と理由について、プロセスを4つのパートに分けて一般的な統合アーキテクチャをカバーして説明しました。SageMakerとの統合を構築するためにSaaSプロバイダーはこれらのアーキテクチャを利用することができます。この記事でカバーされていない他のSageMakerコンポーネントを含むカスタム要件がある場合は、AWSアカウントチームに連絡してください。統合が構築され、検証された後、ISVパートナーはSageMakerのAWS Service Ready Programに参加し、さまざまな特典を利用することができます。

また、SaaSプラットフォームのユーザーであるお客様には、Amazon SageMakerとの統合に関心を登録し、AWSアカウントチームと連絡を取るようお願いいたします。これにより、SaaSプロバイダーの開発を進めるためのインスピレーションとプログレスに役立つことがあります。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「新しいAIの研究が、化学的な匂いを説明する能力において、機械学習モデルが人間レベルのスキルを達成することを示している」という

神経科学における基本的な課題は、刺激の物理的特性と知覚的特性の関連性を理解することです。視覚の色や聴覚の音高のように...

機械学習

「DISCOに会おう:人間のダンス生成のための革新的なAI技術」

生成AIは、コンピュータビジョンのコミュニティで大きな関心を集めています。テキストに基づく画像およびビデオ合成の最近の...

機械学習

マイクロソフトのAIチームがNaturalSpeech 2を発表:強力なゼロショット音声合成と向上した感情表現のための潜在的拡散モデルを備えた最先端のTTSシステム

テキストから音声(TTS)の目標は、それがリアルな人が話したような高品質で多様な音声を生成することです。プロソディ、話者...

コンピュータサイエンス

「AIツールにより、アジア系のMIT学生のプロフェッショナルなヘッドショットが白人に変わる」

「これは間違いなく問題だと思います」と王ロナさんは述べ、「ソフトウェアを作る人々がこのようなバイアスに気付き、それら...

機械学習

「Inside LlaVA GPT-4Vのオープンソースの最初の代替案」

数週間前、OpenAIはGPT-4で新しい画像および音声処理の機能を公開しました基本的に、AIラボはGPT-4 Vision(GPT-4V)という新...

データサイエンス

このAI論文は、TreeOfLife-10Mデータセットを活用して生物学と保護のコンピュータビジョンを変革するBioCLIPを紹介しています

生態学、進化生物学、生物多様性など、多くの生物学の分野が、研究ツールとしてデジタルイメージおよびコンピュータビジョン...