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
ですが、日本語はサポートされていないそうです。
実際に、ラベルに日本語を使うと正しく解釈されません。
ただし、特徴量としては日本語も入力ができたので、ラベルをコード化するなどで日本語を使ってみることはできると思われます。
その場合の性能は確認していないので、他の人の検証を期待します。