前回まで数回にわたり、MLサービスの全体像や基本的な使い方を解説しました。今回からは、「MLフレームワークとインフラストラクチャ」について解説していきます。
MLフレームワークとインフラストラクチャでは、機械学習のエキスパート向けのサービスが提供されています。内容としてはやや難しいものとなるので、まずは全体像や個々のサービスが必要となる背景を押さえておき、将来必要になったときに詳細の理解に取り組むと良いでしょう。
そこで今回は、下記を理解していただくことを目標に解説をしていきます。
- MLフレームワークとインフラストラクチャの全体像や個々のサービスが必要となる背景がわかる
MLフレームワークとインフラストラクチャとは
MLフレームワークとインフラストラクチャは、AWSのMLスタックの最下層に位置するサービス群です。
上図は、本稿執筆時点(2021年9月時点)のAWS社の公開情報を基に、過去に本連載で掲載した図を更新したものです。
MLフレームワークとインフラストラクチャでは、「TensorFlow」「PyTorch」「Apache MXNet」といった人気の高い深層学習のフレームワークが事前にインストールされたAMI(Amazonマシンイメージ)やDockerコンテナイメージが提供されているだけでなく、画像/動画像の処理に特化したプロセッサであるGPUや、AWSが機械学習のワークロード向けに独自開発したプロセッサを搭載したEC2のインスタンスタイプなど、多彩なインフラストラクチャが提供されています。
前回までに解説したAIサービスやMLサービスは、「マネージドサービス」として提供されています。マネージドサービスを利用すると、AIや機械学習をビジネスに迅速に導入できる、メンテナンスなどの価値を生まない作業をAWSに任せられるなどのメリットがある反面、マネージドサービスの仕様に制約されるといったデメリットもあります。
その一例が、機械翻訳を行うためのAIサービスである「Amazon Translate(以下、Translate)」です。機械翻訳を行う機械学習モデルは、AWSによって構築・運用されており、日本語を含めて70を超える言語の翻訳が行えます。ただし、翻訳対象のドキュメントに組織の固有用語などを含む場合は、正しい翻訳結果を得られない可能性があります。
そのため、Translateには「カスタム用語」という利用者が独自に定義できる辞書機能が用意されており、この機能を使ってチューニングすることが可能です。しかし、カスタム用語を利用しても精度の要件を満たせない、もっときめ細やかなチューニングを行いたいといった場合は、Translateの採用を諦めてほかのサービスを検討するか、機械翻訳を行う機械学習モデルを独自に構築する必要があります。
MLフレームワークとインフラストラクチャでは、その名称の通りに機械学習の開発や運用をするための基礎となるサービスが多数提供されています。これらを組み合わせることで、利用者の要件に合わせた機械学習の環境を柔軟に構成することが可能です。AIサービスやMLサービスも、このレイヤーのサービスを使って実現されていると考えられます。まさに、AWSの機械学習サービスを下支えするサービス群と言えるでしょう。
提供されるサービス
MLフレームワークとインフラストラクチャで提供される主なサービスとその概要を下表に示します。
サービス名 | 概要 | 東京リージョンでの利用可否 |
---|---|---|
AWS Deep Learning AMIs(AWS深層学習AMI) | TensorFlow、PyTorch、Apache MXNetなどの人気の高いDeep Learning(深層学習)フレームワークとインタフェースが事前にインストールされたAMIを提供する | ○ |
AWS Deep Learning Containers(AWS深層学習コンテナ) | AWS深層学習AMIと同様に Deep Learning(深層学習)においてよく利用されるフレームワークとインタフェースが事前インストールされたDockerコンテナイメージを提供する | ○ |
Amazon EC2インスタンス | CPUやGPUをはじめ、AWSが独自に開発したプロセッサなどを搭載した多彩なインスタンスタイプを提供する | ○(一部利用不可) |
Amazon Elastic Inference | CPUベースのEC2、ECS、SageMakerのインスタンスに推論用のGPUリソースを提供する | ○ |
EC2インスタンスで一部利用できないインスタンスタイプがありますが、ここで示したサービスは東京リージョンで利用することができます。また、これらのサービスを利用するための追加料金は不要です。EC2インスタンスなどとして作成したリソースの利用量に応じて、従量課金制で課金されます。
* * *
今回は MLフレームワークとインフラストラクチャの全体像やこれらのサービスが必要となる背景について解説しました。次回は深層学習AMIについて解説する予定です。
著者紹介
菊地 貴彰 (KIKUCHI Takaaki)
株式会社NTTデータ システム技術本部 デジタル技術部
Agileプロフェッショナル担当
大学・大学院では、機械学習を専攻。ベイズ的枠組みを用いて、複数の遺伝子のデータから遺伝子どうしの相互作用ネットワークの推定に関する研究を行った。
株式会社NTTデータに入社後は、法人や金融のシステム開発のシステム基盤担当としてキャリアを積み、 現在はデジタル技術やAgile開発を専門に扱う組織でシステム開発全般を担当する。
2019, 2020 APN AWS Top Engineers, Japan APN Ambassador 2020, 2021に選出。
本連載の内容に対するご意見・ご質問はtwitter: @kikuchitk7まで。