Save 37% off PRO during our Black Friday Sale! »

GCP: AutoML Translation API

4b45a7e80d4ae7da08069abcb499d696?s=47 kenz
February 20, 2019

GCP: AutoML Translation API

(In Japanese)
The gist of Google Cloud Platform (GCP) AutoML Translation API and how it works.

4b45a7e80d4ae7da08069abcb499d696?s=128

kenz

February 20, 2019
Tweet

Transcript

  1. AutoML Translation 使ってみた GCPUG横浜 2019 Feb 20, 2019 @kenz 1

  2. About me • 米川 賢治 @ GCPUG横浜オーガナイザ • エンジニア •

    好きなもの ◦ GCP, G Suite, Go, Python, Vim, Zsh, BSD ◦ 登山、スノボ • 苦手なもの ◦ 敬語 • https://www.linkedin.com/in/kenjiyonekawa/ 2
  3. 本スライドで知れること、知れないこと 知れること • AutoML Translationが誰でも 使えることが分かる! • AutoML Translationの概要を 知れる

    • 使った結果がどんな感じか分かる • 利用時の注意点が分かる 3 知れないこと • 機械学習とはなにか • 転移学習の仕組み • 他のAutoMLのAPIたち
  4. アウトライン • 概要とか • やったこと • 結果 • Q&A 4

  5. 概要とか 5

  6. 概要 • AutoML Translationとは ◦ AutoML3兄弟の一つ。他は画像認識の Vision、文章カテゴリ化の Natural Language。 ◦

    カスタム翻訳モデル が簡単に作れるサービス。 May 24, 2018に追加された。 ◦ こんな感じ ▪ インプット : 自分のデータセットを与えると ▪ 中身 : Cloud Translation APIのモデルに転移学習してくれて ▪ アウトプット: カスタムの翻訳モデルを作ってくれる 6 英語 -> 日本語 インプット 中身 アウトプット カスタムモデル
  7. イメージ 翻訳前 モデル 翻訳後 日本語 勉強中 の人 7

  8. イメージ 翻訳前 モデル 翻訳後 日本語 勉強中 の人 鼻うんこ Cloud Translation

    API なんか違う。。。 8
  9. イメージ 翻訳前 モデル 翻訳後 日本語 勉強中 の人 鼻うんこ Cloud Translation

    API なんか違う。。。 AutoML Translation カスタムモデル Yes!!! 9
  10. 概要つづき • 今(Feb 18, 2019)はまだベータ。 ◦ 下位互換なくなる可能性あり。 ◦ SLA保証なし。 •

    いつ必要か? ◦ Cloud Translation APIのジェネリックな翻訳だと足りないとき。 ◦ 例えば、、業界独自の単語、スラング等を翻訳したいときとか。 10
  11. メリット、デメリット • メリット ◦ 転移学習してくれるので 少ないデータで良いモデル ができる。 ◦ フルマネージドで管理が楽。 ◦

    機械学習等の知識が必要ない 。 • デメリット ◦ ある程度データ量が必要 (後述)。 ◦ 高い?(後述)。 ◦ データ前処理必須(後述)。 11
  12. やったこと 12

  13. やったこと • 英語 -> 大阪弁 翻訳機作ってみた ◦ チュートリアルのデータで分かる言語がなかった。。 (スペイン語、フランス語とか )

    ◦ 大阪弁なら結果なんとなく良いか悪いか分かる気がした。 ◦ ある程度データが必要だったけど集めるのは大変なので探してみた。 13 英語 大阪弁
  14. 確認したかったこと • 本当にお手軽に使えるものなのか ◦ 時間をかけずにやってみる。 • 翻訳の精度 ◦ google提供のBilingual Evaluation

    Understudy(BLEU)で評価 • モデル作成にかかる時間 • モデル作成にかかるお金 14
  15. 補足: BLEUとは • モデルの全体的な評価をしてくれる。絶対的な評価ではない。 ◦ 簡潔な文に対するペナルティと N-gramの重複で決まる。 ◦ 文法や意味を評価するわけではない。 •

    。。。高ければ高いほどいい。 15
  16. データの作り方 1. 標準語と大阪弁のデータをげっと 2. データのクレンジング 3. 標準語をgoogle translateで英語に変換 4. 3の英語と大阪弁をtsv区切りにする。

    16 大阪弁 標準語 英語 大阪弁
  17. 使ったデータ • ネットで公開されていた大阪方言2,000文のデータ • 標準語と大阪弁がセットになっている 17

  18. データ処理の内容 一回しか実施しないのでvimとpythonで。。 1. pdfからコピーしたものを整形。 2. 複数選択肢があるものはどれか一つに決める。 3. 省いても良い箇所は省く。 18 “・・・食べへん”にする

    “でこなぐられた”にする
  19. できたデータ • 行数: 1,943 ◦ 重複等はAutoMLに取り込み時に削除された。 • 19

  20. データ取り込み 20 データセット名 英語から日本語に ここにファイルアップロード これ押す。

  21. モデル構築 21 TRAIN押す。 重複行がエラーとして出てました。 取り込み時に除外されている。 取り込みにちょっと時間(1,2分)かかります。 データ解析してる模様で、取り込み終わるとメール届きます。

  22. モデル構築 22 START TRAINING押して待つ。(1.5-2 時間) 何件学習、バリデーション、テストで使われるか出てくる。 8:1:1 の割合になるが、バリデーションとテストは 最低100件最大 10,000件ずつ。なので学習考えると全部で少なくとも

    1,000件は 欲しい。 ちなみにチュートリアルのは 8,720件。
  23. モデル結果見てみる 23 終わるとメール届くので気長に待ちましょう。

  24. モデル使ってみる 24 上のPREDICT押すと使える 下の方にAPIの使い方等書いてある。 単発で試せる。

  25. 結果 25

  26. 確認したかったこと • 本当にお手軽に使えるものなのか • 翻訳の精度 • モデル作成にかかる時間 • モデル作成にかかるお金 26

    お手軽に使える! スコア上がった!が低い!! :( 10未満は”Almost Useless”... データ処理: 2.5hr モデル構築: 1.5-2h GUI操作: ほぼ0 14,000JPY……:[
  27. 試しに変換してみた 27 ほとんど標準語。。。?

  28. 新しいデータ作ってみました 28 標準語と大阪弁が全く同一の物があったので、英語->大阪弁じゃなくて、英語-> 標準語を学習してるのかと推測。 標準語と大阪弁で全く同じものを消してみた。 わくわくしながらまた2時間ぐらい待つ。 前 後 件数 1,943

    1,759
  29. 結果 前 後 Performance gain/lossは高いけどスコアは低い。。 29

  30. こんなになりました。 30 翻訳前 前のモデル 後のモデル Why did you think coffee

    is better than tea? なぜコーヒーは紅茶よりもええと思っ たんや。 なぜコーヒーは茶よりも丈夫だとお 考えになりましたか。 What is the best food in Osaka? 大阪で最高の料理は何ですか? 大阪で一番ええ料理は? What's the best way to go to Osaka from Tokyo? 東京から大阪に行くにはどんな方法 がいいですか。 東京から大阪に行くにはどんな方法 がいいですか。 I love takoyaki! たこ焼き大好き! たこ焼き好きや。 I've been to Osaka five times already and I still love going there. 私はすでに大阪に5回も行きました が、まだそこに行くのが大好きです。 私はすでに5回大阪に行ってきたけ ど、まだそこに行くのが大好きなん や。
  31. 感想 • 本当に簡単に転移学習ができる!民主化! • 少ないデータ量(数千行)、短時間で翻訳が独自モデルができる。 ◦ 0から作るためには膨大なデータが必要なので、それと比較すると非常に楽。 • インプットデータに依存する。 ◦

    楽には使えるけど結局はデータの前処理に強く依存する。 ◦ 今回だとそもそもgoogle translateで得た英語が正しくないかもしれない、とか。 • 結果が微妙だと高く感じる。 ◦ 一回14,000JPY. • モデル作成前に(時間とお金掛ける前に)ある程度スコアが分かると嬉しい 本当に誰でも使えます!ぜひ使ってみてください。 31
  32. 注意点とか • ハイパーパラメータのチューニングは今の所できない。 ◦ いつ学習止めてるか等はブラックボックス。 ◦ 学習、バリデーション、テストの割合固定。 • 翻訳は片方向で両方向したければ別途学習が必要 ◦

    今回のは英語->日本語で、日本語->英語はできない。 ◦ 日本語->日本語もできない(標準語->大阪弁は不可)。 • データのフォーマットはtsvかtmx。 • ファイルに空行があると取り込みに失敗する。 32
  33. ありがとうございました!! Q&A 33

  34. 参考・出展 https://cloud.google.com/translate/automl/docs/beginners-guide https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine -tuning-a-pre-trained-model/ https://cloud.google.com/translate/?hl=en http://www.lingua.tsukuba.ac.jp/ippan/JGL/2014/GL17_paper1.pdf https://www.networkworld.com/article/3179127/cloud-computing/4-ways-google-clo ud-will-bring-ai-machine-learning-to-the-enterprise.html 34