AWSの機械学習サービスとプログラミング学習サービス「Aidemy」のAmazon Forecast活用事例

このエントリーをはてなブックマークに追加

AWSは10月29日、「Amazon PersonalizeとAmazon Forecastを含むAWSの機械学習サービスに関する説明会」をメディア向けに開催した。

当日は、Amazon.comでのレコメンドと同様の技術が使われているパーソナライズ構築サービス「Amazon Personalize」と、予測モデルを簡単に作ることができる「Amazon Forecast」の概要が説明され、株式会社アイデミーのAmazon Forecastを活用した事例が発表された。





20年間機械学習へ継続的に投資しているAWS

AWSからは技術統括本部 レディネス&テックソリューション本部 本部長/プリンシパルソリューションアーキテクトの瀧澤与一氏が登壇し、AWSの機械学習サービスの概要を説明した。

――瀧澤
「AWSは、過去20年間、機械学習への継続的な投資を続けています。そして

  • データ取得
  • データ前処理
  • モデル開発
  • モデル学習
  • モデル評価
  • 本番環境へのデプロイ
  • 監視、評価、データ収集

のサイクルを負担なく高速で回したいというお客様のニーズに答えてきました。AWSの機械学習関連のサービススタックは、3つに大別できます」

分類としては以下の通り。

  • AIサービス
    機械学習の深いスキルなしに機械学習をアプリケーションに組み込める

  • MLサービス
    機械学習のモデルを高速に開発・学習・デプロイできる

  • MLフレームワーク&インフラストラクチャ
    高性能なインフラを自由に選ぶことができる

なかでもAIサービスについては画像・動画認識、音声処理、テキスト処理、チャットボット、時系列データ予測、レコメンドなど10種類を提供し、機械学習が必要になる分野をカバーしている。S3(AWSのストレージサービス)などにデータを置いているユーザーなどは、これらのサービスを使うことでほかのAWSサービスとの連携なども容易になるという。

AIサービスの中でも、今回紹介されたのがAmazon PersonalizeAmazon Forecastだ。

Amazon.comのレコメンド技術を使ったAmazon Personalize

Amazon.com/co.jpにログインすると、すぐにAmazonから推薦された商品が紹介されるだろう。このレコメンド技術をサービス化したのがAmazon Personalizeだ。アルゴリズムを整備して、一般ユーザーにも使ってもらうために開発された。

各エンドユーザーに合わせたレコメンドが可能で、機械学習のスキル、経験が少なくとも数日でレコメンドが導入できるという。

利用手順は以下のとおり。

  1. 行動履歴、ユーザー、アイテム属性などのデータをS3にCSV保存
  2. Amazon personalize(中には10種をまとめてやっている)
  3. カスタマイズされたレコメンドのAPIを使用し、結果を返す

Auto MLサービスのため、Amazon Personalize側でデータの精査や特徴の認識、アルゴリズム選択や学習など一通りの作業を行ってくれる。ハイパーパラメータの調整なども不要だ。

そのため、ユーザーは誰がいつ、どのアイテムを閲覧したかのCSVデータさえ用意できればパーソナライズを利用できる。またAPI連携さえできれば結果が返ってくるため、既存のシステムにレコメンドを組み込める。

選べるアルゴリズムは以下のとおり、多様だ。

    あるユーザーにおすすめのアイテムを推薦

  • HRNN:ユーザー・アイテムの関連データのみを使用
  • HRNN-metadata:すべてのデータを使用
  • HRNN-coldstart:すべてのデータを使用+頻繁に追加されるアイテムを反映したい場合
  • Popularity-Court:評価要レシピ。ユーザーによらすアイテムを人気順で返す

    渡したアイテムリストをユーザーごとに並び替え

  • Personalized- Ranking

    あるアイテムに類似したアイテムを推定

  • SIMS

時系列データを用いて予測モデルを作れるAmazon Forecast

続いて説明されたのはAmazon Forecast。時系列データを用いて予測モデルを作れるサービスだ。

――瀧澤
「そもそもForecastingとは、時系列に基づいて変化していくデータを扱うことを指します。たとえば在庫予測であれば、週末に減って月曜に増えたり、イベントによって減ったりとある特徴点に基づいて変化していく。

ほかにも人員配置、財務予測やキャパシティ管理など、周期性・季節性によって変動するものは、統計的な予測が必要が可能でした」

だが、価格変動性が高かったり、国や地域ごとの需要に変化が激しかったり、購買頻度の低い製品の予測は、統計的な予測だけでは困難だ。Amazonでは2007年にはじめて「Sparse Quantile Random Forest(SQRF)」という機械学習モデルをデプロイし、改善を重ねた。しかし、関連商品の需要履歴を用いての精度向上が頭打ちになったという。

そこで2015年にディープラーニングを導入。すると、正確度において15倍の向上を見せた。従来の機械学習モデルと比較して圧倒的な性能差に加え、高い可用性や低コストぶりを見せた。現在はディープラーニングがAmazonの巨大なビジネススケールを可能にしていると言っても過言ではないという。

その経験から生まれたサービスが、Amazon.comと同じ技術を使用したAmazon Forecastだ。完全なマネージドサービスであり、ユーザーは自分のデータでモデルを学習させ、GUIで簡単に予測ができる。

「Amazon Forecast」を活用してオンライン学習サービスの演習回数を予測

オンラインでAIプログラミング学習サービスを提供するアイデミーは、Amazon Forecastを使ってプログラミング学習の演習回数を予測した。

関連記事:プログラミング初心者が画像認識まで実践。AIオンライン学習サービス「Aidemy」で学ぶ

アイデミーの執行役員 AI統括の竹原大智氏は、「効率的なサーバー運用のために演習回数予測が必要だった」と語る。

――竹原
「プログラミング学習サービスの『Aidemy』では、演習画面でコードを入力、提出すると、RUNサーバーで実行され、コンソールに実行結果が返されます。そのため、ユーザーの演習回数が多いと、RUNサーバーへの負荷が大きくなる。

一方、夜間などユーザー数が減る時間帯は大きなリソースを準備する必要はないので、需要に応じて動的にリソースを変更できればコストが最適化できます。サービスを安定・効率的に運営するために、予測が必要でした」

Amazon Forecastでは3つの予測結果が出せる。

  • P90:ワーストケース
  • P50:中央値
  • P10:ベストケース

P10、P50、P90の数値は、それぞれベストケース、中央値、ワーストケースに合致する。つまりP50が実際の需要量に近いが、アイデミーでは、予測を大きく上回る演習回数になるとサービスが正常動作しなくなる可能性があるので、余裕を持ってP90を採用したという。

エンジニア、データサイエンティストでなくとも使えると謳っているとおり、使い方は簡単だったとのこと。アイデミーで用意したのがCSVファイルのみで、それを入力することでGUIのコンソールで予測結果を可視化できたという。

――竹原
「データセットを入れてください、予測モデルに入れてくださいなどの簡単な指示で使えました。GUIだけだと不便な場合はJupyter Notebookなどにも吐き出すことができたので、楽に使えましたね」

今回は簡単に一定の精度で予測ができたこともあり、今後は講座の売上など、演習回数以外の予測にも活用していきたいという。

また、竹原氏が挙げていた一番の特徴はやはり「安さ」だ。「請求書が来ないな、と思っていたが、来ていたのに気付かなかったくらい安かった」(竹原氏)と、体感で予想の9割程度安くなっていたという。

パーソナライズや予測など、機械学習の恩恵は着々と民主化されている。