Views
No views yet
| Property | Value |
|---|---|
| Stage | Offline Group Relative Policy Optimization (O-GRPO) |
| Initialized from | HumorGen_SFT_7B |
| Backbone | Qwen2.5-7B-Instruct (QLoRA 4-bit) |
| Group size | 6 (one per CSF persona) |
| Reward | HumorRank Bradley-Terry scores |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")
6model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-7B-Instruct", torch_dtype=torch.bfloat16, device_map="auto")
7model = PeftModel.from_pretrained(model, "Jayi2424/HumorGen_GRPO_7B")
8
9headline = "AI writes entire novel; readers say it felt a little too human"
10prompt = (
11 "<|im_start|>system\n"
12 "You are a comedy writer. Write one sharp, witty joke for the headline.\n<|im_end|>\n"
13 f"<|im_start|>user\n{headline}<|im_end|>\n"
14 "<|im_start|>assistant\n"
15)
16inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
17outputs = model.generate(**inputs, max_new_tokens=120, temperature=0.9, top_p=0.95)
18print(tokenizer.decode(outputs[0], skip_special_tokens=True))1@misc{ajayi2026humorgen,
2 title = {HumorGen: Cognitive Synergy for Humor Generation in Large Language
3 Models via Persona-Based Distillation},
4 author = {Ajayi, Edward and others},
5 year = {2026},
6 eprint = {2604.09629},
7 archivePrefix = {arXiv},
8 primaryClass = {cs.CL},
9 url = {https://arxiv.org/abs/2604.09629}
10}