Amazon Web Services ブログ

Alexa の大部分で、より高速でコスト効率の高い Amazon EC2 Inf1 インスタンスによる実行を開始

本日、Amazon Alexa チームが、GPU ベースの機械学習推論ワークロードの大部分を、 AWS Inferentiaを搭載した Amazon Elastic Compute Cloud (EC2) Inf1 インスタンスに移行したことを発表しました。これにより、Alexa のテキスト読み上げワークロードで使用している GPU ベースのインスタンスに比べて、エンドツーエンドのレイテンシーが 25% 短縮し、コストは 30% 削減しました。レイテンシーがより低くなったことにより、Alexa のエンジニアはより複雑なアルゴリズムを使った革新が可能となり、お客様の Alexa の使用感を全体的に向上させることが可能となりました。

AWS はAWS Inferentiaのチップを1から開発し、クラウドの中でも最も低コストでの機械学習 (ML) 推論を提供しています。このチップは、AWS re: Invent 2019 で発表した Inf1 を増強します。Inf1 インスタンスは、GPU ベースの G4 インスタンスと比較して、最大で 30% 高いスループットを実現し、推論あたりのコストを最大 45% 削減しています。Inf1 以前は、G4インスタンス が ML 推論のクラウドの中で最も低コストのインスタンスでした。

Alexaは Amazon のクラウドベースの音声サービスで、Amazon Echoデバイスや、スマートスピーカー、ライト、プラグ、スマートテレビ、カメラの 14 万種類以上のモデルに対応しています。今日、Alexa には 1 億台以上のデバイスが接続されています。毎月、数千万人のお客様が Alexa とやり取りし、自宅のデバイスの操作(「Alexa、リビングルームの温度を上げて」、「Alexa、寝室の電気を消して」)、ラジオや音楽の視聴(「Alexa、バスルームで Maxi 80 をかけて」、「Alexa、SpotifyVan Halen をプレイして」)だけでなく、情報(「Alexa、何かニュースはある?」、「Alexa、これから雨になるかな?」)、学習やエンターテイメントを 10 万種類以上の Alexa Skills を活用しながら行っています。

Alexa にどこに住んでいるか聞くと、ここにいますと答えるでしょう。しかし、Alexa の頭はクラウドの中にあります。事実、Alexa の頭脳は AWS でデプロイされており、お客様のために構築した俊敏性、大規模なインフラストラクチャ、グローバルネットワークの恩恵を Alexa も受けているのです。

アレクサの仕組み
リビングルームで Alexa に天気について尋ねると、複雑なシステムがトリガーされます。まず、デバイスのチップがウェイクワード (Alexa) を検出します。その後、私が話すことをマイクが記録し、クラウドで音声をストリーミングし分析します。高いレベルでは、私の声の音声を分析するのに 2 つのフェーズがあります。1 番目のフェーズで、Alexa が音声をテキストに変換します。これは自動音声認識 (ASR) と呼ばれるものです。テキストが認識されると、2 番目のフェーズで私が話した意味を理解します。これを自然言語学習 (NLU) と言います。NLU の出力は、インテント(お客様が望むもの)と関連するパラメータです。この例(「Alexa、今日の天気は?」)では、インテントは「GetWeatherForecast」で、パラメータは私のプロフィールから推測した郵便番号かもしれません。

この全体のプロセスでは人工知能を多用しており、私の声の音声を音素に、音素を単語に、単語をフレーズに、フレーズをインテントに変換していきます。NLU の出力に基づいて、Alexa はインテントをサービスに送り、それを実行します。サービスは Alexa の内部または外部に(Alexa アカウントで有効化したスキルのように)ある可能性があります。フルフィルメントサービスがインテントを処理し、JSON ドキュメントとして応答を返します。ドキュメントには Alexa が話す応答のテキストが含まれています。

プロセスの最後のステップは、テキストから Alexa の声を生成することです。これを、テキスト読み上げ (TTS) と言います。TTS が音声データを生成し始めるとすぐに、次のように Amazon Echo デバイスにストリーミングされます。「今日の天気は晴れ時々曇り、最高気温 16 度、最低気温 8 度です。」(ちなみに私は欧州に住んでいるので、気温は摂氏です)。このテキスト読み上げ処理には、発音、リズム、単語間の接続関係、イントネーションなどに関して自然に聞こえるフレーズを構築するために、機械学習モデルも大きく関与しています。

Alexa は世界で最も人気のあるハイパースケール機械学習サービスの 1 つで、毎週数十億件もの推論リクエストがあります。Alexa の 3 つの主要な推論ワークロード(ASR、NLU、 TTS)のうち、TTS ワークロードは当初 GPU ベースのインスタンスで実行されていました。しかし Alexa チームは、顧客体験を向上し、サービスのコンピューティングコストを削減するため、できるだけ早く Inf1 インスタンスに移行することにしました。

AWS Inferentia とは
AWS Inferentiaは AWS が構築したカスタムチップで、機械学習の推論ワークロードを加速し、コストを最適化します。それぞれのAWS Inferentiaチップには、4 つの NeuronCores が含まれています。いずれの Neuron コアも高性能のシストリックアレイ行列乗算エンジンを実装しているため、畳み込みや変換などの一般的な深層学習のオペレーションを大きく高速化します。Neuron コアには大きなオンチップキャッシュが搭載されており、外部メモリアクセスの削減、レイテンシーの大幅な削減、スループットの向上が可能です。

AWS Inferentiaは、TensorFlowPyTorchMXNet などの一般的な機械学習フレームワークから、AWS Neuron を用いてネイティブで利用できます。AWS Neuron は、AWS Inferentiaのチップを用いて機械学習推論を実行するためのソフトウェア開発キット (SDK) です。コンパイラ、ランタイム、プロファイリングといったツールで構成され、高いパフォーマンスと低レイテンシーの推論を実行することができます。

Amazon EC2 Inf1 は誰が使用しているのか
Alexa に加え、Amazon Rekognition も を採用しています。Inf1 インスタンスでオブジェクト分類などのモデルを実行すると、GPU インスタンスでこれらのモデルを実行した場合と比較して、8 倍の低レイテンシーと 2 倍のスループットを実現しました。

Fortune 500 企業からスタートアップ企業にいたるお客様が、Inf1 インスタンスを機械学習推論に使用しています。例えば、Snap Inc. では 機械学習 (ML) を Snapchat の多くの部分に取り入れており 、この分野において革新を起こすことが同社の重要な優先事項となっています。 AWS Inferentiaを知るや、同社は AWS と提携して Inf1 インスタンスを採用し、パフォーマンスやコスト周辺などの ML デプロイを促進しました。同社はレコメンデーションモデルの推論から開始し、今後は Inf1 インスタンスでより多くのモデルをデプロイすることを目指しています。

世界をリードするメディア企業の 1 つ、Conde Nast は、同社が推奨するエンジンの GPU ベースインスタンスと比較して、推論コストを 72% 削減しました。さらに、米国の大手医療企業の 1 社である Anthem は、顧客の感情機械学習ワークロードにおいて、GPU ベースのインスタンスに比べて 2 倍のスループットを実現しています。

Amazon EC2 Inf1 の開始方法
今すぐに Inf1 インスタンスの使用を開始できます。

独自の機械学習アプリケーション開発プラットフォームを管理する場合は、Neuron SDK を含む AWS Deep Learning AMI で Inf1 インスタンスを起動するか、Amazon Elastic Kubernetes Service を介した Inf1 インスタンスあるいはコンテナ化された機械学習アプリケーション用の Amazon ECS を使用して開始できます。Inf1 インスタンスでのコンテナの実行については詳しくは、ECS の使用開始にはこちらのブログ、および EKSの使用開始にはこちらのブログをご参照ください。

Inf1 インスタンスを使用開始するのに最も簡単で迅速な方法は、 Amazon SageMakerを介することです。これは、デベロッパーが機械学習モデルをすばやく構築、トレーニング、デプロイできるフルマネージドサービスです。

— Seb

PS: チームがこちらの動画をリリースしたところです。チェックしてみてください。