Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon SageMaker Ground Truth でのラベリングジョブ用の優れた説明の作成

Amazon SageMaker Ground Truthは、機械学習 (ML) 用の高精度なトレーニングデータセットをすばやく構築するお手伝いをします。ご自身のワークフォース、データラベリングに特化したベンダー管理ワークフォースの選択、または Amazon Mechanical Turk が提供するパブリックワークフォースを使用して、人が生成するラベルを提供することができます。質の高いのラベルを取得するには、特にパブリックワークフォースを使用している場合、簡単かつ簡潔で明確な説明が必要です。良い説明が書ければ、アノテーションの品質を向上させることができます。正しく行えば、この作業に時間を費やす価値はあります。 このブログ記事では、パブリックワークフォースに効果的な説明を作成するためのベストプラクティスをご紹介します。ここで重要なポイントが 2 点あります。ワークフォースへの認知負荷をできるだけ減らすこと、そして説明を微調整して後で発生する問題を避けるためにもプロセスの早い段階で実験することです。たとえば実験で、データの一部に自分でラベルを付けたり、プロセス全体の中でも小規模なジョブをパブリックワークフォースに行ってもらうことができます。 以下のスクリーンショットは、ワーカーの観点から見て適切な説明のある Ground Truth のバウンディングボックスのラベリングタスク例を示しています。このタスク例では、Google Open Images Dataset から取得したイメージにある花の周りを囲む四角形の枠を描くようワーカーに伝えます。ワーカーがアノテーションを付けている作業中、イメージの左側にあるサイドバーには短い説明が表示されます。はっきりと要領を得た、かつタスクに特化した説明で、サンプルのイメージに焦点を当てています。 以下の図は、サイドバーにある [View full instructions] を選択すると表示される完全な説明のサンプルです。ワーカーが混乱しやすいあいまいな説明が、明確に表記されています。この投稿を最後まで読むと、ご自身のラベリングジョブで優れた説明を作成することができるでしょう。 推奨するワークフロー Ground Truth が提供するツールを使用してデータの一部にアノテーションを付けるのが、適切な説明を作成する最も簡単な方法です。作成後、その結果を説明のサンプルとして使用できます。これを行うには、以下の手順を行います。 データからサンプルをいくつか選択する。 Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付ける。 結果を使って、簡単な説明を作成する。サンプルイメージと少しのテキストに焦点を当てる。 タスクのあいまいさを回避し明確にするため、完全な説明を作成する。 小さなパブリックジョブを実行し、説明をテストする。満足する結果が出るまで繰り返す。 タスクの単純化を考慮し、正当な価格を設定する。 注: プライベートラベリングジョブを実行すると、1 サンプルにつき 0.08 USD の費用がかかります。料金の詳細については、Amazon SageMaker Ground Truth料金ページをご覧ください。 質の高い説明を作成したら、フルラベリングジョブをパブリックワークフォースに送信します。チェックリストの各ステップを見ていきましょう。 データからサンプルをいくつか選択する データセットを閲覧して、データの多様性を捉えたサンプルを選択します。一般的なサンプルではなく、ラベルを付けたい項目からサンプルを選択すると、ご自身の特定のタスクについてアノテーターの理解が得られやすくなります。 ここでは、さまざまな形や大きさの花が異なる数で写っているイメージを選択します。これらのイメージにある一部の花は、他の花の後ろに隠れたり、フレームの端に触れたりしています。さまざまなケースを選択すると、説明を作成するのに良いサンプルを見つけやすくなります。また、ワーカーから見て難しいタスクについて、洞察や発見を得ることもできます。 Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付けます。 前回のブログ投稿では、AWS […]

Read More

AWS DeepRacer リーグが開発者のさらなる楽しみとワクワクを目指してスタート!

  開発者から機械学習の開発者まで AWS DeepRacer リーグは、スキルレベルを問わず開発者が参加できる世界初の自走型レーシングリーグです。カリフォルニア州サンタクララで先週、開幕しました。2019 年のシーズン最初のチャンピオンに輝いたのは Chris Miller でした。Chris はカリフォルニア州サンタクルズに本拠を置く Cloud Brigade の創業者です。機械学習についてさらに理解を深めるため、AWS Summit を訪れました。 AWS では、スキルレベルを問わず全ての開発者に機械学習を身近なものにし、機械学習の体験を楽しく易しいものにすることに注力しています。サンタクララにおいて、最上位の完走者 3 人は全員オンサイトのワークショップの1つでモデルを構築し、その過程をとても楽しみました。 Chris Miller はウィニングラップタイム 10.43 秒を達成しましたが、今後 re:Invent 2019 で行われる決勝に進み、AWS DeepRacer Championship Cup獲得を目指すことになります。AWS Summit にやってくるまで、Chris には機械学習の経験がありませんでした。 Chris は語ります。「今日ここに来た時点では機械学習は未経験でした。まさにそれを学ぶためにやって来ましたし、そのためのすばらしい手段でした」 カリフォルニア州フレモントから参加した Rahul Shah は 2 位に入りました。Rahul にとって、自身で作成したモデルが好成績を収めたことはうれしい驚きで、AWS DeepRacer はたいへん楽しいものでした。Rahul は機械学習には過去数年間取り組んできましたが、強化学習は今回が初めてでした。 「今回の取り組みは簡単でした。開発者なら誰でもうまくできますよ。DeepRacer は AWS Summit の本当に楽しくてワクワクするイベントです」と、Rahul は語ります。 3 位で完走したのはカリフォルニア州サンマテオの Adrian Sarno […]

Read More

Amazon Comprehend が、カスタムモデルのリソースタグ付けをサポート開始

Amazon Comprehend の顧客は、カスタム分類およびエンティティタイプのモデルを使用してさまざまなユースケースを解決しています。たとえば、毎日の利用客からのフィードバックを「ロイヤルティ」、「売上」、「製品の不良」などのカテゴリに分類する分類子を構築しています。 カスタムのエンティティモデルを使用すると、在庫システムの製品 ID など、独自の用語やフレーズについてテキストを分析することができます。Amazon Comprehend は、こうしたモデルの作成から生じる複雑さを取り除きました。必要なものは、ラベルとサンプルテキストを含む CSV ファイルだけです。 使いやすさにおけるこの大きな前進のために、より多くのチームのより多くの従業員がプロジェクトのためにカスタムモデルを作成しています。このようにより多くのチームにわたってより多くのモデルが広まるため、内部的な請求および使用管理のために各モデルに関連した使用量およびコストを項目別に分類できるようにする必要があります。 このリリースでは、Amazon Comprehend のカスタム分類子およびカスタムのエンティティモデルにリソースタグを割り当てることができるようになりました。こうしたリソースにタグ付けすると、それらのリソースの使用量やコストを識別、追跡、分類するのに役立ちます。たとえば、販売テキスト分析用のモデルとマーケティングテキスト分析用のモデルがあるとします。リソースのタグ付け機能を使用すると、SDK を使用して、あるいはコードなしの AWS マネジメントコンソールで新しいモデルを作成するときに、カスタムモデルリソースにタブラベルを付けることができます。モデルに対して使用量と請求が生成されると、これらのリソースタグを使用して使用量とコストが項目化されて表示されます。 カスタムモデルの作成中にリソースタグを追加することができます。次の例は、モデルをトレーニングする準備をしている間にカスタムモデルにタグを追加する方法を示しています。 カスタム分類子およびカスタムエンティティタイプへのタグ付けの詳細については、カスタム Comprehend を参照してください。 著者について Nino Bice は、AWS の自然言語処理サービス Amazon Comprehend の製品をリードするシニアプロダクトマネージャです。            

Read More

Amazon Comprehend で KMS 暗号化のサポートが開始されました

Amazon Comprehend は完全マネージド型の自然言語処理 (NLP) サービスで、重要なワークロードに対するテキスト分析を可能にします。たとえば、市場調査を分析することで PII 情報を含む主要な市場指標やデータを洗い出します。機密性の極めて高い暗号化データを取り扱うお客様は、今後、Comprehend を活用し、AWS Key Management Service との統合を介して暗号化データを処理できるようになります。 AWS KMS により、幅広い AWS のサービスとアプリケーションにおいて、キーの生成と管理、さらに暗号化の制御が容易になります。AWS KMS はお客様のキーを保護するために、FIPS 140-2 認証済みのハードウェアセキュリティモジュールを使用する安全で回復力のあるサービスです。AWS KMS は、AWS CloudTrail と統合されており、すべてのキー使用状況のログを提供し、規制やコンプライアンスのニーズを満たすのにも役立ちます。 データへのアクセスに Comprehend で KMS キーを使用できるようにするには、AWS マネジメントコンソール経由、または SDK と Amazon Comprehend の非同期トレーニングと推論ジョブのサポートを使って設定できます。利用を開始するには、まず AWS KMS サービスでキーを作成する必要があります。  KMS キーを作成する方法について詳しくは、次のサイトをご覧ください: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html 非同期ジョブの設定時には、Comprehend が S3 でデータにアクセスするために使用する必要のある KMS 暗号キーを指定します。以下はジョブ設定時の詳しい解説の一部として Amazon Comprehend コンソールでエイリアス「Comprehend」を選択してキーを選択するところを示した例です。 AWS KMS キーを管理するには、AWS KMS 管理ポータルにアクセスするか、KMS […]

Read More

Amazon SageMaker の自動モデルチューニングで、ランダム検索とハイパーパラメータスケーリングをサポート

Amazon SageMaker の自動モデルチューニングで強くお勧めできる 2 つの機能、ランダム検索とハイパーパラメータスケーリングを紹介します。この記事では、これらの機能について説明し、いつどのように有効にするかについて説明し、どのようにハイパーパラメータの検索におけるパフォーマンスを向上させることができるかを示します。お急ぎの場合は、デフォルト値で実行すると、ほとんどの場合はうまく機能します。しかし、もっと詳しく知りたい場合、もっと手動で制御したい場合は、読み続けてください。 Amazon SageMaker 自動モデルチューニングを初めて使用する場合は、「Amazon SageMaker 開発者ガイド」を参照してください。 ランダム検索とハイパーパラメータの対数スケーリング使用方法の実施例については、GitHub の Jupyter ノートブックの例を参照してください。 ランダム検索 ランダム検索を使用して、Amazon SageMaker に、ランダムな分布からハイパーパラメータ設定を選択するように指示します。 ランダム検索の主な利点は、すべてのジョブを並行して実行できることです。対照的に、デフォルトのチューニング手法であるベイズ最適化は、チューニングジョブの進行につれて過去のトレーニングから学習する順序アルゴリズムです。これにより、並列処理のレベルが大幅に制限されます。ランダム検索の欠点は、匹敵するモデル品質に到達するために、一般的にかなり多くのトレーニングジョブを実行する必要があることです。 Amazon SageMaker では、以下のように、チューニングジョブを作成するときに [戦略] フィールドを [ランダム] に設定するのと同じくらい簡単に、ランダム検索を有効にすることができます。 { “ParameterRanges”: {…} “Strategy”: “Random”, “HyperParameterTuningJobObjective”: {…} } AWS SDK for Python (Boto) を使用している場合は、HyperparameterTuner クラスで strategy=”Random” に設定します。 tuner = HyperparameterTuner( sagemaker_estimator, objective_metric_name, hyperparameter_ranges, max_jobs=20, max_parallel_jobs=20, strategy=”Random” ) 次のプロットは、左側のランダム検索で選択されたハイパーパラメータと、右側のベイズ最適化で選択されたハイパーパラメータを比較したものです。この例では、モデルチューニングのノートブックの例で作成した銀行マーケティングのデータセットを使用して、XGBoost アルゴリズムを調整しました。視覚化するために、alpha […]

Read More

Java と Amazon SageMaker Random Cut Forest アルゴリズムを使ってサーバーレスの異常検知ツールを構築する

ビジネスオーナーの方達が、共通して直面する問題の一つが、ビジネス上で普段と違う出来事に遭遇する、というものです。例えば、ユーザーが日ごろとは違う行動を取ったり、日々のトラフィックパターンに変化が起きるなどは、それらの問題の一部にすぎません。データやメトリクスが常に増加しつづける中、機械学習の力を借りて異常検知をすることは、積極的な問題特定のための、非常に有益な手法と言えます。 今回のブログでは、Amazon SageMaker と Java を使って、サーバーレスの異常検知ツールを作成する方法を解説していきます。Amazon SageMaker を使えば、機械学習モデルのトレーニングとホスティングを簡単に行え、ビルトインのアルゴリズムが、ビジネスに共通の問題を解決します。こういったビジネス上の特有な問題解決には、Random Cut Forest (RCF) 異常検知アルゴリズムを使います。Amazon Web Services ではお客様に、素早い対応力、低い IT コスト、そしてスケーリングなどを提供する、国際的なクラウドベースの製品を幅広く提案しています。ここでは、それらを使い、サーバーレスの異常検知ツールを構成する方法をご提示しましょう。Python は、機械学習の問題を追跡するための、最も普及したプログラミング言語の一つですが、多くのユーザーは、Java やその他の JVM ベース言語を使って、マイクロサービスやサーバーレスのアプリケーションを構築しているでしょう。このブログを読み終えた段階で、 お客様はAmazon SageMaker を使い、Java アプリケーションの中で機械学習を動作させられるようになると思います。 このブログ全体を通して、Java コードのスニペットを示しながら、本ツールの特徴的な側面に焦点を当てていきます。こちらから、構築およびデプロイされたコードを、ご自身の AWS アカウントのために取得することが可能です。 問題の概要 今回の例では、Java 開発者の Alice さんにご登場願います。彼女は、複数の AWS サービスの上層で走るビデオストリーミングプラットフォームを運営しており、顧客は数千人におよびます。Alice さんは、彼女のプラットフォームが上手く機能しているかを表示するメトリクスを追跡するため、ダッシュボードの設定を行っています。彼女にとって最も重要なメトリクスの 1 つは、次の図に示すような、プラットフォーム上のアクティブユーザーの総数です。 このメトリクスは、ユーザー数の基本的な日次パターンを示していますが、同時に、周期的な変化も見せています。 アクティブユーザー数の低い点、高い点、そして日常パターンから外れた動きなどは、すべて変則値として捉えられます。主に Alice さんが関心を寄せているのは、これらの変則的データポイントの根本原因を突き止めるということです。現在のところ彼女は、データ内の異常を見つけるための自動ツールは使っていません。代わりに、データのスパイクやくぼみ、周期性から外れた部分をみつけるため、マニュアル操作を行い多くの時間を費やしています。そして、この周期性に変化があることから、固定的なしきい値やそのウィンドウを設定しても、さほどの効果は上がりません。彼女には、もっと良い解決策が必要というわけです。 Alice さんの仕事を楽にする方法とは? ソリューションのアーキテクチャ 異常検知についてAlice さんが抱える問題を解決するには、まず、異常検知ツールの全構成ブロックを確認することが必要でしょう。 Amazon SageMaker – メトリクスデータの履歴をもとにしたモデルの構築を容易にするには、Amazon SageMaker を使います。これにより、(前週の値を参考に) 現在の変則的なデータポイントを見つけ出すことができます。Amazon SageMaker […]

Read More

AWS DeepRacer リーグサミットサーキット初の優勝者の発表!

本日、カリフォルニア州サンタクララ市で開催された AWS サミットでは、世界初のグローバル自律型レーシングリーグの2019年シーズンが開始されました。AWS DeepRacer リーグは、すべてのスキルレベルの開発者が、 世界中のAWS グローバル サミット の一連のレーシングイベントを通じて、Machine Learning を使った実践を行うことを許可します。AWS DeepRacer リーグは、年間を通じた仮想イベントとトーナメントを含みます。 開発者として、Machine Learning のスキルをテストするエキサイティングな日でした! 9 時間後に、400 周の自律走行、5 マイルを超えるレースで、サンタクララの優勝者が発表されました。カリフォルニア州サンタクララを拠点にする Cloud Brigade の創立者である Chris Miller は、リーダーボードを突破し、ネバダ州ラスベガスで開催される re:Invent 2019 でAWS DeepRacerチャンピオンシップカップへの経費支給の旅に進める最初の勝者です。10.43 秒の優勝者のタイムで Chris と彼のチームはサンタクララサミットに AI トML について学ぶことを目的に来ました 「私は最新の用途で利用できる Machine Learning と技術に興奮しています」。 Chris はサミットの AWS DeepRacer ワークショップの 1 つで彼の勝利したモデルをトレーニングしました。次は Chris のアジェンダです。彼は現在、Machine Learning と彼のモデルをさらにカスタマイズする方法についてもっと多く学習することにより、re:Invent の準備をしています。 リーダーボードの 3 つのトップの開発者: […]

Read More

Amazon SageMaker で Optuna を用いたハイパーパラメータ最適化を実装する

Amazon SageMaker はお客様の機械学習のワークロードにおいて様々な選択肢を提供します。深層学習フレームワークの選択肢として2018年の AWS Summit Tokyo で発表された Chainer 対応はその一つです。Chainer は 株式会社Preferred Networks により開発された深層学習フレームワークで、計算時に動的にグラフを生成する define-by-run の考え方 (imperative な実行とも呼ばれます) を世界に先駆けて取り入れました。株式会社Preferred Networks はこの Chainer とは独立に、同じく define-by-run の思想に基づいたハイパーパラメータの最適化 (HPO) のための Optuna を2018年12月に発表しました。本稿では、AWS が提供する SageMaker 上で Optuna を用いた HPO を行う方法とアーキテクチャについてご紹介します。 導入 SageMaker が提供する HPO の選択肢 Amazon SageMaker は、TensorFlow, Apache MXNet, PyTorch, Chainer, scikit-learn, Horovod, Keras, Gluon などのフレームワーク・インターフェースに対応し、すべての開発者とデータサイエンティストに機械学習モデルの構築・学習・デプロイ手段を提供する AWS のサービスです。SageMaker はマネージド型の […]

Read More

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

アマゾン ウェブ サービス ジャパン株式会社 (AWS) 機械学習ソリューションアーキテクトの宇都宮聖子です。AWS 目黒オフィスでは、お客様の事例紹介登壇を交えた Amazon SageMaker のセミナーとして、「Amazon SageMaker 事例祭り」を毎月開催しています。2019年3月12日に開催された第3回 Amzon SageMaker 事例祭りでは、株式会社ディー・エヌ・エーの加藤様、クックパッド株式会社の染谷様をゲストスピーカーにお迎えし、Amazno SageMaker の入門ハンズオンまで、130名を超えるたくさんの方々にご参加いただきました。   Amazon SageMaker 紹介 「Amazon SageMakerとは何か」 アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクト 鮫島 正樹  [slides] Amazon SageMaker は、開発・トレーニング・デプロイと一連の機械学習のワークフローにおける課題を解消するためのサービスです。AWS ソリューションアーキテクト鮫島より、機械学習のマネージドサービスである Amazon SageMaker について、開発・学習・推論を効率的に実装する各種機能の基本的な使い方、SageMaker を使った機械学習のフローやアーキテクチャ、SageMaker 対応の学習スクリプトや分散学習対応コードの書き方など SageMaker への移行の際に気をつけること、機械学習パイプラインの構築支援機能、実際のユースケースなど、SageMaker を便利にお使いいただくための方法をご紹介しました。 Amazon SageMaker Ground Truth、Amazon Elastic Inference、ノートブックインスタンスの16TBまでのディスク拡張、TensorFlow の script mode 対応、AWS Step Functions […]

Read More

MXNet と Amazon Elastic Inference を使用した、深層学習の推論コストの削減

Amazon Elastic Inference (Amazon EI) は、Amazon EC2 および Amazon SageMaker インスタンスに低コストの GPU 駆動のアクセラレーションをアタッチ可能にするサービスです。MXNet は AWS re:Invent 2018 での最初のリリース以来 Amazon EI をサポートしています。 このブログでは、MXNet で Amazon EI を使った場合のコストとパフォーマンスのメリットについて詳しく見ていきます。当初 43ms だった推論のレイテンシーを 1.69 倍改善し、コスト効率が 75% 向上している例をご紹介します。 Amazon Elastic Inference のメリット Amazon Elastic Inference は深層学習推論の実行コストを最大 75% 削減できます。最初に、Elastic Inference とその他の Amazon EC2 のオプションをパフォーマンスとコストの点で比較します。 以下の表は各 EC2 オプションのリソース、キャパシティー、コストを詳しく示したものです。c5.xlarge + eia1.xlarge と p2.xlarge のコンピューティング性能がほぼ同じである点に注目してください […]

Read More