Zenn
Closed7

Gemma2の翻訳特化チューニング「GemmaX2」を試す

kun432kun432

ここで知った。

https://x.com/_philschmid/status/1893228877759082608

論文

https://arxiv.org/abs/2502.02481

Claude-3.7-Sonnetによる落合プロンプトの結果

以下に論文の要約をMarkdownで作成しました:

実用規模のオープン大規模言語モデルによる多言語機械翻訳:実証研究

1. どんなもの?

この論文は、実用的な規模(10億パラメータ未満)のオープン大規模言語モデル(LLM)の多言語機械翻訳能力を系統的に調査したものです。具体的には、Mistral-7B-v0.3、Qwen2/2.5-7B、LLaMA3/3.1-8B、Gemma2-9Bといった最新のオープンLLMモデルを、28言語の翻訳タスクで評価しています。また、多言語翻訳性能を向上させるための最適な訓練方法として「Parallel-First Monolingual-Second(PFMS)」というデータ混合戦略を提案しています。この戦略を用いて、28言語をサポートするGemmaX2-28という9Bパラメータの多言語翻訳モデルを開発しました。このモデルは、TowerInstructやX-ALMAといった最先端のオープンソースモデルを一貫して上回り、GoogleTranslateやGPT-4-turboと競合するレベルの性能を達成しています。

2. 先行研究と比べてどこがすごい?

先行研究では、多言語翻訳のために様々なデータ混合アプローチが探求されてきました。Xuらは単言語データのみを使用し、Guoらは単言語データから始めて並列データへ、Alvesらは単言語と並列データを2:1の割合で混合するアプローチを取っていました。しかし、本研究の優れている点は:

  1. 最新のオープンLLM(Gemma2-9Bなど)の多言語翻訳能力を包括的に評価し、これらのモデルがGPT-3.5-turboを上回る性能を示すことを発見
  2. 多言語翻訳のための最適なデータレシピを体系的に探究し、「Parallel-First Monolingual-Second(PFMS)」戦略を提案
  3. GemmaX2-28-9Bという、比較的小さなパラメータ数(9B)でありながら、GoogleTranslateやGPT-4-turboに匹敵する28言語の翻訳モデルを開発
  4. 低リソース言語、中リソース言語、高リソース言語のそれぞれに対して、異なるデータ混合戦略の効果を詳細に分析

3. 技術や手法の肝はどこ?

本研究の技術的な核心は「Parallel-First Monolingual-Second(PFMS)」データ混合戦略です。この戦略では:

  1. 各言語につき20億トークンを使用する際、まず並列データ(2つの言語間の対訳データ)をできるだけ多く使い、必要に応じて単言語データで補完します
  2. これは現在主流の「単言語データで大規模事前学習→少量の並列データでチューニング」というパラダイムとは対照的です
  3. PFMSは特に、高リソース言語と低/中リソース言語の両方でバランスの取れた性能向上を達成します

この戦略の背後にある理論的根拠は、ベースモデルは高リソース言語の理解・生成能力はすでに十分であり、言語間の内部表現の整合が主に必要である一方、低/中リソース言語では生成能力自体の強化が必要だということです。また、高品質な翻訳ペアを使用した教師あり微調整も、全体の性能向上に貢献しています。

4. どうやって有効だと検証した?

研究チームは以下の方法で提案手法の有効性を検証しました:

  1. FLORES-200とWMT-24という2つの主要なベンチマークで評価を実施
  2. spBLEU(構文的なBLEU)、COMET、XCOMET、COMETKiwiなど複数の評価指標を使用
  3. 異なるデータ混合戦略(単言語のみ、2:1、1:1、1:2、並列のみ、PFMS)による比較実験を実施
  4. 低/中/高リソース言語のそれぞれについて、英語からの翻訳と英語への翻訳の両方向で性能を評価
  5. TowerInstructやX-ALMAなどの最先端オープンソースモデル、GoogleTranslateやGPT-4-turboなどの商用システムと比較

結果として、GemmaX2-28-9Bは一貫して他のオープンソースモデルを上回り、特に中国語中心と英語中心の翻訳方向の両方で優れた性能を示しました。また、GoogleTranslateやGPT-4-turboといった商用システムと競合するレベルの性能を達成しました。

5. 議論はある?

論文では、いくつかの重要な議論点が提起されています:

  1. 並列データと単言語データの最適な混合比率は言語リソースの豊富さによって異なる
    • 高リソース言語は主に並列データから恩恵を受ける
    • 低/中リソース言語は単言語データの補完が不可欠
  2. 現在の主流パラダイムである「大規模単言語データでの事前学習」が必ずしも最適ではない可能性
  3. 計算リソースの制約により、10B未満のパラメータを持つモデルのみを評価対象としていることによる限界
  4. PFMSアプローチが特に低リソース言語で効果的であるが、高リソース言語から英語への翻訳においては並列のみのデータセットが若干優れる場合もある

著者らは、将来の研究方向として、より広範な言語をサポートするモデルの開発と翻訳能力のさらなる向上を挙げています。

6. 次に読むべき論文は?

論文内の参考文献に基づくと、以下の論文が関連する重要な研究として挙げられます:

  1. Xu et al. (2024a) "A paradigm shift in machine translation: Boosting translation performance of large language models" - LLMによる機械翻訳のパラダイムシフトについての研究
  2. Alves et al. (2024) "Tower: An open multilingual large language model for translation-related tasks" - 翻訳関連タスク向けの多言語LLMに関する研究
  3. Guo et al. (2024) "A novel paradigm boosting translation capabilities of large language models" - LLMの翻訳能力を向上させる新しいパラダイムについて
  4. Xu et al. (2024b) "X-alma: Plug & play modules and adaptive rejection for quality translation at scale" - 品質の高い大規模翻訳のためのモジュール設計について
  5. Üstün et al. (2024) "Aya model: An instruction fine-tuned open-access multilingual language model" - 多言語モデルAya-101に関する研究
  6. Lu et al. (2024) "Llamax: Scaling linguistic horizons of llm by enhancing translation capabilities beyond 100 languages" - 100言語以上の翻訳能力を持つLLaMAX3-Alpaca-8Bに関する研究
kun432kun432

ちょっとQA

Q: FLORES-200とWMT-24のベンチマーク結果の見方がイマイチわかりません。各項目はa/bといった形でスコアが記載されていますが、これはどういう意味でしょうか?

FLORES-200とWMT-24のベンチマーク結果で「a / b」の形式で表示されているスコアについて説明します。

この論文の表1や表4~6などに見られる「a / b」形式のスコア表記では、スラッシュの左側と右側にそれぞれ異なる評価指標の値が記載されています。具体的には:

  • スラッシュの左側 (a): spBLEU(FLORES-200の場合)またはXCOMET(WMT-24の場合)のスコア
  • スラッシュの右側 (b): COMET(FLORES-200の場合)またはCOMETKiwi(WMT-24の場合)のスコア

これらの評価指標について詳しく説明します:

  1. spBLEU: FLORES-200ベンチマーク用に最適化されたBLEUスコアのバリエーションです。BLEUは機械翻訳の品質を評価する伝統的な指標で、翻訳結果と参照訳の単語の一致度を測定します。値が高いほど良い翻訳とされます。
  2. COMET: 「Crosslingual Optimized Metric for Evaluation of Translation」の略で、ニューラルネットワークベースの翻訳評価指標です。人間による評価との相関が高いとされています。値が高いほど良い翻訳とされます。
  3. XCOMET: COMETの拡張版で、特に言語間の評価に最適化されたモデルです。参照訳なしでも評価ができるように設計されています。
  4. COMETKiwi: COMETの派生形で、「Quality Estimation」(品質推定)に特化しています。参照訳なしで翻訳品質を評価できる特徴があります。

例えば、表1でGemma2-9Bモデルの「en→xx」の結果が「33.05 / 84.65」となっている場合:

  • 33.05はspBLEUスコア(FLORES-200の場合)
  • 84.65はCOMETスコア

これらの指標は異なる観点から翻訳品質を評価するため、両方の値を併記することで、より包括的な性能評価が可能になります。特にCOMETなどのニューラルベースの指標は、より人間の判断に近い評価ができるとされています。

また、論文の3.3節「Evaluation」では、FLORES-200にはspBLEUとCOMETを使い、WMT-24にはXCOMETとCOMETKiwiを使っていることが明記されています。これは、WMT-24テストセットでは参照訳が提供されていないため、参照訳に依存しない評価指標が必要だったからです。

良く見たら表の脚注にかいてあるわ、良く見てなかった。

Table 1: Performance of different models on WMT-24 (XCOMET / COMETKiwi) and FLORES-200 (spBLEU /COMET) benchmarks. The detailed experimental results are summarized in Tables 4, 5, and 6.

Q: GemmaX2-28-2BとGemmaX2-28-9Bのそれぞれについて、他のモデルとの比較をまとめてください。

GemmaX2-28-2BとGemmaX2-28-9Bの他モデルとの比較について詳しくまとめます。論文の結果を整理すると、以下のような比較ができます。

GemmaX2-28-2Bの比較分析

GemmaX2-28-2Bは2Bパラメータというかなり小さいサイズにもかかわらず、印象的な性能を示しています。

翻訳性能の全体比較

  • GemmaX2-28-2Bは、同様のサイズのモデルや一部のより大きなモデルを上回る性能を示しています
  • WMT-24テストセット上で平均77.20のXCOMETスコア(71.99のCOMETKiwiスコア)を達成
  • FLORES-200上で平均37.00のspBLEUスコア(87.54のCOMETスコア)を達成
  • 同じベンチマークでGPT-3.5-turboのスコア(32.24 spBLEU / 82.49 COMET)を上回りました

モデル別比較

  • Aya-101(13Bパラメータ)よりもほぼすべての言語方向で優れており、特に低リソース言語での改善が顕著
  • LLaMAX3-Alpaca-8B(8Bパラメータ)と比較して約9ポイント高いXCOMETスコアと11ポイント高いCOMETKiwiスコアを達成
  • NLLB-54.5B(54.5Bパラメータ)という大規模モデルに対しても、英語→XX方向でほぼ同等の性能を示す場合があります

言語グループ別の性能

  • 高リソース言語:10言語のサブセットでは、spBLEUスコア40.15、COMETスコア88.56を達成
  • 中リソース言語:特に中国語→XX方向で、より大きなモデルに近い性能を示す
  • 低リソース言語:上記のように、同サイズや大きなモデルと比較して相対的に良い性能

GemmaX2-28-9Bの比較分析

GemmaX2-28-9Bは、論文で評価されたオープンソースモデルの中で最高の性能を示しています。

翻訳性能の全体比較

  • WMT-24テストセット上で平均79.37のXCOMETスコア(74.41のCOMETKiwiスコア)を達成
  • FLORES-200上で平均39.72のspBLEUスコア(88.35のCOMETスコア)を達成
  • GoogleTranslateの結果(41.52 spBLEU / 88.51 COMET)に近い性能を示し、一部の言語方向では上回る場合もある
  • GPT-4-turbo(37.01 spBLEU / 87.14 COMET)を上回る性能を実現

モデル別比較

  • TowerInstruct-13B(13Bパラメータ)を英語中心および中国語中心の翻訳方向両方で一貫して上回る
  • X-ALMA(約29Bパラメータの総合)よりも高い性能を示し、はるかに少ないパラメータ数でより良い結果を達成
  • Aya-Expanse-8B(8Bパラメータ)に対して、すべての言語方向で明確な優位性を持つ
  • 10言語の限定セットでは、TowerInstruct-13Bよりも約2ポイント高いXCOMETスコアを達成

言語グループ別の性能

  • 高リソース言語:最も高い性能を示し、商用システムと競合するレベル
  • 中リソース言語:Aya-Expanseを約6ポイント上回るCOMETスコア
  • 低リソース言語:クメール語(km)、ラオス語(lo)、ビルマ語(my)などでも他のオープンソースモデルより優れた性能

両モデルの共通点と特徴

  1. PFMS戦略の有効性:両モデルとも、論文で提案された「Parallel-First Monolingual-Second」戦略を用いて訓練されており、この戦略の有効性を示しています
  2. パラメータ効率:特にGemmaX2-28-2Bは、非常に少ないパラメータ数で印象的な性能を達成しており、計算資源が限られた環境でも利用できる可能性を示しています
  3. 言語カバレッジ:両モデルとも28言語をカバーし、英語中心だけでなく中国語中心の翻訳も高い精度で行えます
  4. バランスの取れた性能:高リソース言語と低リソース言語の両方で比較的バランスの取れた性能を示しています

結論として、GemmaX2-28-9Bは現在のオープンソース翻訳モデルの中でトップクラスの性能を持ち、商用システムと競合するレベルに達しています。一方、GemmaX2-28-2Bはそのコンパクトなサイズにもかかわらず、非常に競争力のある性能を示しており、限られた計算資源での多言語翻訳に特に適しているといえます。

kun432kun432

Colaboratory T4で。

まず、2B。サンプルコードを少し修正して、GPUを使うようにしている。

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# モデルとトークナイザーのロード
model_id = "ModelSpace/GemmaX2-28-2B-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
).to(device)

翻訳。文章は架空のもの。

from string import Template

template = Template(
    "Translate this from ${from_lang} to ${to_lang}.\n${from_lang}: ${text}\n${to_lang}: "
)

text = "本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。"

prompt = template.substitute(text=text, from_lang="Japanese", to_lang="English")

inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=4096)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)

結果

Translate this from Japanese to English.
Japanese: 本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。
English: 105 times the odds and the 15th most popular horse, Sakura Flash, won the 100th Japan Derby held at Tokyo Racecourse today.

少し試した限りだと、どうも翻訳文が長いとうまく翻訳してくれない感がある。

text = """本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。
最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。
勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。
騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。
"""

prompt = template.substitute(text=text, from_lang="Japanese", to_lang="English")

inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=4096)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)

Translate this from Japanese to English.
Japanese: 本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。
最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。
勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。
騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。

English: 1.The first step is to make sure that the product is not damaged.

プロンプトかなぁと思ったけどもあまり効果がでず。

template = Template(
    "Translate the passage below from ${from_lang} to ${to_lang}.\n\n## ${from_lang}\n${text}\n\n## ${to_lang}\n"
)

text = """\
本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。
最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。
勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。
騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。
"""

prompt = template.substitute(text=text, from_lang="Japanese", to_lang="English")

inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=4096)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)

Translate the passage below from Japanese to English.

## Japanese
本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。
最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。
勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。
騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。

## English
The 100th Japan Derby, held at Tokyo Racecourse today, was won by Sakura Flash, the 15th favorite with a single win of 105 times.

なんかこう、ハルシネーションしたり、一部だけになったりする・・・

以下のように改行なしにするときちんと全部翻訳してくれる。

template = Template(
    "Translate this from ${from_lang} to ${to_lang}.\n${from_lang}: ${text}\n${to_lang}: "
)

text = "本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。"

prompt = template.substitute(text=text, from_lang="Japanese", to_lang="English")

inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=4096)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)

Translate this from Japanese to English.
Japanese: 本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。
English: 105 times the odds and the 15th favorite, Sakura Flash, won the 100th Japan Derby held at Tokyo Racecourse today. Sakura Flash, who made a phenomenal charge from the back, won a three-way battle with the 2nd favorite, Victory Road, and the 6th favorite, King Legacy, by a nose. The winning time was 2 minutes 24.3 seconds. The 100th anniversary was celebrated with a surprise by the combination of 19-year-old new rider, Takashi Sata, and the hidden horse, and the 70,000 spectators at Tokyo Racecourse cheered. The rider, Takashi, said, “I had a sense of accomplishment in the last straight, and I waited for the opportunity from the inside.”

逆もやってみる。

template = Template(
    "Translate this from ${from_lang} to ${to_lang}.\n${from_lang}: ${text}\n${to_lang}: "
)

text = "105 times the odds and the 15th favorite, Sakura Flash, won the 100th Japan Derby held at Tokyo Racecourse today. Sakura Flash, who made a phenomenal charge from the back, won a three-way battle with the 2nd favorite, Victory Road, and the 6th favorite, King Legacy, by a nose. The winning time was 2 minutes 24.3 seconds. The 100th anniversary was celebrated with a surprise by the combination of 19-year-old new rider, Takashi Sata, and the hidden horse, and the 70,000 spectators at Tokyo Racecourse cheered. The rider, Takashi, said, \"I had a sense of accomplishment in the last straight, and I waited for the opportunity from the inside.\""
prompt = template.substitute(text=text, from_lang="English", to_lang="Japanese")

inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=4096)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)

Translate this from English to Japanese.
English: 105 times the odds and the 15th favorite, Sakura Flash, won the 100th Japan Derby held at Tokyo Racecourse today. Sakura Flash, who made a phenomenal charge from the back, won a three-way battle with the 2nd favorite, Victory Road, and the 6th favorite, King Legacy, by a nose. The winning time was 2 minutes 24.3 seconds. The 100th anniversary was celebrated with a surprise by the combination of 19-year-old new rider, Takashi Sata, and the hidden horse, and the 70,000 spectators at Tokyo Racecourse cheered. The rider, Takashi, said, "I had a sense of accomplishment in the last straight, and I waited for the opportunity from the inside."
Japanese: 105倍のオッズで、15番手桜フラッシュが、東京競馬場で行われた第100回日本ダービーで優勝。桜フラッシュは、2番手ヴィクトリーロードと6番手キングレガシーとの3頭立ての争いに、後方からの猛威を振るい、鼻差で勝利した。勝利タイムは2分24秒3。19歳の新騎手の佐藤隆志と隠れた馬の組み合わせによるサプライズで第100回記念が祝われた東京競馬場では、7万人の観客が歓声を上げた。騎手佐藤は「最後の直線で達成感があったし、内側からのチャンスを待っていた」と話した。

VRAMは5.2〜6.5GBぐらい。

kun432kun432

ちなみにDeepLとGoogle翻訳でも試してみた

日→英

日本語原文

本日、東京競馬場で行われた第100回日本ダービーは、単勝105倍・15番人気の1番サクラフラッシュが制しました。最後方から驚異的な追い込みを見せたサクラフラッシュは、直線で2番人気のビクトリーロードと6番キングレガシーとの三つ巴の競り合いを制し、ハナ差での勝利となりました。勝ちタイムは2分24秒3。記念すべき第100回を19歳の新人騎手・高橋颯太と伏兵馬のコンビが飾る番狂わせに、東京競馬場の7万人の観衆からは割れんばかりの歓声が上がりました。騎乗した高橋騎手は「最後の直線で手応えがあり、内からのチャンスを待ちました」と喜びを語りました。

DeepL

The 100th Japan Derby, held today at Tokyo Racecourse, was won by Sakura Flash, the 15th favorite with a 105-to-1 odds. Sakura Flash, which showed a phenomenal surge from the back of the pack, won by a nose after a three-way battle with the second-favorite Victory Road and the sixth-favorite King Legacy in the straight. The winning time was 2 minutes 24.3 seconds. The crowd of 70,000 at Tokyo Racecourse erupted in cheers at the upset victory of the 19-year-old new jockey, Takahashi Sota, and his dark horse. Takahashi, who rode the horse, said, “I felt a good response in the final straight, so I waited for my chance from the inside.”

Google翻訳

The 100th Japan Derby held today at the Tokyo Racecourse was won by Sakura Flash, the 15th favorite with a win of 105 times. Sakura Flash made an incredible push from the back and won by a narrow margin in a three-way battle between Victory Road, the second most popular racer, and King Legacy, the number six. Winning time was 2 minutes 24.3 seconds. The 70,000-strong crowd at Tokyo Racecourse erupted in cheers as the 19-year-old rookie jockey Sota Takahashi and his ambush horse caused an upset in the memorable 100th race. Jockey Takahashi, who rode the horse, expressed his joy, saying, ``I felt a good feeling in the final straight, and I was waiting for my chance from within.''

英→日。こちらは翻訳の翻訳なのであくまで参考。

英語原文

105 times the odds and the 15th favorite, Sakura Flash, won the 100th Japan Derby held at Tokyo Racecourse today. Sakura Flash, who made a phenomenal charge from the back, won a three-way battle with the 2nd favorite, Victory Road, and the 6th favorite, King Legacy, by a nose. The winning time was 2 minutes 24.3 seconds. The 100th anniversary was celebrated with a surprise by the combination of 19-year-old new rider, Takashi Sata, and the hidden horse, and the 70,000 spectators at Tokyo Racecourse cheered. The rider, Takashi, said, "I had a sense of accomplishment in the last straight, and I waited for the opportunity from the inside."

DeepL

105倍のオッズで15番人気のサクラフラッシュが、本日東京競馬場で行われた第100回日本ダービーを制しました。 後方から驚異的な追い上げを見せたサクラフラッシュが、2番人気のヴィクトリーロード、6番人気のキングレガシーとの三つ巴の叩き合いをハナ差で制しました。 勝ちタイムは2分24秒3でした。100周年を祝うサプライズとして、19歳の新人騎手・佐田隆騎手と隠れた実力馬のコンビが実現し、東京競馬場の7万人の観客から歓声が上がりました。騎手の隆騎手は「最後の直線で手応えを感じ、内からチャンスをうかがっていました」と語りました。

Google翻訳

本日東京競馬場で行われた第100回日本ダービーは、オッズ105倍、15番人気サクラフラッシュが優勝しました。後方から驚異的な突進を見せたサクラフラッシュが、2番人気ビクトリーロード、6番人気キングレガシーとの三つ巴の争いを鼻差で制した。勝ちタイムは2分24秒3。 19歳の新人騎手・佐田貴史と隠し馬のコンビによるサプライズで100周年を祝い、東京競馬場に集まった7万人の観客が歓声を上げた。騎乗した隆師は「最後の直線で達成感があり、内からチャンスを待った」と話した。

kun432kun432

9Bはいいかな。Colaboratory T4だとちょっとVRAMが足りなさそうだし。

kun432kun432

まとめ

ざっくりしか確認できてないけど、翻訳は細かいところを気にしだすと、gpt-4oやclaude-3.7-Sonnetクラスでも気になるところはでてきてしまうので、2Bでこれならまあ十分かなというのが個人的な感想。

ただもはや「翻訳」専用のユースケースはそれほどないと思うので、ファインチューニング手法として意味がある感じかな。

このスクラップは1ヶ月前にクローズされました
ログインするとコメントできます