Amazon Web Services ブログ

機械学習と AWS Inferentia を使用した広告検証のスケーリング

Amazon Advertising は、15 を超える国々のウェブサイト、アプリケーション、ストリーミング TV コンテンツなど、Amazon のストア内外の両方で表示される広告を通じて、企業がブランドを構築し、お買い物をするお客様とつながるのをサポートします。Amazon Marketplace の登録販売者、ベンダー、書籍ベンダー、Kindle ダイレクトパブリッシング (KDP) の著者、アプリケーションデベロッパー、代理店など、あらゆる規模の企業やブランドが、独自の広告クリエイティブをアップロードできます。これには、画像、動画、音声のほか、Amazon で販売されている商品ももちろん含まれます。正確、安全、快適なショッピング体験を促進するために、これらの広告はコンテンツガイドラインに準拠している必要があります。

ここでは簡単な例を挙げます。次の広告のうち 2 つが準拠していない理由がおわかりでしょうか?

Amazon Ads

中央の広告は、コンテキストで商品を表示していません。また、同じ商品が複数回表示されています。右側の広告は格段に良く見えますが、この広告フォーマットでは許可されていないテキストが含まれています。

新しい広告クリエイティブは、さまざまなサイズ、形、言語で、かつ、非常に大規模に提供されます。これを踏まえると、このような広告クリエイティブを手動で検証することは、複雑で、時間がかかり、エラーが発生しやすいプロセスになるでしょう。そこで機械学習 (ML) の出番です!

機械学習を使用して広告クリエイティブを検証する
各広告は、単一のモデルでは合理的に学習できない多くのルールに照らして評価される必要があります。実際、広告のプロパティを確認するには多くのモデルが必要です。以下に例を挙げます。

  • 広告商品を説明する画像、動画、音声、およびテキストを分析するメディア固有のモデル。
  • 見出し、テキスト、背景、およびオブジェクトを検出するコンテンツ固有のモデル。
  • 構文と文法を検証し、未承認の言語にフラグを立てる言語固有のモデル。

これらの機能の一部は AWS AI サービスですぐにご利用いただけます。例えば、Amazon Advertising チームは Amazon Rekognition を使用して、画像や動画からメタデータ情報を抽出します。

その他の機能には、社内のデータセットでトレーニングされたカスタムモデルが必要です。この目的のために、Amazon のチームは、手動ラベリング、およびアクティブラーニングによる自動ラベリングの組み合わせを使用して、Amazon SageMaker Ground Truth で大規模な広告データセットをラベル付けしました。これらのデータセットを使用して、チームは Amazon SageMaker を使用してモデルをトレーニングし、AWS Cloud Development Kit (AWS CDK) および Amazon SageMaker Pipelines を使用してリアルタイム予測エンドポイントに自動的にデプロイしします。

企業が新しい広告をアップロードすると、関連するモデルが同時に呼び出され、特定の広告コンポーネントを処理し、シグナルを抽出し、品質スコアを出力します。その後、すべてのスコアが統合され、広告が手動で確認されるべきか否かを予測する最終モデルに送信されます。

このプロセスにより、ほとんどの新しい広告は自動的に検証および公開されます。つまり、企業はブランドと商品を迅速に宣伝でき、Amazon は質の高いショッピング体験を維持できます。

しかし、複雑なモデルが増加の一途を辿る中、Amazon Advertising チームは、コストを削減しながら予測スループットを向上させるソリューションを探し始めました。その答えは AWS Inferentia にありました。

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

機械学習推論のためのソフトウェア開発キットである AWS Neuron のおかげで、AWS Inferentia は、TensorFlowPyTorchApache MXNet などの機械学習フレームワークからネイティブに利用できます。コンパイラ、ランタイム、プロファイリングツールで構成され、高いパフォーマンスと低レイテンシーの推論を実行することができます。多くのトレーニング済みモデルでは、コンパイルは Neuron SDK を使用したワンライナーであり、追加のアプリケーションコードの変更は必要ありません。その結果、高いパフォーマンスの推論デプロイが実現し、コストを抑えながら簡単にスケールできます。Neuron のドキュメントには、多くの例があります。あるいは、Amazon SageMaker Neo のおかげで、SageMaker で直接モデルをコンパイルすることもできます。

AWS Inferentia を使用した広告検証のスケーリング
Amazon Advertising チームは、Inferentia 用のモデルのコンパイル、および Inf1 インスタンスを搭載した SageMaker エンドポイントのデプロイを開始しました。チームは、Inf1 エンドポイントを、これまで使用していた GPU エンドポイントと比較しました。その結果、BERT のような大規模な深層学習モデルが Inferentia でより効果的に実行され、レイテンシーが 30% 減少し、コストが 71% 削減されることがわかりました。数か月前には、Amazon Alexa に取り組んでいる機械学習チームも同じ結論に達していました。

予測の質はどうでしょうか? GPU モデルは通常、単精度浮動小数点数データ (FP32) を使用してトレーニングされます。Inferentia は、より短い FP16、BF16、および INT8 データ型を使用するため、予測される出力に若干の違いが生じる場合があります。GPU モデルと Inferentia モデルの両方を並行して実行することで、チームは確率分布を分析し、Inferentia モデルの予測しきい値を微調整し、これらのモデルが GPU モデルと同じように広告を予測するようにしました。これらの手法の詳細については、ドキュメントの Performance Tuning セクションを参照してください。

これらの最終的な調整が完了したため、Amazon Advertising チームは GPU モデルの利用を段階的に中止し始めました。テキストデータはすべて Inferentia で予測されるようになり、コンピュータビジョンのパイプラインの移行が進行中です。

AWS のお客様は AWS Inferentia を利用して成功を収めています
Amazon チームだけではなく、お客様からも Inferentia を使用した機械学習ワークロードのスケーリングと最適化に関する非常に優れた結果をご報告いただいています。

Autodesk のシニアデータサイエンティストである Binghui Ouyang 氏:「Autodesk は、Inferentia を使用して、AI を利用するバーチャルアシスタントである Autodesk Virtual Agent (AVA) の認知テクノロジーを進化させています。AVA は、自然言語理解 (NLU) と深層学習技術を適用して、問い合わせの背景にあるコンテキスト、意図、および意味を抽出することで、月間 10 万件を超えるお客様からのご質問に回答しています。Inferentia をパイロットすることで、当社では NLU モデルで G4dn よりも 4.9 倍高いスループットを得ることができました。Inferentia ベースの Inf1 インスタンスでより多くのワークロードを実行できることを楽しみにしています

Condé Nast の AI インフラストラクチャ担当プリンシパルエンジニアである Paul Fryzel 氏:「Condé Nast のグローバルポートフォリオには、Wired、Vogue、Vanity Fair など、20 を超える大手メディアブランドが含まれています。数週間以内に、当社のチームはレコメンデーションエンジンと AWS Inferentia チップを統合することができました。この結合により、SageMaker の Inf1 インスタンスで最先端の自然言語モデルの複数のランタイム最適化が可能になります。その結果、以前にデプロイした GPU インスタンスよりもコストが 72% 削減されました

開始方法
Amazon SageMaker または Neuron SDK のいずれかで、Inferentia インスタンスと Inf1 インスタンスの使用を今すぐ開始できます。この自分のペースで進めることができるワークショップでは、両方のオプションについて説明します。

ぜひお試しいただき、ご意見をお聞かせください。いつものように、皆様からのフィードバックをお待ちしています。フィードバックは、通常の AWS Support の連絡先を通じて送信したり、SageMaker の AWS フォーラムや Neuron SDK Github リポジトリに投稿したりできます。

– Julien

原文はこちらです。