Views
No views yet
bitsandbytes + peft)pip install transformers torch peft bitsandbytes accelerate1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3from peft import PeftModel, PeftConfig
4
5# 1. Load the Base Model (GPT-2) with 4-bit quantization
6bnb_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_use_double_quant=True,
9 bnb_4bit_quant_type="nf4",
10 bnb_4bit_compute_dtype=torch.bfloat16
11)
12
13base_model_id = "openai-community/gpt2"
14model = AutoModelForCausalLM.from_pretrained(
15 base_model_id,
16 quantization_config=bnb_config,
17 device_map="auto"
18)
19tokenizer = AutoTokenizer.from_pretrained(base_model_id)
20
21# 2. Load the LoRA Adapters
22peft_model_id = "estradax/gpt2-alpaca-4bit"
23model = PeftModel.from_pretrained(model, peft_model_id)
24
25# 3. Run Inference
26text = "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\nWhat is the capital of France?\n\n### Response:\n"
27inputs = tokenizer(text, return_tensors="pt").to("cuda")
28
29outputs = model.generate(**inputs, max_new_tokens=50)
30print(tokenizer.decode(outputs[0], skip_special_tokens=True))