10の言語を、
たがいに訳す。
Serval は、翻訳だけを行う小さな LLM です。10の言語のどれからどれへでも、90通りの向きで訳せます。ファイルは1つ(約1.1GB)で、ネットにつながずに手元の機械で動きます。右の訳は、実際に CPU で訳したときの記録を、同じ速さで再生しています。
DEDeutsch
JA日本語
※ 原文は見本用に書いた架空の文です。訳文は Serval の出力そのままで、手を入れていません(言い回しの硬いところも、そのまま載せています)。秒数は、CPU で訳したときの記録です。
65分の1の大きさで、
差は1.2点。
gpt-oss-120b(1,170億パラメータ)と同じ文を訳して、同じ物差しで採点しました。点は COMET(人が訳した正解にどれだけ近いかを、0〜100で表す指標)です。黄色が Serval、白が gpt-oss-120b です。
※ 自社での実測(2026年11月、Serval は Q4_K_M、gpt-oss-120b は reasoning effort medium)。Serval が上回ったわけではなく、小さいまま近い点を出せる、という結果です。くわしい条件はページの最後に。
90の向き、
ひとつずつの点。
縦が元の言語、横が訳す先の言語です。色が濃いほど点が高くなります。マスを選ぶと、その向きの Serval と gpt-oss-120b の点を並べて表示します。
↓ 元の言語訳す先の言語 →
JA → EN
- Serval
- –
- gpt-oss-120b
- –
- 差
- –
※ FLORES-200 devtest から、1つの向きにつき100文。点は COMET(wmt22-comet-da)を100倍した値です。
クロアチア語は、
あとから教えた。
Serval の元になったモデル(Hy-MT2-1.8B)は、クロアチア語に対応していません。訳させると、隣の言語の単語や、キリル文字が混じりました。そこで約32万組の対訳を用意して追加学習し、ほかの9言語の力を落とさずに、クロアチア語を足しました。下は、同じ文を学習の前とあとで訳した結果です。
JA
学習の前(元のモデル)
学習のあと(Serval)
※ 黄色は、キリル文字が混じった単語です。学習の前は元のモデルの Q4_K_M、あとは Serval の Q4_K_M で、どちらも今回あらためて計測しました。原文は FLORES-200(CC BY-SA 4.0)の文です。
CPUだけで、
1文 1〜2秒。
左は、GPU のない機械で Serval が1文を訳す様子です。右の2つは参考で、96GB の GPU を積んだサーバーに、Serval と gpt-oss-120b をそれぞれ載せた場合です。どれも実際の記録を同じ秒数で再生していて、早送りはしていません。
CPU だけ
ServalGPU なし・8スレッド
0.0秒
参考:GPU サーバー
Serval同じサーバーの GPU に載せた場合
0.0秒
参考:GPU サーバー
gpt-oss-120b96GB の GPU が要ります
0.0秒
※ 自社での実測(2026年11月)。1件ずつ順に送ったときの、送ってから訳が出そろうまでの時間です。原文は FLORES-200(CC BY-SA 4.0)の文です。
指示文は、
1つだけ。
訳す先の言語の名前と、原文を入れるだけです。固有名詞の訳を決めておきたいときは、前に対応表を足します。重みは1つのファイルで、llama.cpp でそのまま動きます。
指示文
Translate the following text into Japanese. Note that you should only output the translated result without any additional explanation:
{原文}名前の訳を決めておく(用語集)
Reference the following translations: 伏見稲荷大社 translates to Fushimi Inari-taisha Translate the following text into English. Note that … {原文}
起動(llama.cpp)
llama-server -m serval-Q4_K_M.gguf \ -c 4096 -t 8 --jinja --port 8091
公開中重みをダウンロード →
- system プロンプトは付けません。user に、上の指示文を1つだけ入れます。
- 設定は temperature 0、repetition_penalty 1.05 です。
- 中国語が入る向きでは、指示文も中国語にします(将以下文本翻译为…)。
- 元のモデル Hy-MT2-1.8B は Apache-2.0 です。Serval のモデルは、変更点を明記し、CatsAI モデルライセンスで配ります。 仮
- スマホ(Android・iOS)でも llama.cpp で動かせる大きさです。実機での速さの計測は、これから行います。 予定
日本の旅に、
合わせた版も。
Serval を土台に、日本の観光地・駅・料理など約1万1千件の名前が入った旅行の文で、追加学習した版です。難しい地名の読みを、間違えにくくなります。さらに、アプリの側で名前の対応表(用語集)を付けると、名前はほぼ決めたとおりに訳されます。同じ作り方で、御社の分野に合わせた版も作れます。
地名・施設名を、正しく訳せた割合
- テストに使った地名は、学習には入れていません。一般の文の点は、Serval より 0.2〜0.4 点下がります。
※ 自社で作った旅行の文 2,160件(日本語と9言語の間、18方向)での実測。名前の一覧は Wikidata(CC0)から作りました。見本の原文はテスト用に作った文で、案内の内容は事実と限りません。
1つの文を、
9つの言語へ。
文を選ぶと、ほかの9言語へ1つずつ訳します。訳す言語を1つだけ選ぶこともできます。時計は、訳にかかった実際の秒数です。
実際のモデルが、このサーバーの CPU だけで、いま訳しています
1文を選ぶ元の言語
JA
2訳す言語
文を書き換えて、好きな文を訳せます。
モデルに送る指示文
0.0秒
測り方と、
相談。
- 文: FLORES-200 devtest(人が訳した正解つき、CC BY-SA 4.0)から、10言語の90方向 × 100文 = 9,000文。あわせて WMT24++ の英語から9言語、1,800段落。
- 物差し: COMET(wmt22-comet-da)を100倍した値。訳文が人の訳にどれだけ近いかを、原文も見て採点する指標です。
- 旅行版: 学習に使っていない場所の文 2,160件。正解の訳は、gpt-oss-120b が名前の対応表を見ながら作ったものです。そのため、この文での gpt-oss-120b の点は参考として載せています。
- 実施: 2026年11月、Vast.ai の RTX PRO 6000(96GB)1台。正式な公開前に見直します。