Amazon Web Services ブログ

Localization Team

Author: Localization Team

AWS Deep Learning AMI に TensorFlow 1.5 と新しい Model Serving 機能が追加されました

AWS Deep Learning AMI は、機械学習を迅速かつ簡単に開始する支援となります。AMI には、機械学習の実践者の多様なニーズに応えるさまざまなプレビルドのオプションが含まれています。ディープラーニングのフレームワークの最新バージョンをご希望の方には、Deep Learning AMI は、別々の Conda ベースの仮想環境にインストールされたプレビルドのピップバイナリを提供します。高度なフレームワーク機能をテストしたり、フレームワークのソースコードを調整したりするのをお求めの方のために、ソースコード付きの Deep Learning AMI では、ソースからフレームワークのカスタムインストールを提供します。これらはしばしば、ストックバイナリでは利用できない高度な最適化でビルドされます。 Volta GPU での TensorFlow によるより速いトレーニング ソースコード付き AMI には、TensorFlow 1.5.0-rc1 が付属します。このプレリリースバージョンの TensorFlow は、EC2 P3 インスタンスに電力を供給する V100 Volta GPU を利用する NVidia CUDA 9 および cuDNN 7 ドライバをサポートします。当社のテストでは、ResNet-50 ベンチマークを合成 ImageNet データで fp-16 モードで p3.8xlarge インスタンスでトレーニングすると、TensorFlow 1.4.1 でのトレーニングよりも 1.8 倍高速になりました。これはプレリリースバージョンであるため、本番環境で使用する前にテストしてください。 Ubuntu と Amazon Linux […]

Read More

AWS DeepLens Lambda 関数と最新 Model Optimizer を深く知り尽くす

AWS DeepLens 向けに最新 Model Optimizer をリリースしました。これは皆さんのディープラーニングモデルを DeepLens GPU 上で効率的に実行できるよう最適化するもので、Python のコード一行のみで実行可能です。Model Optimizer は AWS DeepLens ソフトウェアバージョン 1.2.0 で利用できます。 AWS DeepLens は推論のために GPU にアクセスする際、Cl-DNN (Compute Library for Deep Neural Networks) を使用します。そのため、AWS DeepLens 上でモデルを実行するには、Cl-DNN 形式に変換しなくてはなりません。Model Optimizer はモデルのサイズにもよりますが、次のコード 1 行で、この変換を実行します。所要時間は 2-10 秒間です。 mo.optimize(model_name,input_width,input_height) このコードを自身の Lambda 関数に含めることで、Model Optimizer にアクセスできるようになります。Lambda 推論関数を使用することにより、AWS DeepLens からデプロイしたばかりのモデルにアクセスできるようになります。この投稿では、Lambda 推論関数の作成方法について説明するとともに、皆さんの要件に合わせてカスタマイズできるテンプレートをご紹介します。 Lambda の推論はプリプロセス、推論、ポストプロセスの 3 つの関数を実行します。 Lambda 推論関数を作成するには、AWS Lambda コンソールを使用し、以下のステップに従ってください […]

Read More

水門は開いた – EC2 インスタンスのネットワーク帯域幅が増大

2016 年の中頃、Elastic Network Adapter (ENA) を使用するために AMI と現世代の EC2 インスタンスを構成するようお勧めしましたが、皆さんはきちんと宿題をこなしましたか。ENA の特徴は高スループット低レーテンシであること、その一方でホストプロセッサの負荷を最小限に留めることなどが挙げられます。複数の vCPU 環境で適切に機能するようデザインされ、複数の送信および受信キューを使ってインテリジェントにパケットのルーティングを行います。 今日、私たちは水門を開けて (帯域幅の制限を取り払って)、すべての AWS リーションでより多くの帯域幅をご利用いただけるようになりました。仕様は以下のとおりです (それぞれの事例で実際の帯域幅はインスタンスのタイプとサイズによって異なります): EC2 – S3 間 – Amazon Simple Storage Service (S3) との送受信通信量は、帯域幅で最大 25 Gbps ご利用いただけます。これまで、この通信量の帯域幅は上限が 5 Gbps に設定されていました。これは S3 にある大規模なデータにアクセスする、またはバックアップおよびリストアに S3 を使用するアプリケーションに有益です。 EC2 – EC2 間 – 同一リージョン内で、同一または異なるアベイラビリティーゾーンにある EC2 同士の通信では、ここで解説したようにプライベート IPv4 または IPv6 アドレスを使用することにより、シングルフロー通信の場合最大 5 Gbps、マルチフロー通信の場合最大 25 Gbps […]

Read More

NNPACK ライブラリを使用した Apache MXNet の高速化

Apache MXNet は、ディープラーニングネットワークをビルドし、トレーニングし、再利用するために開発者が利用できるオープンソースライブラリです。このブログ投稿では、NNPACK ライブラリを使用して推論を高速化する方法を説明します。確かに、GPU 推論が利用できない場合、NNPACK を Apache MXNet に追加することは、インスタンスからより大きなパフォーマンスを引き出すための簡単なオプションかもしれません。常にそうですが、「かかる労力は異なる場合があり」、常に自分自身でテストを実行する必要があります。 開始する前に、トレーニングと推論の基礎の一部を確認していきましょう。 トレーニング トレーニングとは、ニューラルネットワークがデータセット内の各サンプルに対して正しいラベルを正しく予測する方法を学習するステップです。1 回に 1 個のバッチ (通常 32〜256 サンプル) ずつ、データセットがネットワークに送出され、バックプロパゲーションアルゴリズムを利用して、重みづけを調整することにより、エラー数の合計が最小限に抑えられます。 完全なデータセットを調べることをエポックと呼びます。大規模ネットワークは、可能な限り高い精度を達成するために、何百ものエポックに対してトレーニングする場合があります。これには数日から数週間かかることもあります。強力な並列処理能力を備えた GPU を使用することで、最も強力な CPU に比べてさえも、トレーニング時間を大幅に短縮することができます。 推論 推論とは、実際にトレーニングされたネットワークを使用して新しいデータサンプルを予測するステップです。Amazon Rekognition のように単一の画像内のオブジェクトを識別しようとする場合など、一度に 1 つのサンプルを予測することや複数のユーザーからの要求を処理するときに、複数のサンプルを同時に予測することなどが可能です。 もちろん、GPU は推論でも同様に効率的です。しかし、多くのシステムは、コスト、消費電力、またはフォームファクタの制約のために GPU に対応できません。したがって、CPU ベースの推論では、高速で実行できることが依然として重要なトピックになっています。ここでは NNPACK ライブラリが Apache MXNet で CPU 推論を高速化するのに役立つため、NNPACK ライブラリが、が採用されます。 NNPACK ライブラリ NNPACK は、GitHub で利用できるオープンソースライブラリです。どのように役立つのでしょうか?コンボリューションニュートラルネットワークについてお読みいただいていることでしょう。これらのネットワークは、コンボリューションとプーリングを適用して入力画像内の機能を検出する複数のレイヤーからビルドされています。 この投稿では実際の理論には触れませんが、NNPACK が高度に最適化される方法でこれらのオペレーション (および行列の乗算のような他のオペレーション) を実施しているとだけ申しておきましょう。基礎理論にご興味があるようでしたら、この Reddit の投稿で著者が述べた研究論文を参照してください。 NNPACK […]

Read More

新規 – リージョン間 VPC ピアリング

最新の AWS re:Invent 2 つのローンチに追いつこうとしているところです! 本日は、リージョン間の VPC ピアリングについてお話したいと思います。2014 年初頭以降、同じ AWS リージョンの仮想プライベートクラウド (VPC) 間でピアリング接続を作成することができるようになっています (詳細は、「New VPC Peering for the Amazon Virtual Cloud」を参照してください)。一旦確立されると、ピアリングされた VPC の EC2 インスタンスは、プライベート IP アドレスを使用して、同じネットワーク上にあるかのように、ピアリング接続を介して互いに通信できます。 re:Invent において、ピアリングモデルを拡張し、AWS リージョン全体で機能するようにしました。既存のモデルと同様に、同じ AWS アカウント内または一対のアカウント間でも機能します。私の以前の投稿に記載されているユースケースはすべて、引き続き適用されます。組織全体の VPC に共有リソースを集中させ、複数の部門ごとの VPC とピアリングすることができます。また、コンソーシアム、コングロマリット、または合弁企業のメンバー間でリソースを共有することもできます。 さらに、リージョン間 VPC ピアリングにより、AWS リージョン間に存在する高度な分離を活用しながら、リージョンにまたがる高度に機能的なアプリケーションを構築することができます。たとえば、計算やストレージリソースの地理的な場所を選択して、規制要件やその他の制約を遵守するのに役立てることができます。 ピアリングの詳細 この機能は、現在米国東部(バージニア州北部)、米国東部(オハイオ州) 、米国西部(オレゴン州)、および EU(アイルランド)リージョン、および IPv4 トラフィックでご利用いただけます。これらのリージョン内の任意の 2 つの VPC は、明確な、重複しない CIDR ブロックを有する限り、接続できます。これにより、すべてのプライベート IP アドレスが一意であることが保証され、一対の VPC […]

Read More

最新 EC2 Goodies – 起動テンプレートとスプレッドプレイスメント

いくつかの重要な新しい EC2 インスタンスタイプをローンチして、AWS re:Invent で紹介しています。M5、H1、T2 Unlimited および Bare Metal インスタンス、またHibernation や New Pricing Model などの Spot 機能については、すでにお伝えしてきました。Amazon Time Sync Service については、Randall がお伝えしました。今日は、私たちがローンチした 2 つの機能、すなわち、スプレッドプレイスメントグループと起動テンプレートについて説明いたします。どちらの機能も EC2 コンソールと EC2 API で使用でき、「aws」パーティションのすべての AWS リージョンで使用できます。 起動テンプレート 起動テンプレートを使用して、EC2 インスタンスの起動に使用するインスタンス、ネットワーク、セキュリティ、ストレージ、および高度なパラメータを保存できます。また、任意のタグを含めることもできます。各テンプレートには、パラメータのフルコレクションの希望するサブセットを含むことができます。たとえば、タグやネットワーク構成などの一般的な構成パラメータをテンプレートで定義し、その他のパラメータを実際の起動の一部として指定することができます。 テンプレートを使用して、On-Demand およびSpot フォーム内、および EC2 Auto Scaling を介して、または Spot Fleet の一部として起動されたインスタンスにまたがる、一貫性のある起動環境をセットアップできます。これらを使用して、組織全体の標準を実装し、ベストプラクティスを実施することができます。また、基盤となる API を使用せずに、テンプレートを介してインスタンスを起動する機能を IAM ユーザーに提供できます。 テンプレートはバージョン管理されているので、1 つのインスタンスを起動するときに、任意のバージョンを使用できます。テンプレートは、最初から作成したり、以前のバージョンに基づいたり、または実行中のインスタンスからパラメータをコピーすることができます。 コンソールで起動テンプレートを作成する方法は以下のとおりです。 ネットワークインターフェイス、ストレージボリューム、タグ、およびセキュリティグループを追加する方法は以下のとおりです。 高度なパラメータと特殊なパラメータを指定する方法は以下のとおりです。 テンプレートですべてのパラメータを指定する必要はありません。複数のインスタンスまたは起動に共通する値を起動時に入力して、その他のパラメータを追加できます。 Create […]

Read More

Amazon SageMaker BlazingText: 複数の CPU または GPU での Word2Vec の並列化

AWS は、Amazon SageMaker の最新組み込みアルゴリズムとして Amazon SageMaker BlazingText をリリースします。BlazingText は、Word2Vec 埋め込みを生成するための教師なし学習アルゴリズムです。大規模コーパスには単語の密なベクトル表現があります。Word2Vec の最高速実装である BlazingText が、以下を使用する Amazon SageMaker ユーザーにご利用いただけるようになりました。 シングル CPU インスタンス (Mikolov によるオリジナルの C 実装および fastTextなど) 複数の GPU を備えたシングルインスタンス、P2 または P3 マルチ CPU インスタンス (分散 CPU トレーニング) 単一の p3.2xlarge (Volta V100 GPU 1 個) インスタンス上の BlazingText は、単一の c4.2xlarge インスタンス上の fastText よりも 21 倍速く、20% 割安になる場合があります。 複数の CPU ノード全体における分散トレーニングでは、BlazingText は […]

Read More

AWS KMS ベースの暗号化を Amazon SageMaker のトレーニングおよびホスティングに使用できるようになりました

Amazon SageMaker は、EC2 インスタンスのトレーニングおよびホスティングにアタッチされる ML General Purpose ストレージボリュームの暗号化に Throwaway key (Transient key とも呼ばれます) を使用します。これらのキーは、ML ストレージボリュームの暗号化にのみ使用され、すぐに破棄されるため、ボリュームを安全に使用して機密データを保管することができます。ボリュームには、アクセス制限されている関連するインスタンスを通じてのみアクセスできます。インスタンスが終了すると、ML ボリュームは削除され、ボリューム内のデータにはアクセスできなくなります。 お客様は、AWS Key Management Service (KMS) を通じて管理されるキーの使用を可能することを要求しています。これは KMS マスターキー ID を指定する際に、ノートブックインスタンスにアタッチされたストレージが暗号化される方法と同じです。 今日から、トレーニングとホスティングのデータを暗号化するために、KMS マスターキーを使い始めることができます。これにより、一元的なキー管理、キー使用監査ロギング、マスターキーローテーションなどの AWS KMS 機能を、分散トレーニングとモデルホスティングに活用できます。 トレーニングデータを暗号化するには、CreateTrainingJob API の呼び出しで KMS マスターキーを指定します。ホスティングの場合は、CreateEndpointConfig API の呼び出しでキーを指定します。 Amazon SageMaker および KMS の詳細については、Amazon SageMaker Developer Guide をご覧ください。 今回のブログの投稿者について Kumar Venkateswar は、Amazon SageMaker、Amazon Machine Learning、Deep Learning AMI […]

Read More

機械学習と BI サービスを使用してソーシャルメディアダッシュボードを構築する

このブログ記事では、Amazon Translate、Amazon Comprehend、Amazon Kinesis、Amazon Athena、Amazon QuickSight を使用して、自然言語処理 (NLP) を採用した、ツイートのソーシャルメディアダッシュボードの構築方法をご案内します。 各企業がお客様とソーシャルメディアでやりとりすることで、ブランドの認知度が高まります。ツイートによる情報の拡散は、それほどコストがかからないにもかかわらず、お客様候補を獲得し、ウェブサイトのトラフィックを増やし、お客様との関係を構築し、顧客サービスを改善するのに役立ちます。 このブログ記事では、サーバーレスのデータ処理と機械学習 (ML) パイプラインを構築し、Amazon QuickSight でツイートの多言語ソーシャルメディアダッシュボードを提供する方法を紹介します。API 駆動型 ML サービスを活用すると、可用性が高くスケーラブルでセキュアなエンドポイントを呼び出すだけで、開発者はインテリジェンスをコンピュータビジョン、音声、言語分析、およびチャットボット機能など、あらゆるアプリケーションに簡単に追加できるようになります。これらの構築ブロックは、AWS のサーバーレス製品を活用することで、ごくわずかなコードで構成できます。このブログ記事では、システムを通じてのツイートフローに、言語翻訳と自然言語処理を行っていきます。 ソーシャルメディアダッシュボードを構築するだけでなく、生データセットとエンリッチなデータセットの両方をキャプチャし、データレイクに永続的に格納できます。データアナリストは、このデータで新しいタイプの分析や機械学習をすばやく簡単に実行できます。 このブログ記事を通じて、以下のことをどのように行うことができるかをご案内します。 Amazon Kinesis Data Firehose を活用すると、リアルタイムのデータストリームを容易にキャプチャおよび準備して、データストア、データウェアハウス、データレイクに読み込むことができます。この例では、Amazon S3 を使用します。 AWS Lambda をトリガーして、AWS の完全に管理された 2 つのサービス、Amazon Translate と Amazon Comprehend を使用してツイートを分析します。これらのサービスでは、ほんの数行のコードだけで、言語間の翻訳が可能となり、ツイートの自然言語処理 (NLP) を実行できます。 Amazon Kinesis Data Firehose の個別の Kinesis データ配信ストリームを利用して、分析されたデータをデータレイクに書き戻します。 Amazon Athena を利用して、Amazon S3 に格納されたデータのクエリを実行します。 Amazon QuickSight […]

Read More

新しい AWS Auto Scaling – クラウドアプリケーションのための統合スケーリング

これまで、とても長い間、サーバーやその他のクラウドリソースのスケーラビリティについてお話ししてきました!2006年には、「新しいスケーラブルの世界、オンデマンドのWebサービスで必要なものだけにお金を支払って、無駄な出費をしない」という投稿をしました。これを簡単に行えるように、Amazon Elastic Compute Cloud (EC2) のローンチ直後に、Elastic Load Balancing、EC2 Auto Scaling、および Amazon CloudWatch を同時にローンチしました。それ以降、Auto Scaling をECS、Spot Fleets、DynamoDB、Aurora、AppStream 2.0、EMRなどのその他の AWS サービスにも追加してきました。また、アプリケーションに最も適したメトリクスに基づくスケーリングを容易にするために、ターゲットトラッキングなどの機能も追加してきました。 AWS Auto Scaling の紹介 AWS Auto Scaling の導入により、複数の AWS サービスの Auto Scaling 機能を単一のユーザーインターフェイスで簡単に使えるようになっています。既存のサービスに固有のスケーリング機能を、この新しいサービスの構築で統合しています。AWS CloudFormation スタックで説明されているように、アプリケーションの一部である、それぞれの EC2 Auto Scaling グループ、EC2 Spot Fleet、ECS タスク、DynamoDB テーブル、DynamoDB Global Secondary Indexe、および Aurora Replica、あるいは AWS Elastic Beanstalk で動作します (AWS Auto Scalingで使用するアプリケーションとして、一連のリソースにフラグを立てるためのいくつかの他の方法も検討中です)。 リソースとサービスごとにアラームとスケーリングのアクションを設定する必要はなくなりました。お使いのアプリケーションで […]

Read More