EuroLLM-9Bはヨーロッパで構築されたオープンソースの大規模言語モデルで、EUの全公用言と11の非公用語(商業的に重要ではあるが)を含むヨーロッパ言語向けに調整されている。開発チームによると、その性能は、このサイズのヨーロッパ製LLMの中で最高のものだという。
EuroLLM-9Bは、EuroLLMイニシアチブで作成された2番目のLLMであり、より小型のEuroLLM-1.7Bから数ヶ月後に登場した。
EuroLLM-9Bのヨーロッパ言語に対して性能向上を果たした重要なコンポーネントはトークナイザーであり、ヨーロッパ言語に属する128,000語の語彙を用いて構築されている。このモデルは、バルセロナを拠点とするスーパーコンピューターMareNostrum5が提供するGPUインフラを使用して、約4兆個のトークンで事前学習された。
トレーニング後の段階では、EuroLLMチームは、一般に公開されているデータセットを使ってモデルを微調整し、複数ターンの会話を処理できるようにし、instruction-following※モデルとして動作するようにした。チームの目標のひとつは、特定のユースケースに合わせて微調整するようモデルの適性を示すことだった。 ※訳者補足:自然言語に従って行動させること。大規模言語モデルのコアとなる機能。
チームによると、このモデルはサポートされているすべての言語にわたるテキストの翻訳に優れており、その作業ではGemma-2-9B-ITやAya-expanse-8Bよりも優れた性能を発揮する。
モデルの性能を評価するため、チームは英語とEU言語の両方でベンチマークを実行した。当然のことながら欧州言語の場合、EuroLLMは、Mistral-7BV、Salamandra-7Bなどの欧州言語モデルはもちろん、LLama-3.1-8B、Qwen-2-5-7Bなどの非欧州言語モデルのいずれをも上回り、Gemma-2-9Bに対して同等の結果を示した。英語については、EuroLLM-9BはMistral-7Bと同程度の良好な結果を示している。
予想通り、9Bモデルは70Bモデルの性能には及ばない。しかし、スコアは非常に良好で、特にビームサイズを4にした場合、大型モデルに著しく近づいている。
このモデルはHugging Faceで公開されており、以下のスニペットのように実行できる。
from transformers import AutoModelForCausalLM, AutoTokenizermodel_id = "utter-project/EuroLLM-9B-Instruct"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained(model_id)messages = [ { "role": "system", "content": "You are EuroLLM --- an AI assistant specialized in European languages that provides safe, educational and helpful answers.", }, { "role": "user", "content": "What is the capital of Portugal? How would you describe it?" }, ]inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")outputs = model.generate(inputs, max_new_tokens=1024)print(tokenizer.decode(outputs[0], skip_special_tokens=True))
何人かのRedditユーザーが指摘しているように、ヨーロッパ言語に合わせたオープンソースのモデルの必要性は現実的だ。Llama 3.3 70Bのような大きなモデルでさえも、微調整のコストは言うまでもなく、満足のいくパフォーマンスが得られない可能性があるからだ。
EuroLLMチームは、より大きなモデルとの競争力を高めるため、すでにこのモデルの大きなバージョンに取り組んでいる。しかし、いつ利用可能になるかは明らかにしていない。