「平均的な開発者にも機械学習の力を」―AWSジャシーCEO基調講演

文●大塚昭彦/TECH.ASCII.jp

2019年12月24日 07時00分

Amazon Web Services(AWS)が2019年12月2日~6日(現地時間)、米国ラスベガスで開催した「AWS re:Invent 2019」。同社CEOのアンディ・ジャシー氏による3時間に及ぶ基調講演では、多数の新発表が行われた。

前々回記事のIaaS関連(コンピュート、オンプレミス/エッジ)領域前回はデータレイク/分析(アナリティクス)領域の発表を取り上げた。今回は残る「機械学習」領域、「Amazon SageMaker」関連の新発表について、ジャシー氏が語った「狙い」と共に見ていきたい。

なおすでにお伝えしたとおり、re:Inventの前夜祭「Midnight Madness」では、ディープラーニング/GAN(敵対的生成ネットワーク)の学習用プロダクトとして、ユーザーが弾いたメロディに合わせAIが自動作曲する「AWS DeepComposer」も発表されている。

機械学習ワークフロー向けのWebベースIDE「SageMaker Studio」も新発表された
基調講演に登壇したAWS CEOのアンディ・ジャシー(Andy Jassy)氏

SageMaker:機械学習向けWeb IDE「SageMaker Studio」とデバッガなど発表

機械学習(ML:Machine Learning)領域においては、新サービスとしてWebベースの機械学習向けIDE(統合開発環境)である「Amazon SageMaker Studio」が発表(一般提供開始)された。基調講演ではこのSageMaker Studioと、そこに統合されている数多くの新機能/新サービスが紹介された。

SageMakerは、2017年のre:Inventで発表された機械学習プラットフォームだ。ジャシー氏は、「データの専門家だけでなく、平均的な開発者にも機械学習を扱えるようにしなければならない」というコンセプトでSageMakerの提供を始めたと説明する。その後も「AWS Marketplace」との統合やモデルコンパイラ「Amazon SageMaker Neo」の追加など、機能強化を進めてきた。

過去1年間にSageMakerでは50以上の新機能追加や機能強化を行ってきた

「多くの顧客から『SageMakerによって機械学習がとても簡単になった。すべてのステップが簡単になった』と評価されている。しかし、それと同時に『それぞれのステップの“間”にある作業、処理がうまくいっているかどうかを理解するのはまだ大変だ』という声も聞かれる。そこでソフトウェア開発と同じように、エンドトゥエンドの統合された開発環境(=IDE)が必要だと考えた」

SageMaker Studioでは、プロジェクトフォルダを作成して、コード、Notebook、データセット、セッティングなど機械学習関連のリソースを一箇所で統合管理できる。プロジェクトフォルダ内の検索だけでなく、開発者間で共有してオンラインでコラボレーションすることも可能だ。モデルのビルド、トレーニング、チューニング、デプロイも同じインタフェースから実行できる。

さらに、SageMaker Studioに組み込まれて(または連携して)いる新機能/新サービス群も発表された。

「SageMaker Notebooks」など、SageMaker Studioに統合/連携された新サービス群も発表された

SageMaker Notebooks(プレビューリリース):「Jupyter Notebook」のマネージドサービス。AWSのコンピュートと連動しており、SageMakerのNotebookインスタンスをユーザー自ら起動することなく、数クリックで新たなNotebookを作成できる。さらに必要な処理リソースに応じて、作業の中断なしでインスタンスを自動スケールする。

SageMaker Experiments:トレーニングデータやアルゴリズム、パラメーター、プラットフォーム構成などを変化させながら反復的に生成した機械学習モデルの全バージョンについて、その変数(設定)と結果を自動的にキャプチャし、どれが優れていたのかをビジュアルに比較検証可能にする。

SageMaker Debugger:機械学習モデルのトレーニングコード向けデバッガ。モデル内部のステータスを出力することで、大量のパラメータのうちどれがどの程度、結果に影響を与えているのかを可視化。モデルの最適化(予測精度向上)を支援する。TensorFlow、PyTorch、MXNetなど主要フレームワーク向けSDKが提供されている。

SageMaker Model Monitor:SageMaker Studioでビルドし、本番環境に展開しているモデルの経年的、外的な環境変化による予測精度低下(コンセプトドリフト)を監視する。精度低下のアラートだけでなく、その原因特定に役立つ詳細な情報も提供するという。

div class="photo">

SageMaker Studioに連携する新サービスそれぞれの概要

SageMaker:自動化(Auto ML)の課題解消を目指す「SageMaker Autopilot」

ジャシー氏は、より簡単に機械学習を利用したいユーザー向けの自動化された機械学習、“Auto ML”に話を進めた。トレーニングのための十分なデータはあるが、機械学習に取り組むノウハウや人員、時間がないという企業も多い。そうした企業にとってAuto MLは有益なソリューションだが、そこには「課題もあった」とジャシー氏は指摘する。

「自動化された仕組みでモデルをビルドすると、具体的にどうやってビルドされたのかがわからず“ブラックボックス化”してしまう。そのため、そこからモデルをさらに進化させて予測精度を向上させることができない。また別の課題もある。機械学習の用途によっては『精度はそこそこでも高速に予測できるモデル』が必要なケースがあるが、そうしたものにも対応できなかった」

Auto MLのメリットを享受しつつ、こうした課題を解消するものとして、「可視性やコントロール性を失わない」自動化されたトレーニングを実現するツール「Amazon SageMaker Autopilot」が発表された。これもSageMaker Studioに統合されており、同日より一般提供を開始している。

モデルの自動トレーニングツール「Amazon SageMaker Autopilot」を発表。可視性を担保しモデルの“ブラックボックス化”を防ぐ点も特徴

ユーザーはトレーニングデータとなるCSVファイル(テーブルデータ)を用意するだけだ。あとはAutopilotがデータの自動変換、ベストなアルゴリズムの選択を行い、パラメーターやアルゴリズムなどの設定を変化させながら最大50のモデルを生成する。SageMaker Studio上ではこの多数のモデルを精度順でリスト(ランキング)表示し、各モデルの詳細な設定などはNotebook形式で参照できる。

これにより、どのような根拠で予測されているのかを可視化する一方で、精度と速度のトレードオフにも柔軟に対応ができると、ジャシー氏は説明した。またAutopilotで開発したモデルについても、前述したSageMaker StudioやModel Monitorなどの機能群は同じように利用できる。

Autopilotのデモも披露された。住宅の大きさや価格に関するデータをCSVファイルでS3に保存、SageMaker StudioからAutopilotを走らせると、自動的に異なるデータとアルゴリズム、パラメータの組み合わせを繰り返し試行し、良い結果が出たモデルをランキング表示する。Model Monitorなどを使ってモデルを検証することも可能

ジャシー氏の基調講演では触れられなかったが、機械学習関連ではもうひとつ「Amazon Augmented AI(Amazon A2I)」という新サービスも一般提供開始となっている。これは、機械学習アプリケーションによる予測の信頼性が低い場合に必要となる、人間によるレビューのワークフローを簡単に構築できるサービスだ。信頼スコアに応じて自動的にレビューを人間に割り当てることができる。さらに人間のレビュアーは自社従業員だけでなく、「Amazon Mechanical Turk」や「AWS Marketplace」のサードパーティベンダーへのアウトソーシングも可能となっている。

今回の新発表を加えた「Amazon SageMaker」シリーズのサービス群と位置付け(公式サイトより)

AIサービス:機械学習がコードレビューを支援「Amazon CodeGuru」

機械学習モデルを自ら開発するのではなく、より手軽に機械学習の能力を活用したいユーザー向けには、あらかじめ学習済みモデルが組み込まれたMLサービス群も提供されている。ジャシー氏はこれらを「AIサービス」と呼ぶ。

これまでに画像/映像解析(Rekognition)や音声テキスト化(Transcribe)、音声合成(Polly)、翻訳(Translate)、インサイト抽出(Comprehend)、チャットボット(Lex)などを展開してきた。昨年のre:Inventでもパーソナライズ(Personalize)や予測(Forecast)、OCR(Textract)を発表している。

こうしたAIサービス群は、巨大なスケールで展開されているコンシューマービジネス(Amazon.com)における教師データ収集と実践で鍛えられてきたものだ。今回も、Amazonの現場から生まれたと言えるような、複数のサービス群が追加されている。

AWSは「機械学習フレームワーク/インフラ」「SageMaker」「AIサービス群」という3つのレイヤーでサービスを展開、あらゆるタイプのユーザーをカバーするとジャシー氏は説明する

まず、アプリケーション開発におけるコードレビューやパフォーマンス改善を支援するMLサービス「Amazon CodeGuru」を発表している(プレビューリリース)。機械学習モデルに基づいてアプリケーションコードに含まれる問題点や脆弱性を指摘する「CodeGuru Reviewer」と、アプリケーションパフォーマンスを継続監視/分析する「CodeGuru Profiler」で構成される。

「Amazon CodeGuru」を発表。ベストプラクティスを学習したモデルに基づき、自動でコードレビューやパフォーマンス改善を支援

CodeGuruの機械学習モデルは、Amazon社内のプロジェクトおよびGitHub上のオープンソースプロジェクトから得た大量のコードベースでトレーニングされており、いわば“ベストプラクティス”をモデル化したもの。ジャシー氏によると、CodeGuruは実際にAmazon社内で8万5000のアプリに適用されており、「Amazonプライムデー」におけるCPU使用率を325%向上させ、39%のコスト削減につなげた実績もあるという。

CodeGuru Reviewerは、開発者が利用するコードリポジトリの「GitHub」や「AWS CodeCommit」と連携動作する仕組みだ。開発者がプルリクエストにCodeGuruを追加すると、CodeGuruは自動的にコードレビューを行い、問題のある箇所に推奨事項(修正のレコメンド)をコメントする。

またCodeGuru Profilerは、エージェントを通じて本番環境のアプリケーションパフォーマンスを継続的に監視し、監視結果に基づいてコード内の「最もコストがかかる(処理にリソースを必要とする)」行の特定や、改善方法の推奨などを行う。

CodeGuru ReviewerとCodeGuru Profilerの概要

AIサービス:「オンライン詐欺防止」や「コールセンター支援」など特定業種向けも

機械学習技術を組み込んだエンタープライズ検索サービス「Amazon Kendra」も発表された(プレビューリリース)。「VPNにはどのように接続すればいいですか?」といった自然言語の質問(現時点では米国英語のみサポート)を受け付け、データソースのドキュメントから情報を抽出して、その意図に沿った回答を行う。

企業内にある多様なデータソースに対応していることも特徴だ。提供されるコネクタは、現時点ではWebサイト、Box、Dropbox、SharePoint、Salesforce、リレーショナルデータベース、S3、ファイルシステムなどで、テキストやPDF、Word、PowerPointといったファイルから情報を抽出できる。また、独自コネクタを開発すればその他のデータソースからもドキュメントをアップロードできる。

Kendraの機械学習モデルは、検索を実行したユーザーのフィードバックに基づく再トレーニングやチューニングも行われる。検索結果順位は質問に対するドキュメントの関連性だけでなく、作成日(情報の新しさ)やユーザーのアクセス数なども加味したかたちで決まるという。

一般的な検索エンジンとKendraによる検索の違い(イメージ)。Kendra(右)は「ITヘルプデスクが開いているのは何時?」という自然言語の質問に「毎日12:30から午後5時まで」と回答している

小売業などに向けた新サービスとして、アカウントの不正登録や商品の不正購入などの“オンライン詐欺”を判定するサービス「Amazon Fraud Detector」も発表された(プレビューリリース)。ジャシー氏は、Fraud Detectorは「過去20年間のコンシューマービジネス(Amazon.com)のデータから確立したアルゴリズム」に基づいて不正を検知すると説明する。

Webサイトの説明によると、Fraud Detectorを活用することで、たとえば新規アカウント登録時に高リスクな顧客のみ追加の確認手順を加えたり、ゲストアカウント(未登録アカウント)による購買であってもメールアドレスやIPアドレスからそのリスクを評価したり、「購入前の試用」サービスをひんぱんに悪用している顧客をあらかじめ抽出したりできるという。

利用時にはまず、ユーザー企業が保有する「過去の不正データセット」をS3にアップロードし、AWSが用意している不正検出モデルテンプレートを選択する。これによりカスタムモデルが自動的に生成される。あとはアプリケーションからAPI経由でトランザクションデータを送信すると、カスタムモデルに基づいてリアルタイムに不正スコアが判定される仕組みだ。

「Amazon Fraud Detector」の概要。アカウントのサインアップや購買履歴といったデータをAPI経由で送ると、不正スコアを自動判定する

「Contact Lens for Amazon Connect」は、コンタクトセンターSaaS「Amazon Connect」と統合された、コール(通話)内容のアナリティクスを強化するMLサービスだ(プレビューリリース)。アナリティクスの機能を通じて、コールセンターにおける顧客対応の品質向上や、コンプライアンス順守などを実現する。

「これまでも、S3に保存した(コールセンターの)通話音声をTranscribeでテキスト化すれば、Elastic Searchによる検索、Comprehendによる感情分析、Amazon SNSによるアラートといったことは実現できた。ただし、顧客からは『もっと簡単にできないのか』と言われる。そこで、新たにContact Lens for Amazon Connectを発表する」

Contact Lensは、Amazon Connect上でワンクリックするだけで導入できる。すべてのコール内容をテキスト化し、全文検索を可能にすると同時に、顧客インサイトを分析する。顧客が話す言葉の内容だけでなく、話し方なども含めて感情分析(ポジティブ/ネガティブ)を行う。「たとえば会話中に顧客が黙り込んだり、エージェントの言葉にかぶせて話してくるような場合はマイナスに判断する、といったことだ」。

さらに2020年半ばには、Contact Lensのテキスト化や分析がリアルタイムに行えるようになるという。エージェントが対応中のコールで問題が発生した場合に、すぐさまスーパーバイザーに自動通知され、迅速な対応がとれるような仕組みも可能になる。

「Contact Lens for Amazon Connect」の機能概要。通話内容を自動でテキスト化、全文検索可能にするだけでなく、通話相手(顧客)の感情分析も実行する

* * *

ジャシー氏の基調講演は、「企業やビジネスのトランスフォーメーション」をテーマとし、それを妨げている意識の変革を訴えるものだった。ジャシー氏は講演の最後を、「変革」についてのコメントで締めくくった。

「多くの人は『わたしは変化を受け入れる』と語るが、わたしの経験上、その言葉は必ずしも真実ではない。大きなトランスフォーメーションが起きたとき、それがどんな意味を持ち、自分の仕事がどう変わるのか、自分に変化に順応できるスキルがあるのか――多くの人は不安になる。そして、最初の反応は『見なかったことにする、無視する』だ。やがてその変化が無視できないものになると、今度は『われわれならばもっとうまくやれるさ』と言い出す。そして、実際にはうまくできないとわかると『必要最低限のことだけやろう』となる。――こうしたことを長年続けていると、市場の根本的な変化に取り残されることになる」

そして、そうした顧客の変革を後押しできるのがクラウドの力だと続けた。

「真の意味で『クラウドが皆さんに提供できるもの』とは、たとえばカスタマーエクスペリエンスを完全に再発明(reinvent)する、ビジネスを完全に再発明する、そしてこれまでは実現できなかったものを構築する、そうした『人生に一度きりのチャンス』である。そのチャンスはいま、われわれの目前にある。皆さんがそのチャンスをつかむのを、AWSでは支援していきたい」

■関連サイト

■関連記事