knkarthick/samsum
Viewer • Updated • 16.4k • 6.17k • 42
How to use violetar/gpt2-samsum-lora with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("openai-community/gpt2")
model = PeftModel.from_pretrained(base_model, "violetar/gpt2-samsum-lora")This model is a Parameter‑Efficient Fine‑Tuned (PEFT) version of GPT‑2 using Low‑Rank Adaptation (LoRA).
It was trained on the SAMSum dataset to generate concise summaries of messenger‑style dialogues.
Summarize the following dialogue.
Dialogue:
{dialogue}
Summary:
The model performs best on conversations similar to SAMSum (informal, chat‑like, English).
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model_id = "openai-community/gpt2"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = AutoModelForCausalLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, "violetar/gpt2-samsum-lora")
model = model.merge_and_unload()
def generate_summary(dialogue: str, max_new_tokens=128) -> str:
prompt = f"Summarize the following dialogue.\n\nDialogue:\n{dialogue}\n\nSummary:\n"
inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=768)
outputs = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
do_sample=False,
temperature=1.0,
pad_token_id=tokenizer.eos_token_id,
)
summary = tokenizer.decode(outputs[0], skip_special_tokens=True)
# Remove prompt part
summary = summary.split("Summary:\n")[-1].strip()
return summary
openai-community/gpt2 (124M parameters) gpt2.py (provided in the lab) r = 32 lora_alpha = 16 lora_dropout = 0.0 ["c_attn", "c_proj", "c_fc"] (all GPT‑2 attention & FFN projections)adamw_torchBase model
openai-community/gpt2