Amazon Web Services ブログ

Category: Artificial Intelligence

AWS Deep Learning Conda と Base AMI の利用開始について

AWS は AWS Deep Learning AMI に Conda ベースの AMI と Base AMI という 2 つの新しいバージョンを利用可能にしたことを発表しました。このブログでは、新しい AMI を最大限に活用するための手順と追加リソースについてご説明します。 Conda マネージド型環境を取り入れた新しい Deep Learning AMI Amazon Linux と Ubuntu を対象にした新しい Deep Learning AMI には、人気のオープンソースパッケージと環境管理ツールである Conda を使用して作成したディープラーニング用の Python 環境がプリインストールされています。Conda マネージド型 Python 環境は、Apache MXNet、TensorFlow、Caffe2、PyTorch、Keras、CNTK、Theano を含む、人気のディープラーニングフレームワーク用に事前設定されています。また、Python 環境にはそれぞれ Python 2 と Python 3 が含まれています。AWS マネジメントコンソールを使用して AWS EC2 インスタンスにログインすると、Conda 環境すべてを含むリストがコンソールメッセージとして表示されます。 次のコマンドを実行すると、このリストを取得できます。 conda […]

Read More

Machine Learning ユーザー向けの新しい AWS Deep Learning AMI

この度、AWS Deep Learning AMI の新しい 2 つのバージョンの提供を開始しました。人気のオープンソースパッケージと環境ツールの Conda を使用して作成したディープラーニングフレームワーク用に別の Python 環境を使用する Conda ベースの AMI、そして独自のカスタマイズしたディープラーニングモデルをデプロイするための GPU ドライバとライブラリを使用する Base AMI です。 学会と業界の両方に渡り、ディープラーニングテクノロジーはフレームワーク、アルゴリズム、そして新しい方法や理論に渡り、急速に進化しています。そのため、素早く安全にアルゴリズムをテストしたり、フレームワークの特定のバージョンの最適化、テストやベンチマークの実行、新しく始めるプロジェクト開始の共同作業などにおいてツールを必要とする開発者達にとって複雑の原因になっています。そこで、AWS Deep Learning AMI においても、そうした自由と柔軟性を提供するために仮想環境を追加することにしました。また、新たに開発者用リソースもセットアップすることで、これまで以上に AMI の理解を深めたり、プロジェクトに適切な AMI を選択したり、ハンズオンチュートリアルを利用できるようにしています。 Conda ベースの Deep Learning AMI Conda ベースの AMI は Conda を使用して作成したディープラーニングの Python 環境にプリインストールされています。各 Conda ベースの Python 環境は、人気のディープラーニングフレームワークの公式 pip パッケージと、その依存関係を含むように設定されています。たとえば、ニューラルネットワークモデルをトレーニングするためのディープラーニングコードを実行する準備が整い、完全に仕上がった仮想環境とお考えください。ステップバイステップガイドでは、任意のディープラーニングフレームワークを使用した環境をアクティブ化する方法や、シンプルな 1 行のコマンドを使用して環境を切り替える方法について説明しています。 AMI のメリットは他にもあります。AMI の環境は相互に孤立した自己完結型のサンドボックスとして稼働します。つまり、サンドボックス内でディープラーニングのコードを実行すると、実行時の環境を完全に見通し全体的に管理することができます。AMI の他のディープラーニング環境を中断してしまう心配なく、新しいソフトウェアパッケージをインストールしたり、既存のパッケージのアップグレードや環境変数を変更することができます。実行環境でこのレベルの柔軟性と詳細管理を行えるということは、一貫性のある再生可能な方法でディープラーニングモデルのテスト実行やパフォーマンスのベンチマークが行えることを意味しています。 最後に、AMI は Jupyter […]

Read More

SSML の新しい声道機能を使用して Amazon Polly の声の音色を変更

本日、Amazon Polly チームは、開発者がテキスト読み上げ (TTS) 音声の音色を変更できるようにする、新しい音声合成マークアップ言語 (SSML) 機能のリリースを発表します。これは、Amazon Polly ポートフォリオの既存の音をカスタマイズし、ユースケース用に探している特定のペルソナの音に近づけることを希望するお客様にとって魅力的な機能です。特に、多くの異なる音が関連するシナリオを持つお客様にとって有益です。音色機能により、利用可能な各 Amazon Polly の声から複数の音のペルソナを簡単にカスタマイズできるためです。 音色とは 音色は、ピッチや大きさとは独立した、音の知覚色または品質を表します。これは、よく音楽で金管楽器と弦楽器の違いを指摘したり、ビオラとバイオリンの微妙な区別を表したりする場合などに使用されます。音色は、各楽器が同じボリュームで同じ音符を演奏していても、それぞれを区別する知覚属性です。音声においても同様に、ピッチ (基本周波数) と大きさ (振幅) が同じでも、音色により 1 つの声が別の声から区別されます。 各個人の声の音は、その人物の生理機能や発声方法を含むさまざまな要素により、独自のものになります。個人の声帯、声道、そして体全体の大きさや形でさえも、その人物の標準的な音声品質を形作るうえで重要な役割を果たします。人の舌の位置、筋肉を緊張または弛緩させる方法、空気圧を加える方法は、声のピッチ、ボリューム、音色を変えるための技法の一部にすぎません。訓練を受けた物まね役者は、自分の声をまるで他人のように変えることができるレベルまで、これらの動きを制御する方法を会得しています。 声道とピッチ 音声の音色に貢献する重要な生理機能として、声道があります。これは声帯上部から唇の端までにおよぶ空気の通り道です。声道を長くしたり短くしたり、または広げたり狭めたりして、その形を変更できるようにするさまざまな筋肉があります。こうした変更の効果によって、音声が増幅または除去されて聞こえます。 ピッチは、音声を高く、または低く聞こえるようにする聴覚属性です。音声生成においては、ピッチは声帯の振動周波数によって決定されます。一般的に、女性の声帯は男性と比較して短く、より多く (1 秒あたり 180~200 回) 振動します。男性の声帯は平均的により長く、より少なく (1 秒あたり 最大 110 回) 振動します。同様に、平均的な声道の長さは、女性が男性よりも短くなっています (最大 14cm 対最大 17cm)。 声帯の長さと声道の長さとの間には自然な相関関係があり、どちらか 1 つが大きければ、もう一方も大きくなる傾向があります。音色機能では、開発者がピッチを制御する機能を維持しながら、声道の大きさを変更することができます。 声道と音声合成 vocal-tract-length SSML タグを使用して話者の声道の長さを変更することで、入力音声の音色を制御できるようになりました。これは話者の体の大きさを変更したかのように聞こえます。 vocal-tract-length を変更すると、話者の音声は体が大きくなったかのように聞こえます。このタグを小さくすると、小さい体のような音になります。このタグは Amazon Polly のテキスト読み上げポートフォリオのいずれの声にも使用できます。 話者の声道の長さを変更する方法は次のとおりです。 +n% または -n%: 現在の声で、相対割合 (%) […]

Read More

Apache MXNet バージョン 0.12 で Extends Gluon 機能を拡大、最先端の研究をサポート

先週、Apache MXNet コミュニティが MXNet バージョン 0.12 をリリースしました。このバージョンの主な機能は NVIDIA Volta GPU と Sparse Tensor のサポートです。同リリースには Gluon プログラミングインターフェイスの新機能がいくつも含まれています。こうした機能は特にディープラーニングモデルにおける最先端のリサーチを実装しやすくします。 変分ドロップアウトは、オーバーフィッティングをリカレントニューラルネットワーク (RNN) に移行するために使うドロップアウト技術を効率的に適用できるようにします。 畳み込み RNN、Long short-term memory (LSTM)、Gated Recurrent Unit (GRU) セルは、時間ベースのシーケンスと空間ディメンションの両方を示すデータセットのモデリングを可能にします。 7 つの新しい損失関数、エクスポート機能、トレーナー機能の強化 変分ドロップアウト (VariationalDropoutCell) は最近のリサーチを足掛かりにして、RNN のオーバーフィッティングを移行させる新たなツールを提供しています。これは「リカレントニューラルネットワークのグランデッドアプリケーションの推論 (“A Theoretically Grounded Application of Recurrent Neural Networks”)」と「RNNDrop: ASR における RNN の新しいアプローチ (“RNNDrop: A Novel Approach for RNNs in ASR”)」を基盤にしています。オーバーフィッティングは、モデルがトレーニングデータセットに近すぎた状態でフィットしていることで発生するモデリングエラーです。そのため、新しいデータまたはテストデータセットが表れた場合に予測精度が低下してしまいます。ドロップアウトはランダムにモデルパラメータをゼロにするモデリング技術です。そのため、トレーニング中にモデルが必要以上に 1 […]

Read More

Apache MXNet リリースに追加された新しい NVIDIA Volta GPU と Sparse Tensor のサポート

Apache MXNet バージョン 0.12 が利用可能になりました。MXNet コミュニティに参加している貢献者の方々との協力により、強化点を追加する新機能の提供を実現することができました。今回のリリースでは、MXNet に 2 つの重要な機能が追加されています。 NVIDIA Volta GPU のサポートにより、ユーザーはトレーニングやニューラルネットワークモデルの推論に掛かる時間を大幅に削減することができます。 Sparse Tensor のサポートにより、ユーザーは保存とコンピューティングを効率的にした方法で Sparse マトリックスを使用しモデルをトレーニングすることができます。 NVIDIA Volta GPU サポートのアーキテクチャ MXNet v0.12 リリースには NVIDIA Volta V100 GPU サポートが追加されています。これにより、ユーザーは畳み込みニューラルネットワークのトレーニングを Pascal GPU に比べて 3.5 倍も速くすることができます。ニューラルネットワークのトレーニングには、数兆にもなる浮動小数点 (FP) 倍数や追加が関係しています。通常、こうした計算には高精度にするため単精度浮動小数点 (FP32) が使われます。けれども、最近の研究結果によると、ユーザーがトレーニングで浮動小数点を半精度 (FP16) にしたデータタイプを使用しても、FP32 データタイプを使用したトレーニングと同じ精度を実現できることが分かっています。 Volta GPU アーキテクチャが Tensor Core を導入しました。各 Tensor Core は 1 時間ごとに 64 fuse-multiply-add […]

Read More

Amazon CloudWatch で GPU 使用率をモニタリング

GPU には何千ものコアがあるため、ディープラーニングには大量のマトリックス乗算と GPU (グラフィックス処理ユニット) により並列化できるベクトルオペレーションが必要です。アマゾン ウェブ サービスでは P2 または P3 インスタンスにサインアップすることが可能です。このようなインスタンスは、大規模なディープニューラルネットワークのデプロイの加速化を強調する MXNet のようなディープラーニングフレームワークの実行に優れています。 データサイエンティストや開発者はネットワークを微調整する場合、適切なバッチサイズを使用できるように GPU 使用率を最適化したいと考えています。今回のブログでは、Amazon CloudWatch メトリクスを使用して GPU とメモリ使用量をモニタリングする方法をご説明します。Amazon マシンイメージ (AMI) では、インスタンスが Amazon Deep Learning AMI を使用することを勧めています。 GPU を有効にしたインスタンスのモニタリングや管理をサポートするために使用されている現在の一般的な方法は、コマンドラインユーティリティの NVIDIA システム管理インターフェイスを利用することです (nvidia-smi)。nvidia-smi の使用により、ユーザーは GPU 使用率、メモリ消費量、ファンの使用量、電力消費量、そして NVIDIA GPU デバイスの温度などの情報をクエリすることができます。 nvidia-smi は NVIDIA 管理ライブラリをベースにしているので (NVML)、C ベースの API ライブラリを使用し、カスタムメトリクスとして Amazon CloudWatch に送信するのと同じデータポイントをキャプチャできます。このライブラリに関する詳細については「リファレンスマニュアル (reference manual)」をご覧ください。このブログではライブラリに Python ラッパーの pyvnml を使用します。 […]

Read More

Amazon Rekognition とグラフデータベースを使って映画スターのソーシャルネットワークを理解する

Amazon Rekognition は、イメージの分析をアプリケーションに簡単に追加できるようにする AWS サービスです。ディープラーニングを活用したこのコンピュータビジョン向け API に追加された最新機能が、有名人の認識です。この使いやすい機能は、各分野の有名人や著名人を多数検出、認識します。このツールにより、ユーザーは自身の関心に基づいて有名人のデジタルイメージライブラリのインデックスを作成し、検索することができます。 当社のお客様が個人に関するデータの保存に用いる一般的な方法の 1 つが、グラフデータベースです。過去のブログ投稿で詳しく説明したとおり、Facebook や LinkedIn、Twitter といった企業は巨大な関係性ネットワークの管理能力を通じ、社会が相互に関わり合う方法を革新してきました。このブログ投稿の目的は、Rekognition の有名人の認識および顔認識機能をグラフデータベースに保存された関係情報に組み合わせるのがいかに簡単かをご紹介することです。 これらのテクノロジーを組み合わせることで、お客様は 1 枚の写真を通じて、その写真に含まれる人物が他の関心対象である人物とどのように関連しているかを把握できます。さらに、2 枚の写真を送信し、それぞれの写真に含まれる人々の間にどのような相互関係があるかを素早く見極めることも可能です。この関係マッピングを活かしたコミカルな例が、有名な Six Degrees of Kevin Bacon (ケヴィン・ベーコンとの六次の隔たり) ゲームです。しかし、このようなアプリケーションのビジネス価値は実に大きなものです。法執行機関は 2 枚の写真を基に Rekognition を活用して各人物の身元を特定し、グラフデータベースを参照して関心対象である 2 名の人物が知り合いかどうかを突き止めることができます。同様に、ホスピタリティ企業は Rekognition とグラフデータベースを使って敷地内にいる有名人を素早く特定し、その人物の知り合いである他の有名人のうち、近隣に宿泊している人物を把握できます。 このブログ投稿では、グラフデータベース (ここでは Neo4j Community Edition を使用) を採用した Rekognition と、D3.js ライブラリを使用した Jupyter Notebook の併用方法のデモンストレーションをご紹介します。 設定 このテクノロジーの組み合わせの使用を開始するには、まず AWS ラボの Github リポジトリからプロジェクトのコピーを取得します。  プロジェクト構成には 2 つの主なエリアが含まれます。 <project […]

Read More

柔軟性の高いディープラーニングのために簡単に使用できるプログラミングインターフェイス Gluon のご紹介

本日は、AWS と Microsoft が、どのディープラーニングフレームワークを選択するかにかかわらず、すべての開発者向けに機械学習テクノロジーの速度、柔軟性、アクセス性を向上させることを主眼とした新しい仕様を発表しました。この連携による最初の結果が、新しい Gluon インターフェイスです。これはあらゆるスキルレベルの開発者がディープラーニングモデルのプロトタイプ作成、構築、トレーニングを行えるようにする、Apache MXNet のオープンソースライブラリです。このインターフェイスにより、トレーニング速度を犠牲にすることなく、ディープラーニングモデルの作成プロセスを大幅に簡略化できます。 Gluon の 4 つの重要な利点と、それを示すサンプルコードを示します。 (1) シンプルで理解しやすいコード Gluon では、シンプル、明瞭、簡潔なコードを使ってニュートラルネットワークを定義できます。事前定義されたレイヤー、オプティマイザ、イニシャライザを含む、プラグアンドプレイのニュートラルネットワーク構築要素のフルセットを入手できます。これにより、基盤となる複雑な実装詳細の多くが排除されます。次の例では、わずか数行のコードでシンプルなニュートラルネットワークを定義する方法を示しています。 # 最初のステップはモデルの初期化です net = gluon.nn.Sequential() # Then, define your model architecture with net.name_scope(): net.add(gluon.nn.Dense(128, activation=”relu”)) # 最初のレイヤー – 128 ノード net.add(gluon.nn.Dense(64, activation=”relu”)) # 2 番目のレイヤー – 64 ノード net.add(gluon.nn.Dense(num_outputs)) # Output layer 次の図に、ニュートラルネットワークの構造を示します。 詳細については、こちらのウォークスルーに移動して、Gluon ニュートラルネットワーク構成要素を使って multilayer perceptron (MLP) と呼ばれるシンプルなニュートラルネットワークを作成する方法を参照してください。より高度なユースケース向けに、ニュートラルネットワークのパーツをゼロから作成することも簡単です。Gluon […]

Read More

Using Amazon Polly to Provide Real-Time Home Monitoring Alerts

このブログは、Y-cam Solutions のシニア開発者である Siva K. Syamala によるゲストブログポストです。Syamala 女史の言葉によると、「Y-cam は高性能なセキュリティビデオソリューションのプロバイダとして、すべての人々に簡単で扱いやすいスマートホームセキュリティを提供してくことをビジョンに掲げています」。 ホームセキュリティは、ホームオートメーションと IoT の活用においてとても重要な要素です。Y-cam Solutions Limited は Amazon をその基盤援助として、世界各地からスマートフォンによるモニタリングと制御ができるスマートセキュリティシステムを提供してきました。アラート、通知、そしてシステムをコントロールする方法を改善するために、Y-cam は Amazon Polly を使用して、ユーザーが会話によってセキュリティシステムと交信できる最新型の AI サービスを提供します。 当社サービスの作動方法 アラームが発生すると、Twilio を通じて音声によるカスタマーへの通知が行われます。呼び出しが確立されたら、Twilio は TwiML の指示に従って手順を実行し、Amazon Polly から取得する音声構成を使用してカスタマーにストリーミングを開始します。呼び出しの受信者は、携帯電話のキーパッド (DTMF コード) のボタンを押して回答します。DTMF コードによって、当社のサービスは指定されたアクションを実行し、Amazon Polly から取得する音声合成への TwiML 指示を返します。実際により近い会話を実現するには、Amazon Polly が素早く返答することがとても重要となります。遅延と待機時間は不満を引き起こし、受信者が電話を終了してしまう可能性を増大させます。 以下は、アラームが発生した場合のカスタマーへの通話を示すオーディオクリップのサンプルです。 アーキテクチャ   Amazon Polly の呼び出し 次の Java コードは、Amazon Polly から音声合成がリクエストされ、S3 バケットに保存されることを示しています。

Read More

利用可能になりました – Amazon Linux AMI 2017.09

Amazon Linux AMI の最新バージョン (2017.09) が、すべての AWS リージョンの現行世代の EC2 インスタンスで利用可能になったことをお知らせします。AMI には、EC2 上で実行するアプリケーションのために安定した安全で高性能な環境を提供するように設計された Linux イメージのサポートと保持が含まれています。 簡単なアップグレード 次の 2 つのコマンドを実行して既存のインスタンスをアップグレードし、再起動します。 $ sudo yum clean all $ sudo yum update 盛りだくさん AMI には多くの新機能が含まれており、そのうち多くはお客様のリクエストに応えて追加されたものです。概要は次をご覧ください。 Kernel 4.9.51 – Based on the 4.9 の安定したカーネルシリーズをベースにしたこのカーネルには、ENA 1.3.0 ドライバーと TCP Bottleneck Bandwidth and RTT (BBR) のサポートが含まれています。私の投稿 Elastic Network Adapter – High-Performance Network Interface for […]

Read More