Amazon Web Services ブログ

Amazon Rekognition Video を使って、スケーラブルかつ適応性のある動画処理パイプラインを構築する

VidMob のシニアソフトウェアエンジニア、Joe Monti 氏の投稿記事です。彼らの言葉を借りれば、Vidmob とは「革新的テクノロジーソリューションを備えた、世界をリードするビデオ作成プラットフォームです。高度にトレーニングしたクリエイターネットワークを使って、予測に重点を置き、自分用にカスタマイズしたり拡張もできるマーケティングコミュニケーションの開発を可能にします。VidMob のクリエイターは、ソーシャルあるいはデジタルチャンネル、フォーマット、および言語にわたるあらゆるビデオコンテンツが制作できるようにトレーニングされています。」 動画は、特に複雑で大規模なリアルタイムアプリケーションで使用する場合、自動化したコンテンツ認識を行うのに、特徴的な課題が生じます。例えば、ディープラーニングアルゴリズムを実装し使用するのは、面倒な作業だけでなく、大きな動画ファイルや大きな出力ファイルを処理するために膨大なコンピューティングパワーを必要とします。Amazon Rekognition は AWS 上で利用可能な数多くのツールとサービスを組み合わせることで、こうした難しい部分をより簡単に行えるようにします。そのため、価値ある、そして洗練されたアプリケーションの構築だけに、総力をあげることができるのです。 この記事では、動画ファイルに対してコンテンツ認識を実行する、スケーラビリティおよび適応性が高い処理パイプラインの重要なコンポーネントについて説明します。 アーキテクチャの概要 次のアーキテクチャは、コンテンツ認識を通じて動画を処理し、使用可能なデータセットを構築するために、多くの AWS サービスを統合します。 システムが新しい動画を取り込み、保留中のメディア認識のため Amazon SQS キューへメッセージが送信されると、このプロセスが開始されます。このキューは、Amazon Rekognition API のスループットを管理するためのバッファとして機能します。次のステップで、SQS キューを処理し、Process Rekognition Step Function を開始するため、固定料金スケジュールで設定した Amazon CloudWatch イベントが起動します。このステップ関数は、複数の AWS Lambda 関数を調整し、後に続く Amazon Rekognition リクエストとデータ処理を管理します。 Amazon Rekognition によるリクエスト処理のためのステップ関数 ステップ関数は、コードの実行を調整するシステムで、次に行うことを決定する制御フローロジックを提供します。ですので、ステップ関数を使えば、動画処理パイプラインの機能を迅速に開発、テスト、デプロイ、および向上することができます。この例では、AWS Step Functions で作成したステップ関数を使用して、複数の コンテンツの Amazon Rekognition API 操作による動画処理を可能にします。次の画像は、Amazon Rekognition リクエストを開始、待機、および処理する簡単なステップ関数を表しています。 このステップ関数の状態は、次の通りです。 認識の開始 – Amazon […]

Read More

AWS Lambda がサポートするイベントソースに Amazon Simple Queue Service を追加

Amazon Simple Queue Service (SQS) を使って AWS Lambda 関数をトリガーできるようになりました。これは私が個人的に 4 年以上前から楽しみにしてきた、重要な機能を提供する特別なアップデートです。皆さん、試用を待ち望んでいることでしょうから、昔話に興味のない方は下記を飛ばしてもらって結構です。 SQS は当社が立ち上げた初めてのサービスで、14 年前の 2004 年、AWS より公開されました。ご参考に、2004 年当時と言えば、商用ハードドライブは最大でも約 60 GB、PHP 5 が現れ、Facebook がちょうど開始したところ、テレビ番組のフレンズはシリーズが終了、Gmail はまだ珍しく、そして私はまだ高校生でした。振り返ってみると、今日の AWS を生み出した理念、つまり完全な管理体制、ネットワークにアクセス可能で、プリペイドで契約維持料なしといった方針は、SQS 開発の初期段階であった当時にも少し垣間見ることができます。現在、SQS は数多くの顧客が非常に大規模に使用しているサービスの中でも最も人気が高く、多くのアプリケーションの基本構成部分の 1 つとなっています。 これに対して、AWS Lambda は 2014 年に開催された AWS re:Invent (私はその日の参加者でした) にてリリースした比較的新しいサービスです。Lambda は、サーバーのプロビジョニングや管理を行わずにコードを実行できるコンピューティングサービスであり、2014 年にサーバーレスの革命を起こしたのです。Web およびモバイルバックエンドから IT ポリシーエンジン、データ処理パイプラインまで、幅広いユースケースに即座に採用されました。現在、Lambda は Node.js、Java、Go、C#、Python のランタイムをサポートしているので、既存のコードベースの変更を最小限に抑え、新しいコードベースを柔軟に構築できます。さらにこの過去 4 年間で、Lambda の機能やイベントソースを多数追加したため、さらに迅速な仕事ができるようになりました。Lambda に SQS のサポートを追加することで、ポーリングサービスの実行や、SQS から SNS […]

Read More

Amazon EMR のサイズ変更とオートスケーリングのベストプラクティス

Amazon EMR で利用可能な動的なスケーリング機能を利用することで、費用を節約することができます。 クラスタ内のノード数を即座に増やしたり減らしたりスケールする機能は、Amazon EMR を弾力的にする主要な機能の1つです。 EMR のスケーリング機能を使うことで,負荷がほとんどまたはまったくない時にクラスターのサイズを小さく変更することができます。 また、ジョブが非常に遅くなった場合に処理能力を追加するために、クラスターのサイズを大きくすることもできます。 これによりあなたのジョブを少し余裕を持たせた上でカバーするのに必要十分なコストを使うことが出来ます。 この機能の背後にある複雑なロジックを知ることで、クラスタのコストを節約することができます。この記事では、EMR クラスターのサイズをどのように変更するかを詳しく説明し、この機能を使用してあなたのクラスタのコストを削減し最大限のメリットを得るためのベストプラクティスを紹介します。 EMR スケーリングは、単にノードをクラスタに追加または削除するより複雑です。よくある誤解の1つは、Amazon EMR のスケーリングは Amazon EC2 のスケーリングとまったく同じように動くということです。 EC2 スケーリングを使用すると、ノードをほぼ即時に、かつ心配なく追加/削除できますが、EMR では複雑さが増します(特にクラスタを縮小する場合)。これは重要なデータがノード上にあったり,ジョブがノード上で実行していたりする可能性があるためです。 データロストを防ぐため、Amazon EMR スケーリングでは、実行中の Apache Hadoop タスクや、ノードを削除する前に失われる可能性のある一意のデータがノードに存在しないことが保証されます。 EMR クラスタのサイズ変更する際にはデコミッションの遅延を考慮する必要があります。このプロセスがどのように機能するかを理解することによって、遅いクラスタのサイズ変更や非効率なオートスケーリングのポリシーなど、他の人が悩まされていた問題を回避できます。 EMR クラスタが縮小されると、終了するノードで2つの異なるデコミッションプロセスがトリガされます。最初のプロセスは、Hadoop リソースマネージャである Hadoop YARN のデコミッションです。 Amazon EMR にサブミットされる Hadoop タスクは一般的に YARN を通じて実行されるため、EMR はノードを削除する前に実行中の YARN タスクが完了していることを保証する必要があります。何らかの理由で YARN タスクがスタックした場合、デコミッショニングを緩やかに終了することを確実にする設定可能なタイムアウトがあります。このタイムアウトが発生すると、YARN タスクは終了し、タスクが正常に完了できるように別のノードに再スケジュールされます。 2番目のデコミッションプロセスは、HDFS(Hadoop Distributed File System)のデコミッションプロセスです。 HDFSは、HDFSを実行している任意のノード上の EMR […]

Read More

Amazon SageMaker が PyTorch と TensorFlow 1.8 のサポートを開始

今日からは、PyTorch の深層学習モデルのトレーニングとデプロイを Amazon SageMaker で簡単に行うことができます。PyTorch は、TensorFlow、Apache MXNet、Chainer に加え、Amazon SageMaker がサポートすることになった 4 番目の深層学習フレームワークです。  他のフレームワークとまったく同様、普段通りに PyTorch スクリプトを記述し、Amazon SageMaker のトレーニングに分散型トレーニングのクラスター設定、データ転送、さらにはハイパーパラメータのチューニングまで処理を任せることが可能になりました。推論の点では、Amazon SageMaker は、マネージド型で可用性が高く、また必要に応じて自動的にスケールアップ可能なオンラインのエンドポイントを提供します。 PyTorch に加え、最新の TensorFlow 安定版 (1.7 and 1.8) も追加しており、これらバージョンの新機能である tf.custom_gradient や、既成の BoostedTree 推定関数などを今日から活用していくことが可能です。Amazon SageMaker の TensorFlow 推定関数は、最新バージョンを使うようデフォルトで設定されているため、ユーザーはコードを更新する必要すらありません。 それぞれの深層学習フレームワークが得意とする分野は異なるため、開発者にとっては多くの深層学習フレームワークをサポートしていることが重要です。PyTorch は深層学習の研究者がよく使用するフレームワークですが、その柔軟性と使いやすさから開発者の間でも急速に普及してきています。TensorFlow は定評があり、リリースごとに素晴らしい機能を追加し続けています。私たちはこれらのエンジンのほか、MXNet や Chainer のような定評ある他のエンジンの開発も継続していきます。 Amazon SageMaker における PyTorch PyTorch フレームワークは独特です。Pytorch が TensorFlow、MXNet、Caffe など他のフレームワークと異なるのは、リバースモード自動微分という技術を使用しているためで、これにより動的にニューラルネットワークを構築できます。また、Python とも密に統合されており、一般的な Python の制御フローを自身のネットワーク内で使用することや、Cython、Numba、NumPy などを使用して新しいネットワーク層を作ることが可能です。そして最後に、PyTorch は高速であり、MKL、CuDNN、NCCL […]

Read More

大阪ローカルリージョン Snowball / Snowball Edge 提供開始

みなさん、こんにちわ。 アマゾン ウェブ サービス ジャパン、プロダクトマーケティング エバンジェリストの亀田です。   大阪ローカルリージョンで AWS Snowball / Snowball Edgeの提供が開始されました。 Snowball はセキュリティに考慮して設計されたデバイスを使用するペタバイト規模のデータ転送ソリューションで、AWS クラウド内外に大容量データを転送できます。AWSのリージョンへ大量のデータを転送するだけではなく、データの取り出しにもご利用可能です。 Snowballの使い方はシンプルです。例えばImportの場合、マネージメントコンソールでJOBを作成すると、Snowballデバイスが皆さんのところに送付されてきます。Snowballデバイスは業界標準のネットワークインターフェイス (RJ45、銅線 SFP+、光ファイバー SFP+ アダプタを使用した 10Gb イーサネット) とストレージプロトコル (HDFS、S3 API、S3 CLI) をサポートしています。このインターフェースを使用してAWSのリージョンへコピーするデータをSnowballデバイスへ書き込みます。その後指定された住所まで送付すると、指定したS3バケットにデータがアップロードされます。 すべてのデータは256 ビット暗号化を使用して暗号化されます。暗号化キーは、AWS Key Management Service (KMS) を使用して管理されます。キーがデバイスに送信されたり、保存されたりすることはないので、郵送途中のSnowballからデータが漏洩することはないようになっています。 インターネット経由でのデータアップロードとSnowballによるデータアップロードの比較 100 テラバイトのデータを転送するには、1 Gbps の専用接続を使っても 100 日以上かかります。Snowball デバイスは1個80テラバイトのデータを格納可能ですので、 2 個使用すれば同じ容量のデータを 1 週間未満 (別途、運送時間がかかる) で転送することができます。 東京リージョンと大阪ローカルリージョン間のデータコピー Snowballはリージョン間のデータコピーはサポートしていません。東京リージョンのデータを大阪ローカルリージョンへコピーする場合は、S3 のクロスリージョンレプリケーションを使用してください。 料金表 Snowballの料金表はこちらにあります。 Snowball […]

Read More

Amazon Linux WorkSpaces 提供開始のおしらせ

私は 2 年以上前から Amazon WorkSpace がお気に入りの理由を説明してきました。現在では 3 年間の利用経験を経て、ローカルの、管理されていないデスクトップに戻る理由はありません。私はノート PC の紛失や破損、複数の作業環境の同期化、面倒なハードウェアの更新計画について心配することはありません。どこからでも、どの端末を使用していても、私は自分の WorkSpace にログインし、必要なアプリやファイルを見つけ、作業を完了できることを確信しています。 今すぐ Amazon Linux 2 を使用する WorkSpaces ユーザーは複数のハードウェア構成とソフトウェアバンドルを選択できます。希望する処理能力 (vCPU、仮想 CPU で表現) とメモリ、必要なストレージ構成のハードウェアを選択し、Windows 7 と Windows 10 デスクトップのどちらかを選択します。あなたの組織がすでに Windows ライセンスをお持ちの場合には、BYOL (Bring Your Own License) プログラムを使用して AWS クラウドにライセンスを持ち込むことができます。 本日、もう 1 つのデスクトップオプションを紹介します!Amazon Linux 2、Amazon Linux WorkSpaces デスクトップ、Firefox、Evolution、Pidgin、Libre Office を実行する WorkSpace の提供を開始しました。Amazon Linux WorkSpaces デスクトップは MATE がベースです。CPU とメモリを非常に効率的に使用できるため、生産性と節約の両方が実現できます。これにはファイルマネージャー、イメージエディタ、ターミナルエミュレーターなどのツールとユーティリティが含まれています。 […]

Read More

[AWS Black Belt Online Seminar] AWS Summit Tokyo 2018 の振り返りと最新アップデート 資料及び QA 公開

先日 (2018/6/26) 開催しました AWS Black Belt Online Seminar「AWS Summit Tokyo 2018 の振り返りと最新アップデート」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20180626 AWS Black Belt Online Seminar AWS Summit Tokyo 2018 の振り返りと最新アップデート from Amazon Web Services Japan PDF Q. 【EFSについて】OracleRAC on EC2を組みたいと思っているのですが、EFSを利用した事例ないしは、BestPracticeは貴社にございますでしょうか。現状、OracleRAC on EC2を実施する上では、共有ストレージ、マルチキャスト等の課題がある認識です。上記、ご教示いただけますと幸いです。 A. 現時点では技術的な観点とライセンスの観点の双方から、Oracle RACをAWS上で利用することは現実的ではないとお考えください。Amazon RDS for OracleのMulti-AZによる冗長化や、Oracle on EC2であればData Guard/Active Data Guardによる冗長化で可用性目標を達成することができないかご検討頂く事をお勧めします。オンプレミスのOracle RACで構成されているシステムを置き換えたうえで、AWSに移行した事例もありますので是非ご覧ください。 Q. EFSはSSDですか?EBSとのスピード差はざっくりどの程度あるのでしょうか? A. パフォーマンス特性については下記のドキュメントをご確認ください。 https://docs.aws.amazon.com/ja_jp/efs/latest/ug/performance.html ファイルシステムのデータ容量に応じたスループットを確保すると共に、バーストにより一定時間の間スループットを増強する仕組みがあります。EBSはブロックストレージですが、EFSはNFSファイルシステムですので単純比較は難しいところですが、一般にEFSはEBSと比較するとレイテンシが高くなる傾向にあります。このドキュメントに記載されているユースケースが参考になると思いますので、用途に応じて使い分けるようにすることをお勧めします。 […]

Read More

Amazon SageMaker エンドポイント用のサーバーレスフロントエンドを構築する

Amazon SageMaker は、AWS の本番環境に機械学習モデルを構築、トレーニング、およびデプロイするための強力なプラットフォームです。この強力なプラットフォームを Amazon Simple Storage Service (S3)、Amazon API Gateway、および AWS Lambda のサーバレス機能と組み合わせることで、Amazon SageMaker エンドポイントを、様々なソースから新しい入力データを受け入れて、その推論の結果をエンドユーザに提示する Web アプリケーションへと変換できるようになりました。 このブログ記事では、有名な Iris データセットモデルを使って、簡単な SageMaker モデルを生成し、それを Amazon SageMaker エンドポイントとしてデプロイします。次に、Chalice パッケージを使用して、API Gateway エンドポイントを作成し、SageMaker エンドポイントを呼び出す Lambda 関数をトリガーし、独自の予測を行います。最後に、アプリケーションのユーザーインターフェイスとして機能させるために、Amazon S3 で静的 HTML フォームを生成します。最終的に製品は、新しいユーザーデータを受け入れ、そのデータに基づいてオンデマンド予測を生成し、ユーザーのブラウザに戻ることができるシンプルな Web アプリケーションとなります。 これは AWS Lambda アーキテクチャバージョンで、SageMaker のドキュメントが提案するアーキテクチャと類似していますが、全てのユースケースに対して最適なアーキテクチャではない可能性があります。レイテンシーが懸念される場合は、データ変換を SageMaker エンドポイントでホストした Docker コンテナに直接組み込むことが合理的です。けれども、API Gateway と Lambda の導入は、複数の潜在的なフロントエンドおよび / またはデータソースが 1 つのエンドポイントとやり取りしているような複雑なアプリケーションを使用している場合に最適なのです。このブログ記事を参考に、デモ、コンセプト検証 […]

Read More

Amazon SageMaker ニューラルトピックモデルのご紹介

構造化データおよび非構造化データは前例のないペースで生成されているため、膨大な量の情報を整理し、検索し、理解するための適切なツールが必要です。こういったデータの有効活用は難しいことです。これは特に非構造化データの場合に当てはまります。企業が持つデータの 80% 以上が構造化されていないと推定されています。 テキスト分析とは、非構造化テキストを意味のあるデータに変換することで事実に基づく意思決定をサポートすることを目的とした分析プロセスです。トピックモデリング、エンティティとキーフレーズの抽出、センチメント分析、および共参照関係の解決など、テキスト分析にはさまざまな技術が使用されています。 それでは、トピックモデリングとは一体何なのでしょうか? トピックモデリングとは、ドキュメントのコーパスを「トピック」に編成するために使用されます。これは、ドキュメント内の単語の統計的分布に基づくグループ化のことを指します。完全マネージド型のテキストアナリティクスサービスである Amazon Comprehend は、顧客からのフィードバックの整理、インシデントやワークグループ文書のサポートなど一般的なユースケースに最も適した、事前設定済みのトピックモデリング API を提供します。Amazon Comprehend は、トークン化やモデルのトレーニング、パラメータの調整などのトピックモデリングに関連する多くの一般的な手順を取り除くために提案されたトピックモデリングの選択肢です。Amazon SageMaker のニューラルトピックモデル (NTM) は、特定の文体やドメインのテキストコーパス上でのモデルのトレーニングやトピックモデルの Web アプリケーションの一部としてのホスティングなど、細かく制御されたトレーニングや最適化、そしてトピックモデルのホスティングが必要なユースケースに対応しています。Amazon SageMaker NTM は最先端のトピックモデリングの出発点を提供し、それにより顧客はネットワークアーキテクチャやデータセットの特異性に対応するためのハイパーパラメーターの変更、そしてそれらのアプリケーションに基づいた文書モデリングの精度、人間の解釈可能性、および学習されたトピックの粒度などののような多数のメトリックとの間のトレードオフの調整といった柔軟性を手に入れることができます。さらに、Amazon SageMaker NTM は簡単に構成可能なトレーニングおよびホスティングインフラストラクチャ、自動的なハイパーパラメータの最適化、Auto Scaling による完全マネージド型のホスティングなど、Amazon SageMaker プラットフォームのフルパワーを活用しています。 トピックモデリングの技術的定義は、各トピックは単語の分布であり、各文書は一連の文書 (コーパスとも呼ばれる) にわたるトピックの混合物であるということです。たとえば「自転車」、「車」、「マイル」、「ブレーキ」などの単語が頻繁に出現するドキュメントのコレクションは、「輸送」に関するトピックを共有する可能性があります。もしも別のコレクションが「SCSI」、「ポート」、「フロッピー」、「シリアル」などの単語を共有する場合、「コンピュータ」に関するトピックについて議論している可能性があります。トピックモデリングのプロセスとは、すべてのトピックへの単語の分布やトピックの混合分布などの隠れた変数を文書全体のコレクションを観察することにより推測することなのです。次の図は、単語、トピック、およびドキュメントの間の関係性を示しています。 トピックモデリングには、検出されたトピックに基づくドキュメントの分類、トピックにマップされたタグを使用したコンテンツの自動タグ付け、ドキュメント内のトピックを使用したドキュメントの要約、トピックを使用した情報検索、トピックの類似性に基づくコンテンツの推奨などの多くの実践的なユースケースが存在します。トピックモデリングは、ダウンストリームのテキストに関連した機械学習タスクのための機能エンジニアリングステップとしても使用できます。また、トピックモデリングは根底にあるテーマとの一連の観測を記述しようと試みる一般的なアルゴリズムでもあるのです。ここではテキストドキュメントに焦点を当てていますが、この観測は他のタイプのデータにも適用可能です。例えば、トピックモデルはインターネットサービスプロバイダや企業ネットワークのネットワーク上のピアツーピアアプリケーションの発見など、他の離散データユースケースのモデリングにも使用されます。 Amazon SageMaker ニューラルトピックモデル (NTM) Amazon SageMaker は、Jupyter ノートブックホスティングサービス、拡張性の高い機械学習トレーニングサービス、Web スケールの組み込みアルゴリズム、モデルホスティングサービスを提供するエンドツーエンドの機械学習プラットフォームです。Amazon SageMaker Neural Topic Model (NTM) と Amazon SageMaker Latent Dirichlet Allocation (LDA) の 2 […]

Read More

AWS のセキュリティ動画(日本語)の公開について

セキュリティは、AWS の最優先事項です。AWS は、お客様のデータを保護することを何よりも重視しており、お客様のフィードバックを AWS サービスに継続的に取り入れ、迅速なイノベーションに取り組んでいます。お客様に AWS のこうした取り組みについて、よりご理解いただくために、この度、AWS のセキュリティやコンプライアンスについて紹介する動画の公開を開始しました。   ・AWS の責任共有モデルのご紹介動画 IT インフラストラクチャーを AWS に移行する際は、責任共有モデルを考慮いただく必要があります。AWS の責任範囲はクラウド環境自体のセキュリティ、お客様の責任範囲はクラウド環境上のセキュリティとなります。お客様は、お客様のシステムと全く同じように、コンテンツ、プラットフォーム、アプリケーション、システム、ネットワークを保護するためのセキュリティを設計いただく必要があります。AWS の責任共有モデルについては、下記よりご視聴ください。     ・AWS のデータセンターのご紹介動画 AWS は AWS のデータセンターのデジタルなツアーを既に公開していますが、AWS のデータセンターの一部についてツアーのようにご覧いただける動画をお客様に公開いたしました。AWS は自然災害や人為的なリスク等から AWS のインフラストラクチャーを保護するための AWS のデータセンターシステムについて、継続したイノベーションに取り組んでいます。膨大な数の実際にご利用いただいているお客様を保護するためのセキュリティ上の取り組みについて紹介しておりますので、下記よりご視聴ください。     ・Amazon GuardDuty のご紹介動画 Amazon GuardDuty は、インテリジェントな脅威検出サービスとなり、悪意のある操作や不正な動作に対してAWS アカウントおよびワークロードを継続的に監視します。Amazon GuardDuty について紹介しておりますので、下記よりご視聴ください。     ・Amazon Inspector Amazon Inspector は、AWS に展開されたアプリケーションのセキュリティとコンプライアンスを向上させるための、自動化されたセキュリティ評価サービスです。脆弱性やベストプラクティスから優先順位付けしたセキュリティに関する所見の詳細リストを生成します。Amazon Inspector について紹介しておりますので、下記よりご視聴ください。     – […]

Read More