Downloads · 30 days
17
5% of all-time downloads
SeeYangZhi/Llama-3.2-1B-Sarcasm-Rewriter-Context
Llama-3.2-1B-Sarcasm-Rewriter-Context is a text generation model from SeeYangZhi. Use it when you need the model to write or continue text. The card lists the license as llama3.2.
A LoRA fine-tuned Llama-3.2-1B-Instruct that rewrites sarcastic news headlines as neutral, factual equivalents. Trained with article body context in the prompt during supervised fine-tuning, producing stronger sarcasm…
Downloads · 30 days
17
5% of all-time downloads
All-time downloads
366
Public
Parameters
1.2B
2.5 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.5 GB · 99%
From the Hugging Face model README
A LoRA fine-tuned Llama-3.2-1B-Instruct that rewrites sarcastic news headlines as neutral, factual equivalents. Trained with article body context in the prompt during supervised fine-tuning, producing stronger sarcasm comprehension than headline-only training.
Built by CS4248 Team 14 (NUS, AY2025/26 Semester 2) as part of a sarcasm style transfer research project.
Compared to the sibling Llama-3.2-1B-Sarcasm-Rewriter (headline-only training), this context-enhanced variant:
The training targets were generated by an LLM annotator that had access to the full article body, producing deeper rewrites than headline-only targets. The model learned to mimic these more faithful rewrites.
Input: A sarcastic news headline Output: A non-sarcastic rewrite
Input: "Inconsiderate Wife Leaves Bathroom A Total Mess After Home Birth"
Output: "Mother of Two Gives Birth at Home"
meta-llama/Llama-3.2-1B-Instruct (1.24B params)q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_projsar_to_non_context_enhanced with body filter applied.After training, the LoRA adapter was merged into the base weights via merge_and_unload().
Even though the model was trained with article bodies, inference-time evaluation showed the model performs best with headline-only prompts. Feeding article bodies at inference introduces hallucination from article content. Use this configuration in production:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "SeeYangZhi/Llama-3.2-1B-Sarcasm-Rewriter-Context"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
messages = [
{
"role": "system",
"content": (
"You are a writing assistant. Rewrite sarcastic news headlines as neutral, "
"factual equivalents that preserve the core meaning without irony or mockery. "
"Respond with only the rewritten headline, no explanation."
),
},
{
"role": "user",
"content": (
"Rewrite this sarcastic headline as a neutral, non-sarcastic news headline:\n\n"
"inconsiderate wife leaves bathroom a total mess after home birth"
),
},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
If you have the source article body available, you can pass it in the prompt. Note that evaluation showed this mode produces slightly worse outputs than headline-only due to body-distractor hallucination, so it is not recommended:
user_content = (
"Rewrite this sarcastic headline as a neutral, non-sarcastic news headline.\n\n"
f"Headline: {sarcastic_headline}\n\n"
f"Article context:\n{article_body}"
)
Compared against 14 other models (BART variants, T5 variants, ablations, previous LLaMA) on a 2,857-sample held-out test split with 7 metrics. Key results vs previous headline-only variant:
| Metric | Llama-context (this model) | Llama (previous) |
|---|---|---|
| Flip rate (classifier) | 22.5% | 21.9% |
| Semantic similarity | 0.679 | 0.656 |
| Perplexity (GPT-2) | 318 | 378 |
| LLM sarcasm removed | 4.96/5 | 4.74/5 |
| LLM meaning preserved | 4.32/5 | 3.80/5 |
| LLM fluency | 4.98/5 | 4.98/5 |
Full per-metric numbers are published alongside the project webapp.
This model is released under the Llama 3.2 Community License. The model name starts with "Llama-" as required by Meta's terms. Built with Llama.
If you use this model, please cite the underlying Llama 3.2 release and the NHDSD dataset.