Amazon Web Services ブログ

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

AWS CloudFormation を使用して Amazon Redshift クラスターの作成を自動化する

この投稿では、AWS アカウントで Amazon Redshift クラスターのデプロイを自動化する方法について説明します。セキュリティと高可用性に関する AWS のベストプラクティスに基づいてクラスターの設定を促進することで、AWS CloudFormation を使った設定を速やかに行うことができるようになります。 必要に応じてカスタマイズできる CloudFormation の一連のサンプルテンプレートを見ていきます。 Amazon Redshift は、高速かつスケーラブルで完全マネージド型の ACID と ANSI SQL に準拠したクラウドデータウェアハウスサービスです。新しいデータウェアハウスの設定とデプロイをほんの数分で行い、Amazon Redshift に保存されているペタバイト規模の構造化データに対してもクエリを実行できます。Amazon Redshift Spectrum を使用すると、データウェアハウジング機能が Amazon S3 に構築したデータレイクに拡張されます。Redshift Spectrum では、データをロードすることなく、エクサバイトの構造化および半構造化データをネイティブ形式でクエリできます。Amazon Redshift は、機械学習、巨大な並列クエリ実行、高性能ディスクのカラムナストレージを使用することで、他のデータウェアハウスデータベースよりも高速なパフォーマンスを実現します。Amazon Redshift を設定すれば、数分でスケールの拡大縮小が行えるだけでなく、コンピューティング能力を自動的に拡張して、無制限の同時実行を確実に行うことができます。 Amazon Redshift から開始し、AWS Well-Architected フレームワークの推奨ベストプラクティスに基づいて AWS リソースを設定する場合には、こちらで提供する CloudFormation テンプレートを使用できます。モジュラーアプローチでは、AWS インフラストラクチャをゼロから構築するか、既存の仮想プライベートクラウド (VPC) に Amazon Redshift をデプロイするかのいずれかを選択できます。 CloudFormation テンプレートを使用する利点 AWS CloudFormation テンプレートを使用すれば、何百にもおよぶ手動での手順を、テキストファイルにある少しの手順にまとめることが可能です。ファイル内の宣言コードは、作成するリソースの意図した状態をキャプチャし、数百の AWS […]

Read More

GoldenGate を使用したリアルタイムでの Oracle OLTP データの抽出と Amazon Athena からのクエリ

この記事では、レポート作成ワークロードをオンライントランザクション処理 (OLTP) データベースから Amazon Athena および Amazon S3 にオフロードすることによってパフォーマンスを向上させ、コストを削減できる方法について説明します。説明するアーキテクチャはレポート作成システムを実装するもので、到着時にクエリできるようにして、受け取るデータを理解することを可能にします。このソリューションでは以下が行われます。 ソース上で変更が行われるたびに、Oracle GoldenGate がターゲットに新しい行を生成し、緩やかに変化するディメンションのタイプ 2 (SCD タイプ 2) データを作成します。 Athena が SCD タイプ 2 データでのアドホッククエリの実行を可能にします。 最新のレポート作成ソリューションの原則 高度なデータベースソリューションは、コスト効率の良いレポート作成ソリューションを構築できるように原則のセットを使用します。これらの原則には以下のようなものがあります。 OLTP からレポート作成アクティビティを分離する。このアプローチは、リソースの分離を提供し、データベースがそれぞれのワークロードをスケールできるようにします。 Hadoop Distributed File System (HDFS) および Amazon S3 などのクラウドプロジェクトストアといった分散ファイルシステムの上で実行されるクエリエンジンを使用する。オープンソース HDFS とクラウドオブジェクトストアの上で実行できるクエリエンジンの到来は、専用レポート作成システムの実装コストをさらに削減します。 また、レポート作成ソリューションの構築時にはこれらの原則を使用できます。 商用データベースのライセンスコストを削減するため、レポート作成アクティビティをオープンソースデータベースに移動させる。 ソースシステムからの OLTP データをレプリケートでき (リアルタイムモードが望ましい)、データの現行ビューを提供する、ログベースでリアルタイムの変更データキャプチャ (CDC) を使用したデータ統合ソリューションシステムを使用する。ソースおよびターゲットのレポート作成システム間におけるデータレプリケーションは、CDC ソリューションを使用して有効化できます。トランザクションログベースの CDC ソリューションは、ソースデータベースから非侵襲的にデータベースの変更をキャプチャし、それらをターゲットデータストアまたはファイルシステムにレプリケートします。 前提条件 GoldenGate と Kafka を併用しており、クラウド移行を検討しているという場合は、この記事が役に立ちます。この記事では、GoldenGate に関する予備知識も前提としており、GoldenGate […]

Read More

コンテナとコンテナ化されたアプリケーションに対する運用上の洞察

コンテナ化されたアプリケーションとマイクロサービスの適応が増えるに従い、監視と管理の負担がますます増えます。ビルダには Amazon Elastic Compute Cloud (EC2) のインスタンスなどのより長期にわたるインフラすトラクタに使用されるため、同じレベルの監視が期待され、要求されています。対照的に、コンテナは比較的短命で、通常は継続的なデプロイが求められます。これにより、信頼性をもって監視データを収集し、パフォーマンスやその他の問題を分析することが困難になり、このことが修復時間に影響を与えます。さらに、ビルダはさまざまなツールを使用してこの分析と検査を実行し、一連のインフラストラクチャとアプリケーションのメトリック、ログ、およびその他のトレース全体でコンテキストを手動で関連付ける必要があります。 Amazon CloudWatch Container Insights の一般的な利用状況の通知 本年 7 月に開催されたニューヨークの AWS Summit で、Amazon CloudWatch Container Insights のAmazon ECS および AWS Fargate のサポートは、新しいクラスタに対するオープンプレビューとして発表されました。本日より、Container Insights は既存のクラスタも監視する機能が追加されて、一般に利用可能になります。コンテナ管理サービスから、新規および既存のクラスタインフラストラクチャとコンテナ化されたアプリケーションの両方のコンピューティング使用率と障害に関する即時の分析情報を簡単に取得できます。これは、Kubernetes、Amazon Elastic Container Service for Kubernetes、Amazon ECS、および AWS Fargateが含まれます。 Amazon CloudWatch が一度有効になると、クラスタで実行中のすべてのコンテナを検出し、コンテナスタックの各レイヤのパフォーマンスと運用データを収集します。また、環境の変化に応じて継続的に監視と更新を行い、コンテナのメトリックとログの収集、監視、行動、分析に必要なツールの数を簡素化し、完全なエンドツーエンドの可視性を提供します。 このデータに簡単にアクセスできるということは、顧客が開発者の生産性の向上に焦点を移し、ダッシュボードを管理および構築するメカニズムの構築から離れることを意味します。 Amazon CloudWatch Container Insights の開始方法 ドキュメントの手順に従い、Container Insightsを有効にできます。一度有効になると、新しいクラスタが開始され、自分のリージョンのCloudWatch コンソールにアクセスすると、利用可能なダッシュボードのリストの中に Container Insights のオプションが表示されます。 これをクリックすると関連するダッシュボードに移動し、そこで観察対象となるクラスタをホストするコンテナ管理サービスを選択できます。 下の画像では、AWS Fargate […]

Read More

AWS DevDay Tokyo 2019 セッションのご紹介

ソリューションアーキテクトの鈴木哲詩 (@studio3104) です。 先日のブログエントリでお伝えいたしました 2019/10/3, 4 にて開催予定の AWS DevDay Tokyo 2019 ですが、皆様 Save the date にはご登録いただいておりましたでしょうか!? 先のエントリ中でもお伝えしておりますが、改めてサラッと概要を。AWS DevDay は世界主要都市で開催されているアプリケーション開発者のためのイベントです。2019年の東京開催では、規模を拡大して神田明神ホールをお借りして開催します。無料です。アプリケーション開発者のための無料イベントです!!!!!!!1 そして、皆様、大変お待たせいたしました、本日本登録サイトをオープンしました!! https://aws.amazon.com/jp/about-aws/events/2019/devday/ つきまして、本ブログエントリでは、予定しているコンテンツの一部をご紹介していきます。   ゼネラルセッション まずはゼネラルセッションをご紹介します。ゼネラルセッションでは、トークセッションとパネルディスカッションの2部構成となります。 トークセッションでは、Ruby の父まつもとゆきひろ様、株式会社ソニックガーデンの創業者で代表取締役社長の倉貫義人様をお招きして、今研究や開発に取り組んでおられること、注目しているテクノロジー、エンジニアがもっと輝くために必要なことなど、ソフトウェアエンジニアの皆様へのメッセージを、それぞれお話しいただきます。 パネルディスカッションでは、Amazon Web Services Japan の岡嵜禎がモデレーターを務めさせていただき、引き続き倉貫様とまつもと様をパネリストとして、 エンジニアがさらに輝いていくにはどうしていけばよいのかというテーマについてディスカッションをしていただきます。ソフトウェアとそれらを取り巻くパラダイムは常に目まぐるしく変化・進化をしてきていますが、このような厳しい環境下でどのようにキャリアを培ってこられたのか、これからのエンジニアが新しいパラダイムの荒波をどう乗りこなしていけばいいのか、といったようにエンジニアの生き様について熱く語っていただく予定です。 ゲストセッション 続いてはゲストスピーカーセッションのご紹介です。ワークロードやサービス種別によって様々な課題があり、それに対する取り組み方や考え方についても同じようにそれぞれ多種多様です。多岐に渡る課題に対して、ソフトウェアのちからでどのように解決出来るのか、どのような考え方が必要であるのかという点で、ゲストスピーカーセッションでは、あらゆる業種からそれぞれの分野のエキスパートの皆様にご登壇いただき、それぞれの観点でのお話をしてただきます。 なお、本日はすべてのゲストスピーカーセッションをご紹介していませんが、今後のアップデートは随時本登録サイトにて行っていきますので、続報に是非ご期待ください。 AWS上に構築するセルラーコアネットワークシステム 株式会社ソラコムの川上大喜様 (@moznion) のセッションでは、日常では意識することが少ないセルラーネットワークの裏側にアーキテクチャレベルで Dive Deep して、先進的な技術と挑戦的なアーキテクチャの採用によって従来のセルラーネットワークシステムと比較して大きくパフォーマンス改善させた取り組みをご詳解いただきます。 AWSの「隙間」を埋める隙間家具OSS開発 Perl, Go のハッカーとして著名な株式会社カヤックの藤原俊一郎様 (@fujiwara) からは、これまで開発して OSS としてメンテナンスを継続されているソフトウェアについてお話しいただきます。”ないものを作る”マインドや、なぜOSSにするのか、どのような思想で設計、開発、運用をされているのかを、実例をもとにご紹介いただきます。 「ブロックチェーン×フルサーバレス」での開発について 〜システム構成・運用の全て〜 契約のスムーズな検証、執行、実行、交渉を意図したコンピュータプロトコルであるスマートコントラクトを司るシステムを開発する実例について、株式会社ALISの富樫圭樹様 (@keillera) からお話しいただきます。ブロックチェーンとサーバーレスアーキテクチャを活用した実際の例をもとに、開発から運用について、なんとすべての知見を共有いただけるそうです。 オープンソースコミュニティで加速するサーバーレスの未来 Serverless […]

Read More

AWS Black Belt オンラインセミナーのご案内 (2019 年 09月)

こんにちは。9 月の AWS Black Belt オンラインセミナーについてご案内させて頂きます。 9 月は、3本のWebinarを実施いたします!ぜひお役立てください。 視聴方法: オンラインセミナー登録ページよりお申し込みください 9月のスケジュール AWS Batch 2019 年 9 月 11 日 (水) | 18:00 – 19:00 | IT 知識レベル:★★★☆☆ | AWS 知識レベル:★★★☆☆ AWS Batchは、HPCなど大規模な分散処理を行う際に必要となるバッチコンピューティング環境を、フルマネージドで提供するサービスです。AWS Batchを活用することで、分散処理におけるノード管理の負担を減らすだけでなく、より効率的なリソース活用が可能になります。本セッションではAWS Batchの基本的な使用方法、ユースケースに加え、GPUやマルチノード対応、起動テンプレート活用などの主要なアップデートについてもご紹介いたします。 対象者 技術者の方 本セミナーで学習できること バッチコンピューティングの基礎とAWS Batchの活用方法と新機能 AWS Batchのユースケース スピーカー 宮本 大輔 Solutions Architect   AWS AI Services 2019 年 9 月 24 日 […]

Read More
週刊AWS

週刊AWS – 2019/8/26週

みなさん、こんにちは!ソリューションアーキテクトの下佐粉です。 日中は変わらず暑い日々が続いていますが、東京は朝夕は随分涼しくなってきたように思います。 今週は先週出せなかった8/19週分の週刊AWSも出ていますので、ぜひ合わせてご覧ください。また、これまでの週刊AWSはこちらから辿れます。それでは、先週(8/26週)の主なアップデートについて振り返っていきましょう。

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

S3 バッチオペレーションでビデオファイルをトランスコードする

簡単にペタバイトのデータになりかねない最新のビデオアーカイブの実用的なストレージ管理には、大量に迅速に作業する能力 (ハードではなくスマートに作業する能力) が不可欠です。S3 バッチオペレーションは Amazon S3 の機能で、1 回のリクエストまたは S3 コンソールでの数回のクリックで、数百万または数十億のオブジェクト間でオブジェクトをコピーまたはタグ付けするなどのアクションを実行できます。提供するのはオブジェクトのリストのみで、S3 バッチオペレーションは、再試行の管理や進行状況の表示など、残りの作業を処理します。 多くのメディア企業は、大規模なビデオリポジトリを S3 に保存しています。現在のビデオは S3 Standard に保存し、古いビデオは S3 Glacier にアーカイブする方法が一般的です。Lambda の呼び出しは、新しいオブジェクトをバケットに入れるなどの S3 イベントでトリガーできるでしょう。S3 バッチオペレーションは、既存のオブジェクトの Lambda 関数のトリガーや、S3 での他の大規模なタスクの実行を支援する管理ソリューションを提供します。 この投稿では、S3 に保存されたビデオまたは Amazon S3 Glacier からの復元が必要なビデオのいずれかから、AWS Lambda を使用して S3 バッチオペレーションでビデオトランスコーディングジョブをトリガーする方法を確認します。 Lambda トランスコーディングワークフローを作成する 典型的なトランスコーディングワークフローは、既存のビデオファイルを取得し、それをビデオオンデマンド再生用に複数のファイルタイプに変換します。この例では、VOD Automation ワークフローポストを使用して、ファイルのトランスコーディングワークフローを作成します。ここでは S3 に既に保存されているビデオオブジェクト、および S3 Glacier にアーカイブされているビデオオブジェクトをサポートするワークフローに変更を加えます。 最初に、上記のリンクを使用して VOD 自動化ワークフローを設定します。手順 2 に到達し、Lambda 関数を作成したら、この投稿に戻ります。Lambda 関数を変更して、S3 バッチオペレーションで動作するようにする必要があります。Lambda […]

Read More