Spaces:
Sleeping
Sleeping
Upload folder using huggingface_hub
Browse files- train/eval_pivot_set.py +8 -5
- train/sft_warmup.py +13 -5
- train/side_by_side.py +8 -5
train/eval_pivot_set.py
CHANGED
|
@@ -87,17 +87,20 @@ def main():
|
|
| 87 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 88 |
{"role": "user", "content": build_full_observation(clip_id, scenarios)},
|
| 89 |
]
|
| 90 |
-
|
| 91 |
-
messages, return_tensors="pt", add_generation_prompt=True
|
| 92 |
-
)
|
|
|
|
|
|
|
|
|
|
| 93 |
out = model.generate(
|
| 94 |
-
|
| 95 |
max_new_tokens=args.max_tokens,
|
| 96 |
do_sample=True,
|
| 97 |
temperature=args.temperature,
|
| 98 |
pad_token_id=tokenizer.eos_token_id,
|
| 99 |
)
|
| 100 |
-
text = tokenizer.decode(out[0][
|
| 101 |
|
| 102 |
decomp = reward_decomposition(text, gold)
|
| 103 |
results.append({
|
|
|
|
| 87 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 88 |
{"role": "user", "content": build_full_observation(clip_id, scenarios)},
|
| 89 |
]
|
| 90 |
+
encoded = tokenizer.apply_chat_template(
|
| 91 |
+
messages, return_tensors="pt", add_generation_prompt=True,
|
| 92 |
+
)
|
| 93 |
+
input_ids = encoded.input_ids if hasattr(encoded, "input_ids") else encoded
|
| 94 |
+
input_ids = input_ids.to(model.device)
|
| 95 |
+
prompt_len = input_ids.shape[1]
|
| 96 |
out = model.generate(
|
| 97 |
+
input_ids=input_ids,
|
| 98 |
max_new_tokens=args.max_tokens,
|
| 99 |
do_sample=True,
|
| 100 |
temperature=args.temperature,
|
| 101 |
pad_token_id=tokenizer.eos_token_id,
|
| 102 |
)
|
| 103 |
+
text = tokenizer.decode(out[0][prompt_len:], skip_special_tokens=True)
|
| 104 |
|
| 105 |
decomp = reward_decomposition(text, gold)
|
| 106 |
results.append({
|
train/sft_warmup.py
CHANGED
|
@@ -200,14 +200,22 @@ def sample_before_after(model, tokenizer, scenarios, sample_clip_ids, label_for_
|
|
| 200 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 201 |
{"role": "user", "content": build_full_observation(cid, scenarios)},
|
| 202 |
]
|
| 203 |
-
|
| 204 |
-
|
| 205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 206 |
out = model.generate(
|
| 207 |
-
|
|
|
|
| 208 |
pad_token_id=tokenizer.eos_token_id,
|
| 209 |
)
|
| 210 |
-
text = tokenizer.decode(out[0][
|
| 211 |
print(f"\nClip {cid} (gold={gold}, speaker={sc.get('speaker')}):")
|
| 212 |
print(text[:1000])
|
| 213 |
print("---")
|
|
|
|
| 200 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 201 |
{"role": "user", "content": build_full_observation(cid, scenarios)},
|
| 202 |
]
|
| 203 |
+
# apply_chat_template can return either a tensor (older transformers)
|
| 204 |
+
# or a BatchEncoding (newer transformers). Handle both.
|
| 205 |
+
encoded = tokenizer.apply_chat_template(
|
| 206 |
+
messages, return_tensors="pt", add_generation_prompt=True,
|
| 207 |
+
)
|
| 208 |
+
if hasattr(encoded, "input_ids"):
|
| 209 |
+
input_ids = encoded.input_ids.to(model.device)
|
| 210 |
+
else:
|
| 211 |
+
input_ids = encoded.to(model.device)
|
| 212 |
+
prompt_len = input_ids.shape[1]
|
| 213 |
out = model.generate(
|
| 214 |
+
input_ids=input_ids,
|
| 215 |
+
max_new_tokens=350, do_sample=True, temperature=0.7,
|
| 216 |
pad_token_id=tokenizer.eos_token_id,
|
| 217 |
)
|
| 218 |
+
text = tokenizer.decode(out[0][prompt_len:], skip_special_tokens=True)
|
| 219 |
print(f"\nClip {cid} (gold={gold}, speaker={sc.get('speaker')}):")
|
| 220 |
print(text[:1000])
|
| 221 |
print("---")
|
train/side_by_side.py
CHANGED
|
@@ -95,14 +95,17 @@ def generate_completion(model, tokenizer, prompt_user_msg, max_tokens=600, tempe
|
|
| 95 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 96 |
{"role": "user", "content": prompt_user_msg},
|
| 97 |
]
|
| 98 |
-
|
| 99 |
-
messages, return_tensors="pt", add_generation_prompt=True
|
| 100 |
-
)
|
|
|
|
|
|
|
|
|
|
| 101 |
out = model.generate(
|
| 102 |
-
|
| 103 |
temperature=temperature, pad_token_id=tokenizer.eos_token_id,
|
| 104 |
)
|
| 105 |
-
return tokenizer.decode(out[0][
|
| 106 |
|
| 107 |
|
| 108 |
def main():
|
|
|
|
| 95 |
{"role": "system", "content": SYSTEM_PROMPT},
|
| 96 |
{"role": "user", "content": prompt_user_msg},
|
| 97 |
]
|
| 98 |
+
encoded = tokenizer.apply_chat_template(
|
| 99 |
+
messages, return_tensors="pt", add_generation_prompt=True,
|
| 100 |
+
)
|
| 101 |
+
input_ids = encoded.input_ids if hasattr(encoded, "input_ids") else encoded
|
| 102 |
+
input_ids = input_ids.to(model.device)
|
| 103 |
+
prompt_len = input_ids.shape[1]
|
| 104 |
out = model.generate(
|
| 105 |
+
input_ids=input_ids, max_new_tokens=max_tokens, do_sample=True,
|
| 106 |
temperature=temperature, pad_token_id=tokenizer.eos_token_id,
|
| 107 |
)
|
| 108 |
+
return tokenizer.decode(out[0][prompt_len:], skip_special_tokens=True)
|
| 109 |
|
| 110 |
|
| 111 |
def main():
|