# TRL GRPO 多奖励：算式正确与格式完整分开打分，不适用样本返回 None

已执行作者数学/格式奖励函数、None不适用及错误反例；未执行TRL GRPO采样、聚合训练或模型推理。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 把任务类型加入数据

math和caption混合数据必须保留task列，不让数学奖励函数对图片描述题给0。None表示不适用，0表示适用但失败。

## 2. 分别实现数学与格式函数

包内数学函数只接受math，格式函数检查完整answer标签；两类得分独立。真实代码可执行，不是预填奖励表。

## 3. 运行错误与不适用反例

math-wrong数学0、caption数学None、format-missing格式0。不要把非数学样本的None改成0后误罚。

## 4. 接入GRPOTrainer多奖励入口

按当前TRL签名提供reward_funcs列表与reward_weights，确认数据额外列传入函数的方式。多奖励聚合的None处理须看安装版实现。

## 5. 检查采样组和有效奖励

保存每组completion及每个函数输出，防止一整组都无适用奖励。需要真实模型采样后才讨论优势和梯度。

## 6. 核对格式投机

只有标签正确而算错不能满分；答案正确但缺格式按分项显示。不能让低成本格式奖励压过核心正确性。

## 7. 交付函数、逐项奖励和边界

包内实际运行作者奖励函数，没有GRPO采样、模型训练或奖励汇总实测；目标环境需保留真实completion和聚合结果。

## 官方依据

- TRL 官方文档或源码：https://huggingface.co/docs/trl/grpo_trainer
