週刊 Google Cloud アップデート情報 2022年11月第5週
こんにちは、クラウドエースのデータ ML ディビジョン所属の坂田です。
Google Cloud のデータ・AI 系サービスで、2022年11月第5週のリリースの中から、注目のリリースをピックアップしてご紹介します。
注目リリース
- Vertex AI AutoML 画像モデルに高精度モデルが登場
- Cloud Text-to-Speech で Neural2 音声の対応言語が拡大
1. Vertex AI AutoML 画像モデルに高精度モデルが登場
2022年11月30日付の Vertex AI のリリースです。
↓ リリース原文
リリース内容
画像分類、オブジェクト検出を行う AutoML 画像モデルに「高精度モデル(Higher-accuracy model)」がプレビューリリースされました。
高精度モデルと従来モデルの違い
- 画像分類やオブジェクト検出の精度が向上
- 予測のレイテンシが低い
- 300〜400ms → 200〜300ms に向上
- オンライン予測のみ対応(バッチ予測は非対応)
- 料金体系は従来と変わらない
引き続き、従来モデルも使用可能で、AutoML モデルのトレーニング時に従来モデルと高精度モデルのどちらを使用するかが選択可能です。
試してみた
実際どのくらい精度が上がったのか、試してみました。
公式のチュートリアルをもとに AutoML モデルを作成します。
作成するモデルは、花の名前を判別する画像分類モデルです。
データセットを用意
トレーニングの前に、トレーニング用のデータセットを作成します。
トレーニングに使用するデータとして、Cloud Storage の公開バケットに保存された花の画像(5 種類の花、合計 3,667 枚)を使用します。
Cloud Console の UI 上で以下を行います。
-
Vertex AI > DATA > データセット > 作成
-
「画像分類(単一ラベル)」を選択し、作成ボタンを押す
-
「インポート ファイルを Cloud Storage から選択」を選択する
-
公開バケット上にある、花の画像一覧の CSV の URI を指定する
gs://cloud-samples-data/ai-platform/flowers/flowers.csv
-
「続行」を押す
-
少し待つとデータセットの作成が完了する
トレーニング
データセットを用意できたので、モデルをトレーニングしていきます。
UI 上でセッティングします。
-
Vertex AI > DEPLOY AND USE > Model Registry > 作成
-
「Dataset」「Annotation set」に先ほど作成したデータセットを指定する
-
「AutoML」「Cloud」を選択する
-
「新しいモデルのトレーニング」を選択し、モデル名を設定する
-
従来モデルであれば「Default」、高精度モデルであれば「Higher accuracy」を選択する
-
トレーニング予算を設定する(今回は最小値の 8 を設定しました)
-
「トレーニングを開始」を押し、数時間待つとトレーニングが完了する
トレーニングを開始すると、Vertex AI > MODEL DEPLOYMENT > トレーニング のページで進行状況を確認できます。
トレーニングにかかった時間は以下です。
従来モデルは早期停止(Early stopping)の設定を有効にしましたが、高精度モデルは早期停止を設定できませんでした。
モデル | トレーニング時間 |
---|---|
Default(従来モデル) | 2時間13分 |
Higher accuracy(高精度モデル) | 1時間48分 |
従来モデルと高精度モデルの比較
Vertex AI では、UI 上で異なるモデル同士の評価値を比較することができます。
(比較機能はプレビューです。)
Vertex AI > MODEL DEPLOYMENT > トレーニング で作成したモデルをクリックし、評価 > 比較 から、比較したいモデルを選択することで比較結果が表示されます。
今回のモデルは分類モデルなので、分類モデルに応じた評価値(トレーニング時に計算されたもの)が表示されます。
表示できる評価値の詳細はこちら ↓
こちらが比較結果です。
上記の画像において、青色が従来モデル、ピンク色が高精度モデルです。
まず、表の①「PR AUC」は 0〜1 の値をとる評価値で、一般的に大きい値ほど良い性能であることを示しています。
高精度モデルは 0.998 と、従来モデルの 0.994 をわずかに上回っており、高精度モデルの方が良い性能を示しています。
次の②「ログ損失」(LogLoss 値)は、一般的に小さい値(0 に近い値)ほど良い性能であることを示しています。
従来モデルは 0.103、高精度モデルは 0.05 と、こちらの評価値も高精度モデルに軍配が上がりました。
③「適合率と再現率の曲線」は、一般的に曲線が右上に張り出しているほど良い分類性能であると言えます。
わずかに高精度モデル(ピンク色)の曲線の方が右上に張り出しているため、こちらも高精度モデルが優位です。
Confusion matrix(混同行列)も確認することができます。
左側が従来モデル、右側が高精度モデルです。
青色のセルは正しく判別されたものの割合、灰色のセルは誤って判別されたものの割合を示しています。
全体的にどちらも良い結果ではありますが、高精度モデルの方が一枚上手と言えます。
結論
従来モデルも十分な性能でしたが、高精度モデルはさらにその上の性能を示しました。
今回は公開されているサンプルデータを使ってモデルを作成したため、他のデータを使用するとまた違った結果となるとは思いますが、今後は AutoML に対してより高い精度を期待できるのではないでしょうか。
2. Cloud Text-to-Speech で Neural2 音声の対応言語が拡大
2022年11月29日付の Cloud Text-to-Speech のリリースです。
↓ リリース原文
リリース内容
従来、ごく一部の言語・リージョンのみでサポートされていた「Neural2」音声が、より多くの言語・リージョンに対応しました。
※ Neural2 はプレビュー段階です。
Text-to-Speech とは
Text-to-Speech とは、テキストを合成音声によって読み上げる機能のことで、Google Cloud では、「Cloud Text-to-Speech」として機能が提供されています。
Text-to-Speech は、コールセンターの自動対応であったり、ユーザーを補助するためのテキスト読み上げ機能など、様々なシーンで活用できます。
Neural2 って?
従来、Cloud Text-to-Speech では、「標準」「WaveNet」の2種類の音声が提供されていました。
2022年6月頃に新たな音声として、「Neural2」が発表されました。
Neural2 はごく一部の言語・リージョンのみに対応していましたが、今回のリリースでさらに多くの言語・リージョンがサポートとなりました。
- 言語:40 種類以上
- リージョン:us-central1、us、eu
従来の音声との違い
Neural2 のサンプルボイスはこちらで聞くことができます。
サンプルボイスを聞く限り、標準音声や WaveNet 音声に比べてNeural2 は、合成音声の欠点である「声の不自然さ」が大きく緩和されており、声の質や抑揚などが人間に近い発話のように感じました。
私は英語を話せる訳ではないですが、合成音声とは知らずに Neural2 の英語を聞くと、人間が話していると勘違いしそうです。
残念ながら日本語は Neural2 に非対応で、標準と WaveNet のみ対応のため、今後のリリースに期待です。
料金
Neural2 は WaveNet と同じ料金体系で、「1 文字あたり $0.000016 米ドル」がかかります。
1ヶ月あたり、0〜100万文字は無料で使用できます。
詳細な料金体系はこちら ↓
合成音声の実力が実用レベルにまで上がってきたことを感じさせるリリースでした。
Discussion