🧑‍🚀

日本語のMachine Translationモデルの比較

2023/09/28に公開

TL;DR

staka氏のfugumtが最も良さそうな訳を出力した。利用にはライセンスに注意。
次点ではHelsinki大学のモデルへHiroki Akita氏がファインチューニングを行ったモデルが最もいい感じだった。

2023/10/01追記
fugumtの出力がおかしかったのはtransformersのバージョン違いによるバグだった模様。
最初は最新版4.33.3を使っていたが、4.31.0以降はstaka氏の保守が追いついていないとのこと。
記事の出力を正しいもので更新しました。

https://x.com/voleneko/status/1694306912710565917


ライセンスが軽い翻訳モデルが公開され始めたため、ローカルマシンで日本語翻訳を使うことが可能になりました。 open source文化を作り上げる開発者の方々に感謝です。

この記事では次のモデルを使って翻訳を試してみます。

  • staka/fugumt-en-ja : staka氏が公開したモデル。ブログ方で制作の様子が伺える。余談だがこのブログは非常に深い内容で言語モデルに関する比較や洞察などが書かれており、読む価値は非常に高い。おすすめ。CC-by-sa-4.0

https://huggingface.co/staka/fugumt-en-ja

  • Helsinki-NLP/opus-mt-en-jap : ヘルシンキ大学のLanguage Technology Research Groupが公開している複数の機械翻訳モデルの1つ。Apache-2.0

https://huggingface.co/Helsinki-NLP/opus-mt-en-jap

  • Helsinki-NLP/opus-tatoeba-en-ja : 上のモデルをさらにTatoeba DatasetでFine-Tuneしている。Apache-2.0

https://huggingface.co/Helsinki-NLP/opus-tatoeba-en-ja

  • Hoax0930/marian-finetuned-kde4-en-to-ja : Hiroki Akita氏が公開したモデル。opus-tatoeba-en-jaへ更にKDE4でFine-Tuneしている。Apache-2.0

https://huggingface.co/Hoax0930/marian-finetuned-kde4-en-to-ja

  • Hoax0930/marian-finetuned-kde4-en-to-ja_kftt : Helsinki-NLP/opus-tatoeba-en-jaをなにかのデータセット (ひょっとするとKFTTか?)でFine-Tuneしている。Apache-2.0

https://huggingface.co/Hoax0930/marian-finetuned-kde4-en-to-ja_kftt

  • Hoax0930/marian-finetuned-kftt_kde4-en-to-ja : Hoax0930/kyoto_marian_mod_2_2_1をなにかのデータセットでFine-Tuneしている。Apache-2.0

https://huggingface.co/Hoax0930/marian-finetuned-kftt_kde4-en-to-ja

検証コード

全てのモデルが同じインターフェースで使える。すごい世の中になったものである。


from transformers import pipeline

def infer(name: str, text: str):
    model_reserve = {
        "fugumt": pipeline(
            "translation", 
            model="staka/fugumt-en-ja", 
            device=0),
        "helsinki": pipeline(
            "translation", 
            model="Helsinki-NLP/opus-mt-en-jap", 
            device=0),
        "helsinki_tatoeba": pipeline(
            "translation", 
            model="Helsinki-NLP/opus-tatoeba-en-ja", 
            device=0),
        "hoax0930_kde4": pipeline(
            "translation", 
            model="Hoax0930/marian-finetuned-kde4-en-to-ja", 
            device=0),
        "hoax0930_kde4_kftt": pipeline(
            "translation", 
            model="Hoax0930/marian-finetuned-kde4-en-to-ja_kftt", 
            device=0),
        "hoax0930_kftt_kde4": pipeline(
            "translation", 
            model="Hoax0930/marian-finetuned-kftt_kde4-en-to-ja",
            device=0),
        }
    model = model_reserve[name]
    ans = model(text)
    return ans


# quick brown fox
# "Pride and Prejudice": Jane Austen
# "Alice's Adventures in Wonderland": Lewis Carroll
# "Attention Is All You Need": Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
# "RMT: Retentive Networks Meet Vision Transformers": Qihang Fan, Huaibo Huang, Mingrui Chen, Hongmin Liu, Ran He
# Monad (category theory): From Wikipedia
src = [
    "The quick brown fox jumps over the lazy dog.",
    "It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is considered the rightful property of some one or other of their daughters",
    "All in the golden afternoon. Full leisurely we glide. For both our oars, with little skill, By little arms are plied, While little hands make vain pretence. Our wanderings to guide.", 
    "We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train.",
    "Transformer first appears in the field of natural language processing and is later migrated to the computer vision domain, where it demonstrates excellent performance in vision tasks. However, recently, Retentive Network (RetNet) has emerged as an architecture with the potential to replace Transformer, attracting widespread attention in the NLP community. Therefore, we raise the question of whether transferring RetNet's idea to vision can also bring outstanding performance to vision tasks.",
    "In category theory, a branch of mathematics, a monad (also triple, triad, standard construction and fundamental construction) is a monoid in the category of endofunctors of some fixed category. An endofunctor is a functor mapping a category to itself, and a monad is an endofunctor together with two natural transformations required to fulfill certain coherence conditions. Monads are used in the theory of pairs of adjoint functors, and they generalize closure operators on partially ordered sets to arbitrary categories. Monads are also useful in the theory of datatypes, the denotational semantics of imperative programming languages, and in functional programming languages, allowing languages with non-mutable states to do things such as simulate for-loops.",
    ]
model_list = [
    "fugumt",
    "helsinki",
    "helsinki_tatoeba",
    "hoax0930_kde4",
    "hoax0930_kde4_kftt",
    "hoax0930_kftt_kde4",
]

for txt in src:
    print("---------------------------------------------------------")
    print(txt)
    print()
    for model in model_list:
        ans = infer(model, txt)
        print(model)
        print(ans)
        print()

比較実験

参考にGoogle TranslateとDeepLによる訳も乗せる。

quick brown fox

原文
The quick brown fox jumps over the lazy dog.

Google
素早い茶色のキツネが怠惰な犬を飛び越えます。

DeepL
素早い茶色の狐は怠け者の犬を飛び越える。

fugumt
速い茶色のキツネは怠け者犬を飛び越えます。

helsinki
生 け る 者 は , いな き 犬 の よう に ,

helsinki_tatoeba
ぴかぴか の 茶色 の キツネ が , 怠惰 な 犬 の 上 を 飛び越え ます。

hoax0930_kde4
ぴかぴかの茶色のキツネが野良犬の上を飛び跳ねる。

hoax0930_kde4_kftt
ぴかぴかの茶色のキツネが、怠け者なペットの上を飛び跳ねる。

hoax0930_kftt_kde4
サトイモの犬を飛び越えた早口のキツネ。

高慢と偏見 Jane Austen

原文
It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is considered the rightful property of some one or other of their daughters.

Google
幸運を手にした独身男性は妻を必要としているに違いないというのは、広く認められている真実です。 たとえそのような男性が初めて近所に足を踏み入れたときの感情や見解がほとんど知られていなかったとしても、この真実は周囲の家族の心にしっかりと固定されているため、彼は彼らの娘の誰かの正当な所有物であると考えられています。

DeepL
財産を持つ独身男性には妻が必要であることは、誰もが認める真実である。そのような男性が初めて近所に越してきたとき、どのような感情や見解を持っていたかはあまり知られていないかもしれないが、この真実は周囲の家族の心にしっかりと刻まれ、その男性は娘たちのうちの何人かの正当な所有物とみなされる。

DeepLは流石の精度である。

fugumt
裕福な一人の男が妻を欲しがっていることは、普遍的に認められている真実である。しかし、そのような男の感情や見解が彼の最初の近所に入るかもしれないことはほとんど知られていない。この真実は、周囲の家族の心の中でとてもよく固定されているので、彼は誰かまたは他の娘の正当な財産と見なされている。

かなりいい感じだ。ニュアンスなどは良くないが、英語を読むときに補助的に見るくらいの運用なら十分実用に耐える。

helsinki
善 を 行 う こと は , 良 い こと で あ っ て , 良 い こと を 知 ら な い 人 は , 妻 と し て の もの で あ る . しかし , 若 い 人 は 初め に , いつ も その 親族 を 知 っ て い る で あ ろ う . もし か し た ら , 知 っ て い る なら , 若 い 人 は , 心 を こめ て , その ふところ に はい る こと が でき る . しかし , ほか の 人 は 正し い こと を 知 る よう に な る .

helsinki_tatoeba
この事実は、周囲の遺族、彼がいずれかのいずれかまたは他の娘の正当な財産とみなすことができるように、そのような人の感情又は見解は、彼が最初に近所に入るかもしれない

hoax0930_kde4
一般的に認識されるのは、縁起の良い男を持つ単一の男性は、妻を必要としている必要があります。しかし、そのような男性の感情や考えが、その人が初めて近所に入るかもしれないとは言え、この真理は、周囲の家庭の心にとてもよく固定されているので、彼はいずれかのいずれかまたは他の娘の正当な所有物と見なされています。

hoax0930_kde4_kftt
一般的に認識されるのは、縁起の良い一人の男性は、 妻を必要としている必要があります。そのような男性の感情や考えは、 彼の最初の近所に入ることにあるかもしれません。 この真理は、周囲の家庭で非常によく固定されているので、彼は何人かの娘の正当な所有物と見なされています。

marian-finetuned-kde4-en-to-ja_kfttは今回比較するモデルの中では正確なことが多く感じる。

hoax0930_kftt_kde4
福をもつ一個人が妻を欲す事は事実ではあるが、そもそもその人物が最初に飛び込んでくると、その人物の感情や見識は不明であろうが、この事実は周囲の家庭の真意を極めてよく留めており、一人で他の娘の財産と考えられているものもある。

不思議の国のアリス Jane Austen

原文
All in the golden afternoon. Full leisurely we glide. For both our oars, with little skill, By little arms are plied, While little hands make vain pretence. Our wanderings to guide.

Google
すべては黄金の午後に。 たっぷりのんびり滑走します。 私たちの両方のオールは、少しの技術で、小さな腕が組み上げられ、小さな手が無駄なふりをします。 私たちの放浪をガイドします。

DeepL
黄金の午後。私たちはのんびりと滑っている。私たちのオールは、小さな腕で、小さな技巧で、小さな手は、虚しいふりをしながら。私たちの放浪を導くために。

Google翻訳より詩的な雰囲気を残しながら翻訳できていてすごい。

fugumt
すべては黄金の午後です。ゆっくりと滑空します。私たちのおびただしいスキルを持つ両方のオールのために、小さな腕がかかっていますが、小さな手は無駄なふりをします。ガイドするために私たちのさまよう。

helsinki
また 金 の 財宝 に つ い て も , みな 金 の 指揮 を し た . わたし たち は 寛容 を 手 に よ っ て 強 く な っ た の で , 少しの 姿 の 強 い 腕 を 持 っ て い る . われ ら の 育て は 人 の 手 に よ っ て 強 く な る の で あ る .

helsinki
また 金 の 財宝 に つ い て も , みな 金 の 指揮 を し た . わたし たち は 寛容 を 手 に よ っ て 強 く な っ た の で , 少しの 姿 の 強 い 腕 を 持 っ て い る . われ ら の 育て は 人 の 手 に よ っ て 強 く な る の で あ る .

helsinki_tatoeba
私たち は , 手 の 込ん だ オール と , 手 の 込ん だ 小さな オール と で , 小さな 手 で 滑空 し て い ます が , 手 は ほとんど 役 に 立ち ませ ん。

hoax0930_kde4
ゴールデン・午後の誰にでも 滑空します

hoax0930_kde4_kftt
ゴールデン・午後のすべて、我々は完全に滑空します。小さな手を使って、小さな手で、小さな手で引き分けられます。

詩の文で難しいタスクであるものの、かなり惜しい。

hoax0930_kftt_kde4
黄金の刻(午後)、さくらべろのロケ。我が塔は手薄で素手で、手も空いている。

これはこれで詩的で好き。

"Attention Is All You Need"

著: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin

原文
We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train.

Google
私たちは、再帰と畳み込みを完全に省き、アテンション メカニズムのみに基づいた、新しいシンプルなネットワーク アーキテクチャである Transformer を提案します。 2 つの機械翻訳タスクの実験では、これらのモデルは品質が優れていると同時に、より並列化可能であり、トレーニングに必要な時間が大幅に短縮されることが示されています。

DeepL
我々は、再帰と畳み込みを完全に排除し、注意メカニズムのみに基づく新しいシンプルなネットワークアーキテクチャ「トランスフォーマー」を提案する。2つの機械翻訳タスクでの実験により、これらのモデルが、並列化可能で学習時間が大幅に短縮される一方で、品質的に優れていることを示す。

fugumt
本稿では,注意機構のみに基づく新しい単純なネットワークアーキテクチャであるTransformerを提案する。2つの機械翻訳タスクの実験は,これらのモデルがより並列化可能であり,トレーニングに要する時間が大幅に少ないことを示す。

少し訳し漏れがある。

helsinki
われわれ は 一 つ の 小さ い 罪 の な い 者 を 細か に し た . アンデケン に は 目 を つけ , ぐり を は い っ た . その 上 に は スシフナ , ネア が あ り , クミンネケモン が い た く , これ ら 二 つ の 綱 を な す 者 が い る . そして これ ら の 記録 は 時 に 知れ な い .

翻訳モデルとしてはダメだが、詩的なサンプルテキストを書くときに使えそう。

helsinki_tatoeba
2つの機械翻訳作業の実験では,これらのモデルはより互換性があり,訓練の時間がかなり少ないのに,質の高いモデルであることが示されています.

hoax0930_kde4
Name

hoax0930_kde4_kftt
Name

marian-finetuned-kde4-en-to-jamarian-finetuned-kde4-en-to-ja_kfttなぜか急に出力が変になっており、何回か行ったが再現した。謎。

hoax0930_kftt_kde4
二つの機械訳作業の実験結果、新しい簡易な網羅構造の斜陽を、着目機構のみで機械用語・駆逐で説明し、性能が優れる上に、稽古の時間も大幅に短縮するまでの工夫がなされている。

"RMT: Retentive Networks Meet Vision Transformers"

著: Qihang Fan, Huaibo Huang, Mingrui Chen, Hongmin Liu, Ran He

原文
Transformer first appears in the field of natural language processing and is later migrated to the computer vision domain, where it demonstrates excellent performance in vision tasks. However, recently, Retentive Network (RetNet) has emerged as an architecture with the potential to replace Transformer, attracting widespread attention in the NLP community. Therefore, we raise the question of whether transferring RetNet's idea to vision can also bring outstanding performance to vision tasks.

Google
Transformer は最初に自然言語処理の分野で登場し、その後コンピューター ビジョンの分野に移行され、ビジョン タスクで優れたパフォーマンスを実証しました。 しかし、最近では、Transformer に代わる可能性のあるアーキテクチャとして Retentive Network (RetNet) が登場し、NLP コミュニティで広く注目を集めています。 したがって、RetNet のアイデアをビジョンに移すことで、ビジョン タスクにも優れたパフォーマンスをもたらすことができるかどうかという問題を提起します。

DeepL
Transformerは自然言語処理の分野で最初に登場し、その後コンピュータ・ビジョンの領域に移行し、ビジョン・タスクで優れた性能を発揮している。しかし最近、Transformerに取って代わる可能性のあるアーキテクチャとしてRetNet(Retentive Network)が登場し、自然言語処理コミュニティで広く注目を集めている。そこで、RetNetのアイデアを視覚に転用することで、視覚タスクにも優れた性能をもたらすことができるのではないかという疑問を提起する。

fugumt
トランスフォーマーはまず自然言語処理の分野で登場し、後にコンピュータビジョン領域に移行し、視覚タスクにおいて優れたパフォーマンスを示す。しかし、最近、Retentive Network(RetNet)はTransformerを置き換える可能性のあるアーキテクチャとして登場し、NLPコミュニティで広く注目を集めている。したがって、RetNetのアイデアを視覚タスクに転送することで、視覚タスクに優れたパフォーマンスをもたらすことができるかどうかという疑問が提起される。

helsinki
終り は 最初 の 舌 の 中 に あ っ て , 三 分 の 一 が あ り , その 審判 を な す べ き こと を 示 す の で あ る . しかし , こう し て , それ は 幻 を 封じ る こと と , 大言 壮語 の ため に , 幻 を 封じ る こと の でき る 者 が あ る . それ ゆえ , わたし たち は 人々 の 証言 を 封 する の だ . 彼 ら は 欺 く べ き 顔 を 封じ る こと の でき る .

helsinki_tatoeba
トランスフォーマーは,自然言語処理の分野で最初に登場し,その後,コンピュータビジョンのドメインに移住し,ビジョンのタスクの優れたパフォーマンスを証明します。しかし最近では,Respentive Netscape (RetNet) は,変換機に取って代わって、NLP コミュニティで広く注目を喚起するアーキテクチャとして登場しました。したがって,RetNet の構想を移転させることが,ビジョンの重要なパフォーマンスをも生ずることができるのかという疑問を提起します.

hoax0930_kde4
トランスフォーマーは、自然言語処理のフィールドに最初に現れ、その後はコンピュータビジョンドメインに移行します。ここで、ビジョンのタスクの優れたパフォーマンスを反映しています。しかし、最近では、リテントネットワーク(RetNet)が、NLP コミュニティに広い注意を引き付ける可能性があるアーキテクチャとして登場しました。したがって、RetNet のアイデアがビジョンのタスクにも優れたパフォーマンスをもたらせるかどうかを尋ねます。

hoax0930_kde4_kftt
トランスフォーマーは、自然言語処理のフィールドに最初に現れ、後でコンピュータビジョンのドメインに移行し、ビジョンの作業で優れたパフォーマンスを反映します。しかし最近では、リフォートネットワーク(RetNet)は、変換機を置き換え、NLP コミュニティに広い注意を促すアーキテクチャとして登場しました。したがって、RetNet のアイデアが視覚に有用なパフォーマンスをも生み出せるかどうかを尋ねます。

hoax0930_kftt_kde4
天然語学の分野で初めて登場し、その後、コンピュータビジョンに移り住んだが、その実証的課題を高度に表現した超常型ネットワーク(リトネット)が、近年、リヴォルによるリニューアルネットワークが形成され、国立国会図書館において人気が高まっている。

Monad (category theory) from Wikipedia

原文
In category theory, a branch of mathematics, a monad (also triple, triad, standard construction and fundamental construction) is a monoid in the category of endofunctors of some fixed category. An endofunctor is a functor mapping a category to itself, and a monad is an endofunctor together with two natural transformations required to fulfill certain coherence conditions. Monads are used in the theory of pairs of adjoint functors, and they generalize closure operators on partially ordered sets to arbitrary categories. Monads are also useful in the theory of datatypes, the denotational semantics of imperative programming languages, and in functional programming languages, allowing languages with non-mutable states to do things such as simulate for-loops.

Google
数学の一分野である圏論では、モナド (トリプル、トライアド、標準構築、基本構築とも) は、ある固定圏のエンドファンクター圏のモノイドです。 エンドファンクターはカテゴリーをそれ自体にマッピングするファンクターであり、モナドは特定の一貫性条件を満たすために必要な 2 つの自然な変換を備えたエンドファンクターです。 モナドは随伴関手のペアの理論で使用され、部分的に順序付けされたセットの閉包演算子を任意のカテゴリに一般化します。 モナドは、データ型の理論、命令型プログラミング言語の表示意味論、および関数型プログラミング言語でも役立ち、非可変状態を持つ言語で for ループのシミュレーションなどを実行できるようになります。

DeepL
数学の一分野であるカテゴリー理論において、モナド(トリプル、トライアド、標準構成、基本構成とも)とは、ある固定カテゴリーのエンドファンクターのカテゴリーにおけるモノイドのことである。エンドファンクタは、カテゴリをそれ自体にマッピングするファンクタであり、モナドは、特定のコヒーレンス条件を満たすために必要な2つの自然変換と一緒にエンドファンクタです。モナドは隣接ファンクタのペアの理論で使われ、部分順序集合上の閉包演算子を任意のカテゴリーに一般化する。モナドはデータ型の理論、命令型プログラミング言語の意味論、関数型プログラミング言語でも有用であり、非可変状態を持つ言語がfor-loopをシミュレートすることなどを可能にしている。

GoogleとDeepLは語彙数がとても多く、特にDeepLは表現についても完璧といって差し支えない。

fugumt
圏論において、モナド(モナド、モナド、モナド、モナド、モナド、モナド、トリプル、標準構成、基本構成)とは、ある固定圏のエンディクタの圏におけるモノイドである。エンディクタは圏をそれ自体にマッピングする関手であり、モナドは、あるコヒーレンス条件を満たすのに必要な2つの自然変換とともに、エンディクタである。モナドは、随伴関手の対の理論で使用され、部分的に順序付けられた集合上の閉包作用素を任意の圏に一般化する。モナドは、データ型理論、命令型プログラミング言語の表記的意味論、関数型プログラミング言語においても有用である。

同義語を並列した部分でchatteringしているものの、それ以外では良好な訳になっている。

helsinki
人々 は , 入 る まま に し て は い な い の で あ る . それ は 時 を 設け る の で あ っ て , クモネ ガイ の 行 と 審判 を 受け る こと に な っ て い る . こう し て , さと す の で あ る . 彼 ら は 入 る さ れ て い る が , 入 る の で あ る .

helsinki_tatoeba
カテゴリ理論では,数学の枝,立体的,標準的,建設的,基礎的構造は,一定のカテゴリの末端の区分に属する単体である. 内包詞は,カテゴリを自らに割り当てるファクターであり,同義語は特定の結合条件を満たすために必要な2つの自然な変換を伴うものである.

hoax0930_kde4
カテゴリの数学では、数学の枝 (立方体、標準構造、基本的な構造) は、固定したカテゴリの末面の二等分体に属する一等式です。末面は、カテゴリを独自のカテゴリに割り当てることの虚数体です。また、母体は特定の等和条件を満たすために必要な 2 つの自然な変換を伴います。同義語は、一対の交点の方程式に用いられます。一般に任意の型を設定し、プログラミングを順序的にセットします。また、プログラミング言語やプログラミングを行わせる際にも有用です。

hoax0930_kde4_kftt
カテゴリの数学では、数学の枝 (立方体、標準構造、基礎的な構築) は、固定されたカテゴリの末端構造のカテゴリを一意に構成するものです。末面は、カテゴリを独自のカテゴリに割り当てる際に使います。また、同義語は、ある条件を満たすために必要な 2 つの自然な変換を伴います。同義語は、一対の同義語の真理に準じて使用され、一般に任意の分類を順序的にセットします。また、プログラミング言語やプログラミングを行わせる際にも有用です。

少し昔のGoogle翻訳くらいの精度は出ている。

hoax0930_kftt_kde4
部門説では、数学の分派(三尊立像、基本建築の敷地)は一部の固定品種の種別である。

感想

なぜかfugumtがうまく動かなかったのは未だに原因を特定できていない。本来の動作であればGPT-3.5以上のBLEUが出るモデルなはずであり、直り次第結果を更新する。他のモデルではmarian-finetuned-kde4-en-to-ja_kfttが良さそうだった。ライセンス的にも使いやすいため、流行ること請負いだろう。

fugumtmarian-finetuned-kde4-en-to-ja_kfttは良好な訳を出力できる。
transformersのバージョンを4.31.0にすることでバグを回避できる。

Discussion