Add DRM-Multi-8B and DRM-Pref-8B checkpoints
Browse filesAdds RewardDiT release documentation, configs, and the DRM-Multi-8B / DRM-Pref-8B checkpoint files. Paper and code links are left as TODO placeholders for the release update.
- DRM-Multi-8B/config.json +28 -0
- DRM-Multi-8B/model.pth +3 -0
- DRM-Pref-8B/config.json +33 -0
- DRM-Pref-8B/model.pth +3 -0
- README.md +107 -1
- USAGE.md +29 -0
DRM-Multi-8B/config.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model_name": "DRM-Multi-8B",
|
| 3 |
+
"model_type": "RewardDiT",
|
| 4 |
+
"base_encoder": "sfairXC/FsfairX-LLaMA3-RM-v0.1",
|
| 5 |
+
"checkpoint_file": "model.pth",
|
| 6 |
+
"reward_dim": 19,
|
| 7 |
+
"text_emb_dim": 4096,
|
| 8 |
+
"hidden_size": 384,
|
| 9 |
+
"depth": 3,
|
| 10 |
+
"num_heads": 6,
|
| 11 |
+
"mlp_ratio": 4.0,
|
| 12 |
+
"dropout": 0.2,
|
| 13 |
+
"class_dropout_prob": 0.15,
|
| 14 |
+
"num_train_timesteps": 1000,
|
| 15 |
+
"beta_schedule": "squaredcos_cap_v2",
|
| 16 |
+
"prediction_type": "epsilon",
|
| 17 |
+
"training_data": "RLHFlow/ArmoRM-Multi-Objective-Data-v0.1",
|
| 18 |
+
"recommended_inference": {
|
| 19 |
+
"mask_split": false,
|
| 20 |
+
"num_steps": 10,
|
| 21 |
+
"guidance_scale": 7.0,
|
| 22 |
+
"num_samples": 32,
|
| 23 |
+
"gate": false,
|
| 24 |
+
"debias": false
|
| 25 |
+
},
|
| 26 |
+
"paper": "TODO: paste arXiv or project page link here",
|
| 27 |
+
"code": "TODO: paste GitHub repository link here"
|
| 28 |
+
}
|
DRM-Multi-8B/model.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2a1554bca6662f2e37d813ccf1c11d07325fa890cf247843ffc78dceecd49485
|
| 3 |
+
size 47966754
|
DRM-Pref-8B/config.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model_name": "DRM-Pref-8B",
|
| 3 |
+
"model_type": "RewardDiT",
|
| 4 |
+
"base_encoder": "sfairXC/FsfairX-LLaMA3-RM-v0.1",
|
| 5 |
+
"checkpoint_file": "model.pth",
|
| 6 |
+
"reward_dim": 1,
|
| 7 |
+
"text_emb_dim": 4096,
|
| 8 |
+
"hidden_size": 384,
|
| 9 |
+
"depth": 3,
|
| 10 |
+
"num_heads": 6,
|
| 11 |
+
"mlp_ratio": 4.0,
|
| 12 |
+
"dropout": 0.2,
|
| 13 |
+
"class_dropout_prob": 0.15,
|
| 14 |
+
"num_train_timesteps": 1000,
|
| 15 |
+
"beta_schedule": "squaredcos_cap_v2",
|
| 16 |
+
"prediction_type": "epsilon",
|
| 17 |
+
"training_data": "allenai/llama-3.1-tulu-3-8b-preference-mixture",
|
| 18 |
+
"loss": {
|
| 19 |
+
"denoise_loss_weight": 1.0,
|
| 20 |
+
"bt_alpha": 0.5,
|
| 21 |
+
"reward_reg_weight": 0.001
|
| 22 |
+
},
|
| 23 |
+
"recommended_inference": {
|
| 24 |
+
"mask_split": false,
|
| 25 |
+
"num_steps": 10,
|
| 26 |
+
"guidance_scale": 7.0,
|
| 27 |
+
"num_samples": 32,
|
| 28 |
+
"gate": false,
|
| 29 |
+
"debias": false
|
| 30 |
+
},
|
| 31 |
+
"paper": "TODO: paste arXiv or project page link here",
|
| 32 |
+
"code": "TODO: paste GitHub repository link here"
|
| 33 |
+
}
|
DRM-Pref-8B/model.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a30ff191bd14fe1cd6d40a93f09217b883911a03c1c4bbd3798ea082856e7de8
|
| 3 |
+
size 143655819
|
README.md
CHANGED
|
@@ -1,3 +1,109 @@
|
|
| 1 |
---
|
| 2 |
-
license:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
library_name: pytorch
|
| 4 |
+
tags:
|
| 5 |
+
- reward-model
|
| 6 |
+
- diffusion
|
| 7 |
+
- rewarddit
|
| 8 |
+
- preference-modeling
|
| 9 |
+
- text-generation-evaluation
|
| 10 |
+
base_model:
|
| 11 |
+
- sfairXC/FsfairX-LLaMA3-RM-v0.1
|
| 12 |
---
|
| 13 |
+
|
| 14 |
+
# DRM Checkpoints
|
| 15 |
+
|
| 16 |
+
This repository hosts two RewardDiT checkpoints released with our paper.
|
| 17 |
+
|
| 18 |
+
Paper: TODO: paste arXiv or project page link here.
|
| 19 |
+
|
| 20 |
+
Code: TODO: paste GitHub repository link here.
|
| 21 |
+
|
| 22 |
+
## Checkpoints
|
| 23 |
+
|
| 24 |
+
| Name | File | Reward Dim | Training Data | Intended Use |
|
| 25 |
+
| --- | --- | ---: | --- | --- |
|
| 26 |
+
| DRM-Multi-8B | `DRM-Multi-8B/model.pth` | 19 | `RLHFlow/ArmoRM-Multi-Objective-Data-v0.1` | Multi-objective reward generation and scalar scoring by mean aggregation |
|
| 27 |
+
| DRM-Pref-8B | `DRM-Pref-8B/model.pth` | 1 | `allenai/llama-3.1-tulu-3-8b-preference-mixture` | Pair-preference reward scoring |
|
| 28 |
+
|
| 29 |
+
Both checkpoints use FsfairX-LLaMA3-RM-v0.1 embeddings as the text condition.
|
| 30 |
+
|
| 31 |
+
## Recommended Inference Settings
|
| 32 |
+
|
| 33 |
+
Use the following settings for both checkpoints:
|
| 34 |
+
|
| 35 |
+
```text
|
| 36 |
+
mask_split = false
|
| 37 |
+
num_steps = 10
|
| 38 |
+
guidance_scale = 7.0
|
| 39 |
+
num_samples = 32
|
| 40 |
+
gate = off
|
| 41 |
+
debias = off
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
The public `ScoreGenerator` does not include gate or debias modules. Scores are computed by sampling RewardDiT rewards, averaging over samples, and then averaging over reward dimensions.
|
| 45 |
+
|
| 46 |
+
## Usage
|
| 47 |
+
|
| 48 |
+
After downloading the code repository and this model repository, run:
|
| 49 |
+
|
| 50 |
+
```bash
|
| 51 |
+
python src_upload/score_generator.py \
|
| 52 |
+
--ckpt path/to/DRM-Multi-8B/model.pth \
|
| 53 |
+
--prompt "User prompt" \
|
| 54 |
+
--response "Assistant response"
|
| 55 |
+
```
|
| 56 |
+
|
| 57 |
+
For the preference checkpoint:
|
| 58 |
+
|
| 59 |
+
```bash
|
| 60 |
+
python src_upload/score_generator.py \
|
| 61 |
+
--ckpt path/to/DRM-Pref-8B/model.pth \
|
| 62 |
+
--prompt "User prompt" \
|
| 63 |
+
--response "Assistant response"
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
The default command-line inference settings in `score_generator.py` are already set to `num_steps=10`, `guidance_scale=7.0`, and `num_samples=32`.
|
| 67 |
+
|
| 68 |
+
## Model Details
|
| 69 |
+
|
| 70 |
+
### DRM-Multi-8B
|
| 71 |
+
|
| 72 |
+
- Reward dimension: 19
|
| 73 |
+
- Text embedding dimension: 4096
|
| 74 |
+
- Hidden size: 384
|
| 75 |
+
- Depth: 3
|
| 76 |
+
- Attention heads: 6
|
| 77 |
+
- Dropout: 0.2
|
| 78 |
+
- Beta schedule: `squaredcos_cap_v2`
|
| 79 |
+
- Prediction type: `epsilon`
|
| 80 |
+
|
| 81 |
+
### DRM-Pref-8B
|
| 82 |
+
|
| 83 |
+
- Reward dimension: 1
|
| 84 |
+
- Text embedding dimension: 4096
|
| 85 |
+
- Hidden size: 384
|
| 86 |
+
- Depth: 3
|
| 87 |
+
- Attention heads: 6
|
| 88 |
+
- Dropout: 0.2
|
| 89 |
+
- Beta schedule: `squaredcos_cap_v2`
|
| 90 |
+
- Prediction type: `epsilon`
|
| 91 |
+
- Pair loss: denoising loss + Bradley-Terry loss + reward L2 regularization
|
| 92 |
+
- `reward_reg_weight`: 0.001
|
| 93 |
+
|
| 94 |
+
## Citation
|
| 95 |
+
|
| 96 |
+
TODO: paste BibTeX citation here after the paper is available.
|
| 97 |
+
|
| 98 |
+
```bibtex
|
| 99 |
+
@article{TODO,
|
| 100 |
+
title = {TODO},
|
| 101 |
+
author = {TODO},
|
| 102 |
+
journal = {arXiv preprint},
|
| 103 |
+
year = {TODO}
|
| 104 |
+
}
|
| 105 |
+
```
|
| 106 |
+
|
| 107 |
+
## Limitations
|
| 108 |
+
|
| 109 |
+
These checkpoints are research artifacts intended for reward-modeling experiments. They inherit the limitations of their training data and text encoder, and should not be treated as calibrated absolute measures of response quality.
|
USAGE.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Usage
|
| 2 |
+
|
| 3 |
+
Download the checkpoints from this repository and use them with the released code.
|
| 4 |
+
|
| 5 |
+
## DRM-Multi-8B
|
| 6 |
+
|
| 7 |
+
```bash
|
| 8 |
+
python src_upload/score_generator.py \
|
| 9 |
+
--ckpt path/to/DRM-Multi-8B/model.pth \
|
| 10 |
+
--prompt "User prompt" \
|
| 11 |
+
--response "Assistant response" \
|
| 12 |
+
--num_steps 10 \
|
| 13 |
+
--guidance_scale 7.0 \
|
| 14 |
+
--num_samples 32
|
| 15 |
+
```
|
| 16 |
+
|
| 17 |
+
## DRM-Pref-8B
|
| 18 |
+
|
| 19 |
+
```bash
|
| 20 |
+
python src_upload/score_generator.py \
|
| 21 |
+
--ckpt path/to/DRM-Pref-8B/model.pth \
|
| 22 |
+
--prompt "User prompt" \
|
| 23 |
+
--response "Assistant response" \
|
| 24 |
+
--num_steps 10 \
|
| 25 |
+
--guidance_scale 7.0 \
|
| 26 |
+
--num_samples 32
|
| 27 |
+
```
|
| 28 |
+
|
| 29 |
+
The scorer uses `mask_split=False`, gate off, and debias off.
|