Views
No views yet
LoRA Configuration:
Rank (r): 8
Alpha: 16
Dropout: 0.5
Task Type: SEQ_2_SEQ_LM (Sequence-to-Sequence Language Modeling)
Quantization Configuration:
Load in 8-bit: True (using BitsAndBytesConfig)
Training Arguments:
Output Directory: ./model/t5-small-amazon-review-summarization
Evaluation Strategy: Every 1,000 steps
Learning Rate: 2e-7
Per Device Training Batch Size: 2
Per Device Evaluation Batch Size: 8
Max Steps: 40,000
Logging Steps: 1,000
Save Steps: 1,000
Load Best Model at End: True
Predict with Generate: True
Generation Max Length: 512
Generation Num Beams: 5Hardware Used: Single NVIDIA RTX 4070 8GB
Frameworks and Libraries:
Transformers
Datasets
PEFT
BitsAndBytes
Evaluate
PyTorch1from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, BitsAndBytesConfig
2from peft import LoraConfig, PeftModel
3
4def generate_summary(text):
5 inputs = tokenizer(
6 text,
7 return_tensors='pt',
8 padding=True,
9 truncation=True,
10 max_length=2048,
11 ).to(device)
12
13 summary_ids = model.generate(
14 input_ids=inputs['input_ids'],
15 attention_mask=inputs['attention_mask'],
16 max_length=512,
17 top_k=5,
18 top_p=0.95,
19 temperature=0.7,
20 num_return_sequences=10,
21 no_repeat_ngram_size=2,
22 do_sample=True,
23 )
24
25 summary = [tokenizer.decode(
26 summary_id,
27 skip_special_tokens=True,
28 clean_up_tokenization_spaces=True,
29 ) for summary_id in summary_ids]
30
31 return summary
32
33tokenizer = AutoTokenizer.from_pretrained("Chryslerx10/t5-small-amazon-reviews-summarization-finetuned-8bit-lora")
34model = AutoModelForSeq2SeqLM.from_pretrained(
35 "t5-small",
36 device_map="auto",
37)
38
39model = PeftModel.from_pretrained(model, "Chryslerx10/t5-small-amazon-reviews-summarization-finetuned-8bit-lora", device_map='auto')
40
41generate_summary("summarize: " + ".... reviews .....")