連載
» 2020年06月22日 05時00分 公開

AI・機械学習のクラウドサービス:クラウドの「AI」サービス/APIを比較表&1行でまとめる(AWS/Azure/GCP/IBM対応)【2020年版】

「AWS AIサービス」「Azure Cognitive Services」「Google Cloud AIビルディングブロック」「IBM Watson API」という主要AIサービスの一覧表を示し、各サービスを1行程度で説明する。自分でAI/機械学習モデルを作る前に、既存のAIサービスがないか(カスタマイズできないか)を、これで確認しよう。

[一色政彦,デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「AI・機械学習のクラウドサービス」のインデックス

連載目次

 開発対象のアプリやサービスにAI機械学習MLMachine Learning)モデルの機能を搭載したい場合に、すぐに「機械学習/ディープラーニングをやろう」と判断するのは待ってほしい。というのも、作ろうとしているAI機能は、既にクラウドのAPI/サービス(=事前トレーニング済みのAI/機械学習モデル)として提供されている可能性があるからだ。そんなAI/MLサービスを提供する主要なクラウドサービスといえば、下記の4つが挙げられる(GCP=Google Cloud Platform)。

 これらのクラウドが提供する機能には、主に次のようなものがある。

  • 視覚認識: 画像分析(カスタム画像分析)、動画分析(カスタム動画分析)
  • 翻訳: 翻訳(カスタム翻訳)
  • テキスト(NLP): テキスト分析(カスタムのテキスト分析)
  • スピーチ: 音声合成(カスタム音声合成)、音声認識(カスタム音声認識)
  • 会話: チャットボット
  • 構造化データ: AutoML(回帰/分類)
  • 推奨: パーソナライズ
  • その他: 時系列データの相関分析、文書検索、Web検索

 上記の中でも用語として特に分かりづらいものを簡単に説明しておくと、

  • NLPNatural Language Processing自然言語処理)とは、テキスト文書を分析/解釈する機能
  • 構造化データStructured data)とは、いわゆる表形式にまとめられるデータのこと。AIサービスでは、このデータを使って、回帰(=数値予測)や分類が行える
  • 推奨Recommendation)とは、「お勧めの商品」などをレコメンドするパーソナライズ機能

のことである。また、

  • カスタムとは、もしニーズに完全に合致する機能がもともとのAIサービスにはない場合に、そのニーズに合うようにカスタマイズするための機能(例を後述)
  • AutoMLAutomated ML自動化された機械学習)とは、自動的に最適な機械学習モデルを選択できる機能

である(ただしGoogle Cloudでは、AIサービスの一般的なカスタム機能にも「AutoML」という名称を付けているので注意してほしい)。

 「カスタム」が分かりづらいので、例を挙げておこう。例えば「茶葉の種類を認識する」という機能が必要なケースで、そのような機能がもともとの「画像分析」サービスにはなかった場合、「茶葉の写真画像」とそれに対応する「正解ラベル」(例えば「緑茶の茶葉」「紅茶の茶葉」など)を与えてAIサービスをカスタマイズできる、ということである。カスタマイズの際、必要となる写真画像が数十枚などごく少数で済むことも多いので、カスタム機能はAutoMLと比べて非常に効率的である。なお、「パーソナライズ」や「AutoML」もカスタム機能の一種と見なすこともできるだろう。

 こういった機能を実現しようとするのであれば、まずはクラウドのAIサービスを検討してみてほしい。もちろん「利用料金がかかる」「API/サービスがいつか廃止される可能性がある」という欠点もあるものの、効率的にアプリやサービスの開発が進められるという利点の方が大きいからだ。

 そこで本稿では、上記の4大クラウドのAIサービスの機能を比較表で示し、個々の機能を1行(〜数行)でコンパクトに紹介する。

クラウド間で大まかな機能比較

 まずは、上記の機能ごとにクラウド間でどのような機能の違いがあるかを表1にまとめた。

表1 クラウド間で大まかなAIサービス機能の比較 表1 クラウド間で大まかなAIサービス機能の比較

 この分類方法は筆者によるものであり、必ずしもこのようにきれいに切り分けできない場合もあるのでご了承いただきたい。というのも、各クラウドで類似のサービス機能であっても、機能が完全に同じということはないからである。また、サービス機能ができるだけ基本的なAPIレベルのものを表記している。高次元なソリューションレベルのサービス機能は、それに関連するAPIレベルの中に統合した。例えば「顔認識(感情分析)」という顔に特化した高次元なソリューションは、「画像認識」という基本機能の中に含めて表記している。

 ちなみに「顔認識」の技術については、一部が利用できない可能性がある。というのも、執筆時点(2020年6月18日)で、特に米国では(警察官による黒人への暴行死事件に端を発する)人種差別が大きな問題となり、さらに全世界に抗議活動が広がっている。これに伴い、法執行機関(=警察)が顔認識技術などを用いて集団監視や人種プロファイリングなどを行う可能性に対し、以下のように多くのクラウド企業が反対を表明する事態となっているからだ。

  • IBM: 顔認証技術とその分析ソフトウェアを廃止済み[2020年6月8日、公式の発表
  • Amazon: 「警察の捜査」による顔認識技術「Rekognition」の使用を1年間停止[2020年6月10日、公式の発表
  • Microsoft: 「法執行機関」への顔認識技術の販売を(顔認識技術の使用を規制する連邦法が制定されるまで)一時停止[2020年6月12日、ワシントンポストの報道

 この状況はあくまで執筆時点のものなので、厳密な情報は各クラウド企業やニュースを参照してほしい。話を戻そう。

 それでは以下では、それぞれのAIサービスが具体的に「どのようなAPI/サービスなのか」を1行程度で説明していく。各クラウドのAIサービスの構成図を掲載するが、筆者独自の分類方法であり、公式のものと異なる可能性があるので注意してほしい。対応している言語については、各サービスのドキュメントを参照してほしい(日本語に対応しているかどうは、本稿では記載していないため)。

 なお前掲の表1には、「文書検索」や「Web検索」を含めていたが、これはAmazon KendraやWatson Discovery、Bing Custom Searchが、公式にはAIサービスの一つにグルーピングされているためだ。以下の解説では、このような検索機能は「AIサービス」として取り上げないこととする。

AWS(Amazon Web Services): AIサービス

 まず、各プラットフォームが提供するAI/MLに関する機能は、何もAIのAPI/サービスだけではない。例えば機械学習(ML)を効率的に進めるためのサービスや、機械学習が行える環境(インフラストラクチャー)自体も提供している。つまり大きく分けると、

  • AIのサービス(API)
  • MLのサービス(プラットフォーム)
  • インフラストラクチャー

の3種類が提供されている、ということだ。本稿で解説するのは「AIのAPI/サービス」だけであるので注意してほしい。いずれのクラウドプラットフォームも、この3種類に大別した。

 AWSでは、「AIのAPI/サービス」をAIサービスと呼んでいる。そのAIサービスの構成図が図1である。

図1 AWS(Amazon Web Services): AIサービスの構成図 図1 AWS(Amazon Web Services): AIサービスの構成図

 それぞれ次のような機能を提供している。

  • Amazon Rekognition: 画像やビデオを分析し、物体や人物、テキストを認識する。フォームとテキストを認識してキー&値のペア形式で情報を取得する「Amazon Textract」というAIサービスもある
  • Amazon Rekognition(カスタムラベル): 独自の画像/ビデオと正解ラベルを与えて、画像分析/動画分析の挙動をカスタマイズする機能
  • Amazon Translate: テキストを他言語に翻訳する
  • Amazon Translate(カスタム用語集): 独自の用語集を与えて、翻訳の挙動をカスタマイズする機能
  • Amazon Comprehend: テキストを分析し、情報(構文やキーフレーズ、肯定/否定の感情など)を検出する。医療用語に対応した「Amazon Comprehend Medical」もある
  • Amazon Comprehend(カスタムラベル): 独自のラベル情報(カスタムエンティティ)を与えて、テキスト分析の挙動をカスタマイズする機能
  • Amazon Polly: テキストを分析し、リアルな音声に変換(=音声合成)する
  • Amazon Polly(カスタム音声): カスタムのブランド音声を構築できるが、標準機能としては提供しておらず、AWSに問い合わせる必要がある(2020年6月18日時点)
  • Amazon Transcribe: 音声を認識し、テキストに変換する
  • Amazon Transcribe(カスタム用語集): 独自の用語集を与えて、音声認識の挙動をカスタマイズする機能
  • Amazon Lex: 対話型のボットである「チャットボット」を作成できる
  • Amazon Forecast: 時系列データから、未来の数値を予測する。いわゆる「AutoML」だが、時系列データの予測のみに対応
  • Amazon SageMakerAutopilot: このSageMakerは、AWSではAIサービスではなくMLサービスに分類されているが、構造化データから回帰(数値予測)や分類を行うための最適な機械学習モデルを自動作成できるAutopilot機能(いわゆるAutoML)を持つ
  • Amazon Personalize: 与えられたデータに基づいて、個人に最適化(=パーソナライズ)されたレコメンド(推奨)機能を構築できる

 この他に、

  • コードレビューを自動化する「Amazon CodeGuru
  • 企業内の検索サービスを構築するための「Amazon Kendra
  • オンライン詐欺を検知する「Amazon Fraud Detector

といったAIサービスも存在するが、個別の課題を解決する「ソリューション」に近い、高次元の機能を提供するものなので、上記の低次元のAIサービスの中には含めなかった。

 他のクラウドと比べるなら、本当によく使う機能を優先してAIサービスを充実させていっているという印象を筆者は持った。

Microsoft Azure: Cognitive Services

 Azureでは、「AIのAPI/サービス」をCognitive Services(コグニティブ・サービス)と呼んでいる。そのAIサービスの構成図が図2である。

図2 Microsoft Azure: Cognitive Servicesの構成図 図2 Microsoft Azure: Cognitive Servicesの構成図

  • Computer Vision: 画像を分析し、物体や人物、テキストなどを認識する。顔画像から人物の感情などを検出できる「Face」や、画像やPDFファイルからフォームとテキストを認識してキー&値のペア形式で情報を取得する「Form Recognizer(プレビュー版)」、デジタルインクの手書きテキスト(=タッチ対応しているディスプレイでの手書きのストローク情報)から文字認識を行う「Ink Recognizer(プレビュー版)」というAIサービスもある
  • Custom Vision: 独自の画像と正解ラベルを与えて、画像分析の挙動をカスタマイズする機能
  • Video Indexer: ビデオとその中の音声を分析し、物体や人物、テキストなどを自動抽出してインデックス化する機能
  • Video Indexer(カスタムラベル): 独自のビデオと正解ラベルを与えて、動画分析の挙動をカスタマイズする機能
  • Translator: テキストを他言語に翻訳する。音声を他言語に翻訳する「Speech Translation」というAIサービスもある
  • Translator(カスタム用語集): 独自の用語集を与えて、翻訳の挙動をカスタマイズする「Custom Translator」機能
  • Text Analytics: テキストを分析し、情報(構文やキーフレーズ、肯定/否定の感情など)を検出する
  • Language Understanding(カスタムラベル): 独自のラベル情報(カスタムエンティティ)を与えて、テキスト分析の挙動をカスタマイズする機能
  • Text to Speech: テキストを分析し、リアルな音声に変換(=音声合成)する
  • Text to Speech(カスタム音声): 独自の音声を与えることで音声合成をカスタマイズして、独自ブランド音声を構築する「Custom Voice」機能。音声出力を調整する「Audio Content Creation」機能もある
  • Speech to Text: 音声を認識し、テキストに変換する。音声に基づいて話す人を特定できる「Speaker Recognition(プレビュー版)」というAIサービスもある
  • Speech to Text(カスタム用語集): 独自の用語集を与えて、音声認識の挙動をカスタマイズする「Custom Keyword」機能。認識できる音声をカスタマイズできる「Custom Speech」機能もある
  • Language Understanding: 対話型のボットである「チャットボット」を作成できる。ちなみに、かつての名称が「Language Understanding Intelligent Services」だったため、「LUIS」とも呼ばれている
  • Azure Machine LearningAutoML: このAzure MLは、AzureではAIサービスではなくMLサービスに分類されているが、構造化データから回帰(数値予測)や分類を行うための最適な機械学習モデルを自動作成できるAutoML機能を持つ
  • Personalizer: 与えられたデータに基づいて、個人に最適化(=パーソナライズ)されたレコメンド(推奨)機能を構築できる

 この他に、

  • 潜在的な問題を早期に発見(=異常検知)するための「Anomaly Detector(プレビュー版)」
  • 攻撃的なコンテンツや不要なコンテンツを検出するための「Content Moderator
  • 質問と回答のセットを作成するための「QnA Maker
  • 文章の読み上げや言語翻訳機能を提供する「Immersive Reader(プレビュー版)」
  • Web検索機能を活用できる「Bing Custom Search」(Bing機能は他にもさまざまなサービスが提供されている)

といったAIサービスも存在するが、個別の課題を解決する「ソリューション」に近い、高次元の機能を提供するものなので、上記の低次元のAIサービスの中には含めなかった。

 他のクラウドと比べると、AIサービスの機能性が細かく充実している印象だ。

Google Cloud: AIビルディングブロック

 GCPでは、「AIのAPI/サービス」を「AIビルディング ブロック」と呼んでいる。そのAIサービスの構成図が図3である。前述したようにGCPでは、AIサービスのカスタマイズ機能を「AutoML」というブランド名で呼称しており、必ずしも一般的な意味での「AutoML」とは限らないので注意してほしい。

図3 Google Cloud: AIビルディングブロックの構成図 図3 Google Cloud: AIビルディングブロックの構成図

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。