GoogleのPaLM2が日本語に対応、ELYZAからLlama-2ベースのモデルが公開された。いつも通り機械翻訳性能を検証してみた。
- 大規模言語モデル PaLM 2 、コード生成・補完モデル Codey 待望の日本語対応!日本での生成 AI 導入支援も | Google Cloud 公式ブログ
- 70億パラメータの商用利用可能な日本語LLM「ELYZA-japanese-Llama-2-7b」を一般公開しました | ELYZA
使用したデータは以前(DAMO PolyLM-13Bの機械翻訳性能 | ぷるーふおぶこんせぷと (staka.jp))と同じ。検証環境はColab Pro+である。HuggingFaceのUsage(elyza/ELYZA-japanese-Llama-2-7b-instruct · Hugging Face)に従い使っている。PromptもUsageに近づけて作成、指示は日本語で書いている[1]。
モデル・条件 | zero shot | 1 shot [6] |
GPT-3.5 [2] | 26.7 | 37.0 |
PaLM 2 (text-bison) [3] | 35.9 | 48.1 |
ELYZA-japanese-Llama-2-7b-instruct [4] | 13.0 | 26.7 |
ELYZA-japanese-Llama-2-7b-fast-instruct [5] | 12.7 | 20.0 |
結果①: PaLM2は非常に性能が高い
PaLM 2 (text-bison)の性能は非常に高い。BLEU=48.1はリークが疑われるレベルという印象。In-Context Learningも効果的のよう。非常に高性能で日本語を対象とした詳細検証の必要性を感じている。少なくとも直近のデータを含めて「GPT-4を用いた翻訳の検証(vs GPT-3.5 vs FuguMT) | ぷるーふおぶこんせぷと (staka.jp)」のような時系列検証をしてみたいと思う。
結果②: ELYZA-japanese-Llama-2-7Bは日本語公開モデルの中ではとても優秀
7Bモデルに限ると「同条件&1 shotの性能」はBLEU=23-24であり、今回の検証結果、26.7は最高性能である。
- Llama-2-7b-chat-hf: 20.1 (回答を手動抽出して 23.9)
- Qwen-7B-Chat:23.3
過去の経験から機械翻訳性能とモデルサイズは強い関係がありそうで、13Bモデルなどより大規模なモデルではさらにスコアが伸びる可能性が高い。以前検証したLlama-2の場合、7B→13Bで20.1→33.1(回答を手動抽出した場合は23.9→35.1)とスコアが向上している。この結果を参考にするとELYZA-japanese-Llama-2-13BでGPT-3.5-TURBOと良い勝負ができそうな気がする。
検証結果で気になる(というか興味深い)のはELYZA-japanese-Llama-2-7b-fast-instructでICLの効きがイマイチな点である。この挙動は構築プロセスによるものなのか[7]、そうでないのか知りたいところ。
注釈
[1] 英語で指示するよりも日本語で指示した方が性能がよさそう
[2] gpt-3.5-turbo-16k-0613
[3] TextGenerationModel.from_pretrained(“text-bison”)を利用。「text-bison@001」は翻訳が返ってこない事があり、また、性能も若干低めだった。
[4] elyza/ELYZA-japanese-Llama-2-7b-instruct · Hugging Face
[5] elyza/ELYZA-japanese-Llama-2-7b-fast-instruct · Hugging Face
[6] 以前と同じでOpenICL、TopkRetrieverにより取得
[7] 語彙の追加が何らかの影響を与える可能性はあるんだろうか、とか、論理的(数式的)に何らかの事が言えそうな予感がしなくもない、とか思っているところ。単純に不得意なタスクが生まれているだけかもしれないが。