📝

「Syn Pro」開発レポート:AWS TrainiumとRFTによる高性能日本語LLMの実現

に公開

はじめに

カラクリ株式会社ではこの度、Upstage社との共同開発で日本語LLM 「Syn Pro」 を開発し、2025年10月に公開しました。
https://www.upstage.ai/blog/ja/upstage-ai-jp-syn-pro


なお「Syn Pro」は、経済産業省とNEDOが主催するGENIAC PRIZEで利用可能な「国産基盤モデル」として認定申請中です。

以下では、その開発内容について紹介します。

開発の概要

Syn Proは、Upstage社製LLM 「Solar Pro 2」 を日本語用にローカライズしたモデルとなっています。
https://www.upstage.ai/blog/en/solar-pro-2-launch
なお、カラクリでは以前にも「Syn」を開発しており、2025年の3月に公開しています。これはUpstage社製LLM「Solar Mini」の日本語ローカライズモデルでした。
https://about.karakuri.ai/?p=1589
ベースとなるSolarモデルについて、前回との違いとしては

  • パラメータサイズが10Bから31Bへと増加
  • thinkingモードの搭載 (no-thinkingモードへの切り替えも可能)
  • 推論能力の向上 (特に数学・コード・関数呼び出し)

などが挙げられます。
今回の開発では、前回よりも大きいパラメータサイズに対応しつつ、元のモデルが持つ推論能力を維持したまま日本語対応することが求められました。

開発方針

以上の要件を踏まえて、次の方針で開発を行いました:

  • AWS Trainiumを用いた分散学習
  • 棄却サンプリングによるファインチューニング(RFT)
  • Nejumi Leaderboard4を用いた評価

それぞれの項目について詳しく見ていきます。

AWS Trainiumでの分散学習

カラクリでのLLM開発では、以前よりAWS Trainiumを利用してきました。過去に開発したモデルやAWS Trainiumの利用方法の詳細については、以下の記事をご確認ください。
https://karakuri.ai/news/GENIAC
https://zenn.dev/karakuri_blog/articles/f8d97eee4ee282
また今月よりAWS Trainiumでの学習におけるより実践的な内容を解説する 「AWS Trainium 50本ノック」 を連載中です。こちらもあわせてご確認ください。
https://zenn.dev/karakuri_blog/articles/77d93c40b27b60

さて、今回の開発でもAWS Trainiumを用いて分散学習を行いました。
ここで前回からのパラメータサイズの増加に対応するために、次に挙げた各種並列化を行なっています:

  • テンソル並列(TP):パラメータテンソルを分割
  • パイプライン並列(PP):階層ごとに分割
  • コンテキスト並列(CP):入力コンテキストを分割

これらの並列化を施した学習を行うため、AWS公開の分散学習ライブラリである NxD Training (NxDT) を利用しました。
AWS Trainiumを用いた学習では、専用チップに対応するモデル実装と学習手法の実装を行う必要があります。NxDTではそれらチップ対応の実装がされており、かつ今回利用する高度な並列化にも対応しています。実装済みのモデルや学習手法を利用するのであれば、学習設定を編集するだけで分散学習が可能となります。

今回は既存のモデル実装を参考にモデル対応をした上で、TP, PP, CPにて学習を行いました。なお推論能力の維持のために、棄却サンプリングによるファインチューニング(Rejection Sampling Fine-Tuning; RFT) も行いましたので詳細を解説します。

棄却サンプリングによるファインチューニング(RFT)

RFTでは、元のモデル自身に生成させた質の高いデータによってファインチューニングを行うことで、教師あり学習の枠組みで強化学習に近い効果を目指します。
今回のケースでのデータの生成方法は、具体的には以下のようになります:

  1. 日本語の質問データ(プロンプト)を作成
  2. 各プロンプトに対し、Solar Pro 2自身が推論して複数の回答を生成
  3. 第三者のモデルとルールベース報酬を併用して回答を評価し、閾値以上のものを採用

ここで回答の評価については、今回の学習の目標に合わせて以下のような基準を設けていました:

  • 文章が日本語として自然であるか。不自然に外国語が混ざっていないか。
  • そもそも回答が論理的に正しいかどうか。有用性や無害性などで問題がないか。

上記の方針をもとに、日本語での多様な会話に対応するデータを用意し、棄却サンプリングを行ってQAデータを作成しました。
なお複数の回答生成が必要ということから推論部分を効率化する必要があり、その部分にAWS公開の分散推論用ライブラリであるNxD Inferenceを用いています。

またモデルに与えるデータの大部分を上記の生成QAとしましたが、それ以外にもいくつかのデータを追加しています。そのうちの一部を以下で挙げます:

  • 学習安定性のための、ベースモデル学習に使われたデータ
  • 回答フォーマットや特定タスクに対応するデータ

これらデータの混合比率については、評価時の出力の様子を見ながら適切な割合を模索し、細かい調整を行いました。

Nejumi Leaderboard4での評価

最後に、モデルの評価に用いたNejumi Leaderboard4について触れます。
https://nejumi.ai/
Nejumi Leaderboardは、Weights & Biases社が公開・運営する日本語能力を測るためのリーダーボードです。2025年8月にversion 4が公開され、以前のものから推論能力や専門知識のための高難易度ベンチマークおよびコーディング・関数呼び出しなどのタスクが追加されました。その観点で今回の開発に最適と考え、評価対象として採用しました。

2025年10月21日現在、Syn Proの総合スコアは0.7273で、有力な商用LLMを含む全体ランキングの中で17位に位置しています。
さらにNejumi Leaderboard4のトータルスコアに加え、MT-Benchなどの主要なベンチマークにおけるSyn Proの具体的な性能について、他の代表的なモデルと比較した結果を以下に示します。

モデル名 トータルスコア MT-Bench (対話能力) JMMLU (専門的知識) MGSM (数学的推論) SWE-Bench (コーディング) HumanEval (コーディング) BFCL (関数呼び出し)
Syn Pro 0.7273 0.9637 0.90 0.88 0.2375 0.4296 0.5451
Qwen3-235B-A22B 0.7214 0.9556 0.88 0.88 0.1250 0.3459 0.6179
GPT-5 nano 0.7174 0.9400 0.85 0.87 0.2625 0.1086 0.5012
GPT-OSS-120B 0.7014 0.9563 0.84 0.73 0.2875 0.3140 0.5840
Gemini 2.5 Flash 0.6969 0.7744 0.85 0.68 0.2375 0.3937 0.6198

Syn Proについて特筆すべき点は、対話能力を測るMT-Benchのスコアが高いことで、このベンチマークに限れば全体でも3位のスコアとなっています。また推論能力を測る各種ベンチマークについても、他の代表的なモデルと遜色ないスコアが出ています。

まとめ

本稿では、Upstage社製「Solar Pro 2」をベースとした日本語LLM「Syn Pro」の開発プロセスについて、特に技術的な側面に焦点を当ててご紹介しました。
今回の開発の鍵は、これまで紹介したデータ生成・学習・評価の一連のサイクルを迅速に回すプロセスそのものにありました。特に、評価結果を分析し、即座に次のデータ生成や学習データの混合比率にフィードバックするイテレーションが、大規模モデルの性能向上に不可欠でした。

カラクリでは、AWS Trainiumを用いた大規模分散学習の実践的な知見を、現在連載中のAWS Trainium 50本ノックなどを通じて引き続きコミュニティに発信していきます。本記事が、LLM開発に取り組む方々の一助となれば幸いです。

最後になりますが、今回の開発を成功に導いた共同開発パートナーであるUpstage社、および強力な学習基盤を提供してくださったAWSチームに心より感謝申し上げます。

KARAKURI Techblog

Discussion