| 生産時期 | 2019年から |
|---|---|
| 販売者 | Amazon Web Services(Amazon EC2のInfインスタンスとして提供) |
| 設計者 | Annapurna Labs(Amazon Web Services) |
| アーキテクチャ | 独自 |
| マイクロアーキテクチャ | NeuronCore |
AWS Inferentiaは、Amazon.comの子会社Annapurna Labsが設計し、Amazon Web Services(AWS)が自社のクラウドサービス向けに提供しているチップである。機械学習の推論(学習済みのモデルを使って答えを出す処理)に用途を絞って設計されている。Amazon EC2の仮想サーバ(インスタンス)のうちInfから始まる名前のものに搭載される形で提供される。2018年11月のAWS re:Invent 2018で発表され、2019年12月に第1世代を搭載するInf1インスタンス、2023年4月に第2世代のInferentia2を搭載するInf2インスタンスの提供が始まった。
機械学習の処理は、大量のデータからモデルを作る「学習」と、できあがったモデルに新しいデータを与えて答えを出す「推論」に分けられる。Inferentiaは後者に用途を絞ったチップであり、AWSは深層学習や生成AIの推論を低い費用で実行するためのものだと説明している。AWSは、機械学習にかかる費用のうち推論が最大9割を占めることがあるとし、これを下げることを狙いとしている。なお、AWSは学習向けには別系列のAWS Trainiumを設計しており、2026年時点ではTrainiumを学習と推論の両方に向けたチップと位置付けている。
利用者はInferentiaをEC2のインスタンスタイプを選ぶ形で使う。世代ごとにInf1・Inf2という名前が付き、それぞれ4種類の大きさが用意されている。Inf1インスタンスはAWS Nitro Systemの上で動作し、仮想化に関わる機能の多くは専用のハードウェアとソフトウェアに任される。インスタンスを直接起動するほか、Amazon SageMakerなどのマネージドサービスを通じても利用できる。
2世代が発表されている。いずれもチップの中に「NeuronCore」と呼ぶ演算処理の中核が置かれ、世代ごとにその数と性質が異なる。
| 世代 | 提供開始 | 搭載インスタンス | NeuronCore数 | チップあたりのメモリ | チップあたりの最大演算性能 |
|---|---|---|---|---|---|
| AWS Inferentia | 2019年12月 | Inf1(最大16チップ) | 4(第1世代) | DDR4 8ギガバイト | 64テラFLOPS(FP16) |
| AWS Inferentia2 | 2023年4月 | Inf2(最大12チップ) | 2(第2世代) | HBM 32ギガバイト | 190テラFLOPS(FP16) |
第1世代のInferentiaは、16ビットの浮動小数点数(FP16・BF16)と混合精度、8ビット整数(INT8)の演算に対応し、INT8ではチップあたり最大128テラ演算毎秒とされる。モデルを載せておける大きなオンチップメモリを備え、「NeuronCore Pipeline」という仕組みで大きなモデルを複数のチップに分割して実行できる。
第2世代のInferentia2は、NeuronCoreがそれぞれスカラー・ベクトル・テンソルの3種類の演算エンジンを持つ。対応するデータ型はFP32・TF32・BF16・FP16・UINT8と、設定可能な8ビット浮動小数点数(cFP8)である。メモリ帯域はAWSによれば第1世代の10倍で、チップ間を毎秒192ギガバイトの「NeuronLink」で結ぶことにより、1つのチップに収まらない大きなモデルも複数のチップにまたがらせて実行できる。AWSは、Inf2インスタンスはInf1インスタンスと比べてスループット(単位時間あたりに処理できる量)が最大4倍、レイテンシ(応答までの遅れ)が最大10分の1になるとしている。
Inferentiaを使うためのソフトウェアはAWS Neuronというソフトウェア開発キット(SDK)である。Neuronはコンパイラ・ランタイム(実行環境)・プロファイリングツールから構成され、PyTorchやTensorFlowといった機械学習フレームワークと統合されている。利用者は学習済みのモデルをNeuronでコンパイルしてInferentia向けの形式に変換する。32ビット浮動小数点数で学習したモデルはNeuronがBF16へ自動変換し、既存のコードをほとんど変えずに実行できるとAWSは説明している。Hugging Faceなどの公開リポジトリにあるモデルにも対応し、同じSDKが学習向けのAWS Trainiumにも使われている。
Neuronには、チップの利用率やメモリ使用量などを収集するneuron-monitorというコマンドが含まれる。収集した値はAmazon CloudWatchへ送るほか、Prometheus形式のエンドポイントとして公開してGrafanaで可視化することもでき、AWSはInf1・Inf2の両インスタンスを対象とした手順を公開している。Datadogなどのオブザーバビリティサービスも、この出力を読み取ってInferentia搭載インスタンスを監視する連携機能を提供している。
料金は他のEC2インスタンスと同じく、オンデマンド・スポットインスタンス・リザーブドインスタンス・Savings Planといった形態から選ぶ。
Amazon社内での早い時期の利用例は、音声アシスタントAmazon Alexaである。2020年11月、AWSはAlexaの機械学習推論処理の大半をGPUを用いたインスタンスからInf1インスタンスへ移したと発表した。AWSによれば、音声合成の処理ではGPUを用いたインスタンスと比べて応答全体のレイテンシが25%、費用が30%下がった。
AWS Inferentiaは、2018年11月28日にラスベガスで開かれたAWS re:Invent 2018の基調講演で、当時のAWS最高経営責任者アンディ・ジャシーによって発表された。発表時点では詳しい仕様は示されず、主要な機械学習フレームワークに対応して翌年に提供されると説明された。SiliconANGLEは発表時、Inferentiaを、それまで機械学習で主流だったNVIDIA製などのGPUに対して費用面の優位をうたうチップとして報じ、英国のフィナンシャル・タイムズも2024年11月、AmazonがInferentiaやTrainiumなど自社設計のAIチップによってNVIDIAへの依存を減らそうとしていると報じている。設計を担ったAnnapurna Labsは、AWSが2015年に買収したASIC設計会社である。
2019年12月3日、AWS re:Invent 2019に合わせてInf1インスタンスの一般提供が始まった。当初の提供地域は米国東部(バージニア北部)と米国西部(オレゴン)の2リージョンであった。
2022年11月29日、AWS re:Invent 2022で第2世代のInferentia2とInf2インスタンスがプレビューとして発表され、2023年4月13日に一般提供が始まった。Inf2は大規模言語モデルなど生成AIの推論を対象として位置付けられている。提供地域は順次広がり、2023年12月13日にはアジアパシフィック(東京)を含む5リージョンが加わった。