Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

About me ● 米川 賢治 @ GCPUG横浜オーガナイザ ● エンジニア ● 好きなもの ○ GCP, G Suite, Go, Python, Vim, Zsh, BSD ○ 登山、スノボ ● 苦手なもの ○ 敬語 ● https://www.linkedin.com/in/kenjiyonekawa/ 2

Slide 3

Slide 3 text

本スライドで知れること、知れないこと 知れること ● AutoML Translationが誰でも 使えることが分かる! ● AutoML Translationの概要を 知れる ● 使った結果がどんな感じか分かる ● 利用時の注意点が分かる 3 知れないこと ● 機械学習とはなにか ● 転移学習の仕組み ● 他のAutoMLのAPIたち

Slide 4

Slide 4 text

アウトライン ● 概要とか ● やったこと ● 結果 ● Q&A 4

Slide 5

Slide 5 text

概要とか 5

Slide 6

Slide 6 text

概要 ● AutoML Translationとは ○ AutoML3兄弟の一つ。他は画像認識の Vision、文章カテゴリ化の Natural Language。 ○ カスタム翻訳モデル が簡単に作れるサービス。 May 24, 2018に追加された。 ○ こんな感じ ■ インプット : 自分のデータセットを与えると ■ 中身 : Cloud Translation APIのモデルに転移学習してくれて ■ アウトプット: カスタムの翻訳モデルを作ってくれる 6 英語 -> 日本語 インプット 中身 アウトプット カスタムモデル

Slide 7

Slide 7 text

イメージ 翻訳前 モデル 翻訳後 日本語 勉強中 の人 7

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

イメージ 翻訳前 モデル 翻訳後 日本語 勉強中 の人 鼻うんこ Cloud Translation API なんか違う。。。 AutoML Translation カスタムモデル Yes!!! 9

Slide 10

Slide 10 text

概要つづき ● 今(Feb 18, 2019)はまだベータ。 ○ 下位互換なくなる可能性あり。 ○ SLA保証なし。 ● いつ必要か? ○ Cloud Translation APIのジェネリックな翻訳だと足りないとき。 ○ 例えば、、業界独自の単語、スラング等を翻訳したいときとか。 10

Slide 11

Slide 11 text

メリット、デメリット ● メリット ○ 転移学習してくれるので 少ないデータで良いモデル ができる。 ○ フルマネージドで管理が楽。 ○ 機械学習等の知識が必要ない 。 ● デメリット ○ ある程度データ量が必要 (後述)。 ○ 高い?(後述)。 ○ データ前処理必須(後述)。 11

Slide 12

Slide 12 text

やったこと 12

Slide 13

Slide 13 text

やったこと ● 英語 -> 大阪弁 翻訳機作ってみた ○ チュートリアルのデータで分かる言語がなかった。。 (スペイン語、フランス語とか ) ○ 大阪弁なら結果なんとなく良いか悪いか分かる気がした。 ○ ある程度データが必要だったけど集めるのは大変なので探してみた。 13 英語 大阪弁

Slide 14

Slide 14 text

確認したかったこと ● 本当にお手軽に使えるものなのか ○ 時間をかけずにやってみる。 ● 翻訳の精度 ○ google提供のBilingual Evaluation Understudy(BLEU)で評価 ● モデル作成にかかる時間 ● モデル作成にかかるお金 14

Slide 15

Slide 15 text

補足: BLEUとは ● モデルの全体的な評価をしてくれる。絶対的な評価ではない。 ○ 簡潔な文に対するペナルティと N-gramの重複で決まる。 ○ 文法や意味を評価するわけではない。 ● 。。。高ければ高いほどいい。 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

できたデータ ● 行数: 1,943 ○ 重複等はAutoMLに取り込み時に削除された。 ● 19

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

モデル結果見てみる 23 終わるとメール届くので気長に待ちましょう。

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

結果 25

Slide 26

Slide 26 text

確認したかったこと ● 本当にお手軽に使えるものなのか ● 翻訳の精度 ● モデル作成にかかる時間 ● モデル作成にかかるお金 26 お手軽に使える! スコア上がった!が低い!! :( 10未満は”Almost Useless”... データ処理: 2.5hr モデル構築: 1.5-2h GUI操作: ほぼ0 14,000JPY……:[

Slide 27

Slide 27 text

試しに変換してみた 27 ほとんど標準語。。。?

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

こんなになりました。 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回大阪に行ってきたけ ど、まだそこに行くのが大好きなん や。

Slide 31

Slide 31 text

感想 ● 本当に簡単に転移学習ができる!民主化! ● 少ないデータ量(数千行)、短時間で翻訳が独自モデルができる。 ○ 0から作るためには膨大なデータが必要なので、それと比較すると非常に楽。 ● インプットデータに依存する。 ○ 楽には使えるけど結局はデータの前処理に強く依存する。 ○ 今回だとそもそもgoogle translateで得た英語が正しくないかもしれない、とか。 ● 結果が微妙だと高く感じる。 ○ 一回14,000JPY. ● モデル作成前に(時間とお金掛ける前に)ある程度スコアが分かると嬉しい 本当に誰でも使えます!ぜひ使ってみてください。 31

Slide 32

Slide 32 text

注意点とか ● ハイパーパラメータのチューニングは今の所できない。 ○ いつ学習止めてるか等はブラックボックス。 ○ 学習、バリデーション、テストの割合固定。 ● 翻訳は片方向で両方向したければ別途学習が必要 ○ 今回のは英語->日本語で、日本語->英語はできない。 ○ 日本語->日本語もできない(標準語->大阪弁は不可)。 ● データのフォーマットはtsvかtmx。 ● ファイルに空行があると取り込みに失敗する。 32

Slide 33

Slide 33 text

ありがとうございました!! Q&A 33

Slide 34

Slide 34 text

参考・出展 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