Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon SageMaker の強化学習を使用して AI で駆動する Battlesnake を構築する

Battlesnake は、従来のスネークゲームを基礎にした AI コンペティションで、複数の AI を搭載したスネークが生き残りをかけて競います。Battlesnake は、あらゆるレベルの開発者のコミュニティを魅了しています。何百ものスネークが競い合い、オンラインの Battlesnake グローバルアリーナでランキング上位に入ることを目指します。Battlesnake はまた、1,000 人以上の開発者と非開発者が参加するオフラインイベントを開催しており、その様子は Twitch でストリーミング配信されています。開発者のチームは、コンペティションのためにスネークを作り、新しい技術スキルを学び、協力することを学び、楽しんでいます。チームは、最先端の深層強化学習 (RL) アルゴリズムから独自のヒューリスティックベースの戦略まで、さまざまな戦略を駆使してスネークを構築できます。 この記事では、Amazon SageMaker を使用して RL ベースのスネークを構築する方法を説明します。 従来のスネークゲームでは、スネークを上下左右に移動するようにコントロールします。スネークが壁、別のスネーク、またはスネーク自身の体にぶつかると、スネークは死にます。スネークが食物を食べると、体が長くなります。従来のスネークゲームと比べると、Battlesnake にはいくつか違う点があります。まず、スネークを制御するのは、プログラムです。2 頭のスネークが正面衝突すると、小さいスネークが死にます。また、飢えメカニズムがあります。100 手動いて食物を食べられなかったスネークは死にます。そのため、生存率を最大にする、他のスネークを積極的に攻撃する、または他のスネークを避けようとすることはすべて、プレイヤーが採用している実践的な戦略です。スネークはプログラムされたウェブサーバーとして実装され、Battlesnake エンジンはゲームの現在の状態を考慮して次の動きをクエリします。詳細については、Battlesnake ウェブサイトの「開始方法」を参照してください。 この記事では、SageMaker Battlesnake スターターパックを使用して、スネークの構築に必要な時間と労力を節約する方法を示します。SageMaker Battlesnake スターターパックは、RL でトレーニングされた AI 搭載のスネークを提供します。スターターパックは、独自の RL ポリシーと、RL アルゴリズムの上にカスタムヒューリスティックベースのルールを構築するツールをトレーニングするための環境も提供します。さらに、AI ボットをデプロイおよびホストするウェブインフラストラクチャが自動的に生成されます。SageMaker Battlesnake スターターパックでは、周囲のインフラストラクチャを気にすることなく、AI の開発に集中できます。 Amazon SageMaker Battlesnake スターターパックは、AWS CloudFormation の quick-create リンクを使用します。これにより、GitHub repo から AWS マネジメントコンソールへ 1 クリックデプロイを行えます。スタックを作成すると、次の […]

Read More

Amazon API Gateway マッピングテンプレートと Amazon SageMaker を使用して機械学習を搭載した REST API の作成

Amazon SageMaker を使用して、組織は機械学習モデルを構築、トレーニング、およびデプロイできます。コンシューマー向けの組織は、パーソナライズされた製品の推奨事項を作成したり、顧客の好みに基づいてアプリケーションの動作を自動で調整したりすることにより、顧客体験を豊かにすることができます。そのようなアプリケーションを構築する場合、コンシューマーデバイスで実行されているクライアントソフトウェアでランタイム推論エンドポイントを使用可能にする方法は、アーキテクチャ上の重要な考慮事項の 1 つです。通常、エンドポイントは、クライアントソフトウェアに一連の完全なアプリケーション機能を提供する REST など、ウェブ上で使いやすい従来のアプローチに基づいて、より広範囲な API の一部として提供されます。 Amazon API Gateway は、開発者があらゆる規模の API を簡単に作成、公開、保守、監視、保護できるようにするフルマネージド型サービスです。API Gateway を使用して、Amazon SageMaker エンドポイントの外部に面した単一のエントリポイントを提示できます。これには、次の利点があります。 クライアント向けの REST API と、基となる Amazon SageMaker ランタイム推論 API の間を変換することにより、基本実装仕様からクライアントを隔離 クライアントリクエストの認証と承認をサポート 調整、評価制限、およびクォータ管理を使用してクライアントリクエストを管理 AWS WAF が提供するファイアウォール機能を使用 キャッシングとリクエストの検証により、コスト削減と運用の最適化を実現 モデルの変更を安全に導入するためのカナリアデプロイメントを簡単に作成 この記事では、マッピングテンプレートと呼ばれる API Gateway 機能を使用して、REST API の一部として Amazon SageMaker 推論エンドポイントを処理する方法をお見せします。この機能により、REST API を Amazon SageMaker ランタイムエンドポイントに直接統合できるため、エンドポイントを呼び出すための中間コンピューティングリソース (AWS Lambda または Amazon ECS コンテナなど) […]

Read More

Amazon Translate、AWS Lambda、および、新しいバッチ翻訳 API を使ってのドキュメント翻訳

ビジネスや個人向けに、世界中で共有されるデジタルのテキストドキュメントの数が増加し続けている中、翻訳機能への要求はさらに強まってきています。オンライン上には、ユーザーがテキストをコピー&ペーストすればその内容を希望の言語に翻訳できるツールが複数存在します。(分量に限度があり) その場しのぎで テキストを翻訳するのであれば、これも非常に有用だと言えますが、頻繁にこれを行うとなれば、退屈で時間だけがかかる仕事になります。 各組織では、製品やサービスを説明するためのコンテンツを大いに活用することで、問い合わせの方法を顧客に知らせたり、事業上の訴求ポイントなどを広告しています。こういったコンテンツでは、しばしばテキスト量が増えがちで、また、ほとんどは母国語で記述されているでしょう。その言語についての十分な知識のないユーザーが内容を理解しようとすることはやっかいなことです。そして、企業と顧客との関係においても、直接的な影響を与える可能性があります。ドキュメント一式をある言語から別な言語に素早くコスト効率良く翻訳できる、自動化されたソリューションが求められています。 このブログ記事では、ドキュメント翻訳に関する 2 つのソリューションについて解説していきます。その 1 つは、収集したドキュメントに非同期のバッチ翻訳を行うシンプルな翻訳手法のアプローチで、もう一方は、AWS Lambda と Amazon のリアルタイム翻訳を使い、ドキュメントを入手する度に同期的に翻訳を行う、より進んだアプローチです。お客様は、必要に応じ最適な方を選び、ご使用いただけます 同期バッチ翻訳を使うシンプルなアプローチ Amazon Translate は、現実的な価格で迅速かつ高品質な翻訳を実現するニューラル機械翻訳サービスです。ニューラル機械翻訳は、深層学習モデルを応用した自動翻訳の一形態です。これによれば、従来の統計学や規則をベースにした翻訳アルゴリズムと比べて、正確かつ自然な響きのある翻訳を提供できますこの翻訳サービスは、多様なコンテンツにも適格に対応するため、異なるユースケースやドメイン間での多様な文章を使ってトレーニングされています。この詳細については、Amazon Translate の製品ページをご参照ください。 近頃、Amazon Translate では、大量に集積したテキストや HTML ドキュメントの翻訳に使える、非同期のバッチ翻訳機能を公開しました。これにより、1 回の API 呼び出しのみで、ドキュメント一式をある言語から別な言語に翻訳できます。非同期バッチ翻訳を使うことで、ドキュメントやチュートリアル素材、あるいはブログなどを、日ごとに希望の言語に翻訳しローカライズすることが可能です。さらに、バッチ翻訳ジョブの進行状況をモニタリングしたり、指定した出力フォルダーから翻訳結果を取得することもできます。それでは、非同期バッチ翻訳の使用方法を確認していきましょう。 Amazon Translate のバッチ翻訳を試すために、ここでは、次に示すような 3 つのテキストファイルを使用します。 これらのテキストファイルは、こちらからダウンロードできます。 テキストファイル 1: Amazon Translate is a neural machine translation service that delivers fast, high-quality, and affordable language translation. テキストファイル 2: Neural machine translation is […]

Read More

Amazon CodeGuru Profiler でパフォーマンスの問題を調査する

Amazon CodeGuru (プレビュー) は、アプリケーションのパフォーマンス特性を分析し、それを改善する方法を自動的に推奨します。Amazon CodeGuru Profiler は、アプリケーションで時間が費やされている部分をインタラクティブに視覚化します。このフレームグラフは、どのコードメソッドが遅延を引き起こしているのか、CPU を過度に使用しているのかをトラブルシューティングするのに役立つ強力なツールです。この記事では、フレームグラフを解釈する方法を説明し、次の場合にどう使用したらよいかを示します。 アプリケーションのパフォーマンスプロファイルを分析し、それが既知のコードとどのように関連しているかを理解する プロファイル内の明らかな異常を見つける レイテンシーの問題を調査する CPU 使用率の最適化とコスト削減の機会を探す アプリケーションを分析する プロファイリンググループを開く アプリケーションのプロファイリングを開始する前に、デモアプリケーションのおかげで、セットアップなしで CodeGuru Profiler をすぐに使用開始できます。AWS アカウントを持っている人なら誰でもご利用いただけます。デモアプリケーションにアクセスするには、Amazon CodeGuru コンソールで、[Profiler]、[Profiling groups] を選択します。この記事では DemoProfilingGroup-WithoutIssues を使用しています。 [Profiling groups] ページから選択すると、フレームグラフが表示されます。次のスクリーンショットは、この特定のデモアプリケーションのフレームグラフを示しています。 フレームグラフとは何ですか? フレームグラフは、スタックトレースで表示される方法と同様に、階層的な方法で示されます。CodeGuru Profiler は、一定期間 (5 分など) にアプリケーションで実行されているコードからスタックトレースのスナップショットを定期的に取得し、1 度の視覚化で表示します。フレームと呼ばれる水平バーは、各メソッドを表します。CodeGuru Profiler がスタックトレース内のメソッドを頻繁に見るほど、グラフ内のフレームが広くなります。十分なサンプルを用いることで、アプリケーションが各メソッドに費やす時間の割合を確認できます。 フレームグラフには、時間に関する 2 つの概念があります。 CPU の稼働時間 – プロセッサがそのメソッドでアクティブに動作していた時間を表したもの。表示するには、CPU ビューモードを使用します。 実際の経過時間 – これは、稼働時間に加えて、プロセスが待機していた時間も考慮します。表示するには、レイテンシービューモードを使用します。 デモアプリケーションが行っていること 視覚化により何が表示されるかを理解するには、実際にプロファイルされたアプリケーションが何をしているかを知るのがよいでしょう。 このデモアプリケーションでは、2 つの個別のスレッドを実行しています。スレッドの 1 […]

Read More

Amazon Elastic Inference を使用して Amazon SageMaker で PyTorch モデルの ML 推論コストを削減する

本日、Amazon Elastic Inference を使用して、Amazon SageMaker と Amazon EC2 の両方で PyTorch モデルの推論を加速し、推論コストを削減できるようになったことを発表します。 PyTorch は、動的なコンピューティンググラフを使用する一般的なディープラーニングフレームワークです。これにより、命令的で慣用的な Python コードを使用してディープラーニングモデルを簡単に開発できます。推論は、トレーニングされたモデルを使用して予測を行うプロセスです。PyTorch などのフレームワークを使用するディープラーニングアプリケーションの場合、推論は計算コストの最大 90% を占めます。ディープラーニングモデルはさまざまな量の GPU、CPU、およびメモリリソースを必要とするため、推論に適切なインスタンスを選択することは困難です。通常、スタンドアロン GPU インスタンスでこれらのリソースの 1 つを最適化すると、他のリソースが十分に活用されなくなります。したがって、未使用のリソースに対して料金を支払うことになる可能性があります。 Amazon Elastic Inference は、Amazon SageMaker や EC2 インスタンス、または Amazon ECS タスクに適切な量の GPU による推論アクセラレーションをアタッチできるようにすることで、この問題を解決します。アプリケーションの全体的なコンピューティングとメモリのニーズに最適な AWS の CPU インスタンスを選択し、アプリケーションのレイテンシー要件を満たすために必要な適切な量の GPU による推論アクセラレーションを個別にアタッチできます。これにより、リソースをより効率的に使用し、推論コストを削減できます。今日、PyTorch が、Elastic Inference でサポートされるディープラーニングフレームワークとして TensorFlow と Apache MXNet に加わります。この記事の執筆時点でリリースされているバージョンは 1.3.1 です。 Amazon SageMaker は、すべての開発者およびデータサイエンティストが […]

Read More

Trinity Audio WordPress プラグインを使用してコンテンツを無料でオーディオに変換する

これは、Trinity Audio 社の共同設立者兼 CEO である Ron Jaworski 氏によるゲスト投稿です。言葉にすると、「Trinity Audio 社は、世界中のあらゆるタイプと規模のパブリッシャーやコンテンツクリエイターに対応するオーディオコンテンツソリューションのプラットフォームです。読者をリスナーに変えることで進行中のオーディオ革命に参加し、現代の視聴者が今日期待している体験を生み出します」 オーディオコンテンツの消費は急速に増加しています。今日、より多くのパブリッシャーとコンテンツクリエイターが、顧客への代替製品としてオーディオを求めています。Trinity Audio 社は、簡単なプラグアンドプレイソリューションでオーディオオプションを提供する Amazon Polly を使用しています。Amazon Polly はテキストをリアルなスピーチに変換し、29 個の言語で利用可能な 60 種類以上の音声を保有しています。 この投稿では、Trinity Audio 社の無料 WordPress プラグインを使用して、簡単な手順でコンテンツにオーディオを追加する方法を説明します。Amazon Polly でテキストを合成するために料金を支払う必要はありません。このオーディオコンテンツソリューションは、簡単にコンテンツをオーディオに変換することでエンゲージメントを高め、視聴者を増やす、まったく新しい方法を提供します。次のスクリーンショットは、オーディオプレイヤーがサイトでどのように表示されるかを表しています。 Mfidie.com のオンラインコンテンツマネージャーである Shepherd Yaw Morttey 氏によると、同社は「WordPress のリリース直後に Trinity Audio プレイヤーの使用を開始しました。1 か月以内に、プレイヤーを添付したブログ投稿でのセッション時間が 20% 近く増えました。また、バックグラウンドプレイの性質と PWA とのシームレスな統合により、訪問者はサイトを積極的に利用していないときでも記事を視聴することができます。この方法で、必要な人により多くの情報を提供することができます」 世界中のパブリッシャーは、Trinity Audio のプラグインを使用して、市場投入までの時間を最小限に抑えながら、数十個の言語で Amazon Polly の高品質な音声を統合できます。テキストの合成に関連するコストを相殺するために、プラグインは新しく作成された音声出力にデジタル広告を挿入します。WordPress バージョン 3.0.1 以上 (テスト済みの 5.0.6 まで)、および […]

Read More

Amazon SageMaker 強化学習を使用したバッチ強化学習ポリシーのトレーニング

 Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習 (ML) モデルを迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型サービスです。教師ありおよび教師なし学習手法をより一般的に使用した機械学習モデルの構築に加えて、Amazon SageMaker 強化学習を使用して強化学習 (RL) モデルを構築することもできます。 Amazon SageMaker 強化学習には、強化学習の開始を容易にする、事前に構築された強化学習ライブラリとアルゴリズムが含まれています。詳細については、Amazon SageMaker 強化学習 – Amazon SageMaker での管理強化学習を参照してください。Amazon SageMaker 強化学習を使用すると、AWS RoboMaker、Open AI Gym、オープンソース環境、強化学習モデルをトレーニングするためのカスタムビルド環境など、さまざまなシミュレーション環境と簡単に統合できます。また、Open AI Gym、Intel Coach、および Berkeley Ray RLLib を含む Amazon 強化学習コンテナ (MXNet および TensorFlow) を使用することもできます。 この記事では、Amazon SageMaker 強化学習を使用してバッチ強化学習 (バッチ RL) の実装方法を示しています。ここでは、学習経験量の全部 (通常、システムからサンプリングされた一連の移行) が事前に提供されます。この手法では、以前のポリシーから一連の状態とアクション移行を収集し、それらを使用して、環境と相互作用せずに新しい強化学習ポリシーをトレーニングする必要があります。 この記事では、Amazon SageMaker 強化学習を使用して、初期ランダムポリシーからオフラインデータを収集し、オフラインデータで強化学習ポリシーをトレーニングし、トレーニング済みのポリシーからアクション予測を取得する方法を示しています。この方法は、次の強化学習ポリシートレーニングのオフラインデータを収集するために使用できます。 バッチ強化学習 強化学習は、ポートフォリオ管理、エネルギー最適化、ロボット工学など、複数のドメインにわたる問題を解決するのに有用です。強化学習は、存在するトレーニングデータに依存しない機械学習のカテゴリです。代わりに、強化学習で、学習エージェントは環境 (実際またはシミュレート) と相互作用し、実行するアクションの最適なシーケンスを提供するポリシーを学習します。エージェントが学習するポリシーは、各アクションが受け取る報酬またはペナルティに基づいています。 ただし、実際の多くの問題では、強化学習エージェントは、デプロイされたポリシーが生成した履歴データから学習する必要があります。たとえば、ゲームをプレイしている専門家の履歴データ、ウェブサイトを操作するユーザー、またはコントロールシステムからのセンサーデータが存在する場合があります。このデータを入力として使用して、デプロイされた既存のポリシーの結果として履歴データを扱うことにより、新しく改善された強化学習ポリシーをトレーニングできます。 この強化学習へのアプローチはバッチ強化学習と呼ばれ、学習エージェントは固定されたオフラインデータセットサンプルのバッチから改善されたポリシーを導き出します。詳細については、書籍『強化学習: 最先端』から「バッチ強化学習」の章を参照してください。 […]

Read More

【開催報告】AWS AI/ML@Tokyo #2 ~エンタプライズ企業におけるAmazon SageMakerの活用~

アマゾン ウェブ サービス ジャパン株式会社の帆足 (Twitter: @hoahoa) です。AWS Japan 目黒オフィスでは、今年からAI/ML関連情報を発信するイベント「AWS AI/ML@Tokyo」を定期的に開催しています。2020年2月27日に開催された AWS AI/ML@Tokyo #2では、AWS Japan によるサービスの最新情報や事例紹介と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。

Read More

Amazon SageMaker で DeepChem を使用して、仮想スクリーニングを行う

 仮想スクリーニングは、膨大な量の分子ライブラリを検索して、ターゲット特性を示す可能性が最も高い構造を特定することにより、薬物または物質の発見に用いられる計算手法です。 利用できる計算時間の急激な増加とシミュレーションの絶え間ない改善により、仮想スクリーニングは分子発見のための画期的なツールになりつつあります。 ディープラーニングテクノロジーは、この計算仮想コンパウンドスクリーニングで広く使用されており、そのようなテクノロジーは飛躍的に進化しています。DeepChem は最も人気のあるオープンソースツールの 1 つで、創薬、物質科学、量子化学、生物学においてディープラーニングを広く利用できるようにしています。詳細については、GitHub の「創薬、量子化学、物質科学および生物学のためのディープラーニングの民主化」をご参照ください。 この記事では、DeepChem を Amazon SageMaker で使用する方法について説明します。Amazon SageMaker は、機械学習 (ML) モデルをすばやく簡単に構築、トレーニング、デプロイできるようにする完全マネージド型のサービスです。ML は、モデルを構築し、トレーニングし、本番環境にデプロイするプロセスが複雑で時間がかかるため、本来よりも難しいと感じることが多々あります。Amazon SageMaker はその複雑さを軽減します。 Amazon SageMaker で DeepChem をインストールする DeepChem をインストールするには、AWS アカウントをセットアップし、最初の Amazon SageMaker ノートブックインスタンスを作成します。次の手順を実行します。 AWS アカウントがまだない場合は、AWS アカウントを作成します。 AWS にサインアップすると、AWS アカウントは Amazon SageMaker を含むすべての AWS のサービスに自動的にサインアップされます。請求は、利用したサービスに対してのみ行われます。Amazon SageMaker を初めて使用する場合は、「Amazon SageMaker の仕組み」をご参照ください。 Amazon SageMaker コンソールで、[Notebook instances] を選択します。 [Create notebook instance] を選択します。 […]

Read More

AWS DeepRacer リーグ: 2020 年シーズンでは、レースに向けて仮想サーキットが開催されます。

AWS DeepRacer リーグは、誰でも参加できる世界初の自律型レーシングリーグです。2019 年、世界中の何万人もの開発者が、最速モデルを持っていることを証明するために、時間との戦いに参加しました。大会では日本の SOLA が優勝し、re:Invent 2019 ステージでチャンピオンシップカップを勝ち取りました。 仮想サーキットがオープンしました。レース形式と賞品がより豪華になりました。 レーサーはこの単一車のレース形式を楽しんでいましたが、多くの人は単純な時間との戦いよりもライバルたちと直接レースを競い合うことを切望しました。re:Invent 2019 で、新しい AWS DeepRacer 機能とレースの予定が発表されました。発表では、機械学習 (ML) 開発者にとって 2020 年がさらにオクタン価の高い年になると約束しました。3 月 2 日は 2020 年シーズンの始まりで、仮想サーキットの開幕でもあります。今年の最初のトラックは SOLA のレーススタイルからインスピレーションを得たもので、高速ストレートと背中合わせのヘアピンターンでチャンピオンのようにレースを味わえます。re:Invent 2020 でチャンピオンシップを勝ち取るために、AWS DeepRacer コンソールを介して SOLA Speedway モデルの構築とレースを始めましょう。 2020 年 3 月から 10 月にかけて行われる毎月のレースでは、仮想サーキットシーズンで合計 24 レースが行われ、そのうち 3 つのレース形式 (タイムトライアル、障害物回避、直接対戦) から選択できます。レースの数が増えると、2020 年には 2019 年に比べ 4 倍の勝者を獲得できます。これらのレースでリーダーボードのトップに登り詰めると、チャンピオンシップに出場するための re:Invent 2020 の旅費が支払われます。 タイムトライアルレースは、より伝統的な 2019 […]

Read More