Amazon Web Services ブログ

リアルタイム予測のために Amazon SageMaker を使用して Amazon DynamoDB でデータを分析する

 世界で数多くの企業が、Amazon DynamoDB を使って、ユーザー対話履歴データを保存およびクエリしています。DynamoDB は、1 桁台のミリ秒の安定したレイテンシーを必要とするアプリケーションで使用されている、高速の NoSQL データベースです。 たいていは、顧客は Amazon S3 に格納されているテーブルのコピーを分析することで、DynamoDB 内の貴重なデータを詳細な情報に変換する必要があります。これにより、低いレイテンシーのクリティカルパスから分析クエリが分離します。このデータは、顧客の過去の行動を理解し、将来の行動を予測し、下流のビジネス価値を生み出す主要な情報源となり得るのです。スケーラビリティと可用性が高いという理由で、顧客は DynamoDB の使用へ切り替えるということがよくあります。立ち上げが上手くいった後、多くの顧客が DynamoDB のデータを使用して、今後の行動を予測したり、個別の推奨事項を提供したりしたいと考えます。 DynamoDB は、レイテンシーの低い読み書きに適していますが、DynamoDB データベース内のすべてのデータをスキャンし、モデルをトレーニングするのは現実的ではありません。この記事では、AWS Data Pipeline によって Amazon S3 にコピーされた DynamoDB テーブルデータを使って、顧客の行動を予測する方法を解説します。さらにこのデータを使用して、Amazon SageMaker で顧客に個別の推奨事項を提供する方法も説明します。Amazon Athena を使用して、データに対してアドホッククエリを実行することもできます。DynamoDB は最近、オンデマンドバックアップをリリースし、パフォーマンスに影響を与えずに完全なテーブルバックアップを作成しました。しかし、この記事には適していないので、代わりに AWS Data Pipeline が管理バックアップを作成し、他のサービスからアクセスできるようにする方法を紹介します。 これを行うため、Amazon Data Pipeline で DynamoDB バックアップファイル形式を読み取る方法について説明します。Amazon S3 のオブジェクトを Amazon SageMaker が読み取れる CSV 形式に変換する方法についてもお話しします。加えて、Amazon Data Pipeline を使用して、定期的なエクスポートと変換をスケジュールする方法も説明します。この記事で使用するサンプルデータは、「Bank Marketing Data […]

Read More

新機能 – Redis 5.0 互換の Amazon ElastiCache

今年始め、当社は Redis 4.0 互換の Amazon ElastiCache を発表しました。その記事中、Randall がどのように Redis 用 ElastiCache クラスターがテラバイトのメモリにスケールし、毎秒数百万回の読み書きを実行できるかを説明しました! それ以外の Redis 用 Amazon ElastiCache の最近の改善点は以下のようになります。 読み取りレプリカスケーリング – Redis クラスターへのリードレプリカノードの追加/削除をサポートし、クラスター作成時間を最大 40% 短縮します。 PCI DSS 認定 – Payment Card Industry データセキュリティスタンダード (PCI DSS) 認定これにより、Redis 用 ElastiCache (エンジンバージョン 4.0.10 以降) を使用して、機密性の高い支払いカードデータを処理する、低遅延、高スループットのアプリケーション構築することが可能になります。 FedRAMP は AWS GovCloud (米国) で認可され、利用できます – 米国政府の顧客とそのパートナーは、Redis 用 ElastiCache を使用して、AWS GovCloud (米国) リージョンにおけるミッションクリティカルで、高インパクトなワークロード、および米国のその他 […]

Read More

AWS Dev Day Tokyo 2018 Machine Learning トラック資料公開

AWS Dev Day Tokyo 2018が、2018年10月29日から11月2日にかけて5日間開催されました。Machine Learningのトラックオーナーを担当したSAの鮫島より、Machine Learningトラックならびにハンズオンの内容をご紹介します。Machine Learningトラックは、機械学習システムを開発・運用するためのAmazon SageMakerと、機械学習システムにおいて重要な役割を担うIoTのセッションで構成されています。 Machine Learningトラックにおいて、お客様セッションにご登壇を頂いたコネヒト株式会社 島田様、Wantedly株式会社 南様、CfPセッションにご登壇いただいた株式会社スナックミー 三好様、鈴木様に御礼申し上げます。また、会場にお越し頂いた皆様ならびにストリーミングを御覧頂いた皆様へ御礼を申し上げます。

Read More

Amazon SageMaker Object2Vec の概要

このブログ記事では、高次元オブジェクトの低次元高密度埋め込みを学ぶことができる、高度にカスタマイズ可能な新しい多目的アルゴリズムである Amazon SageMaker Object2Vec アルゴリズムを紹介します。 埋め込みは、機械学習 (ML) における重要な特徴工学技術です。高次元のベクトルを低次元の空間に変換し、大きな疎ベクトル入力で機械学習を行いやすくします。また、埋め込みは、類似のアイテムを低次元空間の近くに配置することによって、基礎となるデータのセマンティクスも取得します。これにより、下流のモデルのトレーニングで特徴がより効果的になります。よく知られている埋め込みテクニックの 1 つに Word2Vec があり、これは単語の埋め込みを提供します。センチメント分析、ドキュメント分類、自然言語理解など、多くのユースケースで広く使用されています。特徴空間における単語の埋め込みの概念表現については、次の図を参照してください。 図 1: Word2Vec の埋め込み: 意味的に類似している単語は、埋込み空間内で互いに近くに位置しています。 単語の埋め込みに加えて、文章、顧客、製品など、より汎用的なオブジェクトの埋め込みを学びたいユースケースもあります。これは、情報検索、製品検索、商品照合、類似性に基づく顧客プロファイリングのため、または他の教師ありタスクの入力として実用的なアプリケーションを構築できるようにするためです。これが、Amazon SageMaker Object2Vec が導入された場所です。このブログ記事では、それが何であるか、それがどのように機能するか、いくつかの実用的なユースケースについて議論し、Object2Vec を使ってそうしたユースケースを解決する方法を紹介します。 仕組みの説明 埋め込みは、元の空間内のオブジェクトのペアの間の関係の意味が埋め込み空間内で保持されるように学習されます。したがって、学習された埋め込みを使用して、オブジェクトの最近傍を効率的に計算し、低次元空間内での関連オブジェクトの自然クラスターを視覚化することができます。さらに、埋め込みは、分類または回帰のような下流の教師ありタスクにおける対応するオブジェクトの特徴として使用することもできます。 Amazon SageMaker Object2Vec のアーキテクチャは、以下の主要コンポーネントで構成されています。 2 つの入力チャネル—2 つの入力チャネルが、同じタイプまたは異なるタイプのオブジェクトのペアを入力として受け取り、それらを独立したカスタマイズ可能なエンコーダーに渡します。 入力オブジェクトの例としては、シーケンスのペア、トークンのペア、シーケンスとトークンのペアがあります。 2 つのエンコーダー—エンコーダーは、それぞれのオブジェクトを固定長の埋め込みベクトルに変換します。 次に、ペア内のオブジェクトのエンコードされた埋め込みがコンパレータに渡されます。 コンパレータ—コンパレータは埋め込みを異なる方法で比較し、ユーザーによって指定された各関係について、ペア内のオブジェクトの関係の強さに対応するスコアを出力します。出力スコアの例は、オブジェクトのペア間の強い関係を示す 1、または弱い関係を表す 0 などとなります。 トレーニング時に、トレーニング損失関数は、モデルによって予測された関係と、トレーニングデータでユーザーによって指定された関係との間の差異を最小にします。モデルをトレーニングした後、トレーニングされたエンコーダーを使用して、新しい入力オブジェクトを固定長の埋め込みに変換することができます。Object2Vec のアーキテクチャ図とアーキテクチャの各部の説明は次のとおりです。 サポートされている入力タイプ、エンコーダー、損失関数 自然なこととして、Object2Vec は現在、integer-id として表されたシングルトン離散トークンと integer-id のリストとして表現された離散トークンのシーケンスを入力としてサポートしているため、入力データをサポートされている形式に変換するために前処理が必要です。それぞれのペアのオブジェクトは、互いに非対称であることもあります。たとえば、(トークン、シーケンス) ペア、(トークン、トークン) ペア、(シーケンス、シーケンス) ペアのいずれかです。トークンの場合、互換性のあるエンコーダーとして簡単な埋め込みをサポートしていますが、トークンのシーケンスの場合は、平均プール埋め込み、階層型畳み込みニューラルネットワーク (CNN)、多層双方向長時間短期記憶 ( BiLSTM) ベースのリカレントニューラルネットワークをエンコーダーをサポートします。それぞれのペアの入力ラベルは、ペア内のオブジェクト間の関係を表すカテゴリラベルであってもよいし、2 つのオブジェクト間の類似性の強さを表す評価またはスコアであってもかまいません。カテゴリラベルの場合はクロスエントロピー損失関数をサポートし、評価/スコアベースのラベルの場合は平均二乗誤差 (MSE) 損失関数をサポートしています。 […]

Read More

AWS Quest 2 更新情報: re:Invent への旅は続く

AWS Quest ニュースブログ読者の皆さん、こんにちは。Greg Bilsland です。Jeff と一緒に AWS ブログの裏方として働いている私は、Lone Shark Games の素晴らしい人々と共同で AWS Quest に取り組んできました。シアトルから re:Invent にいたる Ozz の西回りの旅をご一緒していただき、ありがとうございます。中間レポートとして簡単に、現時点までの進捗と、残りの行程についてお知らせします。 やんちゃな仲良しロボットの旅のスタートは美しいエメラルドシティ (シアトル) で、コーヒー (予期せぬマス目入り) を飲んで太平洋に踏み出しました。そしてやって来たシドニーでは、逃げ出したカンガルーを捕まえるのに四苦八苦。東京で寿司にありつくと (ロボットも腹が減るのか?)、続くソウルでは盤浦大橋で月明かりを浴びながらの散歩を満喫。 次に北京に着くや、そこから 1000 体以上の兵馬俑とご対面。それからシンガポールに旅を進め、象徴的な半獣半魚、マーライオンの堂々たる姿に感動します。お次のムンバイは、地元住民が実にさまざまな自家製スパイスを楽しんでいるメトロポリスでした。旅の前半最後の滞在地はストックホルムで、愛嬌いっぱいのテディベアたちはしきりに人気者のロボットにショッピングをすすめたのでした。 そして Ozz が旅の後半で最初に訪れたケープタウンでは、地元の歓喜に満ちた音楽と触れ合いました。今日はパリに到着したわけですが、ここでも手ごわいパズルが待ち受けていることは間違いありません。 以上、小さな友達の re:Invent への旅の中間レポートをお伝えしました。パズルはまだまだ続きます! 11 月 16 日金曜日の午後 12 時 (Ozz 所在地の現地時間) に迎えるクライマックスをお見逃しなく。re:Invent でお会いしましょう! – Greg Bilsland

Read More

RDS データベースに汎用 IOPS またはプロビジョンド IOPS のどちらを使用するかを決定するための CloudWatch メトリクスの使用方法

 このブログ記事では、最高のパフォーマンスのミッションクリティカルなデータベースワークロードに対して、IO1 としても知られるプロビジョンド IOPS からメリットを得ることができる機会を把握するために Amazon CloudWatch メトリクスを使用する方法について説明します。まず、バーストを生じない一貫性のある高書き込みワークロードをシミュレートするテストケースをセットアップすることから始めます。今回は、価格とパフォーマンスのバランスを保つ、GP2 ボリュームとしても知られる汎用ストレージを使ったデータベースと、IO1 ボリュームを使ったデータベースのパフォーマンスを比較します。次に、対応する CloudWatch メトリクスが明らかにする事柄と、ワークロードのパフォーマンス結果をご覧いただきます。 数ヵ月前、GP2 ボリュームでのバーストバランスとベースラインパフォーマンスを説明する Understanding burst vs. baseline performance with Amazon RDS and GP2 という素晴らしいブログ記事が AWS データベースブログに掲載されました。GP2 ボリュームはプロビジョニングが簡単で使いやすく、低価格です。これは、GP2 ボリュームが必要時にパフォーマンスをバーストさせ、散発的なワークロード、または待機時間が発生する可能性を許容できるアプリケーションを上手く処理できることが理由です。開発、機能テスト、およびサンドボックスなどの環境では、偶発的な負担がかかる場合でさえも GP2 の使用には何ら問題がありません。絶えず負担がかかるデータベースワークロードについては、プロビジョンド IOPS ボリュームがプロビジョニングするレベルでの持続的なパフォーマンスとスループットを提供します。 前提条件 始める前に、先ほど紹介した GP2 バーストパフォーマンスについてのブログ記事、Understanding burst vs. baseline performance with Amazon RDS and GP2 を十分に検討してください。 この記事にあるコードを一通り実行したい場合は、アカウント内に同一の Amazon RDS for MySQL データベースを 2 つ作成してください。ひとつのインスタンスには […]

Read More

Amazon SQS のFIFO機能が東京リージョンでもご利用いただけるようになりました

みなさん、こんにちは。アマゾン ウェブ サービス、プロダクトマーケティング エバンジェリストの亀田です。 非常に多くのユーザーさんからご要望をいただいていた Amazon SQS のFIFO (First In First Out)機能が東京リージョンでご利用いただける用になりましたのでお知らせいたします。 Amazon SQSの特徴 Amazon SQSは完全マネージド型のメッセージキューイングサービスで、マイクロサービス、分散システム、およびサーバーレスアプリケーションの切り離しとスケーリングを可能とします。 AWS上でのアプリケーション設計において、非常に重要な役割を果たすサービスである一方、そのコンセプトなどが従来の一般的なWEBサービス(以下のような構成です)の設計に頻繁に用いられるものではないことから、使い方のイメージが湧きづらく敬遠されるケースもあります。 非常に良いサービスであり、コストの適正化とシステムの耐障害性を実現することができる可能性のあるサービスですので、少しその特徴を説明します。 コストの適正化: 上記のアーキテクチャを取る場合、ユーザーからのリクエスト数が増えれば増えるほど、WEB、DBともに求められるスペックは比例して向上していきます。これは、すべてのリクエストに対して同期処理、リアルタイムでレスポンスを出力しようとするためです。WEBサービスにおいては、すべてのリクエストが必ずしも同期処理、リアルタイムでのレスポンス出力が必要ないケースがあります。 ECサイトにおけるユーザーからの注文等がその一例です。ユーザーからの注文を受け付けた時点で、画面には「注文を受け付けました。ありがとうございました」と表示させ、後ほどメールやアプリへのプッシュ通知で「注文を確定しました」という連絡をユーザーへ行う実装などはよくあります。 この場合、上記のWEBをさらに2階層に分割し、 1階層目:ユーザーからのリクエストを受け付ける。 SQSへリクエストを書き込む ユーザーへリクエスト受付を行った旨をレスポンスで戻す。 2階層目:SQSに記載されているリクエストを処理する SQSからリクエストを読み込む リクエストを処理ユーザに非同期で処理結果を返す。 とすることができます。この場合、ユーザー数、リクエスト数の増加に応じて求められるスペックの向上が必要なのは、1階層目だけであり、2階層目は自身のコンピュートリソースの状況に応じて任意のタイミングで処理を行うことができるため、システムのサイジングを適切に保つことができます。(もちろんSQSへ書き込まれるリクエストが処理待ち状態で滞留すればするほど、ユーザーからは処理確定の遅延にみえてしまいますので、ある程度のリソース増強は必要になっていきます。) 耐障害性の向上: SQSを採用したアーキテクチャは耐障害性の向上も見込むことができます。SQSは完全マネージド型サービスであり、書き込まれたメッセージが失われることはないため、システム障害においても、SQSからデータを取り出すという処理部分から再開させることで、耐障害性が向上します。 SQS FIFOの特徴 従来のAmazon SQSは、書き込まれたメッセージの配信順序はベストエフォート型であり、「少なくとも最低1回の配信」をサポートしておりました。このため、順番の入れ違いや同じメッセージの複数回配信はアプリケーション側で冪等性を確保しておく必要があり、それらが大きい課題となる場合Amazon Kinesis Data Streamsの利用などが検討されるケースもありました。 新しいSQS FIFO キューでは、「メッセージが送信される順序のとおりに 1 回のみ確実に処理」されるようになるため、アプリケーションでの実装におけるこの考慮点が解消されることとなります。 FIFOキュー利用の注意点 SQS FIFOキューは従来のSQS標準キューからの移行をサポートしておらず、新規でキューの作成が必要となります。 デフォルトでは、FIFO キューはバッチ処理により 1 秒あたり最大 3,000 件のメッセージをサポートします。制限の引き上げをリクエストする場合は、サポートリクエストを提出してください。 バッチ処理なしでは、FIFO キューは、1 秒あたり最大 […]

Read More

Amazon SageMaker を使用した K-means クラスタリング

Amazon SageMaker は、さまざまな問題の種類で使用できる組み込み機械学習 (ML) アルゴリズムを複数提供しています。これらのアルゴリズムは、高性能でスケーラブルな機械学習を提供し、速度、スケール、精度が最適化されています。 これらのアルゴリズムを使用して、ペタバイト規模のデータを学習できます。これらは、利用可能な他の実装の最高 10 倍のパフォーマンスを提供するように設計されています。このブログ記事では、教師なし学習の問題である k-means について探っていきます。さらに、Amazon SageMaker の組み込み k-means アルゴリズムの詳細も説明します。 k-means とは? k-means アルゴリズムは、グループのメンバーがお互いにできる限り類似し、他のグループメンバーとできる限り異なるようなデータ内の離散グループを探します (以下の図を参照)。アルゴリズムで類似性を決定するために使用する属性を定義します。  k-means を定義するもう 1 つの方法は、クラスター内のすべての点が、他の中心よりもその中心に近い距離になるように、与えられたレコードセットに対して、k クラスター中心を見つけるクラスター問題です。 与えられたデータセットを示すこの図では、赤、青、緑の 3 つの明確なクラスターが見えます。各クラスターにはクラスター中心があります。各クラスターの点は、他のクラスター中心より、割り当てられているクラスター中心に空間的に近いことに注意してください。  数学的には、以下のように解釈できます。 前提条件: S={x1…xn}、次元 d の n ベクトルのセット S と整数 k 目標: 以下の式を最小化する、k クラスターセンターのセット C={µ1… µk } を探します。 k-means を使う場所  k-means アルゴリズムは、明示的にラベル付されていない、大きなデータセットのパターンまたはグループを見つけることに適しています。さまざまなドメインでのいくつかのユースケースを紹介します。 E コマース 購入履歴またはクリックストリームアクティビティで顧客を分類。 ヘルスケア 病気のパターン検出または成功する治療シナリオ。 画像検出で類似画像をグループ化する。 金融 データセットの異常検知により、不正取引を検出。例えば異常な購入パターンによるクレジットカード詐欺の検出。 […]

Read More

Amazon Aurora PostgreSQL によるフェイルオーバー

レプリケーション、フェイルオーバー、レジリエンス、災害対策、バックアップ—従来の、または非クラウドベースのアーキテクチャでは、これらの一部またはすべてを実現するのはとても困難です。さらに、時にはかなりのリエンジニアリング作業が必要になることがあります。関係する実装やインフラストラクチャのコストが高いため、一部の企業では最も重要なアプリケーションのみが適切に保護されるようにアプリケーションを階層化せざるを得ません。 こうした懸念は、Amazon Aurora for PostgreSQL に移行すること軽減できます。AWS は、Oracle、MySQL、PostgreSQL、Aurora を含む (ただしこれらに限定されない) 幅広い種類のリレーショナルデータベースエンジンを提供しています。PostgreSQL の場合、AWS は Amazon EC2 インスタンスでの PostgreSQL、Amazon RDS for PostgreSQL、Amazon Aurora with PostgreSQL compatibility を含むさまざなバリエーションをサポートしています。適切なバージョンの PostgreSQL を選択するための多くの指標の中で、以下のいくつかが重要です。 高可用性 (HA) パフォーマンス 管理のしやすさ それでは、Amazon Aurora PostgreSQL がこうした基準をどのように満たしているかを掘り下げてみましょう。 高可用性: HA は、Aurora PostgreSQL のアーキテクチャに組み込まれており、3 つのアベイラビリティーゾーンにわたって 6 つのデータコピーが維持されています。つまり、アベイラビリティーゾーンごとに 2 つのコピーがあることになり、いずれかのアベイラビリティーゾーン全体がダウンしてもわずかな中断で済むことから可用性が向上します。さらに、データベースは Amazon S3 に継続的にバックアップされるため、S3 の高耐久性 (99.999999999) をバックアップで利用できます。Aurora PostgreSQL は、ポイントインタイムリカバリもサポートしています。 パフォーマンス: Amazon Aurora […]

Read More

AWS、ヘルスケア顧客向けの HIPAA 適格 machine learning サービスを拡大

 今日 AWS は、Amazon Translate、Amazon Comprehend、そしてAmazon Transcribe が米国版になったことを発表しました。1966 年の健康保険の携帯性と説明責任に関する法律 (HIPAA) 対象サービス。この発表は、HIPAA の対象となる AWS 人工知能サービスである Amazon Polly、Amazon SageMaker、そして Amazon Rekognition の数を増やしています。これらのサービスを使用することで、医療業界の AWS 顧客は、データ見識を活用し machine learning (ML) の力を利用することで、プロバイダーと患者にとってより良い成果をもたらすことができます。 ヘルスケア顧客をサポートするために、AWS HIPAA の対象となるサービスは、対象となる事業体および HIPAA の対象となる事業者が保護された健康情報の処理、保守、保管に安全な AWS 環境を使用することを可能にします。NextGen Healthcare、Omada Health、Verge Health、そして Orion Health などのヘルスケア企業では、既に多数の患者の記録を分析するために、AWS 上の HIPAA ワークロードが実行されています。 HIPAA 対象サービスのリストに Amazon Translate、Amazon Transcribe、そして Amazon Comprehend を追加することで、顧客はこれらの AWS ML サービスを活用して、顧客サポートの合理化と患者エンゲージメントの向上を図ることができます。顧客はこれら 3 つのサービスを利用して、以下の […]

Read More