Amazon Web Services ブログ

Amazon Lex を使った Bot の作成

Jeff Barr がブログでの紹介の投稿でご説明したように、Amazon Lex は、開発者が音声とテキストを使用してアプリケーションで対話式のインターフェイスを構築できるようにするサービスです。Amazon Lex を使うと、すべての開発者が Amazon Alexa に採用されている深層学習技術と同じ技術を利用し、自然言語での高度な対話ボット (チャットボット) を短時間で簡単に構築できるようになります。Amazon Lex では、自動音声認識 (ASR) という音声をテキストに変換するための高度な深層学習テクノロジーと、テキストの意図を理解するための自然言語理解 (NLU) を利用できます。これにより、ユーザーにとって使いやすく魅力的なアプリケーションを構築できます。 では、Amazon Lex で機能的なチャットボットを開発するには、どうすればいいでしょうか。ドキュメント内の例の 1 つを利用すれば、1、2 分でチャットボットを使用してやり取りを開始することができます。もちろん、これはきっかけにはなりますが、まったく十分とはいえません。では、チャットボットを構築するために、何をする必要があるかを見てみましょう。 基本 チャットボット設計は、確立基準がほとんどない発生期の領域です。実際のユーザーとやり取りしなければ、何が面倒で何が快適かを理解することはできません。このセクションは、ボット設計のガイドではなく、設計上の考慮事項を探るものとして扱うことをお勧めします。以下は、Amazon Alexa との何百万回ものやり取りから学んだことです。 Simon Sinek はチャットボットがなぜ存在するかという疑問から始めることを奨励しています。優れた設計は明確な目標から始まります。それにはまず、ユーザーがどんな人か、何を達成しようとしているのかを理解する必要があります。 また、モダリティとミディアムのことも考える必要があります。音声インターフェイスは確かに便利ですが、ユーザーが注意を払っていなかったり、単に聞こえていなかったりすることも想定して、最後のプロンプトを繰り返したり、「何?」とか「どこまでいったっけ?」といった反応にも適切に対応できなければなりません。テキストのインターフェイスでは、これは不要でしょう。一部のテキストインターフェイスでは、画像とボタンの付いたレスポンスカードもサポートされています。 インターフェイスを設計する者にとって、強調は不可欠な手法です。これは、情報を提示したり、特定の選択肢を推奨する基準となります。明確性を実現するための規則はモード (ウェブ UI かチャットか音声か) によって異なります。目標とモードに応じて、強調のためのツールは異なる可能性があります。次の例を見て、3 つのそれぞれのモードにおける注文方法について検討してみてください。   これで注文してよろしいですか。 (はい/いいえ) ____ を注文したいとのことですが、それでよろしいですか。  ウェブ (ポイントアンドクリック) チャット (テキスト) 言語 (音声認識) ウェブの場合、「注文を確定する」を強調することで、それが推奨される選択肢であることを明確化し、このアクションによって顧客が注文にコミットすることを確認する必要があります。チャットでは、オプションを括弧で囲むことで、ユーザーに何が期待されているかを示すのが慣例となっています。また、テキストの配置や空白文字、大文字などで強調することもできます。 音声操作では、このような慣例に代わって、注文がいつ実行されるかをユーザー自身がコントロールしていることを保証する新しい基準が必要となります。たとえば、注文に大幅な変更がある場合は、確認することができます。さらに、音声の場合、強調のためにゆっくりと話すなど、話す速度をコントロールすることも可能です。他の方法が使用できない場合は、単に繰り返すだけでもかまいません。以下の例を見てみましょう。 ご注文の合計額は 55 ドルです。 この注文を実行して、このアカウントに登録されているカードに […]

Read More

AWS ディープラーニング AMI を使用してディープラーニングを開始

ディープラーニングの初心者、また高度なディープラーニングプロジェクトをクラウドで構築したい方でも、AWS を使えば簡単に始められます。 AWS ディープラーニング AMIs は Ubuntu と Amazon Linux バージョンでの利用が可能になっており、いかなるスケールでもクラウドでディープラーニングアプリケーションを実行できるようにします。Amazon マシンイメージ (AMIs) には、Apache MXNet、TensorFlow、Microsoft Cognitive Toolkit (CNTK)、Caffe、Caffe2、Theano、Torch、Keras を含むオープンソースのディープラーニングフレームワークがプリインストールされています。 AMIs では、カスタムの AI モデルをトレーニングしたり、新しいアルゴリズムを試したり、新たなディープラーニングのスキルやテクニックを学ぶことができます。AMIs に追加料金はかかりません。アプリケーションを保存し実行するために必要な AWS のリソースに対してのみお支払いいただきます。 また、AMIs は事前設定されている CUDA や cuDNN ドライバー、Intel Math カーネルライブラリ (MKL) を介して GPU に加速度を提供しています。AMIs には人気の Python パッケージや Anaconda プラットフォームも含まれています。 そのシンプルさ、使いやすさ、コスト節約など、開発者へのメリットは明らかです。そしてコンピューティングインスタンスの起動も簡単です。次の手順に従うと、数分でディープラーニングを開始することができます。  AMI の起動 AWS マネジメントコンソールにアクセスし、アカウントにサインインするか新しいアカウントを作成します。

Read More

新機能 – インタラクティブな AWS コストエクスプローラー API

当社は、お客様による AWS のコストの追跡、割り当て、管理を可能にする AWS コストエクスプローラーの提供を、数年前に開始しました。この提供開始や、それ以降に追加された機能に対する反応は、非常に好評です。ただし、Jeff Bezos が語っているように、お客様は「心の底では必ず何かしらの不満を抱えています」。 私は毎日これを直接感じています。当社が新機能の提供を開始すると、それによりお客様は触発されてさらに多くを求めるようになります。たとえば、多くのお客様が揃って自社 IT インフラストラクチャの大部分を AWS クラウドに移行する中で、コストエクスプローラーにフィードする raw データに関して多くのリクエストが寄せられてきました。こうしたお客様は、AWS のコストをプログラムで調べ、アプリケーション別、部門コスト別に帳票や経理システムを更新し、支出を要約した概要ダッシュボードを構築したいと考えています。こうしたお客様の一部では、コストエクスプローラーで提供されるグラフやレポートからのデータの抽出で、問題が発生していたのです。 新しいコストエクスプローラー API 本日より、コストエクスプローラーにフィードする基盤データをプログラムで利用可能になります。新しいコストエクスプローラー API により、前述したすべてを実行できる一連の関数が提供されます。複数のディメンション (サービス、関連アカウント、タグ、アベイラビリティーゾーンなど) にわたりフィルタリングおよびグループ化されたコストと使用量を、日別または月別に集計して取得できます。これにより、簡単に使用を開始し (毎月の合計コスト)、必要な詳細レベル (本番稼働用とタグ付けされた DynamoDB テーブルへの書き込み) までリクエストを絞り込むことができ、応答は数秒で得られます。 そのオペレーションは次のとおりです。 GetCostAndUsage – フィルタリングとグループ化により、1 つのアカウントまたはすべてのアカウント (組織のマスターアカウントはすべてのメンバーアカウントにアクセスできる) のコストおよび使用量メトリクスを取得します。 GetDimensionValues – 指定された期間における指定されたフィルタに対して利用できるフィルタ値を取得します。 GetTags – 指定された期間に利用できるタグキーおよびタグ値を取得します。 GetReservationUtilization – 指定された期間における EC2 リザーブドインスタンスの使用率を、毎日または毎月の詳細度に加えてフィルタリングとグループ化を使って取得します。 これらの関数と、それによって返されるデータにより、お客様のビジネスについてより良い洞察が得られる、本当に興味深いことが可能になると私は考えています。たとえば、個別のマーケティングキャンペーンまたは開発プロジェクトをサポートするために使用するリソースにタグを付け、コストを詳細に調べて、ビジネス上の価値を測定することができます。サイバーマンデイやブラックフライデイなど、重要な出来事に関するインフラストラクチャへの支出を、1 セント単位まで知ることが可能になります。 主要事項 この API の利用方法を検討する際は、以下のことを念頭に置いてください。 グループ化 – コストエクスプローラーウェブアプリケーションで提供されるグループ化は 1 […]

Read More

Amazon EMR で GPU インスタンスタイプを持つディープラーニングフレームワークを実行

AWS は Apache MXNet と Amazon EMR での新世代 GPU インスタンスタイプのサポートについて発表いたします。これにより、機械学習ワークフローおよびビッグデータ処理とともに分散ディープニューラルネットワークの実行が可能になります。さらに、GPU ハードウェアにより、EMR クラスター上でカスタムディープラーニングライブラリをインストールおよび実行できます。ディープラーニングフレームワークの使用を通じて、自動運転車から人工知能 (AI)、個人化されたヘルスケア、コンピュータビジョンまで、さまざまなユースケースに対応する新しいツールキットを入手できます。 Amazon EMR は、Apache Spark、Apache Hive、Presto、Apache HBase、Apache Flink などのフレームワークとともに、Amazon S3 で大量のデータを簡単かつ迅速に、コスト効率の高い方法で処理できるマネージド型 Hadoop フレームワークを提供します。ログの分析、ウェブインデックス作成、データ変換 (ETL)、財務分析、科学シミュレーション、リアルタイム処理、バイオインフォマティクスを含む、数多くのビッグデータのユースケースに低コストで対応し、確実かつ安全に処理できます。 EMR には、スケーラブルな機械学習ワークロードを実行可能にしてきた長い歴史があります。2013 年には、Apache Hadoop MapReduce を使用した分散型機械学習ワークロードの実行を支援するため、Apache Mahout のサポートが追加されました。2014 年には、お客様は Apache Spark を利用して (2015 年に公式サポートを追加)、Spark ML で利用できるさまざまなオープンソース機械学習ライブラリを使用して、スケーラブルな機械学習パイプラインを簡単に構築し始めました。 当社は過去 2 年間に、Jupyter ノートブックの簡単なインストールのための Apache Zeppelin ノートブックのサポート、およびデータサイエンティストが機械学習モデルを簡単かつ迅速に開発、トレーニングし、本番稼働に移行するための Apache Livy のサポートを追加しました。EMR の 1 秒あたりの請求と […]

Read More

自律走行車の構築 パート 4: 自動運転の車で Apache MXNet と行動クローニングを使用

自律走行シリーズ 1 回目のブログでは、Donkey カーの構築と Amazon EC2 インスタンスでパイロットサーバーをデプロイしました。そして、2 回目のブログでは Donkey カーの運転を学び、Donkey カーが自律走行を学びました。3 回目のブログでは AWS IoT を使用して Donkey カーから AWS にテレメトリをストリーミングするプロセスをご紹介しました。 今回のブログでは、カーの運転を有効にするディープラーニングについて詳しく見ることにします。また、畳み込みニューラルネットワーク (CNN) を使用した行動クローニングの概念についても説明します。CNN は「前方には道がありますか、それともトラフィックコーンがありますか?」といったような、カーに対する質問に答えるなど、コンピュータビジョンタスクにおける最先端のモデリング技術として現れたものです。 1) AWS 自律走行車を構築し re:Invent の Robocar Rally でレースに参加 2) 自律走行車の構築 パート 2: 自律走行車の運転 3) 自律走行車の構築 パート 3: 自律走行車の接続 4) 自律走行車の構築 パート 4: 自動運転の車で Apache MXNet と行動クローニングを使用 P2 で Donkey のトレーニングデータをセットアップ トレーニングの実行方法の詳細については、すでにシリーズ 2 回目のブログで説明しました。主なステップとコマンドを簡単に復習しておきましょう。 Pi からデータを […]

Read More

Amazon Rekognition がリアルタイム顔認識、イメージ内のテキスト認識のサポート、および機能強化された顔検出を発表

Amazon Rekognition に、3 つの新しい機能として、イメージ内のテキストの検出と認識、数千万の顔からのリアルタイム顔認識、および密集写真からの最大 100 個の顔検出が追加されました。顔の検証と識別に Amazon Rekognition をすでにご利用の場合は、ほとんどのケースで精度が最大 10% 向上します。 イメージ内のテキスト Amazon Rekognition でイメージ内のオブジェクトや顔を検出しているお客様方から、イメージに埋め込まれたテキストを認識できないかとのご要望があります。たとえば、交通監視カメラで捉えた道路標識や車のナンバープレート、TV 画面のニュースや字幕、携帯に取り込まれた家族写真の図案化された文字などです。本日より、Rekognition の「イメージ内のテキスト」を使用して、イメージからテキストコンテンツを認識して抽出できるようになりました。「イメージ内のテキスト」は、ドキュメントのイメージよりも実際のイメージで特に効果を発揮するように構築されています。多種多様なレイアウト、フォント、スタイルで埋め込まれたほとんどのラテン文字や数字のテキストがサポートされます。また、バナーやポスターなどの背景のオブジェクトに様々な向きで重ねられたテキストもサポートされます。 「ビジュアル駆動型のプラットフォームである Pinterest では、イメージの速度と画質が極めて重要ですが、これらのイメージに付随するテキストも同じように重要です。テキストは、当社の 2 億を超えるアクティブユーザーに実際に Pin するための背景情報を提供します。Amazon Rekognition の『イメージ内のテキスト』を使うことで、大量のイメージに取り込まれたリッチテキストが抽出しやすくなり、Amazon S3 に保存された何百万という Pin のレイテンシーを低く抑えることができます。これからも AWS とのパートナーシップを深め、Pinner に高品質で高速なサービスを提供し、Pinterest のビジネスを成長させていくつもりです。」– Vanja Josifovski、CTO、Pinterest 「プロの写真家が SmugMug を使用して共有したり販売したりする写真に、マラソン大会のゼッケン番号などの数字が含まれていることがあります。Amazon Rekognition の『イメージ内のテキスト』を使用すると、大量のゼッケン番号をプログラムで抽出できるため、これらの大会で写真家が撮った写真をすばやく簡単に共有したり収益化したりできるようになります。」 – Don MacAskill、Co-founder、CEO & Chief Geek at SmugMug リアルタイムの顔認識 何千万という顔のコレクションに対してリアルタイムの顔検索ができるようになりました。これにより、検索のレイテンシーが以前よりも 5〜10 分の 1 に短縮されると共に、コレクションに保存できる顔の数が […]

Read More

AWS IoT の更新 – 新しい料金モデルでより優れた価値を提供

AWS ユーザーは AWS IoT を使用して接続済みデバイスをよりインテリジェントにしています。こうしたデバイスは、環境下 (地下、水中、現場、病室など) でデータを収集したり測定し、AWS IoT を AWS クラウドへのゲートウェイとして使用します。クラウドに接続すると、ユーザーはデバイスのデータを Amazon Simple Storage Service (S3) や Amazon DynamoDB に書き込むことができ、Amazon Kinesis と AWS Lambda 関数を使用してデータを処理し、Amazon Simple Notification Service (SNS) のプッシュ通知を開始したり、その他多くの操作を実行することができます。 新しい料金モデル (20-40% 削減) より優れた価値を提供できるように AWS IoT の料金モデルを変更することにしました。この変更により、大半のユーザーにとって約 20~40% のコスト削減になるでしょう。また、ワークロードによっては大幅な割引の対象になるユーザーもいると思います。 オリジナルモデルでは、サービスに送信またはサービスから送信されたメッセージ数をもとに請求額が定められていました。この包括的なモデルは起点としては優れていましたが、実際に使用していない AWS IoT の一部においても支払う必要があったユーザーもいたことを意味しています。たとえば、不定期に呼び出すまばらなルールセットを使用して頻繁に AWS IoT から反応を求めるデバイスを使用しているユーザーもいます。AWS の新しいモデルは、それに比べてより細かく各コンポーネントでそれぞれの料金が適用されます (米国東部 (バージニア北部) リージョン)。 接続 – 使用しているデバイスが AWS IoT […]

Read More

Amazon EC2 Systems Manager による Microsoft VSS を使用したスナップショットサポート

私たちはここでWindows AMIを稼働させるAmazon EC2におけるMicrosoftボリュームシャドウコピー(VSS)のサポートをアナウンスできることを嬉しく思います。VSSはMicrosoft Windows(主要なSQL ServerやExchange Serverなどのマイクロソフトアプリケーションを含む互換性のある)環境における非常に一般的なボリュームバックアップ技術です。VSSはファイルの書き込みなどのディスク処理をバックアップ処理実行中も適切に管理するため、アプリケーション一貫性を持ったバックアップが可能となります。 アプリケーション一貫性バックアップは、マシンまたはインスタンスに接続されたボリュームのバックアップと同時に実行され、メモリ内のすべてのデータと処理中のすべてのトランザクションをキャプチャします。 VSSが有効なAmazon EBSボリュームのスナップショット(以降、”VSS有効化スナップショット”と表記) は、Amazon EC2 Systems ManagerのRun Commandから使用可能です。AWSEC2-CreateVssSnapshot コマンドによってWindowsインスタンスのEC2にアタッチされたEBSボリュームを、バックアップ処理の間トランザクションデータの一貫性を失うことなく、アプリケーション一貫性を持ったスナップショットを取得可能です。この機能によってSQL Backupや、カスタムスクリプトなどによって提供されたアプリケーション固有のバックアップソリューションは不要となります。さらに、イメージレベルバックアップにおけるアプリケーション一貫性を維持するためのサードパーティ製ツールも不要になります。 AWSEC2-CreateVssSnapshotの使用方法 VSS有効化スナップショットは、Windowsが稼働するEC2インスタンスに対してAWSEC2-CreateVssSnapshotコマンドをEC2 Systems Manager Run Commandから呼び出すことで実行します。AWS管理コンソールやAWS CLIから実行したり、PowerShellスクリプトやLambda関数から呼び出すことも可能です。本ブログではEC2コンソールからコマンドで実行する例を示します。 EC2管理コンソールで、AWSEC2-CreateVssSnapshotコマンドのドキュメントを選択し、VSS有効化スナップショットを取得したいEBSボリュームを持つインスタンスを選択します。 インスタンスを選択した後、スナップショットに追加したい説明やタグを設定します。ブートボリュームをスナップショット処理から除外することも可能です。 起動されるとRun CommandはVSSコンポーネント(詳細については後述)に対して、EC2 Windowsインスタンス上のVSS対応アプリケーションのすべての処理中のI/Oをコーディネーションするよう指示します。これによってI/OバッファはEBSボリュームに対してフラッシュされ、すべてのI/Oはスナップショット取得が完了するまでフリーズされます。この結果アプリケーション一貫性が維持されます。スナップショットが取得された後、I/Oフリーズが解除され通常処理に復帰します。 Run Commandやスクリプトから取得したスナップショットは、EC2コンソール左側のEBSスナップショットメニューで確認できます。 このプロセスで正常に取得された全てのVSS有効化スナップショットには “AppConsistent:True”というタグが付与されます。本機能についてのより詳細についてはこちらAWSEC2-CreateVssSnapshot のドキュメントを参照してください。 VSS有効化スナップショットを取得するためのEC2インスタンスの準備 インスタンスへのスナップショット許可 : IAMコンソールを開き、”Amazon EC2″サービスに対する以下の権限を許可する新しいポリシーを作成します。 DescribeInstances CreateTags CreateSnapshot またIAMコンソールからAmazon EC2ロールAmazonEC2RoleForSSMに対して上記で作成したポリシーを適用します。さらにこのロールを直接EC2 Windowsインスタンスにアタッチします。 VSSコンポーネントのインストール : VSSコンポーネント(AwsVssComponents)をAWS-ConfigureAWSPakageコマンドをSystems ManagerのRun Commandから呼び出してインストールする必要があります。 より詳しいVSS有効化スナップショット取得のためのEC2インスタンスのセットアップについてはこちらAmazon EC2 ドキュメントを参照ください。 AWSEC2-CreateVssSnapshot使用する際には、対象のEC2インスタンスに対してEBSスナップショット作成およびタグ書き込み許可のIAM許可が必要となります。コンプライアンスやポリシーの理由から追加のIAM許諾をインスタンスに付与したくない場合には、カスタム可能なサンプルのスクリプトを活用可能です。このスクリプトの詳細についてはこちらAWSEC2-ManageVssIOに関するドキュメントを参照して下さい。 VSS有効化スナップショットのリストアプロセスは通常のEBSスナップショットと同様です。こちらのリストアのサンプルスクリプトも使用できます。このリストア用スクリプトで、指定されたEBSスナップショットからEC2 Windowsインスタンスにリストアすることが可能です。 […]

Read More

AWS CodeCommitのプルリクエストを使用してコードレビューをリクエストし、コードについて議論する

シニアクラウドアーキテクトのMichael Edge氏のCodeCommitのプルリクエストに関する素晴らしいブログに感謝します。 ~~~~~~~~~~~~~ AWS CodeCommitは、プライベートGitリポジトリを安全にホスティングするフルマネージドなサービスです。CodeCommitは今ではプルリクエストをサポートするようになりました。これによってリポジトリのユーザは、コードの変更に対するレビュー、コメント、対話的なイテレーションが可能になります。チームメンバー間のコラボレーションツールとして使用されるプルリクエストは、CodeCommitリポジトリに対する変更の可能性を、リポジトリにそれらの変更をマージする前に確認するのに役立ちます。各プルリクエストは、次のように単純なライフサイクルを通じて実行されます: マージされる新機能は、featureブランチに1つ以上のコミットとして追加されます。コミットは、宛先のブランチにマージされません。 プルリクエストが通常は2つのブランチの差異から作成されます。 チームメンバーはプルリクエストをレビューし、コメントします。プルリクエストは、追加のコミットで更新される可能性があります。これにはコメントに対応して行われる変更や宛先ブランチとの差分から発生する変更が含まれます。 チームメンバーがプルリクエストに満足すれば、それは宛先ブランチにマージされます。 コミットは、プルリクエストに追加されるのと同じ順序で宛先ブランチに適用されます。

Read More

AWS Shield Advancedを使用してAmazon EC2インスタンスとNetwork Load Balancerを保護できるようになりました

11月22日から、AWS Shield Advancedは、インフラストラクチャレイヤの分散サービス拒否(DDoS)攻撃からAmazon EC2インスタンスとNetwork Load Balancerを保護できるようになりました。 AWS Elastic IPアドレスに対してAWS Shield Advancedを有効にし、インターネットに接続されたEC2インスタンスまたはNetwork Load Balancerにアタッチすることで利用可能です。 AWS Shield Advancedは、Elastic IPアドレスの背後にあるAWSリソースの種類を自動的に検出し、DDoS攻撃を緩和します。 AWS Shield Advancedは、Amazon VPCのネットワークアクセスコントロールリスト(ACLs)をAWSネットワークのエッジにあるAWS Shield上で自動的に実行し、追加の帯域幅とスクラビング容量を利用することで、大量のDDoS攻撃を軽減します。また、AWS DDoS対応チームと協力し、事前に軽減策を設定したり、発生したインシデントに対応したりすることで、AWS Shieldの追加の軽減策をカスタマイズできます。AWS Shield Advancedによって検出されたすべてのインシデントについては、Amazon CloudWatchのメトリックを通じて、ほぼリアルタイムに可視化されます。インシデントの詳細についても、攻撃の地理的な起点や送信元IPアドレスなどが確認いただけます。 Elastic IPアドレスに対応したAWS Shield Advancedは、DDoSコスト保護の適用範囲を拡大します。DDoSコスト保護により、DDoS攻撃の結果として利用リソースが増加した場合に、Elastic Load Balancing、Amazon CloudFront、Amazon Route 53、およびEC2インスタンス時間についてサービスクレジットを要求できるようになりました。 EC2インスタンスとNetwork Load Balancer保護の開始 開始方法: AWS Management Consoleにサインインし、AWS WAFおよびAWS Shieldコンソールに移動します。 「AWS Shield Advancedを有効にする」を選択、条件をご確認いただき、AWS Shield Advancedを有効化します。 ナビゲーションペインで「Protected resources」に移動します。 保護するElastic IPアドレスを選択します(これらはEC2インスタンスまたはネットワークロードバランサを指し示します)。 AWS Shield […]

Read More