Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon Elastic Inference を使用して ONNX モデルを実行する

 re:Invent 2018 で、AWS は Amazon Elastic Inference (EI) を発表しました。これは、すべての Amazon EC2 インスタンスに適切な量の GPU による推論アクセラレーションを追加できる新しいサービスです。これは、 Amazon SageMaker のノートブックインスタンスとエンドポイントにも利用可能で、ビルトインアルゴリズムや深層学習環境にアクセラレーションをもたらします。 このブログ記事では、GitHub で ONNX Model Zoo のモデルを使用して、MXNet と Elastic Inference Accelerator (EIA) をバックエンドとして推論を実行する方法を示します。 Amazon Elastic Inference のメリット Amazon Elastic Inference を使用すると、低コストの GPU によるアクセラレーションを Amazon EC2 および Amazon SageMaker インスタンスに適用して、深層学習推論の実行コストを最大 75% 削減できます。 Amazon Elastic Inference は、Apache MXNet、TensorFlow、および ONNX モデルをサポートしています。ONNX […]

Read More

Amazon SageMaker Ground Truth を使用して階層型ラベル分類法を作成する

re:Invent 2018 で、私たちは Amazon SageMaker Ground Truth を発表しました。これは、機械学習を使用して非常に正確なデータセットを構築し、ラベル付けのコストを最大 70% 削減することができます。Amazon SageMaker Ground Truth を使用すると、パブリックおよびプライベートでラベル付けを行う人間の作業者に簡単なアクセスと、一般的なラベル付けタスクのための組み込みのワークフローとインターフェースが提供されます。さらに、Amazon SageMaker Ground Truth は自動データラベル付けを使用してラベル付けのコストを削減します。自動データラベル付けは、人間がラベルを付けたデータから Ground Truth をトレーニングし、サービスが独自にデータにラベルを付けることを学習することによって機能します。 路上でカメラで撮影した画像の大規模なコーパスがあるとしましょう。それぞれの画像には、無人自動車用のアルゴリズムを開発するために重要な多くの異なる対象物 (たとえば、車または交通標識) が含まれている可能性があります。最初に、画像から取得したい情報の階層表現を定義する必要があります (そのようなラベル分類法がどのように見えるかの例については、下記を参照してください)。次に、これらのラベルが付いていない未処理の画像を取得し、高レベルのクラス (「車」、「交通標識」、「歩行者」など) でラベル付けすることによってラベル付けプロセスを開始します。 このブログ記事では、ジョブをチェーンさせて拡張マニフェスト機能を利用することで、Amazon SageMaker Ground Truth を使用してこのような階層的なラベル付けを実現する方法を紹介します。 通常の解決方法 教師あり機械学習では、通常、未加工データと各データオブジェクトの関連ラベルの両方を含むラベル付きデータセットを使用します。たとえば、道路画像のトレーニングデータセットを作成し、それらを「交通標識あり」または「交通標識なし」に分類することができます (ラベル 0 と 1 が 2 つのクラスに対応します)。これらのラベルは通常、CSV や JSON などの形式で保存され、最初の列は未加工データを表し、2 番目の列はラベルを表します。 ただし、同じセットの画像にさらにラベルを付けたい場合 (たとえば、「交通標識あり」セット内の交通標識の種類を識別するため)、通常、最初のデータセットに対してフィルタ処理を実行して交通標識が含まれている画像だけを選択して、新しいデータセットを作成します。これにより、データセットは「交通標識」 (ラベル 0) だけを含む別のサブセットに縮小されます。その後、新しいラベルを追加して、標識を「一時停止標識」、「制限速度」などに分類することができます。 こうした種類のフィルタリング操作は、大規模なデータセットではコストや時間がかかる可能性があります。また、物体検出 (バウンディングボックス) アルゴリズムによって、画像内のすべての停止標識と歩行者をマークしたいと考えるかもしれません。このため、通常、画像の中の停止標識と歩行者のそれぞれの周囲に、物体検出ラベルを追加して 3 番目のデータセットを作成する必要があります。深く分類し続けるにつれて、トレーニングデータセットの数と複雑さは分類法のファンアウト係数 […]

Read More

[AWS Black Belt Online Seminar] Amazon SageMaker Advanced Session 資料及び QA 公開

先日 (2018/3/13) 開催しました AWS Black Belt Online Seminar「Amazon SageMaker Advanced Session」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190213 AWS Black Belt Online Seminar Amazon SageMaker Advanced Session from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. 自動ラベリング機能については、SageMakerのフレームワークに則る必要がありますか?(APIレベルで) A. 自動ラベリング機能は,Image classification,Object detection,Text classificationの3つのビルトインアルゴリズムについて,EC2上で学習とバッチ推論APIとしてお使いいただくことができます. https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-automated-labeling.html Q. Marketplaceでは推論モデルのバージョンアップのタイミングで精度が変化することもあると思いますが、次のバージョンがリリースされる前に試用期間を設けてもらうことは可能でしょうか? A. 出品者のお客様のほうで出品内容については管理されており,AWS側からそう言った制限を設けることは現状できかねます. Q. そのアルゴリズムなどに対する問い合わせは通常のサポート窓口経由ですか? A. サポートにご契約いただいているお客様は,サポートにお問い合わせいただくことができます. Q. DeepRacerって国内でも使えるんですか? A. 日本国内発売開始後,ご利用いただけます. Q. 学習したモデルをデプロイするのではなく、modelファイルとして出力して、別環境にデプロイすることはできますか? A. 学習済みのモデルとその時に使ったスクリプトや・パラメータは全てS3に保存されますので,そこから直接取り出して別環境にデプロイいただけます. https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-training.html 今後の AWS Webinar スケジュール 直近で以下のオンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! AWSOME DAY ONLINE CONFERENCE […]

Read More

Amazon SageMaker スクリプトモードでの TensorFlow Eager Execution の使用

 このブログ記事では、TensorFlow の Eager Execution モードでモデルを訓練するために Amazon SageMaker のスクリプトモードを使用する方法について説明します。Eager Execution は TensorFlow の未来であり、現在最新の TensorFlow 1.x バージョンでオプションとして利用可能ではあるものの、TensorFlow 2 ではデフォルトモードになる予定です。今回は、スクリプトモードと Eager Execution について簡単に説明してから、代表的な回帰タスクシナリオをご紹介します。次に、スクリプトモードと Eager Execution を併用して、このタスクを解決するワークフローについて説明します。このブログ記事のためのノートブックと関連コードは GitHub から入手することができます。それでは、スクリプトモードから見ていきましょう。 Amazon SageMaker のスクリプトモード Amazon SageMaker は、TensorFlow などの人気の高い機械学習 (ML) および深層学習フレームワークの一部を使ったモデルの訓練とデプロイメントを容易にする API と事前構築されたコンテナを提供します。Amazon SageMaker は、コンテナの構築や基盤となるインフラストラクチャの管理について心配することなく、カスタム TensorFlow コードを使用したモデルを訓練してデプロイするために使用できます。Amazon SageMaker の Python SDK TensorFlow Estimator、および Amazon SageMaker のオープンソース TensorFlow コンテナは、TensorFlow スクリプトを記述して、それを Amazon SageMaker […]

Read More

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

アマゾン ウェブ サービス ジャパン株式会社 (AWS) ソリューションアーキテクトの針原佳貴です。 AWS では、Amazon SageMaker のハンズオンとお客様の登壇による事例紹介を合わせたイベント「Amazon SageMaker 事例祭り」を毎月開催しています。2019年2月12日に目黒オフィスで第2回 Amzon SageMaker 事例祭りが開催され150名ほどの方にご参加頂いたので、以下でその概要についてお伝えします。今回の Amazon SageMaker 事例祭りは Chainer x AWS というテーマで、セミナーと事例発表の二部構成で開催されました。

Read More

Gubagoo が、Amazon Translate を使って自動車ディーラー向け翻訳対応ライブチャットを構築

Gubagoo は、自動車ディーラー向けの高度なコミュニケーションソリューションの一流プロバイダーです。Gubagoo は、自動車の顧客が車を購入するときやサービスの予約をするときは、いつでも個別化された体験や役立つ情報を求めていることを理解しています。さらに、顧客は自分の母国語でのコミュニケーションを望んでいます。ただし、米国のディーラーは、スタッフが通常英語しか話さないため、こうしたコミュニケーションを行うことは困難です。この問題に対処するために、Gubagoo は ChatSmart と呼ばれるライブチャットソリューションを提供しています。ディーラーは ChatSmart をウェブサイトと統合し、顧客との最初の会話をリアルタイムで複数の言語で管理することができます。これを実現するために、ChatSmart は、手ごろな価格で迅速かつ高品質な言語翻訳を提供するニューラル機械翻訳サービスである Amazon Translate を使用しています。 ChatSmart ソリューションの外観は次のようになります。 ChatSmart を導入するディーラーが増えるにつれ、Gubagoo は、会話の 10% 以上が英語以外の言語で行われていることに気がつきました。「車の購入客に自分が選択した言語でコミュニケーションする能力を与えることで、より多くの消費者との接点が生まれ、ディーラーはより多くの見込み客を獲得できます」と、Gubagoo の CTO である Ilia Alshanetsky 氏は言います。「そのための最も効率的な方法は、私たちのソリューションをニューラル機械翻訳サービスプロバイダーとシームレスに統合することだと気付いたのです。」 Gubagoo はいくつかの機械翻訳サービスを試した結果、競合ソリューションに比べて 2 倍高速なパフォーマンスと 25% 低いコストをもたらしてくれることが分り、Amazon Translate を選択しました。 「Amazon Translate によって、英語以外の言語の消費者に販売するディーラーをしっかりサポートできるようになりました」と、Alshanetsky 氏は続けて言いました。「例えば、プエルトリコでディーラーをしている当社のクライアントに対してスペイン語で始められた会話を Amazon Translate を使って翻訳しており、その内の 48% が販売機会につながっています。翻訳はとても自然なもので、消費者はスペイン語を話さない人とチャットをしているとは思わないほどです。」 顧客がライブチャットを使用して会話を開始すると、Amazon Comprehend 言語検出 API が顧客が使用している言語を認識します。テキストが英語であれば、翻訳は不要です。テキストが英語以外の言語であれば、Amazon Translate API がテキストを英語に翻訳してチャットスペシャリストに配信します。チャットスペシャリストが英語で応答すると、Translate API が応答を翻訳し、顧客が希望する言語でテキストを提供します。 下が、このワークフローの図です。 例: ChatSmart […]

Read More

Amazon SageMaker で複数の TensorFlow モデルを一つのエンドポイントへデプロイする方法

概要 Amazon SageMaker では、TensorFlow、MXNet、Chainer、PyTorch、scikit-learn といった機械学習フレームワークをサポートしています。これらのフレームワークを利用して機械学習による予測結果を得るためには、学習した機械学習モデルをエンドポイントにデプロイする必要があります。複数のモデルを利用したい場合、モデル一つ一つに対してエンドポイントを作成する方法が一般的ですが、推論リクエストが少ないモデルに対してエンドポイントを常時起動すると、推論処理に対するコストが高くなってしまいます。そこで、推論リクエストの少ないモデルを、他のモデルと同じエンドポイントにデプロイし、常時起動するインスタンス数を低減する方法があります。この手法はリアルタイム処理が必要な場合は特に有効です。なお、推論処理がリアルタイム性を要求しない場合はバッチ変換ジョブをご利用ください。 本記事では、複数のモデルを一つのエンドポイントにデプロイする方法について説明いたします。Amazon SageMaker がサポートする全ての機械学習フレームワークで、複数のモデルを一つのエンドポイントにデプロイすることができますが、ここでは Tensorflow Serving を利用して、複数のモデルをデプロイする方法について説明します。例として、軽量な物体検出モデル SSD MobileNet と、軽量な画像分類モデル MobileNet を1つのインスタンスにデプロイします。デプロイまでの手順の概要は以下のとおりです。 複数の TensorFlow モデルを TensorFlow Serving にデプロイ可能な SavedModel 形式で保存します。 保存したモデルを1つのアーカイブファイル (tar.gz 形式) にして、Amazon S3 (S3) にアップロードします。 Amazon SageMaker の API を利用して、1 つのインスタンスにデプロイし、テストします。 それでは各手順について以下で説明します。 1. TensorFlow モデルの保存 Jupyter Notebook からコードを実行し、TensorFlow の学習済みモデルをダウンロードして、以下のような SavedModel 形式で保存します。model1 を SSD MobileNet、model2 を MobileNet とします。TensorFlow モデルには、SavedModel 形式以外の学習済みモデルが公開されている場合があるので、必要に応じて変換します。今回は […]

Read More

Bridgeman Images は Amazon Translate を使用してグローバルに事業を確立

多くの企業は、新規顧客を獲得し成長を加速させるために世界規模で拡大することを目指しています。Bridgeman Images の場合、これは英語以外の言語を話す顧客を引き付けることを意味しました。手作業で翻訳しただけでは十分なスピードや費用対効果が得られないため、同社は言語の壁を克服するためのスケーラブルなソリューションを必要としていました。Amazon Translate を使用して、コンテンツのローカライズに必要な時間を数か月から数週間に短縮し、5 億 7000 万の英語の文字をイタリア語、フランス語、ドイツ語、スペイン語に翻訳しました。 Bridgeman Images は、アーカイブ内に 300 万近くのアクティブアセットを保有する権利管理型のイメージライセンス会社です。自社サイトで簡単に検索できるように、これらの各アセットには、タイトル、説明、および Amazon Elasticsearch Service (Amazon ES) にインデックス付けする一連のキーワードや媒体が含まれています。同社の調査によると、すべてのプラットフォームで集計した顧客の 20~30% が、英語以外のイタリア語、フランス語、ドイツ語、スペイン語のいずれかの言語で画像データを表示する必要があることが分かりました。そこで同社は、顧客に可能な限り最高の体験を提供するために、すべてのメタデータを翻訳することにしました。 Bridgeman Images はさまざまな数多くの選択肢を研究し、機械翻訳が彼らのビジネスに全体的に最高の価値をもたらすだろうと判断しました。新しい翻訳の準備をするとき、同社はその機会に内部のメタデータ構造を見直し、重複を最小限に抑えて翻訳コストを節約する堅牢なワークフローを実行することにしました。 同社は最初にキーワードシステムを更新しました。キーワードシステムもともとはセミコロンで区切られたレコードを持つフラットなデータ構造として作成されたものでした。同社はこれらのエントリーの重複を排除し、複数のアセットがその翻訳と同時にキーワードを共有できるようにするリレーショナル構造を作成しました。キーワードは Amazon RDS MySQL インスタンスに保存され、キーワードへの変更がトリガーされるかシステムに新しいキーワードが入力されるたびに Amazon Elasticsearch Service インデックスに反映されます。 キーワード (およびその他のデータ) の翻訳を処理するために次に行った作業は、Python、Boto3 や Zappa と共に AWS Lambda にデプロイされた Flask API を使用して、Amazon Translate サービス用の単純なラッパーを作成することでした。 その後、システムに新しいキーワードが追加されるたびにタスクが RabbitMQ クラスターのキューに入れられるようにトリガーを設計しました。これにより、ワーカーを呼び出して AWS Lambda 関数をクエリして Amazon Translate […]

Read More

Amazon SageMaker Ground Truth と自動化されたデータのラベル付けによる低コストでのデータのアノテーション

  Amazon SageMaker Ground Truth を使うと、正確にラベル付けされた機械学習データセットを簡単に低価格で構築することができます。ラベル付けのコストを削減するために、Ground Truth の機械学習を使用して、人によるアノテーションが必要な「困難な」画像と、機械学習で自動的にラベル付けできる「簡単な」画像を選択します。この記事では、自動化されたデータのラベル付けの仕組みと、その結果の評価方法について説明します。 自動化されたデータのラベル付けを伴う物体検出ジョブを実行する 以前のブログ記事では、Julien Simon が AWS マネジメントコンソールを使ってデータのラベル付けジョブを実行する方法を説明しました。このプロセスをより細かく制御するには、API を使用できます。  その方法をご紹介するため、今回は鳥の画像 1,000 個に対して バウンディングボックスアノテーション を生成する API を使用した Amazon SageMaker Jupyter ノートブックを使用します。 注意: デモノートブックの実行コストは約 200 USD です。 デモノートブックにアクセスするには、ml.m4.xlarge インスタンスタイプを使用して Amazon SageMaker ノートブックインスタンスを開始します。インスタンスは、このステップバイステップチュートリアルに従ってセットアップできます。ステップ 3 では、IAM ロールの作成時に「任意の S3 バケット」にチェックを入れるようにしてください。 以下にあるように、Jupyter ノートブックを開いて [SageMaker Examples] タブを選択し、object_detection_tutorial.ipynb を起動します。 ノートブックの「Introduction」および「Run a Ground Truth labeling job」の各セクションにあるセルのすべてを実行します。セルには変更が必要なものもあるため、ノートブックの指示を注意深く読んでください。これらのセクションを実行すると、以下が行われます。 鳥の画像 1,000 […]

Read More

DXC Technology が AWS の機械学習を使ってサポートチケットの選別を自動化

  DXC Technology は、さまざまな企業や政府機関向けに、デジタルトランスフォーメーション上でエンドツーエンドのサービスを提供している IT サービスの世界的大手企業です。同社は、オンプレミスとクラウドで、クライアントのサービス管理も行っています。  プロセスの過程でインシデントチケットが発生した場合は、サービスレベルアグリーメント (SLA) に沿ってすばやく解決する必要があります。  DXC は、人的作業を減らし、インシデントの解決時間を短縮し、知識管理を強化して、インシデント解決の一貫性を向上させることを目標に掲げています。  そして、この目標を念頭に、知識管理 (KM) 記事の予測メカニズムを開発しました。 今回のブログでは、DXC が、KM 記事を自動的に特定するために AWS で機械学習をどのように使用しているか、またそれをチケット解決用のオーケストレーションランブックで自動化し、IT サポートの効率をいかに向上できるかについてご紹介します。 AWS を活用した DXC のソリューション その 1: Amazon S3 にデータレイクを構築する DXC の顧客が、インシデントチケットを IT サービスマネジメントツール (ITSM) へ送ります。チケットは、ユーザーまたはマシンにより生成できます。データは、Amazon S3 のバケットへプッシュまたはプルされます。Amazon S3 は、高い耐久性で低価格のオブジェクトストレージであり、形式やフォーマットを問わずあらゆるデータを保存できます。 その 2: 最適な機械学習ツールとアルゴリズムを選択する 一般に、問題は、テキストをいかに分類するかということです。AWS は、テキストを分類するためのさまざまな選択肢を顧客に提供しています。DXC は、次の AWS サービスの評価を行いました。 BlazingText と呼ばれるアルゴリズム内蔵の Amazon SageMaker Amazon Comprehend のカスタム分類 最適な選択肢は、Amazon […]

Read More