Alibaba、DAMO ACADEMYよりApache-2ライセンスでマルチリンガルなLLM、[2307.06018v1] PolyLM: An Open Source Polyglot Large Language Model (arxiv.org)が出ており、機械翻訳性能を評価してみた。
HuggingFaceから利用可能でDAMO-NLP-MT/polylm-13b · Hugging Faceの他、DAMO-NLP-MT/polylm-multialpaca-13b · Hugging Faceも提供されている。
論文にデータセットや構築方法の詳細な情報があるのが非常にありがたい。13Bモデル構築に要した計算リソースは32 A100 GPU (8×80G) serversで29 daysとのこと。今後の拡張として下記が予定されているとのことで非常に楽しみである。
We are continuously enhancing the capabilities of PolyLM by focusing on the following aspects:
https://huggingface.co/DAMO-NLP-MT/polylm-13b
- Replacement of absolute position embeddings with RoPE, as outlined in the research paper here.
- Expansion of window size to more than 10,000.
- Verification of lightweight techniques to quickly enhance multilingual quality, especially for low-resource languages.
論文ではpolylm-multialpaca-13bの方が機械翻訳性能が高そうであったが制御が難しく[1]本件試行はpolylm-13bで行っている。環境はColab Pro+を用いた。bfloat16で読み込むこととGPU側で計算[2]させないとエラーになる点に注意が必要。また、A100 VRAM 40GBではメモリ制約が厳しいため特に長いコンテキストではエラーが発生する事がある[3]。本件でもOut of memory発生時はnum_beamsなどのパラメータを調整している。
性能評価に使用したデータは前回(MPT-30B-Chat + In-Context Learningの性能 | ぷるーふおぶこんせぷと (staka.jp))と同じであり50件をサンプリングして使っている。MPT-30B同様、回答部分の抽出が難しいことがありルールベースで回答部分を抽出した結果と手動抽出した結果の2通りでBLEUを算出している。
結果は下表の通り。OSSなマルチリンガルモデルとしてはかなり性能が高い。
モデル・条件 | zero shot | 1 shot [4] |
GPT-3.5 [5] | 26.7 | 37.0 |
PolyLM-13B | 10.6 | 21.5 |
PolyLM-13B ※回答部を手動抽出 | 14.1 | 25.8 |
BLEU的には1 shotで回答をうまく抽出できればGPT-3.5のゼロショットと同レベルの品質となっている。目検すると重要部分での訳ミスが多くGPT-3.5と比較してもBLEU以上に差が大きい印象。
パラメータ数13Bと1 GPUで動作可能&マルチリンガル&日本語対応のモデルがApache-2で利用可能というのはとてもありがたい。LLaMA v2の噂も出ていてオープンなLLM開発は盛り上がっている。この状況が続き良いものが出てほしいと強く思う。
脚注
[1] プロンプトをうまく調整できれば良いのかもだが、中国語の出力がされる、hallucinationが凄いなど正しい翻訳への誘導が難しいことが多かった。。
[2] 本件ではset_default_tensor_typeを使用したが、to.(‘cuda’)みたく明示的に飛ばしてもよいはず。
[3] torch.cuda.empty_cache()も呼びまくっている。
[4] OpenICL、TopkRetrieverにより取得
[5] gpt-3.5-turbo-16k-0613