Views
No views yet
1{
2 "peft_type": "LORA",
3 "r": 16,
4 "lora_alpha": 32,
5 "lora_dropout": 0.1,
6 "target_modules": ["o_proj", "v_proj", "q_proj", "k_proj"],
7 "modules_to_save": ["classifier", "score"],
8 "task_type": "SEQ_CLS"
9}pip install transformers peft torch1from peft import PeftModel
2from transformers import AutoModelForSequenceClassification, AutoTokenizer
3import torch
4
5# Load base model
6base_model = AutoModelForSequenceClassification.from_pretrained(
7 "google/gemma-2b",
8 num_labels=1,
9 torch_dtype=torch.float16,
10 device_map="auto"
11)
12
13# Load LoRA adapter
14model = PeftModel.from_pretrained(base_model, "OldKingMeister/gemma-2b-lmsys-arena-final")
15tokenizer = AutoTokenizer.from_pretrained("OldKingMeister/gemma-2b-lmsys-arena-final")
16
17# Prepare input - example comparing two responses
18text = """Which response is better for the prompt: What is machine learning?
19
20Response A: Machine learning is a subset of AI.
21
22Response B: Machine learning enables systems to learn from experience."""
23
24# Tokenize and predict
25inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
26inputs = {k: v.to(model.device) for k, v in inputs.items()}
27
28with torch.no_grad():
29 outputs = model(**inputs)
30 preference_score = outputs.logits.item()
31
32# Score interpretation:
33# Positive: Response B is preferred
34# Negative: Response A is preferred
35print(f"Preference score: {preference_score}")| Parameter | Value |
|---|---|
| Learning Rate | 2e-4 |
| Batch Size | 4 |
| Gradient Accumulation Steps | 4 |
| Epochs | 10 |
| Max Sequence Length | 512 |
| LoRA Rank (r) | 16 |
| LoRA Alpha | 32 |
| LoRA Dropout | 0.1 |
1@misc{lmsys-arena-2024,
2 title={LMSYS Chatbot Arena Competition},
3 howpublished={https://www.kaggle.com/competitions/lmsys-chatbot-arena},
4 year={2024}
5}
6
7@article{gemma2024,
8 title={Gemma: Open Models Based on Gemini Research and Technology},
9 author={{Google}},
10 year={2024}
11}