Monthly Archives: 5月 2024

Mistral 7B v0.3, Phi-3 small/medium, Aya 23 8Bの機械翻訳性能

オープンなモデルの発表が続いている。ローカル環境での動作がやりやすい7B, 8B, 14Bのモデルについて機械翻訳性能を検証してみた。性能評価に使用したデータは以前(DAMO PolyLM-13Bの機械翻訳性能 | ぷるーふおぶこんせぷと (staka.jp))と同じ。検証環境は環境はColab Pro+を用いた。基本的にfp16で扱っている。

本件の検証でも出力形式が一定しないことが多かったためGPT-4oを用いて回答抽出を行った結果を併記した。評価指標はBLEU、使用したツールやtokenizerは以前と同じ(sacrebleu –tokenize ja-mecab)である。「0 shot」と「1 shot」の比較でICLやRAGなどプロンプト内にデータを与えた時の性能、「出力そのまま」と「GPT-4で回答抽出」の比較で指示のしやすさをザックリとみる事ができる[1]。ただし、非常に限定された機械翻訳ベンチマークである[2]ことに注意が必要である。

モデル0 shot /
出力そのまま
0 shot /
GPT-4oで回答抽出
1 shot /
出力そのまま
1 shot /
GPT-4oで回答抽出
mistralai/Mistral-7B-Instruct-v0.3 · Hugging Face10.714.427.029.7
microsoft/Phi-3-small-8k-instruct · Hugging Face (7B)17.918.426.826.9
CohereForAI/aya-23-8B · Hugging Face11.323.511.034.7
microsoft/Phi-3-medium-128k-instruct · Hugging Face (14B)23.523.434.536.2
各種小規模モデルのBLEU

結果と所感

Mistral 7B v3は日本語性能がかなり向上しているようでv2と比べて大幅にスコアが上がっている。Apache-2ライセンスと正真正銘のOSSであり活躍の機会が多そう。Phi-3は小型高性能の名に恥じない結果になっており、以前検証したmini、今回検証したsmall、mediumで順当にスコアが上がっている。こちらもMITライセンスと正真正銘のOSS。FuguMTの性能が0 shotで32前後であることを考えると、Phi-3 medium(14B)は用途によっては実用レベルに達しているかもしれない。

AYA 23は上記のモデルと印象が異なり、命令への追従はあまりできていないがモデルの絶対性能はとても高い。「1 shot / GPT-4oで回答抽出」の性能はプロンプトの工夫で達成できると思われ、AYA 23のように多言語想定で作られたモデルであれば8Bでも実用レベルの性能が出せるかもしれない。より大規模なASA 23 35Bも試してみたいところ[3][4]。

脚注

[1] 毎度のことながら本当にザックリとしか見れない。
[2] 日本語・英語の文書ともにデータがインターネット上で公開されているため、潜在的なLeakの可能性がある。BLEUではそもそも性能を測れないなど注意点は多い。(ぼちぼち改善しようと思ってはいるが……)
[3] 35Bだと8bit以下に量子化しないと実行が厳しい。
[4] ライセンスはCC-BY-NC、併せてCohere For AI Acceptable Use Policyも守る必要がある。ざっくりとは商用利用不可。

GPT-4o, Gemini Pro, Gemini Flashの機械翻訳性能

5月上旬はGPT-4o, Gemini Flashと商用MLLMの発表が相次いだ(Hello GPT-4o | OpenAIGoogle Gemini updates: Flash 1.5, Gemma 2 and Project Astra (blog.google))。公式、非公式を問わず検証結果が発表されており、いつものデータセットで性能を検証してみた。

性能評価に使用したデータは以前(DAMO PolyLM-13Bの機械翻訳性能 | ぷるーふおぶこんせぷと (staka.jp))と同じ。なお、GPT-4oのoでもあるテキスト以外の情報は使っていないため性能評価としては参考程度である[1]。

評価指標はBLEU、使用したツールやtokenizerは以前と同じ(sacrebleu –tokenize ja-mecab)である。「0 shot」と「1 shot」の比較でin context learningの有効性をザックリとみる事ができる[2]。

モデル0 shot1 shotコスト(USD) [3]
1Mトークン、入力/出力別
GPT-4o31.842.55 / 15
GPT-4 Turbo29.435.410 / 30
【参考】 GPT-3.5 Turbo27.137.10.5 / 1.5
Gemini 1.5 Pro / gemini-1.5-pro-preview-051426.843.43.5 – 7.0 / 10.5 – 21.0 [4]
Gemini 1.5 Flash / gemini-1.5-flash-preview-051429.434.80.35 – 0.70 / 1.05 – 2.10 [4]
【参考】Gemini 1.5 Pro / gemini-1.5-pro-preview-040934.450.13.5 – 7.0 / 10.5 – 21.0 [4]
各種APIのBLEU、コストは2024-05-18時点

結果

GPT-4oは高速・低コストであるにもかかわらず以前のGPT-4 Turboより高い性能を示した。tokenizerもGPT-4 Turboより日本語に適しているためGPT-4 Turboからの置き換えが進むだろう。

Gemini Proは以前よりもスコアが低くなっているが、「出力にMarkdownの装飾が混ざる」「一文毎に訳する形になる」など出力形式が揺れていることが原因である。プロンプトを調整すれば性能は向上すると思われる[5]。Gemini Flashは高い性能を持つが安価と発表の通りコストパフォーマンスが非常に高い。

GPT-3.5 TurboとGemini 1.5 Flash、GPT-4oとGemini 1.5 Proは競合しており、それぞれに特色がある。用途によって選定することになるのではないかと思う。

その他

今使っているデータ・評価指標ともに完璧なものだとは思っていないが、複数のモデルを同じように比較できるのは便利。間違いの分析やモデル特性の変化を検知できることも重要である。

検証に使っているデータは外務省(GPT-4を用いた翻訳の検証(vs GPT-3.5 vs FuguMT) | ぷるーふおぶこんせぷと (staka.jp)MPT-30B-Chat + In-Context Learningの性能 | ぷるーふおぶこんせぷと (staka.jp))のものでライセンス的な問題はないため、データ構築過程を自動化し公開しようかと思わなくもない[6]。時系列変化や(Leakageが入らないと思われる)最新データでの比較なども可能など、便利なデータであるはず[6]。

脚注

[1] 評価指標が色々と問題あるBLEUであり、Leakageの心配もあって本当に参考の参考
[2] こちらもざっくりとしか見れない
[3] tokenizerが異なるため一律比較はできない、2024-05-18時点の情報で「Pricing | OpenAI」「Gemini API の料金  |  Google AI for Developers  |  Google for Developers」から取得。
[4] Gemini 1.5はプロンプトの長さで価格が異なる
[5] 適切な評価データを持つ、出力の分析をすることが重要
[6] 1年以上前にも同じことを言っていて結局公開しない可能性もあるが…