PyTorchからスクラッチで実装したGRPOで、Reddit投稿の要約タスクにQwen2.5-0.5B-Instruct bf16モデルをRedditポスト要約タスクで学習してみた—更新![P]

Reddit r/MachineLearning / 2026/4/15

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical UsageModels & Research

要点

  • Redditの投稿では、PyTorchでスクラッチ実装したGRPOを用いて、Reddit投稿の要約タスクにQwen2.5-0.5B-Instruct bf16モデルをファインチューニングし、成功したことが報告されています。
  • 著者は報酬設計の実験を行っており、まずはquality_reward(ROUGE-L)にlength_penaltyを加えた形から始め、その後「gaming(報酬を得るための最適化)」や出力の劣化が起きるかどうかをテストするために、lengthペナルティ単体を報酬として使う予定です。
  • 学習のセットアップには小規模なMLクラスタを使用しており(Mac Miniを3台)、1台のノードでGRPO学習を実行し、残り2台のノードでvLLMによりロールアウトを生成します。
  • 学習の2つのバリアントを比較します:length-penaltyのみ vs. length-penaltyに加えて品質報酬(BLEU/METEOR/ROUGE-Lを選択肢として言及)を用いるもの。さらに、平均ロールアウト長が約64トークンといったロールアウト挙動を追跡します。
  • 評価はLLM-as-a-judge(gpt-5)を用い、DeepEvalベースのルーブリックで、信頼性(faithfulness)、網羅性(coverage)、簡潔さ(conciseness)、明瞭さ(clarity)を別々の軸で採点します。
Qwen2.5-0.5B-Instruct bf16モデルをRedditで訓練し、要約タスクでGRPOをPyTorchからスクラッチで実装した投稿 - 更新![P]

さて、昨日の実行は成功で、添付の画像にあるとおり平均ロールアウト長が約64トークンになりました!

これは quality_reward + length_penalty(詳細は下記!)でした。

次は、報酬として length penalty を使い、トークンとして文字数を数えてしまうミスを修正した上で、システムを“だます”ようなことが起きないか、あるいは出力が劣化していないかを確認します!使用した報酬は2つです:

  • length_penalty:基本的には、-abs(応答長 - MAX_LENGTH)
  • quality_reward:ROUGE-L。これは要するに、上記のデータセットの一部として持っていた正解要約のLCSで、生成される応答全体にある程度の構造が保たれることを確実にするためのものです。
  • セットアップ:MLXを実行するクラスター上で、Mac Miniを3台。

1ノードがGRPOで学習を駆動し、2ノードがvLLMでロールアウトを投入します。2つのバリアントを学習しました:

  • length penaltyのみ(ベースライン)
  • length penalty + quality reward(BLEU、METEOR、および/またはROUGE-L)

評価:LLM-as-a-Judge(gpt-5)

  • DeepEvalを使って、各要約を4つの軸でスコアリングするジャッジのパイプラインを構築しました:
  • 忠実性 — 記憶違い(ハルシネーション)がソースに対してない
  • カバレッジ — 重要なポイントが捉えられている
  • 簡潔さ — 短く、冗長さがない
  • 明瞭さ — それ自体で読みやすく、劣化を最小限にする。

https://preview.redd.it/7nrsulwdkbvg1.png?width=800&format=png&auto=webp&s=a3306b54ca63c6557534d9393b2d9b099c4b1b03

https://preview.redd.it/xlcnme2gkbvg1.png?width=800&format=png&auto=webp&s=57073ff1a9aea796d04aae5ef6d22fee1939d30b

submitted by /u/East-Muffin-6472
[リンク] [コメント]

PyTorchからスクラッチで実装したGRPOで、Reddit投稿の要約タスクにQwen2.5-0.5B-Instruct bf16モデルをRedditポスト要約タスクで学習してみた—更新![P] | AI Navigate