日英・英日機械翻訳モデルALMA-7B-Jaの公開

モデル

1.日英・英日機械翻訳モデルALMA-7B-Jaの公開まとめ

・使い勝手の良いサイズ感の機械翻訳用のモデルが意外に選択肢がないと感じる事がある
・多言語翻訳用の無料の機械翻訳モデルはサイズが大きかったりドキュメント不足で使うのが難しい
・ALMA-7B-Jaは比較的サイズが小さく使い勝手の良い日英・英日翻訳対応LLM機械翻訳モデル

2.日英・英日機械翻訳モデルALMA-7B-Jaとは?

2023年11月追記)性能を底上げした日英・英日機械翻訳モデルALMA-7B-Ja-V2を公開しました。

使い勝手の良いサイズ感の機械翻訳用のモデルって意外に選択肢がないと感じた事はありませんか?

もちろん、Google翻訳など一定量まで無料、それを超えると有料という形式のWebサービスがあるのでそれを使わせてもらえば良いのですが、実は大量のデータを扱うとこれらのサービスは想定以上にお金がかかって本格的に何かをやろうとすると足かせになる事があります。

直近、多言語翻訳用の無料の機械翻訳モデルも幾つか公開されるようになってきていますが、動かし方が特に解説されていなかったり、非常に大規模でサイズが大きくRTX 3060 12GB程度のGPUでは動かす事が出来なかったり、残念な気持ちになる事が多かったです。

そんな時、ALMA(Advanced Language Model-based trAnslator)という新規に発表された学習手法を使うと小・中規模なモデルでもGPT-3.5-text-davinci-003やMeta社の大規模多言語翻訳モデルNLLB-54B(540億モデル)に迫る能力を持つ大規模言語モデルベースの機械翻訳モデルを学習させる事が出来るとの事で興味を持ちました。

ALMAは第一段階は翻訳対象の言語データで学習させ、第二段階で翻訳元言語と翻訳先言語をペアにしたデータ(パラレルコーパス)で学習させる二段階学習方式です。第一段階は10億~200億トークン以上の大規模データを使っての微調整になるので結構大変ですが、第二段階は比較的小規模なパラレルコーパスで良いとの事です。

オリジナルのALMA-7Bモデルはドイツ語(de)と英語(en)、中国語(zh)と英語(en)、アイスランド語(is)と英語(en)、チェコ語(cs)と英語(en)、ロシア語(ru)と英語(en)の双方向をサポートしています。これらの言語は検証用データセットが充実しているために選ばれたとの事ですが、多言語化対応がおそらく性能の底上げに貢献している事が推測されます。

そのため、ALMAの手法をほぼそのままでデータセット内での割合が最も高かったロシア語(ru)を日本語(ja)に差し替えて、第一段階から学習しなおしたのがALMA-7B-Jaです。

ALMA-7B-Ja(70億モデル)の特徴は以下です。

・比較的系サイズが小さい(13.3GB)ので無料版Colabで動く
無料版Colabで動作させるためのnotebookを公開しています。下部のリンク先で「」のボタンを押してColabを起動して試してみてください。ただし相当ギリギリで動いてるので文章が長くなるとエラーになります。Colabを使った事がない方向けの解説はイラスト生成AI用ですがColabの解説記事をご確認ください。

・量子化してサイズを小さくした版ALMA-7B-Ja-GPTQ-Ja-En(3.9GB)も公開
ただし、ALMA-7B-Jaよりは長文を扱えますが、無料版Colabだとやはりギリギリなので翻訳性能を少し犠牲にしています。量子化に伴い、日英・英日翻訳以外の能力もだいぶ劣化していると思います。量子化版はテキストファイル全体を一括翻訳するバッチモードのColabも公開しています。

・llama.cpp(gguf)版を作成してくれた方がいるのでGPUがないMacでも動く
mmngaさんが作成してくれたllama.cpp(gguf)版を使うとGPUがないMacやColabでも動かす事ができます。llama.cpp版には、12のモデルがあります。サイズを小さい版は、少ないメモリで高速に動作させることができますが、モデルの性能も低下します。4ビット(q4_0)くらいがバランスが良いと言われています。下部に全12モデルの性能を比較しやすいようにしたサンプルコードを用意し、どのモデルが貴方の作業に適切かを確認できるようにしてあります。

ALMA-7B-Jaのベンチマークスコア

英語からの各言語への翻訳スコアBLEU/COMETは以下です。

Models de cs is zh ru/jp Avg.
NLLB-54B 34.50/86.45 37.60/90.15 24.15/81.76 27.38/78.91 30.96/87.92 30.92/85.04
GPT-3.5-D 31.80/85.61 31.30/88.57 15.90/76.28 38.30/85.76 27.50/86.74 28.96/84.59
ALMA-7B(Original) 30.31/85.59 29.88/89.10 25.71/85.52 36.87/85.11 27.13/86.98 29.89/86.49
ALMA-7B-Ja(Ours) 23.70/82.04 18.58/81.36 12.20/71.59 29.06/82.45 14.82/85.40 19.67/80.57

各言語から英語への翻訳スコアBLEU/COMETは以下です。

Models de cs is zh ru/jp Avg.
NLLB-54B 26.89/78.94 39.11/80.13 23.09/71.66 16.56/70.70 39.11/81.88 28.95/76.66
GPT-3.5-D 30.90/84.79 44.50/86.16 31.90/82.13 25.00/81.62 38.50/84.80 34.16/83.90
ALMA-7B(Original) 30.26/84.00 43.91/85.86 35.97/86.03 23.75/79.85 39.37/84.58 34.55/84.02
ALMA-7B-Ja(Ours) 26.41/83.13 34.39/83.50 24.77/81.12 20.60/78.54 15.57/78.61 24.35/81.76

第一ステージの学習トークン量がオリジナルに比べて少ないのと、第二ステージで使った日英パラレルコーパスの品質/量が十分ではないのがオリジナルのALMA-7Bの性能にALMA-7B-Jaが届いてない原因と推測しています。

本モデルはまだ性能的に足りない部分があると認識していますが、第一版として需要を確認し、反響が多い用であれば第二ステージをやりなおしたり、翻訳対象ジャンルをもっと限定した様々な派生モデルを作成していこうと考えています。

3.日英翻訳モデルALMA-7B-Jaの公開関連リンク

1)arxiv.org
A Paradigm Shift in Machine Translation: Boosting Translation Performance of Large Language Models

2)huggingface.co
webbigdata/ALMA-7B-Ja
webbigdata / ALMA-7B-Ja-GPTQ-Ja-En

3)github.com
ALMA_7B_Ja_Free_Colab_sample (ALMA_7B_Ja用Colabサンプル)
ALMA_7B_Ja_GPTQ_Ja_En_Free_Colab_sample (量子化版ALMA_7B_Ja用Colabサンプル)
ALMA_7B_Ja_GPTQ_Ja_En_batch_translation_sample (量子化版ALMA_7Bでテキストファイルを一括翻訳)
ALMA_7B_Ja_gguf_Free_Colab_sample (gguf版 MacやGPUがない環境で動かしてみたい方用のサンプル)

タイトルとURLをコピーしました