GCP AutoML Natural Languageのベンチマーク

TL;DR

デモデータを利用してAutoML Natural Languageと自作モデルの性能を比較してみました。 もう全部AutoML Natural Languageでいいんじゃないかなぁ・・・。

背景

GCPUBイベントに参加したところ、AutoMLのβ公開が始まっていることを知ったので、自然言語処理用であるAutoML Natural Languageの性能を確認してみようと考えました。

AutoML VisionはShuhei Fujiwaraさんのこちらの記事をどうぞ。

対象データ

AutoML Natural Language公式ドキュメントに掲載されているデモデータを利用しました。

自作モデル

特徴量となる入力文をWord2Vecを利用してToken Embeddingとして入力、GRUで学習するという内容になっています。 形態素解析せずに、kerasのtext_to_word_sequenceを利用しているので、入力に適さない品詞もそのままです。 また、フレームワークとしてkerasを利用しています。

詳細はJupyter Notebookを参照してください。

性能の比較

AutoML Natural Language

自作モデル

                  precision    recall  f1-score   support

         bonding       0.72      0.91      0.80       506
         leisure       0.74      0.56      0.64       298
       affection       0.92      0.90      0.91      1277
enjoy_the_moment       0.57      0.55      0.56       408
     achievement       0.84      0.85      0.85      1187
          nature       0.91      0.53      0.67        73
        exercise       0.73      0.84      0.78        61

     avg / total       0.82      0.81      0.81      3810

処理時間

AutoML Natural Language

約4時間。

自作モデル

約30分。 後述のJupyter Notebookのアウトプットでは15分になっていますが、一度途中から学習を再開しているため、合計で30分程度になっています。

コスト

AutoML Natural Language

219.05 Minute   ¥1,215.51

単価については公式ドキュメントを参照してください。

自作モデル

GPUとしてGTX 1060(6GB)を搭載したデスクトップパソコンで実行しました。 このため、電気代だけです。

その他

とっても凄いAutoML Natural Languageですが、日本語はサポートされていないそうです。 実際に、ラベルに日本語を使うと正しく解釈されません。 ただし、特徴量としては日本語も入力ができたので、ラベルをコード化するなどで日本語を使ってみることはできると思われます。

その場合の性能は確認していないので、他の人の検証を期待します。

関連情報