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 PersonalizeとAmazon Forecastだ。
Amazon.comのレコメンド技術を使ったAmazon Personalize
Amazon.com/co.jpにログインすると、すぐにAmazonから推薦された商品が紹介されるだろう。このレコメンド技術をサービス化したのがAmazon Personalizeだ。アルゴリズムを整備して、一般ユーザーにも使ってもらうために開発された。
各エンドユーザーに合わせたレコメンドが可能で、機械学習のスキル、経験が少なくとも数日でレコメンドが導入できるという。
利用手順は以下のとおり。
- 行動履歴、ユーザー、アイテム属性などのデータをS3にCSV保存
- Amazon personalize(中には10種をまとめてやっている)
- カスタマイズされたレコメンドの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割程度安くなっていたという。
パーソナライズや予測など、機械学習の恩恵は着々と民主化されている。