Top View


Author shimao

AWS re:Invent 2018辺りのAI関連アップデートまとめ

2018/12/07

対象としている人

  • AWS re:Invent 2018の発表内容に興味がある人
  • AWSのML系サービスに興味がある人
  • AWSが好きな人

動機

AI関連の発表くらいは網羅しておこうと思っていたのですが、re:Invent直前の発表ラッシュとre:Invent中の発表ラッシュでよくわからなくなってしまったので、一度ちゃんとまとめておこうと思いました。

AI関連サービス全体像

以下の写真はKeynoteで使用されたスライドで、AI関連のサービスを一枚スライドにまとめたものです。

見づらくて申し訳ないですが(これでもがんばって撮ったのです…)、要は以下の3レイヤーに整理されています。

  • AI Services
    • AIを詳しく知らない人でもAIの成果を簡単に使えるツール・APIなど。
  • ML Services
    • AWSでMLの開発・構築作業を簡単に行うためのサービス。主にSageMaker。
  • ML Frameworks & infrastructure
    • MLを自分でガリガリ進めていく人のためにAWSが用意しているサービス。DeepLearning AMIとか。

個人的にこのまとめ方がわかりやすいなぁと思ったので、以下の新発表内容のまとめもこのレイヤーで分けて整理します。

AI Services

Amazon Translate が8つの言語新たに対応し、471通りの言語の組み合わせ翻訳に対応

  • 新たにデンマーク語、オランダ語、フィンランド語、ヘブライ語、インドネシア語、韓国語、ポーランド語、スウェーデン語に対応。

Amazon Transcribe がリアルタイムの文字書き起こし(トランスクリプション)

  • ライブ・オーディオ・ストリームからテキスト・トランスクリプトをリアルタイムで受信できる機能が加わり、リアルタイムトランスクリプションが可能になった。

Amazon Rekognition が顔の検出・分析・認識機能を更新

  • 画像からより多くの顔を検出し、より正確な顔のマッチングを実行し、画像内の顔から年齢、性別、感情の属性を取得する能力が向上。

Amazon Comprehend がカスタムエンティティ機能に対応

  • カスタムエンティティAPIを使用して、組織のニーズに合わせたカスタムエンティティ(ポリシー番号、パーツコード、シリアル番号など)を抽出するモデルを簡単に作成できるようになった。

Amazon Comprehend Medical

  • 機械学習を使用して構造化されていないテキストから関連する医療情報を簡単に抽出できる自然言語処理サービス。医師のメモ、臨床試験レポート、患者の健康記録など、さまざまな情報源から、病状、投薬、投与量、強度、頻度などの医療情報を迅速かつ正確に収集可能。
  • さらに、抽出された投薬と検査、治療および手技の情報の間の関係を特定する。 たとえば、非構造化の臨床ノートから特定の投薬に関連する特定の投薬量、強度、または頻度を識別する。

Amazon Translate Custom Terminology

  • Amazon Translate の出力をカスタマイズし、企業や分野に固有の語彙を用いることのできるカスタム語彙。
    翻訳のリクエストとともにカスタム語彙をアップロードし呼び出すことで、文脈やAmazon Translate のアルゴリズムが出力する結果に関わらず、お客様固有のコンテキストに沿って例えばブランド名、キャラクター名、モデル名が思い通りに翻訳される。

Amazon Textract(Preview)

  • 単純な光学式文字認識(OCR)を超えて、テーブルに格納されたフォームや情報のフィールドの内容も識別するサービス。ドキュメントワークフローを迅速に自動化できるため、何百万ものドキュメントページを数時間で処理できる。
    現時点では日本語未対応。

Amazon Personalize (Preview)

  • パーソナライゼーションやレコメンデーションのフルマネージドサービス。
  • 開発者は個人ごとに適切なタイミングに適切なメッセージでパーソナライズをスケーラブルに作成することができる。
  • Amazon.com が何百万人もの顧客へ製品レコメンデーションを提供するのと同じパーソナライズ技術に基づいて、Amazon Personalize は顧客データから生成されたインサイトを使用して、特定のニーズに合わせて最適化されたエクスペリエンスを提供する。
  • AutoML を使うことで、機械学習モデルを設計し、トレーニングし、デプロイするのに要求される難しい作業を自動実行し、高速化する。

Amazon Forecast(Preview)

  • Amazon.com で使われるのと同じ技術に基づいて、Amazon Forecast は機械学習を使用して時系列データと追加変数を組み合わせて、高精度の予測を作成する。
  • 例えば、サーバーへのWebトラフィック、AWS使用率、IoTセンサーメトリックなどの操作メトリックや、売上、利益、経費などのビジネス指標など。

ML Services

Amazon SageMakerがAmazon CloudWatchと連携しトレーニングジョブの監視、視覚化に対応

  • ClouldWatchコンソールでトレーニングジョブの監視・視覚化ができるようにたった。組み込みアルゴリズムとカスタムアルゴリズムの両方でサポートされている。

Amazon SageMaker がApache Airflowに対応

  • Apache Airflowは、 Python言語で定義したワークフローを、スケジュール・モニタリングするためのプラットフォーム。モデルトレーニング、ハイパーパラメータチューニング、モデル展開、バッチ変換などの管理で利用できる。

Amazon SageMakerがTensorflow 及び Chainer のサポートで機能拡張された

  • TensorFlowおよびChainerスクリプトの実行が容易になり、高性能アルゴリズムのライブラリ、自動モデルチューニング、ワンクリック展開、マネージドホスティングによる管理および分散トレーニングなどが利用可能に。

Amazon Kinesis Video Streams がAmazon SageMakerと連携したリアルタイムのビデオ解析に対応

  • Amazon SageMakerのAmazon Kinesisビデオストリーム推論テンプレートを使用してリアルタイムでライブビデオを解析可能になった。他のライブラリやカスタムソフトウェアを使用しなくても、スケーラブルでリアルタイムのML駆動のビデオ分析パイプラインを構築できる。

Amazon SageMaker がObject2Vec と IP Insight の組み込みアルゴリズムをサポート

  • Object2Vecは、 高次元のベクトルをできるだけ情報量を減らさずに次元削減し、類似した物体を近距離に配置する手法 。例えば、文書分類・動画のリコメンデーション等で使われる。
  • IP Insightsは、リクエストのIPアドレスを分析して不審なオンライン動作を識別する教師なし学習アルゴリズム。例えば、銀行のアカウントへのユーザーのアクセス履歴からIPv4アドレスを識別し攻撃の検知等に用いられる。

Amazon SageMaker の自動モデルチューニングがハイパーパラメータチューニングのWarmスタートに対応

  • Warmスタートを使用すると、1つまたは複数の親チューニングジョブから学習された事前知識を使用して、新しいハイパーパラメータチューニングジョブを作成できる。これにより、自動モデルチューニングの時間コスト・費用コストが削減される。

Amazon SageMaker RL

  • 自律システム、ロボティクス、運用リサーチをはじめとした多くの分野で実世界の複雑なシナリオを反映するために、開発者やデータサイエンティストが強化学習を使って模擬環境でモデルを構築、訓練およびデプロイできるよう支援する。
  • SageMaker上に構築され、事前にパッケージ化された強化学習ツールキットを加え、シミュレーション環境も統合しやすくなっている。
  • 学習、推論はフルマネージドでサーバー管理でなくRLの開発に集中できる。

AWS DeepRacer(このサービスは厳密にはML Servicesの括りではない気がします)

  • 1/18スケールの4輪ラジコンカー。
  • 強化学習モデルの学習に利用可能な構成済みのクラウド環境が用意されている。SageMaker(RL)と、AWS RoboMakerによる3Dシミュレーション環境が含まれる。
  • 組み込みのシミュレーターを利用して、事前定義されたレーストラックのコレクションに対して自動運転モデルを学習可能。また、学習したモデルを仮想的に評価する、あるいは、AWS DeepRacerカーにモデルをダウンロードして実世界で検証することができる。

Amazon SageMaker Neo

  • EC2 インスタンス、SageMaker エンドポイント、および Greengrassによって管理されるデバイスにデプロイされたモデルを自動で最適する。フレームワークとアルゴリズムはTensorFlow、Apache MXNet、PyTorch、ONNX、およびXGBoostをサポートしている。
  • 変換されたモデルは、精度を損なうことなく最大2倍の速度で動作する。

Amazon SageMaker Ground Truth

  • SageMakerにおけるデータセットのラベル付けツールの提供。
  • テキスト分類・画像分類・物体検出・セマンティックセグメンテーション・ユーザ定義のカスタムタスクが可能。
  • アクティブラーニングを使うことで、一部データの自動ラベル付けも可能。

Amazon Sagemaker Developer Enhancements(Amazon SageMaker Search)(Beta)

  • 新しい開発者向け拡張機能は、一般的に必要とされる前処理タスクと後処理タスクが大幅に軽減されるため、機械学習モデルを迅速かつ簡単に導入するのに役立つ。
  • Amazon SageMaker Searchを使用する学習アルゴリズム、ハイパーパラメータ設定、使用するトレーニングデータセット、モデルトレーニングジョブに追加したタグまで、すべての定義属性を検索できます。
  • 繰り返し行った実験の結果やパラメータ等を検索・リスティング・ソートできる機能の模様。

Amazon Sagemaker Orchestration and Management

  • 安全で復元力のある機械学習アプリケーションの配信を促進するために、オーケストレーションと管理のいくつかの機能強化を発表した。
  • SageMaker を使用した新しいオーケストレーションと管理機能の拡張により、機械学習モデルを導入するための記述と管理に必要なコードの量が削減される。
  • SageMakerとGithubリポジトリの連携が可能になり、JupyterノートブックをGit管理できる。

ML Frameworks & infrastructure

Deep Learning AMIがTensorFlow 1.12およびMMS 1.0に対応

  • Amazon EC2 C5インスタンスの場合、AVXで構築された演算最適化されたTensorFlowを使用できる。また、ディープニューラルネットワーク用インテルマスカーネルライブラリ(MKL-DNN)を活用するように事前設定されている。通常のTensorFlowより何倍も高速となる。

EC2でのDeep Learningのためのダイナミックトレーニング(DT)

  • これまでの分散型トレーニングでは、トレーニングプロセス全体を通してトレーニングジョブに活発に参加しているホストの数は固定されている必要があった。DTでは、この要件が緩和され、トレーニングクラスタ内のホストの数は、トレーニングプロセス全体を通じて変動し、拡大・縮小する。スポットインスタンスなどを使うことで、時間コスト・費用コストの削減が可能。
  • 現在の実装は、MXNetとリザーブドインスタンスのみ。 今後、スポットインスタンスのサポートと、Deep Learningフレームワークの追加を計画している。

Amazon Elastic Inference

  • 深層学習推論を実行する SageMaker のエンドポイントや EC2 インスタンスに簡単にアタッチすることができる小規模なサイズのGPU インスタンスを提供する。
  • TensorFlow や Apache MXNet、そして ONNX (MXNet 経由で適用)をサポートする。

AWS Inferentia(Pre-announce)

  • 低コストで高性能を実現するように設計された機械学習の推論チップ
  • TensorFlow、Apache MXNet、PyTorch、およびONNXフォーマットを使用するモデルをサポートし、アプリケーションの計算コストの90%を節約することができる。

AWS Marketplace for Machine Learning

  • AWS マーケットプレイスで提供されるカテゴリに新く機械学習が加わった。
  • 150以上のアルゴリズムとモデルパッケージがあり、日々増えて行く予定。
  • 購入するとすぐに、SageMaker コンソール、Jupyter ノートブック、SageMaker SDK、AWS CLI から直接アルゴリズムやモデルをデプロイすることができる。

AWS用に最適化されたTensorflowが最大265GPUに対応

  • Ubuntu および Amazon Linux 向けの ディープラーニング AMI は、最大 256 GPU にほぼ線形スケーリング効率を備えたTensorFlow ディープラーニングモデルの分散トレーニングをサポートするようになった。

個人的イチ推し

SageMaker Groud Truth です!
理由は以下。

  • アノテーションはしんどい、基本やりたくない…。
  • アノテーションが簡単にできるようになったら、機械学習の恩恵を低予算でもやりやすくなるはず、と前から思っていて界隈の研究をWatchしていた。
  • なんならアノテーションツールを最近仕事で作った。

以下、使ってみての感想です。

  • 作業者の管理と作業者コンソール・管理者コンソールは便利
  • 各ツールもそこそこ完成度高そう、使えそう。ただし、そのタスクにおけるベストではないかも。改善を期待。
  • Active Learningによる作業量の軽減は一番期待している機能なのですが、今の所やってみてうまく動いている感がない…。今後も引き続き試してみます。

まとめ・感想

  • 数が多く、正直全ての発表内容について、詳細には把握するのはかなり大変だと思います。概要を聞いて「コレは!」と思うものを深掘りするような形が良いのかなと思います。

Keynote1日目における半分近くがAI関連の発表でした。ここ最近、AIの幻滅期がきたと言われていますが、AWSが引き続きAIに力を入れていることを実感できたので、個人的に嬉しかったです。

推論系の時間的・費用的改善やデータセット収集機能の追加で、本番環境に置いてますますSageMakerを使わない選択肢が無くなってくる気がしています。

参考にしたサイト

以下一覧です。クラメソさんのブログには、re:Invent開催期間中めちゃくちゃお世話になりました。本当にありがとうございます!

shimao

shimao

福岡在住。機械学習エンジニア。AWS SAP・MLS。趣味はKaggleで、現在ソロ銀1。福岡でKaggleもくもく会を主催しているので、どなたでもぜひご参加ください。