AmazonのComprehendとSageMaker

この記事は freee Developers Advent Calendar の 3日目です
こんにちは、freeeのスモールビジネスAIラボ所属Kenji Usuiです。

Amazonのre:Invent 2017開催されましたね。

reinvent.awsevents.com

機械学習系のトピックとしてComprehendとSageMakerが発表されましたが、どんな内容なのか、何が嬉しいのかなどを書いてみようと思います。
なお、私はAmazonから一銭ももらっていません(笑

Amazon Comprehend

aws.amazon.com

まず1つ目はこちらAmazon Comprehendです。
まさかの自然言語処理系。自然言語処理系のAPIといえばGoogleの Cloud Natural Language APIやIBMのWatsonが有名ですね。こちら与えた文章からエンティティやキーフレーズ抽出、感情分析が可能でさらにトピック検出も可能なようです。

f:id:Grahamian:20171130173919p:plain

継続的にAWS側でモデルを進化させてくれるようなので今はできないこともそのうち出来るようになるかもしれないので、自然言語処理するなら適宜注目したほうがよさそうですね。ただし対応している言語は英語とスペイン語のみ。残念ながら日本語は対応していません。日本語は何するにも難しいから仕方ないね。今後に期待です。

お値段はユニット(文字数で決定)とリクエスト数で決まるようです。見た感じではGoogleよりも安くなりそうで、GoogleのNatural Language APIは欲しい情報ごとに金額が加わるのでエンティティや感情分析などをまとめてやる場合はお得になりそうです。

Amazon SageMaker

aws.amazon.com

2つ目はこちらAmazon SageMakerです。個人的にはこちらに非常に注目しています。
これはどんなサービスかというと、機械学習を使ってサービスを作る上で必要な環境を作ってくれるEnd to Endなフルマネージドサービスです。機械学習が広まってきた昨今でも機械学習モデルの構築はデータサイエンティストのような非エンジニアが行うことが多いです。そんなときに非エンジニアが最適なサーバー構成や監視システム、デプロイ環境を構築するのは時間がかかったり難易度が高いものです。しかし、サービスに使う場合はスケーラビリティや適切な監視、セキュリティなどが非常に重要であり、この部分は専門のエンジニアにぶん投げることがありました。ぶん投げられたエンジニアも機械学習を使ったサービスの構築についてベスト・プラクティスが少ない状況なので苦労しているのをよく聞きます。
そこで役に立つのがこのSageMakerです。
SageMakerはJupyter notebook IDEを使った前処理に始まり、スケーラブルな学習、学習させたモデルを呼び出して推論するエンドポイントの構築、A/Bテストも可能です。学習データはもちろん、モデルもS3から読込・保存が可能です。前処理、学習、ホスティングが分離されているため利便性が高くいろんなシチュエーションで便利に使えそうです。

ちなみにお値段ですが、稼働時間と通信料、ストレージサイズで計算されます。前処理、学習、ホスティングでそれぞれ最適な構成を選ぶことで安く仕上げることが可能です。Googleの機械学習API やAzure Machine LearningはAPIを呼んだ回数や処理時間で課金されるので通信量が少なく軽い処理であればSageMakerの方が安くなりそうですね。

感想

機械学習系のサービスは各社バンバン出してますが”コレ”といったものが出ないなかでSageMakerは痒い処に手が届く感じで便利そうです。
要望をあげるならば精度評価ロジックを組み込んでアラート出せる機能があるといいですね。

ラボメン募集中

スモールビジネスAIラボでは機械学習を活用してバックオフィスを効率化する仲間を探しています。
機械学習を学問で終わらせずに実際のプロダクトに活かしたい、技術で社会貢献をしたい、そんな方を募集中です。
是非↓からご応募ください!

www.wantedly.com

次回予告

明日は机上と髪色が賑やかなユーザーセキュリティのteiteiさんです。お楽しみに。