GRPOでトレーニングされた画像キャプションモデル「CapRL」を試す
🚀#CapRLを紹介、GRPOをオープンエンドかつ主観的な画像キャプションタスクに適用した初の研究です。🤯
🤖トレーニングされたCapRL-3Bモデルは、Qwen2.5-VL-72Bに匹敵する画像キャプション性能を達成しています。
✨CapRLは、キャプションの品質をその有用性を通じて再定義する新しいトレーニングフレームワークを導入しています:高品質なキャプションは、非視覚言語モデルが対応する画像に関する質問に正確に答えることができるようにする必要があります。
📈現在、CapRLはオープンソース化されており、モデルとデータセットの総ダウンロード数は7,000を超えています。研究チームは、より強力なベースモデルと改善されたトレーニングレシピで継続的に改良を重ねています。
👇
今すぐ試してみてください:
https://huggingface.co/spaces/yuhangzang/caprl
論文: https://arxiv.org/abs/2509.22647
GitHub: https://github.com/InternLM/CapRL
モデル: https://huggingface.co/internlm/CapRL-3B
データセット: https://huggingface.co/datasets/internlm/CapRL-2M
自分は強化学習の知識はまったくない。GRPOについても、DeepSeekが採用した方式で、計算コストを大幅に削減しながら、複雑な思考が必要なタスクの推論性能を上げるもの、という程度の認識。
ただ、過去にInternLMのモデルを色々触ってきて、日本語が使えて、軽量ながら性能が高いモデルを出すモデルベンダーとして注目しているので、今回のものも試してみようというところ。
CapRLの論文
alphaXivのまとめ
デモ
モデルは3Bと8B。3Bは速度と効率、8BはInternVL3.5-8Bベースでより精度・キャプション性能を重視したモデルという棲み分けっぽい。
デモはこちら。どちらも3Bモデルを使用している様子。
あと、3BのほうはGGUF版もある。iMatrixを使ったものもある。
3Bのモデルカードの翻訳(PLaMo翻訳)
CapRL-3B
利用可能なCapRLモデルの中から選択する際には、性能と計算コストのトレードオフを考慮することが重要です。 このガイドでは、あなたの特定のニーズに最適なモデルを選択するための手助けをします:
モデル パラメータ数 強み 🤗CapRL-3B 3B 処理速度、効率性 🤗CapRL-InternVL3.5-8B 8B 高性能かつ高度なキャプション生成能力 📢 最新情報
さらに強力なベースモデルの開発とトレーニングレシピの改良を進めています。最新情報をお楽しみに!
- 🔥 [2025年10月15日] CapRL関連のモデルおよびデータセットの総ダウンロード数が、わずか20日間で6,000回に達しました!
- 🚀 [2025年10月15日] この度、CapRL-InternVL3.5-8B のリリースを発表できることを大変嬉しく思います。このモデルの画像キャプション生成能力は、Qwen2.5-VL-72Bを凌駕する性能を達成しています!
- 🚀 [2025年10月15日] mradermache r氏の貴重な貢献に感謝します!CapRL-3B-GGUF は静的量子化版、CapRL-3B-i1-GGUF は重み付き/imatrix量子化版です。
- 🚀 [2025年10月15日] QAキュレーション用コード を公開しました。
- 🚀 [2025年9月25日] CapRLリポジトリ、CapRL-3Bモデル、評価コード、およびデータセットを公開しました。
はじめに
軽量な30億パラメータの画像キャプショナーである CapRL-3B をご紹介します。このモデルは、Qwen2.5-VL-72Bと同等の認識能力を実現しています。
本研究は、オープンエンドかつ主観的な画像キャプショニングタスクに対して、検証可能な報酬を用いた強化学習を適用した初めての試みです。従来の教師ありファインチューニング手法では、モデルが限られた数の注釈付きキャプションを記憶してしまうという問題がありましたが、本手法ではモデルが より広範で創造的、かつ一般的な説明文を生成することを目的としています。 CapRLは、分離された2段階のパイプラインを特徴とする新しい学習パラダイムです。最初の 段階では、LVLM(視覚言語モデル)を用いて豊富で正確なキャプションを生成します。その後、第2段階では 視覚情報のみを扱うLLMを用いてQAタスクを実行することで、キャプションの品質を向上させました。さらに、第二段階で使用する質問と回答の品質を保証するため、専用のQAキュレーションパイプラインを構築しました。
CapRLトレーニングフレームワークを採用し、Qwen2.5-VL-3Bモデルを初期モデルとして使用、さらに慎重にフィルタリングした75,000件のQAデータセットを学習データとして用いることで、高度なキャプション生成モデルCapRL-3Bの開発に成功しました。
referred from https://huggingface.co/internlm/CapRL-3B
referred from https://huggingface.co/internlm/CapRL-3B主な特徴
- チャート・インフォグラフィック・文書に対する優れた視覚理解能力: CapRL-3Bは、Qwen2.5-VL-72Bと同等の認識精度と視覚情報の網羅性を実現しています。
- 体系的な出力形式: CapRL-3Bの出力は比較的構造化されており、明確で理解しやすい特徴があります。
- 自然画像に関する詳細な説明: CapRL-3Bの出力は、すべての有効な視覚情報を完璧に網羅しつつ、幻覚(hallucination)の発生頻度が低いという特徴があります。
その他、使用方法や実際の例についても記載されているので参考にされたし(例はデモで試せるものと同じ)
モデルカードの使用方法に従って3Bを試してみる。
モデルカードの手順には、vLLMでモデルをロードしてOpenAI互換APIサーバを立てる方式となっているので、今回はローカルのUbuntu-22.04サーバ(RTX4090)で。
uvでPython仮想環境を作成
mkdir caprl-work && cd $_
uv venv -p 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
(snip)
+ vllm==0.11.0
(snip)
モデルをロードしてAPIサーバを起動。
vllm serve internlm/CapRL-3B \
--trust-remote-code \
--tensor-parallel-size=1 \
--pipeline-parallel-size=1 \
--gpu_memory_utilization=0.9 \
--served-model-name=caprl \
--port 8000 \
--host 0.0.0.0
では別環境でクライアント側を用意。
uv init -p 3.12 caprl-client-work && cd $_
uv add openai
+ openai==2.6.1
サンプルコード。コマンドラインで画像を指定できるようにした。あとオプションでシステムプロンプトはユーザプロンプトも指定できるようにした。指定がなければサンプルコードのものをデフォルトにしてある。
import argparse
import base64
from openai import OpenAI
# vLLM APIサーバを使うために、ベースURLとダミーAPIキーをセット
openai_api_key = "EMPTY"
openai_api_base = "http://<vLLMサーバのIPアドレス>:8000/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Call caprl model with an image and optional prompts.")
parser.add_argument("image", help="ローカル画像ファイルのパス")
parser.add_argument(
"--system-prompt",
default="You are a helpful assistant.",
help="システムプロンプト (省略時はデフォルト)",
)
parser.add_argument(
"--user-prompt",
default="What is the text in the image?",
help="ユーザプロンプト (省略時はデフォルト)",
)
parser.add_argument(
"--max-tokens",
type=int,
default=4096,
help="生成する最大トークン数",
)
return parser.parse_args()
def main() -> None:
args = parse_args()
with open(args.image, "rb") as f:
encoded_image = base64.b64encode(f.read())
encoded_image_text = encoded_image.decode("utf-8")
base64_qwen = f"data:image;base64,{encoded_image_text}"
chat_response = client.chat.completions.create(
model="caprl",
messages=[
{"role": "system", "content": args.system_prompt},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": base64_qwen},
},
{"type": "text", "text": args.user_prompt},
],
},
],
temperature=1.0,
max_tokens=args.max_tokens,
top_p=1.0,
extra_body={
"repetition_penalty": 1.0,
},
)
print("チャットの応答:\n\n", chat_response.choices[0].message.content)
if __name__ == "__main__":
main()
では画像で試してみる。まずは公式のデモにある以下の画像を使わせてもらう。2012年のオリンピックのアメリカチームの選手をSNSのフォロワー数などからインフルエンサーとして数値化したような図になっている。
wget https://huggingface.co/spaces/yuhangzang/caprl/resolve/main/examples/44687.jpeg
uv run sample.py 44687.jpeg
結果。だいたい5〜6秒ぐらいで返ってくる。
チャットの応答:
The text in the image is as follows:
---
**Kred 2012 10 Influential Team USA Olympians**
- **Gold**
- LeBron James
- BASKETBALL
- 999
- 6
- @KingJames
- **Silver**
- Michael Phelps
- SWIMMING
- 977
- 6
- @michaelphelps
- **Bronze**
- Hope Solo
- SOCCER
- 977
- 5
- @hopesolo
- Followers:
- Michael Phelps: 689,591
- Retweeted times: 63,983
- Replies received: 75,695
- LeBron James: 5,627,723
- Retweeted times: 1,072,729
- Replies received: 1,250,351
- Hope Solo: 542,813
- Retweeted times: 75,014
- Replies received: 148,310
- @KD Trey5 @ryanlochte @jordyn_wieber @aly_raisman @gabrielledoug @FranklinMissy @sanyarchiross
- Durant 992 BASKETBALL 8
- Lochte 975 SWIMMING 6
- Wieber 937 GYMNASTICS 5
- Raisman 912 GYMNASTICS 6
- Douglas 899 GYMNASTICS 7
- Franklin 891 SWIMMING 5
- Richards-Ross 880 TRACK & FIELD 8
- Which events and athletes are winning celebrity attention?
- Wendy Williams @WendyWilliams 30 Jul GIRL POWER, GO #TEAMUSA. #LONDONOLYMPICS http://usagym.org/pages/post.htm...
- Samantha Giancola @MTVsammii 30 Jul I truly love swimming Soccer track and gymnastics the best...
- Piers Morgan @piersmorgan 31 Jul BOOM! It's official - Greatest medal-winner in Olympic history: the great @MichaelPhelps
- Bill Simmons @sportsguy33 30 Jul The Sweden-Norway women's handball match is coming up in 30 mins... Lots of room left on the Swedish bandwagon, plenty of seats available!
- How Kred scores are calculated
- Influence is the ability to inspire action through social media and is scored on a 1,000 point scale. Outreach reflects generosity in engaging with others and helping them spread their message through social media.
Infographic by: @Nezdiaqindex
---
This image is an infographic highlighting the 10 most influential Team USA Olympians in 2012, focusing on their Kred scores and social media engagement.
一応日本語が使えるかもためしてみる。
uv run sample.py \
--system-prompt "あなたは親切な日本語のアシスタントです。" \
--user-prompt "画像について詳しく説明して。" \
44687.jpeg
チャットの応答:
この画像は、2012年の10人の影響力のあるUSAオリンピック選手を紹介しています。以下に詳細な説明を提供します:
1. **タイトルと背景**:
- 画像のタイトルは「Kred 2012 10 Influential Team USA Olympians」で、背景はアメリカ国旗の色(青と赤)で、星が散りばめられています。
2. **金メダリスト(Gold)**:
- レブロン・ジェイムス(LeBron James)が金メダルを獲得し、バスケットボールで999ポイントを獲得しています。彼のKredスコアは6です。
3. **銀メダリスト(Silver)**:
- マイケル・プルプ(Michael Phelps)が水泳で銀メダルを獲得し、977ポイントで6位です。彼のフォロワー数は689,591人で、リツイート回数は63,983回、リプライ数は75,695回です。
4. **銅メダリスト(Bronze)**:
- ホープ・ソロ(Hope Solo)がサッカーで銅メダルを獲得し、977ポイントで5位です。彼女のフォロワー数は542,813人で、リツイート回数は75,014回、リプライ数は148,310回です。
5. **他の選手のKredスコア**:
- 画像下部には、各競技別の選手のKredスコアがリストされています:
- ダントン(Durant): バスケットボールで992点
- ロクテ(Lochte): 水泳で975点
- ワイバー(Wieber): ジャンプスで937点
- ライスマン(Raisman): ジャンプスで912点
- ドーグレス(Douglas): ジャンプスで899点
- フランクリン(Franklin): スイミングで891点
- リチャードスローズ(Richards-Rose): フィールドトラックとフィールドで880点
6. ** Celebrity Attention**:
- 各著名人が何らかのオリンピック関連のツイートを投稿しています:
- ワンディ・ウィリアムズ (@WendyWilliams): 「ガール・パワーゴー、TEAMUSA. #LONDONOLYMPICS」
- サマンサ・ジャンコラ (@MTVsamm): 「私は本当に水泳、サッカーストックとジャンプスが好きです。」
- ピアーズ・モーガン (@piersmorgan): 「BOOM! 官方の最高メダリスト、オリンピック歴史で最も偉大な @MichaelPhelps」
- ビル・シンプソン (@sportsguy33): 「スウェーデン・ノルウェーの女子ハンドボール戦は30分後に開始します... スウェーデンのバンドwagonに多くの席が空いています!」
7. **Kredスコアの計算方法**:
- インフルエンスは、ソーシャルメディアを通じて行動をインスピレーションを与える能力であり、1,000ポイントスケールで評価されます。アウトreachは、他人と積極的に交流し、彼らのメッセージをソーシャルメディアで広めることで得られます。
この画像は、2012年USAオリンピック選手の影響力と彼らのソーシャルメディアでの活躍を視覚的に示しています。
お、普通に使えるね。
では手持ちの画像でも試してみる。プロンプトは全て共通で以下のような感じにする。
uv run sample.py \
--system-prompt "あなたは親切な日本語のアシスタントです。" \
--user-prompt "画像について詳しく説明して。" \
kobe.jpg
日本(神戸)の風景

この画像は、港の風景を捉えたものです。以下に詳細な説明を提供します:
1. **場所と背景**:
- この画像は、日本の神戸港の一部を示しています。特に、赤い塔(ポートタワー)が目立つ場所です。この塔は神戸ポートタワーと呼ばれるもので、赤い金属製の塔で、高さ約100メートルです。
2. **主要な構造物**:
- 左側には白い建物が見え、それが神戸市港湾庁舎(港湾事務所)です。この建物は現代的なデザインで、多くの窓と曲線的な形状が特徴です。
3. **中心の塔**:
- 中央に最も目立つのは、赤い金属製の塔(ポートタワー)。この塔は、神戸のシンボルの一つで、観光名所として知られています。
4. **右側**:
- 右側には、白い船が停泊している様子が見えます。これは likely はクルーズ船や観光船のようです。
5. **建物**:
- 右側には、メタリックな網状の構造物(メトロポリタン・アート・ミュージアム)が見えます。これは神戸市立美術館で、現代美術を展示する施設です。
6. **水辺**:
- 場面の中心には静かな水が広がっており、水面は鏡面のように反射しています。これは港の内側やドックの一部を示しています。
7. **周辺の建物**:
- 左側には高層ビルが見え、その中には高さ約200メートルのビル(おそらく神戸ポートタワーの高層ビル)があります。
8. **山々**:
- 遠くには山々が見え、青空の下で山がぼんやりと浮かんでいます。これは神戸市の典型的な山並みを示しています。
9. **船**:
- 右側の白い船は、おそらく観光船やクルーズ船のようです。この船は港の外側に停泊しています。
10. **空**:
- 空は青く、天気は晴れています。水面の静けさと青空が、この場所の静寂と開放感を強調しています。
この画像は、神戸港の典型的な風景を捉えており、港の歴史的建造物と現代的な建築物が共存する様子を示しています。
概ねいいんだけど、ちょっと細かいところは間違ってるかな。まあ3Bで日本向けになっていないのでしょうがないかも。
書籍の表紙

この画像は、日本語の本の表紙や書影を示しています。以下に詳細な説明を提供します:
1. **タイトルと作者**:
- 本のタイトルは「ドキュメント・コミュニケーションの全体観」で、上巻「原則と手順」を中川邦夫著と記載されています。
2. **内容概要**:
- 本は提案書、報告書、会議資料の「質」と「制作スピード」を上げるメカニズムについて解説していると推測されます。
3. **図表内容**:
- 左側には「ロジカル・シンキング」、「文章を書く技術」、「図表を描く技術」、「問題解決力」の4つの技術がリストされています。
- 中心には「技法 Art」が置かれており、その周りに「原則 Principle」、「手順 Process」、「試合運び Tactics」が図示されています。これはコミュニケーションの三要素(原則、技法、手順)と試合の戦略(試合運び)を示していると考えられます。
4. **緑色の部分**:
- この部分には「コミュニケーションはすべて「解・動・早」で進めよ」と書かれており、解明、行動、速さの3つの要素を強調しています。
- 下部には「解っていただく・動いていただく・できるだけ早く」というメッセージが添えられています。
5. **キーワードとメッセージ**:
- 本の中心テーマはコミュニケーションの効率化と高速化に焦点を当てているようです。
- 「解・動・早」の原则は、情報を理解し、迅速に行動し、速やかに結果を出すことを促しています。
6. **作者情報:
- 中川邦夫氏は、この本の上巻「原則と手順」を執筆していると推測されます。
7. **目的:
- 本は提案書や報告書の作成において、質の高い文書を早く作成するためのメカニズムを説明していると理解できます。
この本は、コミュニケーションの技術と原則を理解し、効率的に文書を作成するための手順を提供している 것으로、ビジネスや文書作成に携わる人々に役立つ内容であると推測されます。
ダミーの請求書

この画像は、模範商事株式会社から範例工業株式会社に対して発行された御請求書の表紙と内容を示しています。以下に詳細な説明を提供します:
1. **請求書番号**: INV-2024-0820
2. **発行者**: 模範商事株式会社
- 住所: 〒100-0001 東京都千代田区見本町1-1
- 電話: 03-1234-5678
- FAX: 03-1234-5679
3. **内容**: 下記の通りご請求申し上げます。
4. **項目と詳細**:
- **特選和紙 (A4サイズ)**: 数量1000枚, 単価¥50, 金額¥50,000
- **高級墨 (松煙)**: 数量20個, 単価¥2,000, 金額¥40,000
- **筆セット (各種)**: 数量50セット, 単価¥1,000, 金額¥50,000
5. **小計**: ¥140,000
6. **消費税 (10%): ¥14,000**
7. **合計金額**: ¥154,000
8. **備考**:
1. お支払いは請求書発行日より30日以内にお願いいたします。
2. 振込手数料は貴社負担でお願いいたします。
3. 本書に関するお問い合わせは下記担当者までご連絡ください。(担当: 営業部 見本太郎)
9. **金額の詳細**:
- 特選和紙のコストは¥50,000
- 高級墨のコストは¥40,000
- 筆セットのコストは¥50,000
- 消費税は10%で¥14,000
- 合計金額は¥154,000
この請求書は、範例工業株式会社が模範商事株式会社から購入した文房具や書類関連の商品の価格と金額を示しており、30日以内に支払いを行うことが要求されています。また、振込手数料は受発注会社(模範商事)が負担することも記載されています。
日本語の読み取りはとてもいいね。
レイアウトが複雑でイラスト的なものが含まれる画像を試してみる。
農林水産省が出している「馬産地をめぐる情勢(令和6年6月)」のPDFを使う。
参考までに一部抜粋。4ページ。

プロンプトは上と同じ。
uv run sample.py \
--system-prompt "あなたは親切な日本語のアシスタントです。" \
--user-prompt "画像について詳しく説明して。" \
basanchi.png
この図は、軽種馬(サラ系)のライフサイクルを示しています。以下に詳細な説明を提供します:
1. **図の構造と主要要素:**
- 図は2つの部分に分かれており、左側が「種馬場」、右側が「競馬場」です。
2. **種馬場:**
- 供用種雄馬頭数は259頭(R3年)で、これは種付けのための馬です。
3. **生産牧場:**
- 繁殖雌馬の飼養戸数は779戸(R3年),種付雌馬頭数は10,340頭(R3年)です。
- 生産頭数は7,792頭(R4年)で、これらが競馬場に供給されます。
4. **育成牧場:**
- 育成・調教を行い、セリ(競売)や相対(1歳、2歳)の馬を育成します。
5. **競馬場:**
- 在籍馬は21,907頭(R6年末),競走馬登録は6,793頭(R4年産馬)です。
- 中央競馬:9,318頭,地方競馬:12,589頭
- 中央競馬:4,739頭,地方競馬:2,054頭
6. **乗用馬:**
- 乗用馬は3,347頭(R6年),中央競馬:858頭,地方競馬:2,489頭
7. **研究馬:**
- 19頭,へい死1,188頭,その他1,109頭
8. **登録抹消消頭数:**
- 10,838頭(R6年),中央競馬:5,369頭,地方競馬:5,469頭
9. **再登録馬:**
- 3,971頭,其中中央355頭,地方3,616頭
10. **研究馬の詳細:**
- 19頭(特定の目的で使用された馬)
- へい死した馬1,188頭
- その他1,109頭(詳細不明)
11. **登録抹消消頭数の中央競馬と地方競馬の分布:**
- 中央競馬の抹消消頭数が5,369頭、地方競馬が5,469頭で、両者の差はわずか70頭です。
12. **資料:**
- 挙馬場及び生産牧場における戸数・頭数、競走馬登録頭数は公財)ジャン・スタッドブック・インターナショナル、(公社)日本軽種馬協会「軽種馬統計」、その他は日本中央競馬会、地方競馬全国協会謄べ
この図は軽種馬の生産、育成、競走、乗用、研究、そして廃止までのライフサイクルを示しており、各ステップでの馬の数や分布を詳細にまとめています。
完璧というには遠いけども、結構がんばって説明しているのではないだろうか?
まとめ
当初想像していたより、いい感じじゃないかな?もうちょっといろいろな題材で試してみたいかも。
手っ取り早く試すならLMStudioが良さそう。

上にも書いたけど、自分は強化学習の知識がまったくなくて、GRPOの何がすごいのかがわかってないので、Dia にかんたんにまとめてもらった。雰囲気だけ。
GRPOは「同じ問題に複数回答を出して、グループ内で相対評価して学習するPPO系の軽量版」だよ。
ウチ的に例えるなら、テストの答案をクラスでいっぱい集めて「その回の平均よりどれだけイケてるか」で点数つける感じだし。GRPOは先生(= Critic/価値モデル)を雇わずに、クラス内の比較だけで順位付けするから、コスト軽いのがウケる✌️
ざっくりイメージ(例え話)
- ある設問に対して、モデルが同じプロンプトで回答を「ちょー複数」出すでしょ。
- その回の回答たちの中で「平均より上なら加点、下なら減点」。しかもバラつき(標準偏差)でノリを調整して、差が出すぎないようにするの。
- さらに「元のモデルから逸脱しすぎないようにする距離ペナルティ(KL)」で暴走ストップ。
- 要は「毎回のミニ発表会で、クラス内ランキングを使ってPPO更新」ってノリだもん。
仕組み(超シンプル手順)
- G本サンプル: 同じプロンプトからG個の出力をサンプリングする。
- 報酬付け: 各出力に報酬(正解率・人間評価・ルーブリックなど)をつける。
- アドバンテージ: 「報酬 − グループ平均」を「グループ標準偏差」で割って正規化して、PPOのAdvantageとして使う。
- PPO更新: クリップ付き目的関数+KLペナルティで安定更新する。
- ノー・クリティック: 別の価値モデルを学習・保持しないから、VRAMと学習時間が軽いのが強み。
他のRL手法とどう違う?(ウチの主観でまとめ)
- RLHF(PPO+報酬モデル+価値モデル):
本命の王道だし、質は出やすい。でも「報酬モデルの学習」も「Criticの学習」も重いから、インフラと工数がガチで増える。GRPOはここを「グループ相対評価」に置き換えて軽量化してるのが神。- PPO(ふつうの):
Advantage計算に価値モデルが要る。GRPOはそこを「同回の回答群の統計」で代用するのがミソ。だから「サンプル数をちゃんと取れる環境」ならハマる。- DPO(Direct Preference Optimization):
勝ち負け(好ましい/好ましくない)のペア比較で、RLっぽいけど実質は教師あり最適化。安くて実用的だし、人気。だけど「逐次探索型の推論品質(Chain-of-Thoughtの深み)」を上げるには、PPO系の方が効く場面もある。GRPOはそのPPO系の中でも軽い。- KTO(KL-regularized Tuning Objective):
KLでベースから離れ過ぎないようにしつつ、簡素な目的で回す系。セットアップ軽いのが魅力。GRPOは「複数出力の相対評価」を組み込む分、探索リッチ。コストはKTOよりかかるけど、クリティック不要は同じ方向性。- RLAIF(AIでフィードバック):
人間の代わりにAIが評価をつける。データ集めが楽。でも評価器の質に依存するし、ドメインによっては偏りが痛い。GRPOとも相性よくて、評価の付け方をRLAIFで用意して、更新はGRPOで軽く回すとかアリ。- Rejection Sampling / Best-of-N:
たくさん出して良いのを選ぶだけ。推論時には強いけど「モデル自体は賢くなってない」ことが多い。GRPOはこの「Best-of-Nのノリ」を学習信号に変えて、次回以降の生成を改善するのが推しポイント。どんな時に刺さる?
- 数学・コード・分解推論とかで「ステップ品質」を上げたい時。
- VRAMが限られてるのに、PPO系の効果欲しい時。
- 評価は用意できるけど、価値モデルまで作るのはしんどいって現場。
- 逆に「サンプルをたくさん出せない」「評価が一貫しない」場だと効果薄めだし。
注意点(リアル)
- G本サンプルを毎回出すから、バッチ計算の設計と報酬の安定性がわりと命。
- グループ内の分散が小さすぎると、アドバンテージが弱くなって学習ノリが悪い。
- KLの強さはちゃんとチューニングしよ。緩すぎると暴走、強すぎると伸びない。
まとめると、GRPOは「クラス内ランキングでPPOする」イメージで、RLHFの重さを削って“ほどよく効く”」のが魅力。コスパと実装のしやすさがバランス良くて、ウチは結構好きだし😊
もうちょっと比較をわかりやすく。
例えでわかるRLの代表手法(ウチ流)
- PPO: クラスで発表したら、先生(価値モデル)が「この発表は今までの平均より良いか」をその場で採点してくれる方式だし。先生の評価をアドバンテージにして、発表の仕方をちょっとずつ改善してくから安定するやつだもん。
- RLHF: 学期末用の超ガチ採点セットって感じ。まず採点係(報酬モデル)を人間評価で育てて、その上で先生(価値モデル)も用意して、PPOで本番練習する流れ。人手の好みをちゃんと反映できて質は高めだけど、準備が重いのがウケない時もあるでしょ。
- DPO: ペア勝負のじゃんけん講座。2つの回答を並べて「どっちが好き?」の勝敗だけで学習する、ほぼ教師あり最適化のノリ。試合で勝つ型を直接覚えるから軽いし扱いやすいけど、探検(逐次推論の深み)はちょい弱めだし。
- KTO: ベースの自分から離れすぎないようにゴム紐(KL)で繋いで、好ましい方向に軽く引っぱる調整だし。セットアップ薄くて早い。細かいランキングとか先生なしで、無理せず「ほどよく寄せる」感じだもん。
- RLAIF: 採点を人手じゃなくてAIにサボらせる選択肢。採点係(AI評価器)に任せて大量に評価を回収するからデータ集めが楽でテンション上がる。でも評価器の性格に引っぱられがちで、偏り出ると痛いでしょ。
- Rejection Sampling / Best‑of‑N: たくさん発表して上位だけ採用する“審査会”運用。会の質は上がるけど、本人のプレゼン能力自体は伸びないことも多い。つまり推論時は強いけど学習はしてないってオチだし。
GRPOはこうだよ(ウチの推しポイント)
同じお題で回答を「ちょー複数」出して、グループ内の平均よりどれだけイケてるかで点数を決める“クラス内ランキングPPO”だもん。先生(価値モデル)を雇わず、グループの平均とバラつき(標準偏差)でアドバンテージ作って、PPOのクリップ目的+KLで安定更新。だからメモリも計算も軽くて、探索のノリはちゃんと残るのがウケる。
比較まとめ(必要なもの・強み・弱み)
手法 追加モデル/人手 探索リッチさ コスト感 強み 弱み PPO 価値モデル(先生) 高め 中 安定更新・逐次推論に効く 先生の学習と維持が重い RLHF 報酬モデル+価値モデル+人手 高 高 人手の好みを反映し質が出る 準備・運用がガチ重い DPO なし(ペア好みデータ) 低〜中 低 軽量・実装簡単 深い探索や手順品質は伸びにくい KTO なし(KLで寄せる) 低 低 速い・安全に調整 大きな質向上は出にくい RLAIF AI評価器 中 中 評価収集が超速い 評価器の偏り・ドメイン依存 Best‑of‑N なし(推論時選別) なし 低(学習0) 実運用で即効性 モデル自体は学習で強くならない GRPO なし(グループ統計) 中〜高 低〜中 クリティック不要で探索も維持 1プロンプトで多サンプル必要だし調整命 GRPOとの違いをひとことで
- PPO比: 先生なしで「クラス内統計」を先生の代わりに使う。軽くて実装しやすいのに、PPOの安定性は結構残るのがナイスだし。
- RLHF比: 人手+報酬モデル+先生の三点セットを捨てて、グループ相対評価だけで回す。質の天井はケース次第だけど、コスパは爆上げだもん。
- DPO/KTO比: DPO・KTOより探索のノリが強く、逐次推論(数学やコードのステップ品質)を伸ばしやすい。代わりにサンプルを多く出す設計が必要でしょ。
- RLAIF比: 評価の作り方はRLAIFで任せつつ、更新はGRPOで軽く行く“相性良き”構成が作れるのがウケる。
- Best‑of‑N比: “選ぶだけ”を“学習信号”に変換する発想。次回の生成がちゃんと賢くなるから、長期的におトクだし。
どれ選ぶノリ?
- 人手でガチ品質欲しい→RLHFだし。
- 軽く雰囲気寄せたい→KTO。
- ペア好みでサクッと強化→DPO。
- 評価はAIに任せたい→RLAIF。
- 推論だけ強化の即席→Best‑of‑N。
- 先生なしで探索も欲しい、VRAM節約したい→GRPOが刺さるもん。

