Amazon Web Services ブログ

Category: SageMaker

Amazon Sagemaker 推論モデルを構築、テストし、AWS Lambda にデプロイする

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習 (ML) モデルを迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。ML モデルをデプロイすると、Amazon SageMaker は ML ホスティングインスタンスを活用してモデルをホストし、推論を提供する API エンドポイントを提供します。AWS IoT Greengrass も使用できます。 ただし、異なるターゲットへのデプロイを可能にする Amazon SageMaker の柔軟性のおかげで、AWS Lambda でモデルをホストするといくつかの利点が得られる場合があります。たとえば、GPU が必要な場合、すべてのモデルを AWS Lambda でホストできるわけではありません。また、AWS Lambda のデプロイパッケージのサイズなどのその他の制限があり、この方法を使用できない場合があります。AWS Lambda を使用できる場合、このアーキテクチャには、低コスト、イベントトリガー、シームレスなスケーラビリティ、スパイクリクエストなどの利点があります。たとえば、モデルが小さく、頻繁に呼び出されない場合、AWS Lambda を使用する方が安価な可能性があります。 この記事では、推論を提供する Lambda 関数を構築、テスト、デプロイするためのパイプラインを作成します。 前提条件 読者は Amazon SageMaker、AWS CloudFormation、AWS Lambda、および AWS Code* スイートの使用経験があると想定しています。 アーキテクチャの説明 CI/CD のパイプラインを作成するには、AWS 開発者用ツールを使用します。このスイートは、AWS CodeDeploy、AWS CodeBuild、および AWS CodePipeline を使用します。以下にアーキテクチャの図を示します。 Amazon SageMaker を使用してモデルをトレーニングすると、出力モデルが […]

Read More

Amazon SageMaker で PyTorch を使用するグローバル最適化のためのディープニューラルネットベースの代理関数の構築

最適化とは、設計変数と呼ばれる入力に依存する関数の最小値 (または最大値) を求めるプロセスです。お客様 X には次のような問題があります。このお客様は、最大の燃料効率のために設計される新しい自動車モデルをリリースしようとしています。実際の場合、エンジン、トランスミッション、サスペンションなどに関連するチューニングパラメータを示す何千ものパラメータがあり、それらの組み合わせは様々な燃料効率値を生じます。 しかし、この記事では、特定の速度で走行する場合に燃焼される 1 時間あたりの燃料量 (ガロン単位) としてこの効率性を測定し、その他すべてのパラメータは変化しないと仮定します。従って、最小化される「関数」は「1 時間ごとに燃焼される燃料量 (ガロン単位)」になり、設計変数は「速度」になります。 この一次元最適化問題は、「1 時間ごとに燃焼される燃料量を最小限化するには、どの速度で車を走行させるべきか」という問題を提起します。これは、考慮される何千もの実際のパラメータを大幅に簡素化したものです。 目的関数 (f) が以下の合成関数のようになると仮定します。 f(x) = x⋅sin(x)+x⋅cos(2x) x および y 軸の単位を無視して、青矢印で示されているこの関数の最小値を探すのが今回のタスクになります。単一次元を扱っている場合でさえも、すべての速度値 (速度は実数) で車を走行させるのは非現実的です。 この記事では、実験を 30 回行う予算があるとします。各「実験」では、テスト装置上で車をその速度で走行させ、1 時間ごとに燃焼された燃料の平均値を測定し、収集します。こうすることで、速度の 30 の値に対応する燃焼された燃料の 30 の値だけが得られ、それ以外は得られません。また、最小値 (図の青矢印) で示されている速度の値で実施された実験が存在するという保証もありません。 各実験のセットアップには、実際に数時間かかる場合があります。このような実験を特定回数以上実施することは現実的ではないため、このタイプの関数は高コストなブラックボックス関数と呼ばれます。この関数が高コストなのは値を返すまでに時間がかかるためで、ブラックボックスと呼ばれるのは実施された実験を数式で記述できないからです。 最適化研究分野の全体が、これらのような問題を解決するアルゴリズムの作成を目的としています。この記事では、上記の関数 (f) を近似化するために、ニューラルネットワークを使用します。「代理モデル」としても知られる関数の訓練された近似化は、実際の実験の代わりに使用することができます! 訓練されたモデルが実際の関数の良好な近似化であるならば、任意の値の速度 (入力) に対して燃焼された燃料 (出力) を予測するためにこのモデルを使用できます。 技術的なアプローチ これらすべてのステップを詳しく説明するサンプルの Jupyter ノートブックについては、Build a Deep Neural Global Optimizer を参照してください。 […]

Read More

AWS Batch および Amazon SageMaker を使用したマルチリージョンサーバーレス分散型トレーニング

AWS でグローバル展開を築き、スケールにアクセスすることは、数多くのベストプラクティスの 1 つです。そのような規模とデータの効率的な利用 (パフォーマンスとコストの両方) を実現するアーキテクチャを作成することで、重要なアクセスが規模であることを確認できます。たとえば、自動運転車両 (AV) の開発では、データは運転キャンペーンにローカルで地理的に獲得されます。機械学習 (ML) から生成データと同じ AWS リージョンでの計算パイプライン実行することに至るまで、関連性があり、より効率的です。 さらに工夫するために、たとえば、組織が米国のサンフランシスコで運転キャンペーンの 4K ビデオデータを獲得したとします。並行して、あなたの同僚がドイツのスタっとガードの運転キャンペーンを取得したとします。両方のビデオキャンペーンにより、1 日当たり数テラバイトのデータを得ることができます。理想的には、そのデータをあなたの生成場所に近いリージョンに転送します。(この場合は、us-west-1とeu-central-1)です。ワークフローがこのデータにラベルを付けると、それぞれのリージョンにローカルの分散型トレーニングを実行することで、コストとパフォーマンスの観点から理に適う一方で、両方のデータセットをトレーニングするために使用されるハイパーパラメーターの一貫性が維持されます。 AWS の分散型トレーニングを開始するには、Amazon SageMaker を使用します。これは、分散型トレーニング (たとえば、Horovod で最適化された TensorFlow) で必要な差別化されないヘビーリフティングの大部分をプロビジョニングします。さらに、1 秒当たりの課金により、効率的なコスト管理をもたらします。これらの利点により、完全管理型のアーキテクチャにおけるモデル開発とデプロイに労力をかけなくても済むようになります。 Amazon SageMaker は管理型 ML サービスのエコシステムであり、地上検証によるラベリング、モデルトレーニング、ハイパーパラメーターの最適化、デプロイを支援します。これらのサービスは、Jupyter notebooks、AWS CLI、または Amazon SageMaker Python SDK を使用してアクセスできます。SDK では特に、ML ワークロードを初期化し、分散させるために少しのコード変更が必要です。 上記のアーキテクチャでは、S3 バケットはトレーニング入力ファイルのソースとしての役割を果たします。SageMaker Python SDK は、必要な計算リソースと Docker イメージをインスタンス化して、S3 からデータをソーシングするモデルトレーニングを実行します。出力モデルアーティファクトは、出力 S3 バケットに保存されます。 Amazon SageMaker Python SDK は、インフラストラクチャデプロイを抽象化し、完全に API […]

Read More

Amazon SageMaker の TensorFlow Serving を使用したバッチ推論の実行

TensorFlow モデルをトレーニングしてエクスポートした後で、Amazon SageMaker を使用して、モデルを使用した推論を実行します。以下のいずれかを行うことができます。 モデルからリアルタイムの推論を取得するために、エンドポイントにモデルをデプロイします。 Amazon S3 に保存されたデータセット全体に対する推論を取得するために、バッチ変換を使用します。 バッチ変換の場合、ラージデータセットで高速で最適化されたバッチ推論を実行するためにますます必要となります。 この記事では Amazon SageMaker バッチ変換を使用してラージデータセットに対して推論を実行する方法を学びます。この記事の例では、TensorFlow Serving (TFS) コンテナを使用して、画像のラージデータセットに対するバッチ推論を実行します。また、Amazon SageMaker TFS コンテナの新しい事前処理と事後処理の機能を使用する方法も確認していきます。この機能は、TensorFlow モデルで S3 のデータで直接推論を行い、S3 に処理後の推論を保存することもできるようになります。 概要 この例のデータセットは、「Open Images V5 Dataset」の「Challenge 2018/2019」サブセットです。このサブセットには、JPG 形式で 100,000 個の画像が含まれ、合計 10 GB になっています。使用するモデルlは、 image-classification モデルで、ImageNet データセットでトレーニングされ、TensorFlow SavedModelとしてエクスポートされる ResNet-50 アーキテクチャに基づいています。このモデルを使用して、各画像のクラスを予測しっます (例: ボート、車、鳥)。事前処理と事後処理のスクリプトを書き、それを SavedModel でパッケージ化して、推論を素早く、効率的に、大きな規模で実行します。 チュートリアル バッチ変換ジョブを実行するとき、次のことを指定します。 入力データが保存される場所 データを変換するために使用する Amazon SageMaker モデルオブジェクト (「モデル」という名前) バッチ変換ジョブクラスターインスタンスの数 私たちのユースケースでは、モデルオブジェクトは […]

Read More

【開催報告】 第7回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクトの大渕です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を定期的に開催しています。2019年8月29日に開催された第7回 Amzon SageMaker 事例祭りでは、AWS Japan のソリューションアーキテクトによるサービスの最新情報や技術情報と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。

Read More

Amazon SageMaker RL で継続的な学習を使用してコンテキストバンディットを強化する

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習モデルを短期間で簡単に構築、トレーニング、デプロイできるようにするモジュラー式完全マネージド型サービスです。 トレーニングモデルは、組み込みの高性能アルゴリズム、構築済みのディープラーニングフレームワークのセットや、独自のフレームワークを使用して、迅速かつ簡単に構築できます。 機械学習 (ML) アルゴリズムの選択を支援するために、Amazon SageMaker には、インストール済みでパフォーマンスが最適化された最も一般的な ML アルゴリズムが付属しています。 教師ありおよび教師なし学習手法を使用した機械学習モデルの構築に加えて、Amazon SageMaker RL を使用して Amazon SageMaker で強化学習モデルを構築することもできます。Amazon SageMaker RL には、強化学習の開始を容易にする、事前に構築された RL ライブラリとアルゴリズムが含まれています。GitHub には、Amazon SageMaker RL をロボットと自律走行車のトレーニング、ポートフォリオ管理、エネルギー最適化、自動容量スケーリングに使用する方法を示した例がいくつかあります。 このブログ記事では、Amazon SageMaker RL を使用してコンテキストを考慮したマルチアームバンディット (または略してコンテキストバンディット) を実装し、ユーザー向けにコンテンツをパーソナライズする方法を紹介します。コンテキストバンディットアルゴリズムは、おすすめをクリックしたかどうかなどのおすすめに対するユーザーの応答から学習することにより、ユーザー (ゲーマーやハイキング愛好家など) にさまざまなコンテンツオプションをおすすめします。このアルゴリズムでは、データの変化に適応するために機械学習モデルを継続的に更新する必要があり、Amazon SageMaker で反復トレーニングとデプロイループを構築する方法を説明します。 コンテキストバンディット パーソナライズされたウェブサービス (コンテンツレイアウト、広告、検索、製品のおすすめなど) のような多くのアプリケーションは、多くの場合、いくつかのコンテキスト情報に基づいて、継続的に決定を下す必要に迫られます。これらのアプリケーションは、ユーザー情報とコンテンツ情報の両方を利用して、個人向けにコンテンツをパーソナライズする必要があります。たとえば、彼女がゲーム愛好家であることに関連するユーザー情報と、そのゲームがレーシングゲームであることに関連するコンテンツ情報です。これらのアプリケーションを可能にする機械学習システムには、2 つの課題があります。ユーザーの好みを学習するためのデータはまばらで偏っています (多くのユーザーはほとんどまたはまったく履歴を持たず、過去におすすめされた製品も多くありません)。また、新しいユーザーとコンテンツが常にシステムに追加されています。パーソナライゼーションに使用される従来の Collaborative Filtering (CF) ベースのアプローチは、まばらで偏っているデータセットと現在のユーザーとコンテンツのセットに対して静的な推奨モデルを構築します。一方、コンテキストバンディットは、既知の情報の exploiting (ゲーム愛好家へゲームをおすすめすること) と、おすすめの exploring (ゲーム愛好家にハイキング用具をおすすめすること) との間でトレードオフを行うことで、戦略的な方法でデータを収集および増強します。これにより、高い利益が得られる可能性があります。バンディットモデルはユーザー機能とコンテンツ機能も使用するため、同様のコンテンツとユーザーの好みに基づいて、新しいコンテンツとユーザーにおすすめを作成できます。 先に進む前に、いくつかの用語を紹介しましょう。コンテキストバンディットアルゴリズムは、反復プロセスによって特徴付けられます。agent が選択できる (arm または […]

Read More

Amazon EFS または Amazon FSx for Lustre ファイルシステムを使用して、Amazon SageMaker のトレーニングをスピードアップする

Amazon SageMaker は、データサイエンスと機械学習のワークフローに向けて完全管理型のサービスを提供します。Amazon SageMaker の最も重要な機能の 1 つに、機械学習モデルをトレーニングするための完全管理型のトレーニングジョブを実行する機能が挙げられます。サービスコンソールにアクセスして、Amazon SageMaker で自分自身で機械学習モデルをトレーニングしてください。 今では、Amazon Elastic File System (EFS) または Amazon FSx for Lustre に保存されているデータから機械学習モデルをトレーニングすることで、トレーニングジョブの実行をスピードアップすることができます。 Amazon EFS は AWS クラウドサービスとオンプレミスリソースで使用するために Linux ベースのワークロードに対して、単純でスケール自在、伸縮自在なファイルシステムを提供します。Amazon FSx for Lustre は、機械学習、分析、ハイパフォーマンスコンピューティングなどのワークロードに対して最適化されたハイパフォーマンスファイルシステムです。 機械学習モデルのトレーニングでは、トレーニングジョブに対してトレーニングデータセットを提供することが必要です。 ファイル入力モードで Amazon Simple Storage Service (S3) をトレーニングデータソースとして使用するとき、トレーニングジョブの開始時にすべてのトレーニングデータが Amazon S3 からトレーニングインスタンスにアタッチされた EBS ボリュームにダウンロードされます。Amazon EFS または FSx for Lustre などの分散型ファイルシステムは、このダウンロード手順の必要性を排除することで、機械学習トレーニングをスピードアップできます。 この記事では、ファイルシステムを使用してモデルをトレーニングする利点について見ていき、ファイルシステムを選択し、開始する方法を示すために役立つ情報を提供します。 SageMaker のトレーニングモジュールのファイルシステムの選択 ファイルシステムから機械学習モデルをトレーニングすべきかどうかを考えるとき、最初に考えるべきことは、ご自分のトレーニングデータが今どこに常駐しているのか、ということです。 トレーニングデータがすでに Amazon S3 にあり、トレーニングジョブのためにより短いトレーニング時間を指示する必要がない場合は、データの移動必要なしで Amazon SageMaker […]

Read More

管理型スポットトレーニング: Amazon SageMaker トレーニングジョブで最大 90% を節約

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習 (ML) モデルを迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。組み込みアルゴリズムを使用するか、自分自身のものを使用するか、AWS Marketplace 内で使用可能なアルゴリズムから選択することがで、実験からスケールアウト生産までMLモデルを取得することは、かつてないほど簡単かつ迅速になりました。 One of the key benefits of Amazon SageMaker は重要な利点の 1 つは、作業するスケールにかかわらず、インフラストラクチャ管理から解放することです。たとえば、複雑なトレーニングクラスタのセットアップをし、管理する代わりに、Amazon SageMakerに使用する Amazon Elastic Compute Cloud (EC2) インスタンスタイプと必要な数を伝えるだけでかまいません。適切なインスタンスは、オンデマンドで作成され、設定され、トレーニングジョブが完了したら自動的に終了します。カスタマーが素早く理解するように、このことはトレーニングインスタンスを待機させるための支払いは行わず、コストを管理できる状態にするための簡単な方法であることを意味します。 管理型スポットトレーニングの紹介 ワンステップ更に進めて、当社はこれまでの Amazon SageMaker のオンデマンドのインスタンスを使用する場合に比べて、最大 90% のコストを削減することで ML トレーニングコストを下げることを支援する Amazon EC2 スポットインスタンスに基づいた新しい機能である Amazon SageMaker の管理型スポットトレーニングを発表することを非常に喜ばしく思っています。スポットインスタンスは約 10 年前にローンチされ、それ以来、AWS でスケール自在でコスト最適化された IT プラットフォームを構築する礎石となってきました。本日より、お使いの Amazon SageMaker トレーニングジョブが完全管理型のインフラすトラクター状で実行されるだけではなく、完全に管理されたコスト最適化の恩恵も受け、同じ予算でより多くの成果を上げることもできるようになりました。では、中を見ていきましょう! 管理型スポットトレーニングは、次のすべてのトレーニング設定で利用できます。 Amazon SageMakerによりサポートされているすべてのインスタンスタイプ。 全モデル: 組み込みアルゴリズム、組み込みフレームワーク、およびカスタムモデル 全設定: 単一インスタンストレーニング、分散トレーニング、および自動的なモデルの微調整 […]

Read More

Amazon SageMaker を使用した Spectral MD による創傷ケアの近代化

Spectral MD, Inc. は、臨床研究ステージの医療機器会社であり、自らを「光の障壁を破って体内の奥底を見つめる」と説明しています。 最近、FDA によって「画期的デバイス」に指定された Spectral MD は、最先端のマルチスペクトルイメージングと深層学習テクノロジーを使用して、創傷ケアに優れたソリューションを提供します。ダラスに拠点を置くこの会社は、Amazon SageMaker や Amazon Elastic Compute Cloud (Amazon EC2) などの AWS サービスに基づいて、前例のない創傷ケア分析への取り組みをサポートしています。クラウドプロバイダーとして AWS を使用することで、Spectral MD チームは、データが迅速かつ効果的に保存および処理されることを認識し、革新的な医療に集中できます。 「AWS を選択したのは、医療機器で使用される最先端の深層学習アルゴリズムを迅速にトレーニング、最適化、検証するために必要な計算リソースにアクセスできるからです」と、Spectral MD ソフトウェアチームのリードである Kevin Plant 氏は説明します。「AWS は、アルゴリズムの研究、開発、デプロイに不可欠な臨床データセットの安全なリポジトリとしても機能します」 アルゴリズムは 10 年前の会社独自の DeepView Wound Imaging System を用いています。非侵襲的なデジタルアプローチを使用して、臨床研究者が患者と接触することなく、隠れた病気を確認することができます。具体的にこのテクノロジーは、視覚的入力とデジタル分析を組み合わせて、複雑な創傷状態を理解し、創傷の治癒能力を予測します。ポータブルイメージングデバイスと AWS の計算能力を組み合わせて、臨床医は人間の目には見えない規模でも正確なスナップショットをキャプチャできます。 Spectral MD の革新的なソリューションでは、AWS サービスのおかげでコアな計算能力と機械学習による巧妙な処理、両方を実現することができました。会社は、デバイスでキャプチャしたデータを Amazon Simple Storage Service (Amazon S3) に保存し、メタデータを Amazon DynamoDB […]

Read More

Amazon SageMaker 2019年4月から8月のアップデート

みなさま、こんにちは。AWS 機械学習ソリューションアーキテクトの大渕です。 すでにみなさまにご利用いただいている機械学習のマネージドサービス Amazon SageMaker ですが、現在も新機能がどんどん追加されています。そこで今回は、2019 年 4 月から 8 月までに Amazon SageMaker に追加された機能をご紹介したいと思います。 ご自身にピッタリの機能がないか、ぜひチェックしてみてください。

Read More