見出し画像

LLaMA 2(13b,70b)でFew-Shotをやってみたら、ちゃんと機械翻訳できた(プロンプト付き)

結論

Satoshi Takahashi様のツイートを拝見し、プロンプトをお借りして私も機械翻訳を試してみたところ、きちんと日本語に翻訳されていることを確認できました。

Satoshi Takahashi様のツイート

13bの結果

我々の時代には不可能でした。��は想像以上の素��らしいことをやってのけました。

70bの結果

そんな時代には不可能でした。��は実に��くほどのことを成し��げています。

翻訳対象の英文
It was impossible in our time. He has done amazing things that are almost unimaginable.

日本語訳
私たちの時代には不可能だった。彼はほとんど想像もつかないようなすごいことをやっている。

評価方法
今回のタスクでは、LLaMA 2の出力文がこの日本語訳に近い文章で出力されれば良い、ということになります。

検証結果

======= 正解 =======
私たちの時代には不可能だった。彼はほとんど想像もつかないようなすごいことをやっている。

======= 13b =======
我々の時代には不可能でした。��は想像以上の素��らしいことをやってのけました。

======= 70b =======
そんな時代には不可能でした。��は実に��くほどのことを成し��げています。

日本語が苦手なモデルなので文字化けしている部分はありますが、ファインチューニングせずに Few-Shotだけでこの性能が出るならば、かなり期待できるのではないでしょうか。

OSSかつ商用利用OKのモデルですので、ファインチューニングすればさらに精度向上が見込めますね。
とりあえず、翻訳できそうなことが分かっただけでも良かったです。

考察

13b

  • 一部文字化けしている

  • <日本語のみ出力してください。>と書いているにも関わらず、Few-Shotの例文も一緒に出力されている

  • 例文が一緒に出力されたことで、むしろ 70b よりも文脈を捉えられた翻訳になっている

70b

  • 一部文字化けしている

  • 余計な出力が削減され、より命令に忠実になっている

  • どのように翻訳したのか? まで出力される親切設計(?)

  • 翻訳結果は上々

13bの方が良い翻訳になっているのは面白い結果でしたが、実際に利用することを考えると、余計な文章が少ない70bの方が使いやすいと思います。

ただ、70b になると量子化しても VRAM の容量が 40GB くらいは必要そうなので、RTX 4090 では足りないですね。RTX A6000 なら動きそうです(高い…)。

プロンプト

Satoshi Takahashi様のプロンプトをベースに作成したものは下記の通りです。

[INST]<<SYS>>
あなたは英語を日本語に翻訳することが得意なAIアシスタントです。あなたのタスクは英語を日本語に翻訳することです。日本語のみ出力してください。
<</SYS>>

Translate English to Japanese:\n{The Los Angeles Angels lost to the Kansas City Royals 10-9.} \n -> \n {ロサンゼルス・エンゼルスがカンザスシティ・ロイヤルズに10対9で敗れた。} \n\n

Translate English to Japanese:\n{Ohtani hit Taylor Clark's first pitch changeup over the center field wall in the seventh inning at Kauffman Stadium, a solo shot that gave the Angels an 8-2 lead.} \n -> \n {大谷は、カウフマン・スタジアムの7回に、テイラー・クラークの初球チェンジアップをセンターオーバーに打ち取り、このソロ・ショットでエンゼルスは8-2とリードを広げた。} \n\n

Translate English to Japanese:\n{Matsui hit 175 MLB homers during his active career in the United States, primarily with the Yankees.} \n -> \n {松井はアメリカでの現役時代、主にヤンキースでMLB通算175本塁打を放った。} \n\n

Translate English to Japanese:\n{It was impossible in our time. He has done amazing things that are almost unimaginable.} \n -> \n[/INST]

Tips

<<SYS>>に「日本語のみ出力してください。」と追記したところ、出力が安定しました。

この記事が気に入ったらサポートをしてみませんか?