Amazon Web Services ブログ

Category: Artificial Intelligence

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

Apache MXNet、AWS Lambda、Amazon Elastic Inference を使って深層学習を提供している Curalate 社

 このブログは、Curalate のコンピュータビジョン研究技師 Jesse Brizzi 氏によるゲストブログ投稿です。 Curalate では、深層学習とコンピュータビジョンを使ってユーザー生成コンテンツ (UGC、user-generated content) を発見および活用し、インフルエンサーを活性化する新たな方法を日々考案しています。そうしたアプリケーションの中には、Intelligent Product Tagging のように、画像を可能な限りすばやく処理するために深層学習モデルを必要とするものがあります。他方で、深層学習モデルは、有用な信号を生成して顧客にコンテンツを提供するために、毎月何億という画像を取り込まなければなりません。 スタートアップである Curalate は、こうしたことのすべてを、高いパフォーマンスと費用対効果を維持しながら大規模に実行できる方法を見つけなければなりませんでした。当社は、自社の深層学習モデルをホストするために、AWS が提供すべきあらゆるタイプのクラウドインフラストラクチャを長年にわたって使用してきました。その過程で、深層学習モデルを本番稼働で大規模に提供することに関して多くのことを学びました。 この記事では、Curalate が深層学習のインフラストラクチャを設計する際に考慮している重要な要素、API/サービスタイプでそれらの要素がどのように優先付けされているのか、そして最も重要なこととして、さまざまな AWS 製品が結局のところいかにしてこうした要件を満たしているのかについて、解説していきます。 問題の概要 たとえば、手元にトレーニング済みの MXNet モデルがあり、それを AWS クラウドインフラストラクチャで提供しようと考えているとします。どのように構築を行いますか。また、どのようなソリューションやアーキテクチャを選択しますか。 Curalate は、こうした問題に答えを出すことに長年取り組んでいます。当社はスタートアップとして、新しいオプションが公開されたときはいつでも、すぐにそれを導入し、試す必要がありました。また、深層学習サービスを構築する際は自社のコードをロールします。そうすることで、管理を強化し、選択したプログラミング言語で作業することが可能になります。 この記事では、もっぱら深層学習サービスのハードウェアオプションに焦点をあてます。同じくモデル提供のソリューションをお探しの方は、Amazon SageMaker に利用可能なオプションがあります。 次に、私たちがいつも自問自答している問いの一部を紹介します。 いま設計しているのはどんな種類のサービス/API なのか? それはユーザーが触れるものでリアルタイムなのか? あるいは、オフラインのデータパイプライン処理サービスなのか? 各 AWS ハードウェア提供オプションの違いは何か? パフォーマンス特性 そのモデルを使うとどれくらいの速さで入力を実行できるか? 開発の容易さ サービスロジックの設計およびコード化の難易度はどの程度か? 安定性 ハードウェアがサービスの安定性に及ぼす影響はどの程度か? 費用 そのハードウェアオプションの費用対効果は他のオプションに比べ、どの程度優れているか? GPU ソリューション GPU は最も確実なソリューションに見えるかもしれません。機械学習の分野における開発は、GPU の処理能力と切っても切り離せません。真の “深層” […]

Read More

Deliveroo の宅配サービスと Amazon Rekognition で、毎日の夕食がお手軽に

ソフトウェアエンジニアの Florian Thomas 氏が、急成長中かつ求められている企業である Deliverooについて、このように話しています。どのみち、人は食べなければ生きていけません。Deliveroo には、彼の言葉で言うと「食事を注文する方法を変えるという使命があります」。  具体的には、Deliveroo はレストランと提携し、利用客の贔屓のメニューを玄関口に届けるのです。 Deliveroo は創設者兼 CEO である Will Shu 氏が、ロンドンに越してきた2013 年に起業しました。ロンドンには素敵なレストランが数多くあるにもかかわらず、たいていのレストランは宅配をしていないことにがっかりしたのです。そこで、地元の最高のレストランの食事を、客の玄関先に直接届けようと決意したのです。現在、Deliveroo のチームは 2,000 人となり、イギリスだけでなく、オーストラリア、アラブ首長国連邦、香港、ヨーロッパの国々のほとんどを含む 14 のグローバル市場で運営しています。 Deliveroo は常に顧客を中心に考え、各国のチームは成長してきました。Deliveroo が提供するものは、利用客が選んだメニューをお手軽かつタイムリーに提供することだけではありません。注文でトラブルが起こった場合 (漏れているなど)、そうした問題も同じようにタイムリーで、反応よく、そして創造的に処理します。利用客はサービスポータルを利用して、起こったトラブルを画像ベースのレポートでシェアできます。 「トラブルが発生したら、お客様は私たちに連絡するだけでなく、その状況を見せたいと思っていることを知ったのです」と Thomas 氏は言います。画像の付いたレポートでカスタマーケアチームがそれぞれの利用客にソリューションを提供できるだけでなく、その画像を Deliveroo のレストランパートナーともシェアし、カスタマーエクスペリエンスを改善し続けていくことが可能となります。 しかし、利用客がアップロードした画像がどれも適切であるわけではないと、Thomas 氏とチームはすぐに気付きました。そこで Deliveroo は、Amazon Rekognition を利用して、カスタマーサービスチームが不適切な画像を選別する必要をなくしました。このコンテンツモデレーションソリューションは使いやすく、Deliveroo のカスタマーケアフローに不可欠なものとなりました。実際に、週に数百枚の写真 (送信されるすべての画像の約 1.7%) を受取拒否しています。 Thomas 氏は次のように説明します。「Amazon Rekognition で、これらの写真をすべてリアルタイムで迅速かつ正確に処理できるため、実際の問題が発生した際も迅速にお客様に対応できます。さらに、エージェントとやり取りする時間も節約できるため、大切なお客様の問題に集中できるのです。」「Amazon Rekognition を使用すると、エージェントが重要である利用客の問題に素早く安全に対応するようになるため、お客様からの正当なクレームを自動的に処理できるようになります。」 Amazon Rekognition は長い間 AWS を使用してきた Deliveroo にとって、当然の選択でした。チームは当初、サービスへの信頼から AWS を選択しました。現在、Amazon […]

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 Lex チャットボットで、ワンタイムパスワードを使ってユーザーを認証する

現在、多くの企業がワンタイムパスワード (OTP) を使って、ユーザーを認証しています。アプリケーションを続行するには、パスワードの入力を求められます。このパスワードはテキストメッセージを介して登録済みの電話番号に送信され、このパスワードを入力すると認証が行われます。ユーザー ID を検証するには、簡単で安全なアプローチです。このブログ投稿では、同じ OTP 機能を Amazon Lex チャットボットに統合する方法について説明します。 Amazon Lex では音声とテキストの両方を使って、既存のアプリケーションにリアルな対話型インターフェイスを簡単に構築できます。 詳細に進む前に、OTP について詳しく見てみましょう。OTP は通常、1 つのログインセッションまたはトランザクションに対してのみ有効な一連の数字です。OTP は一定の期間が経過すると失効します。その後は新しい OTP を生成する必要があります。ウェブ、モバイル、その他のデバイスなどさまざまなチャネルで使用できます。 このブログ投稿では、モバイルデバイスでの料理注文チャットボットの例を使用して、ユーザーを認証する方法をご紹介します。Amazon Lex ボットでは OTP が認証したときだけ、ユーザーの注文が行えるようになります。 OTP を使用した次の会話を考えてみましょう。 先ほど説明したやり取りを実現するために、以下のインテントで最初に出前のボットを構築します。OTP パスワードは OrderFood などのトランザクションを含むインテントで使用します。 OTP をキャプチャする 2 つの実装 (音声によるものと、テキストによるもの) をご紹介します。最初の実装では、OTP は音声またはテキストモダリティとして Amazon Lex が直接キャプチャします。OTP 値はスロット値として Amazon Lex に直接送信されます。2 つ目の実装では、OTP はクライアントアプリケーションが (テキストモダリティを使用して) キャプチャします。クライアントアプリケーションは、クライアントのダイアログボックスから OTP をキャプチャし、それをセッション属性として Amazon Lex に送信します。セッション属性は暗号化できます。 Amazon […]

Read More

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

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

Read More

Amazon ECS で Amazon Elastic Inference ワークロードを実行する

Amazon Elastic Inference (EI) はInvent 2018 で発表された新しいサービスです。Elastic Inference では、スタンドアローンの GPU インスタンスと比較して、深層学習実行コストを最大で 75% まで削減します。Elastic Inference を使えば、任意の Amazon SageMaker か Amazon EC2 インスタンスタイプにアクセラレーターをアタッチすることができ、TensorFlow、Apache MXNet、ONNX モデルでの推論を実行できます。Amazon ECS は、高度にスケーラブルかつ高性能なコンテナオーケストレーションサービスで Docker コンテナーをサポートしています。コンテナ化されたアプリケーションを、AWS の上で、容易に実行もしくはスケーリングすることが可能です。 このブログ記事では、Elastic Inference を利用して、Amazon ECS での深層学習推論ワークロードを高速化する方法を解説します。また、同じ ECS コンテナインスタンスで別々のワークロードを実行している可能性がある場合などに、複数のコンテナで 1 つの Elastic Inference アクセラレーターを共有する方法も示します。このように共有することで、アクセラレーターの利用率を高められます。 ECS では、2019 年 2 月 4 日時点で、 これらの GPU でのタスク実行をサポートしています。これは、トレーニング用ワークロードのためには良く機能するものです。しかし、推論ワークロードで ECS の Elastic Inference を利用すれば、これらの GPU […]

Read More

Amazon SageMaker Ground Truth に固有表現抽出用のデータラベル付けワークフローが追加

AWS re:Invent 2018 にて発表された Amazon SageMaker Ground Truth を使用すると、機械学習 (ML、machine learning) システムのトレーニングに必要なデータセットを、効率的かつ正確にラベル付けすることが可能になります。Ground Truth にはラベル付けのワークフローが組み込まれており、ラベル付けワーカーは、それによってステップバイステップでタスクを実行したり、成果をあげるのに役立つツールを利用したりすることができます。組み込まれたワークフローは現在、物体検出、画像分類、テキスト分類、セマンティックセグメンテーションによるラベル付けジョブで利用可能です。 そして本日より AWS は、新しいユースケースである固有表現抽出 (NER、named entity recognition) のサポートを開始しました。NER とは、テキストデータを選別して固有表現と呼ばれる名詞句を特定し、「人」「組織」「ブランド」などのラベルによってそれぞれを分類する作業のことです。 たとえば「私は最近 Amazon プライムに登録した」というテキストがあった場合、「Amazon プライム」が固有表現とみなされ、「ブランド」として分類されます。 こうしたユースケースを拡大して、あらかじめ規定されたラベルを使って、もっと長いテキストのラベル付けや配列の分類を行うことが可能です。例として、次のスクリーンショットをご覧ください。パフォーマンス評価のテキストにおいて、Amazon のリーダーシッププリンシプルである「Customer Obsession」についての言及箇所が特定されています。 概要 この記事では、NER のラベル付けジョブの作成方法について解説していきます。 データセットを収集します。 ラベル付けジョブを作成します。 労働力を選択します。 タスクの指示を作成します。 今回の例では、NER のラベル付けタスクとして、データセットからブランド名の特定を行います。サンプルのデータセットとして、Amazon の Twitter アカウントから 10 個のツイートを用意しました。これを使用してもいいですし、自分でデータセットを用意して、個々のユースケースに関連した NER のラベル付けタスクを定義してもらっても構いません。 前提条件 以下の手順を実行するには、AWS アカウントを所有していて、AWS のサービスにアクセスできることが前提となります。 ステップ 1: データセットを収集して Amazon S3 に保存する […]

Read More