caffeic commited on
Commit
f1edf67
·
verified ·
1 Parent(s): 65d4134

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +160 -28
README.md CHANGED
@@ -1,58 +1,190 @@
1
  ---
2
  base_model: bigcode/tiny_starcoder_py
3
  library_name: transformers
4
- model_name: tinystarcoder-rlhf-model
 
5
  tags:
6
- - generated_from_trainer
7
  - reward-trainer
8
  - trl
9
- licence: license
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ---
11
 
12
- # Model Card for tinystarcoder-rlhf-model
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- This model is a fine-tuned version of [bigcode/tiny_starcoder_py](https://huggingface.co/bigcode/tiny_starcoder_py).
15
- It has been trained using [TRL](https://github.com/huggingface/trl).
16
 
17
- ## Quick start
18
 
19
  ```python
20
- from transformers import pipeline
 
 
 
 
 
 
 
 
21
 
22
- text = "The capital of France is Paris."
23
- rewarder = pipeline(model="None", device="cuda")
24
- output = rewarder(text)[0]
25
- print(output["score"])
 
 
 
 
 
 
 
26
  ```
27
 
28
- ## Training procedure
 
 
29
 
 
 
 
30
 
 
 
 
 
 
31
 
 
32
 
 
33
 
34
- This model was trained with Reward.
 
 
 
35
 
36
- ### Framework versions
 
 
37
 
38
- - TRL: 1.5.0
39
- - Transformers: 5.0.0
40
- - Pytorch: 2.11.0+cu128
41
- - Datasets: 4.8.5
42
- - Tokenizers: 0.22.2
43
 
44
- ## Citations
 
 
 
 
45
 
 
46
 
 
47
 
48
- Cite TRL as:
49
-
50
  ```bibtex
51
  @software{vonwerra2020trl,
52
- title = {{TRL: Transformers Reinforcement Learning}},
53
- author = {von Werra, Leandro and Belkada, Younes and Tunstall, Lewis and Beeching, Edward and Thrush, Tristan and Lambert, Nathan and Huang, Shengyi and Rasul, Kashif and Gallouédec, Quentin},
54
- license = {Apache-2.0},
55
- url = {https://github.com/huggingface/trl},
56
- year = {2020}
57
  }
58
  ```
 
1
  ---
2
  base_model: bigcode/tiny_starcoder_py
3
  library_name: transformers
4
+ model_name: tinystarcoder-reward-tldr
5
+
6
  tags:
7
+ - reward-model
8
  - reward-trainer
9
  - trl
10
+ - transformers
11
+ - rlhf
12
+ - preference-learning
13
+ - summarization
14
+
15
+ license: apache-2.0
16
+ ---
17
+
18
+ # TinyStarCoder Reward Model (TL;DR Preference Model)
19
+
20
+ This model is a reward model fine-tuned from `bigcode/tiny_starcoder_py` using TRL's `RewardTrainer`.
21
+
22
+ The model predicts a **single scalar reward score** for an input sequence and is intended for **preference ranking**, not text generation.
23
+
24
+ Higher reward → model prefers that response.
25
+
26
+ ---
27
+
28
+ ## Model Details
29
+
30
+ ### Base Model
31
+ - `bigcode/tiny_starcoder_py`
32
+
33
+ ### Task
34
+ - Reward Modeling
35
+ - Preference Learning
36
+ - RLHF-style reward estimation
37
+
38
+ ### Framework
39
+ - Transformers
40
+ - TRL RewardTrainer
41
+
42
+ ---
43
+
44
+ ## Dataset
45
+
46
+ Dataset used:
47
+
48
+ - `CarperAI/openai_summarize_comparisons`
49
+
50
+ Training examples contain:
51
+
52
+ ```text
53
+ prompt
54
+ chosen
55
+ rejected
56
+ ```
57
+
58
+ Training objective:
59
+
60
+ ```text
61
+ reward(chosen) > reward(rejected)
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Training Configuration
67
+
68
+ | Parameter | Value |
69
+ |---|---|
70
+ | Samples | 2000 |
71
+ | Epochs | 2 |
72
+ | Max Length | 256 |
73
+ | Learning Rate | 1e-5 |
74
+ | Train Batch Size | 2 |
75
+ | Eval Batch Size | 1 |
76
+ | Trainer | RewardTrainer |
77
+
78
+ ---
79
+
80
+ ## Evaluation
81
+
82
+ Final evaluation metrics:
83
+
84
+ | Metric | Value |
85
+ |---|---|
86
+ | Eval Accuracy | ~0.62 |
87
+ | Eval Loss | ~0.98 |
88
+ | Eval Margin | ~0.75 |
89
+
90
+ Interpretation:
91
+
92
+ - Accuracy > 0.50 indicates the reward model learned preference signal.
93
+ - Positive margin means preferred responses generally receive higher reward.
94
+
95
  ---
96
 
97
+ ## Usage
98
+
99
+ ### Load model
100
+
101
+ ```python
102
+ from transformers import (
103
+ AutoTokenizer,
104
+ AutoModelForSequenceClassification
105
+ )
106
+
107
+ repo = "caffeic/tinystarcoder-reward-tldr"
108
+
109
+ tokenizer = AutoTokenizer.from_pretrained(repo)
110
+
111
+ model = AutoModelForSequenceClassification.from_pretrained(
112
+ repo
113
+ )
114
+ ```
115
 
116
+ ---
 
117
 
118
+ ### Score a response
119
 
120
  ```python
121
+ import torch
122
+
123
+ text = """
124
+ Summarize:
125
+ Transformers are deep learning architectures...
126
+
127
+ Summary:
128
+ Transformers use self-attention.
129
+ """
130
 
131
+ inputs = tokenizer(
132
+ text,
133
+ return_tensors="pt",
134
+ truncation=True,
135
+ max_length=256
136
+ )
137
+
138
+ with torch.no_grad():
139
+ reward = model(**inputs).logits.item()
140
+
141
+ print("Reward:", reward)
142
  ```
143
 
144
+ ---
145
+
146
+ ### Compare two responses
147
 
148
+ ```python
149
+ chosen_score = score(chosen)
150
+ rejected_score = score(rejected)
151
 
152
+ if chosen_score > rejected_score:
153
+ print("Chosen preferred")
154
+ else:
155
+ print("Rejected preferred")
156
+ ```
157
 
158
+ ---
159
 
160
+ ## Limitations
161
 
162
+ - This is a reward model and does not generate text.
163
+ - Reward values are relative and not absolute quality scores.
164
+ - Trained on a limited subset (~2000 samples).
165
+ - Not intended for production RLHF pipelines.
166
 
167
+ ---
168
+
169
+ ## Training Notes
170
 
171
+ This project was created to learn:
 
 
 
 
172
 
173
+ - Reward modeling
174
+ - Preference datasets
175
+ - TRL RewardTrainer
176
+ - RLHF workflows
177
+ - Hugging Face model publishing
178
 
179
+ ---
180
 
181
+ ## Citation
182
 
 
 
183
  ```bibtex
184
  @software{vonwerra2020trl,
185
+ title={{TRL: Transformers Reinforcement Learning}},
186
+ author={von Werra et al.},
187
+ year={2020},
188
+ url={https://github.com/huggingface/trl}
 
189
  }
190
  ```