2021/03/10

AWSの「Amazon SageMaker」とは?「AIサービス」の特徴や種類についても紹介

 
  

AWSの「Amazon SageMaker」とは?

「Amazon SageMaker」とは、機械学習システムの構築に必要な機能一式を提供しているAWS社の機械学習サービスです。

またサーバなどのインフラ環境やシステム運用までも含んだサービスとなっており、「完全マネージド型」と呼ばれています。 「Amazon SageMaker」が登場した背景、メリットや特徴について解説していきます。

AWSの機械学習サービスについて

AWS上では、様々な種類の「機械学習(Machine Learning :ML)」サービスを提供しています。 これらは「サービススタック」という考え方のアーキテクチャで構成されており、用途に応じて柔軟に選択することができるようになっています。

「サービススタック」は、下層から積み上げる形で下から順に、「MLフレームワーク」、「MLサービス」、「AIサービス」というスタックという構成です。 「Amazon SageMaker」は、この「MLサービス」の部分に該当します。

機械学習の基本的なプロセスについて

機械学習の基本的なプロセスは、「開発環境の構築」、「機械学習モデルの学習」、「推論の運用」の順です。 「開発環境の構築」では、必要なリソースを購入し、システムを構築して、機械学習に必要なアプリケーションをインストールする必要があります。

「機械学習モデルの学習」では、用途に応じてスケーラブルな分散学習システムの構築が要求され、「推論の運用」では、推論用のシステム環境の準備やホスティングなどのスキルが求められます。

機械学習システムでの課題

機械学習システムでの課題の一つは、開発環境の構築に多大な労力を要する点です。 特に開発や学習時に、複数のサーバを連結して「分散学習」できるように設定することや、分散しての学習結果を整理して管理する点が困難です。

また別の課題としては、推論時のAPIサーバ構築とそのメンテナンス作業に高度なスキルが求められる点です。

「Amazon SageMaker」による課題解決

「Amazon SageMaker」は、機械学習システムの課題を解決します。 具体的には、開発環境を少ない労力で構築し、分散学習のための設定などの準備が容易で、柔軟にスケールアウトさせることが可能です。

また「Amazon SageMaker」では、APIベースでサービスを提供しているため、他のAWSサービスとの連携が簡単に行なえ、SDK(ソフトウェア開発キット)もオープンソースで用意されているので拡張性も担保されています。

「Amazon SageMaker」の特徴

「Amazon SageMaker」は、AWS上の「MLサービス」として多くの機能を有しています。 それらの機能から「開発」、「学習」、「推論」での主な機能を解説していきます。

開発での「Amazon SageMakerノートブックインスタンス」とは

「Amazon SageMakerノートブックインスタンス」は、「Amazon SageMaker」上でのワークフローを「SageMaker Python SDK」で記述したものです。

この「ワークフロー」とは、環境やデータのインポート作業、分析モデルの定義、学習ジョブ、デプロイなどのことで、機械学習実行時の一連の作業全体を指しています。 また「Amazon SageMaker」は、分析に使用するインスタンス作成などを管理しています。

「学習」での分散学習や複数学習ジョブの同時実行について

「Amazon SageMaker」では、学習開始時にAPI経由で分散学習用インスタンスを起動することができ、学習完了時には自動的に停止する機能があります。

インスタンスの起動が自動化されることで、手動実行によるミス発生や、作業コストを抑制することが可能です。また複数の学習ジョブを任意のインスタンス数で同時実行することもできます。

「学習」での「Managed Spot Training」機能について(その1)

「Amazon SageMaker」に、「Managed Spot Training」という学習コストを抑制する機能が追加されました。 従来比で90%近くの削減が可能で、チェックポイントを設けることにより、途中で学習に失敗しても途中から再開することができるようになりました。

「学習」での「Managed Spot Training」機能について(その2)

参考までに、SageMaker SDKでの実装例をご紹介します。

from sagemaker.tensorflow import TensorFlow
mnist_estimator = TensorFlow(entry_point='mnist.py',
role=role,
train_instance_count=2,
train_instance_type='ml.p2.2xlarge',
train_max_run = 5000,
train_use_spot_instances=True,
train_max_wait = 7200)

AWSで提供している「AIサービス」について

AWSの「AIサービス」とは、「機械学習(Machine Learning、略称:ML)」の深いスキルがなくても、アプリケーションで機械学習を実装できるAI関連のサービス群です。

特に「機械学習」のサービスは、機械学習のモデルを「高速」で学習やデプロイ(サーバへの配置)を可能としています。 「Amazon SageMaker」を背景から理解するために、AWSの「AIサービス」について解説していきます。

AWSの「AIサービス」の特徴について

AWSの「AIサービス」の特徴は、機械学習用のサンプルデータを用意するだけで、APIベースでAWS上の「AIサービス」を利用できる点です。 つまり「AIサービス」を自ら構築や調整する必要はなく、AWS側で最適化された状態で用意されているので、それを利用するだけで済みます。

またAWSの「AIサービス」には多くの種類があり、機械学習に必要な分野をカバーしています。

「AIサービス」の種類について(その1:静止画・動画認識)

「静止画・動画認識」処理では、「Amazon Rekognition」や「Amazon Rekognition Video」といった他のAWSサービスと連携して、物体の認識や人の顔の分析(性別、笑顔など)が行えます。

また「Amazon Textract」というAWSサービスと連携することで、画像情報の「文字」をテキスト認識することも可能です。

「AIサービス」の種類について(その2:音声処理)

「音声処理」では、「Amazon Transcribe」というAWSサービスと連携して、「音声データ」を「テキストデータ」に変換することが可能です。

また「Amazon Polly」というAWSサービスでは、その逆で「テキストデータ」を「音声データ」に変換することが可能です。

「AIサービス」の種類について(その3:テキスト処理)

「テキスト処理」のAIサービスとしては、「Amazon Translate」と連携して機械翻訳が可能となり、さらに25種類の言語に対応し日本語にも対応済です。

また「Amazon Comprehend」と連携すると、文章の解析が行なえます。しかしながら、こちらは日本語には未対応となっています。

「AIサービス」の種類について(その4:チャットボット)

「チャットボット」では、「Amazon Lex」というAWSサービスと連携することで、音声やテキストによる対話可能な、いわゆる「ボット」を簡単に構築できるAIサービスです。

「Amazon Lex」は、対話時の音声認識や意味の理解といったAI処理に利用されます。

「AIサービス」の種類について(その5:時系列データ予測)

「時系列データ予測」では、「Amazon Forecast」と連携することで、様々な種類の履歴データを分析することで、高精度な予測を高速に実行できます。

また複数の時系列データにも対応しており、機械学習の自動化がしやすいという特徴があります。

「AIサービス」の種類について(その6:レコメンデーション)

「レコメンデーション」では、「Amazon Personalize」と連携することで、様々な商品や商用サービスに対応した高精度なレコメンデーションシステムを構築することが可能です。

ユーザの各種操作履歴などは、リアルタイムで取り込みながら反映していくことが可能で、AIによる学習を継続することでレコメンデーションの精度が一層向上していきます。 「Amazon SageMaker」からアルゴリズムを取り入れて分析もできます。

「Amazon SageMaker」の活用

これまで「Amazon SageMaker」について、AWSの機械学習に関する完全マネージドサービスであることや、その周辺知識である「AIサービス」について解説してきました。

機械学習のコストを大幅に低減した「Amazon SageMaker」を活用して、自社のサービスの向上に役立ててはいかがでしょうか。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】