AWSの機械学習についてまとめています。
AWSで機械学習をおこなう方法
AWSで機械学習をおこなう方法として注目されているサービスが、Amazon SageMakerです。
関連)Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS
機械学習やデータ分析では定番ツール、jupyterやTensorFlow、PyTorchなどのツールをフルマネージドで利用できるんですね。
たとえばTensorFlowは、動作する環境を手動で構築しようとすると要求するライブラリや、GPU用のドライバのバージョンを合わせるなど、セットアップに時間がかかります。
SageMakerを利用すれば、データサイエンティストやビジネスアナリストがセットアップをエンジニアに依頼せずに、ビジュアルインタフェースを使って機械学習でのトレーニングをおこなう環境を手に入れられるんですね。
- jupyter ウェブブラウザ上で記述、実行できるデータ分析プラットフォーム
- TensorFlow Google開発の機械学習フレームワーク
- PyTorch Python用のオープンソース機械学習ライブラリ
- Apache mxnet 高速でスケーラブルな推論フレームワーク
- Hugging Face Transformers 自然言語処理に特化した機械学習フレームワーク
関連)機械学習(ML) – ユースケース別クラウドソリューション | AWS
Amazon SageMaker Studio Labで機械学習を学ぶ
現在、プレビュー版としてのリリースになりますが、Amazon SageMaker Studio Labというサービスが利用可能です。
このサービスでは、コンピューティング、ストレージ(最大15GB)、セキュリティをすべて無料で利用できるんですね。AWSアカウントが不要で、SageMaker Studio Labにメールアドレスを登録するだけで使えます。
機械学習を試してみたいけど、環境を揃えるだけでお金がかかる、という場合に最適です。
上記ページから、Request free accountボタンをクリックすると、1~5営業日程度で無料アカウントが発行されます。
無料で使えるプロジェクトでは、GPUはG4dn.xlarge、CPUインスタンスはT3.xlargeを使用。16GBのメモリと15GBのストレージが割り当てられています。
Amazon SageMaker Studio Labには、Jupyterlabノートブック環境が組み込まれていて、Conda、pipパッケージマネージャを使ってpythonのオープンソースパッケージをインストールできます。
Amazon SageMaker Studio Labで作成したプロジェクトは、Amazon SageMaker Studioに移行が可能。Labで試行をおこなってから、AWSサービスのAmazon SageMaker Studioのコンピュータリソース制限がない状態で動作させることができます。
【関連記事】
▶AWSをPythonから操作 Boto3、IDE用プラグインとCDK
Amazon EC2のインスタンスで機械学習環境を構築する
SageMakerを使わずに、EC2インスタンス上でTensorFlowなどのワークフローを動作させることも可能です。
Amazon EC2 Inf1インスタンスは、2021年8月にTensorFlow2のサポートを開始しました。Inf1インスタンスは、コストを抑えて機械学習環境を動作させるためのインスタンスなんですね。具体的には、AWSが設計した機械学習推論チップAWS Inferentiaを使用することで機械学習に最適化した動作をおこなえるんですね。
関連)Amazon EC2 Inf1 インスタンス (高性能かつ低コストで機械学習推論を実現) | AWS
EC2 Inf1インスタンスでは、TensorFlow、PyTorch、MXNet などの人気の機械学習フレームワークと統合されたAWS Newron SDKを使って、検索レコメンデーション、コンピュータビジョン、音声認識、自然言語処理、パーソナライズ、不正検出などの機械学習推論アプリケーションを実行できます。
Inf1インスタンスを使わずに、GPUインスタンス上に機械学習アプリケーションを構築することもできます。価格面では、Inf1インスタンスを利用するのが圧倒的に有利ですが、一部のライブラリが動作しない場合などは、EC2のGPUインスタンス上で機械学習をおこなうことも検討したほうが良いかも知れません。
【関連記事】
▶AWSのGPUインスタンス EC2でNVIDIAが使える DLAMIにも対応
機械学習用の深層学習AMIは、追加料金なしで無料で利用可能です。AMIを使うことで、機械学習の環境構築に時間をかけることなく、インスタンスが起動すると同時にTensor Flowなどが使える環境を手に入れることができます。
▶AWSのAMIは、インスタンス起動用の仮想マシンイメージ 共有や購入、販売が可能
目的別のAWS AIサービスを利用する
AWSでは、Amazonのビジネスで使われているものと同様のテクノロジーをつかったAIサービスを目的別に提供しています。現在、以下のサービスが利用できます。
- Amazon Rekognition イメージや動画を分析する
- Amazon Lookout for Vision 欠陥の検出と検査の自動化
- AWS Panorama エッジでのコンピュータビジョンの活用
- Amazon Textract テキストやデータの抽出
- Amazon Comprehend インサイトの取得
- Amazon A2I 品質管理
- Amazon Lex Chatbot とバーチャルエージェントの構築
- Amazon Transcribe 自動音声認識
- Amazon Polly アプリケーションに音声を与える
- Amazon Kendra 正確な情報をすばやく見つける
- Amazon Personalize オンラインエクスペリエンスをパーソナライズ
- Amazon Translate あらゆる言語のオーディエンスに対応
- Amazon Forecast ビジネスメトリクスの予測
- Amazon Fraud Detector オンライン上の不正を検出します。
- Amazon Lookout for Metrics データの異常性を特定
- Amazon DevOps Guru アプリケーションの可用性を改善
- Amazon CodeGuru Reviewer コードレビューを自動化
- Amazon CodeGuru Profiler コストのかかる非効率なコードを排除
AWSの機械学習のまとめ
- AWSのSageMakerはフルマネージドの機械学習インフラを提供。無料使用できるSageMaker Studio Labで試用可能。
- EC2インスタンスでは、コストを抑えて機械学習に使える専用チップを搭載したInf1インスタンスが選択できる
- Amazonのビジネスでも使われているテクノロジーが、AIサービスとして目的別に利用できる