knkarthick/samsum
Viewer • Updated • 16.4k • 9.31k • 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")How to use violetar/gpt2-samsum-lora with Unsloth Studio:
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for violetar/gpt2-samsum-lora to start chatting
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for violetar/gpt2-samsum-lora to start chatting
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for violetar/gpt2-samsum-lora to start chatting
pip install unsloth
from unsloth import FastModel
model, tokenizer = FastModel.from_pretrained(
model_name="violetar/gpt2-samsum-lora",
max_seq_length=2048,
)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