Views
No views yet
python finetune.py \
--base-model tiiuae/falcon-7b --lora-target-modules query_key_value \
--data-path sahil2801/CodeAlpaca-20k --output-dir ./lora-alpaca-code \
--batch-size 128 --micro-batch-size 8 --eval-limit 45 \
--eval-file code_eval.jsonl --wandb-project jerboa --wandb-log-model \
--wandb-watch gradients --num-epochs 61import torch
2from peft import PeftModel
3from transformers import AutoTokenizer, AutoModelForCausalLM
4
5
6TOKENIZER_SOURCE = 'tiiuae/falcon-7b'
7BASE_MODEL = 'tiiuae/falcon-7b'
8LORA_REPO = 'jinaai/falcon-7b-code-alpaca-lora'
9DEVICE = "cuda"
10
11PROMPT = """
12Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
13
14### Instruction:
15Write a for loop in python
16
17### Input:
18
19### Response:
20"""
21model = AutoModelForCausalLM.from_pretrained(
22 pretrained_model_name_or_path=BASE_MODEL,
23 torch_dtype=torch.float16,
24 trust_remote_code=True,
25 device_map='auto',
26)
27
28model = PeftModel.from_pretrained(
29 model=model,
30 model_id=LORA_REPO,
31)
32model.eval()
33
34tokenizer = AutoTokenizer.from_pretrained(
35 TOKENIZER_SOURCE,
36 trust_remote_code=True,
37 padding_side='left',
38)
39tokenizer.pad_token = tokenizer.eos_token
40
41inputs = tokenizer(PROMPT, return_tensors="pt")
42input_ids = inputs["input_ids"].to(DEVICE)
43input_attention_mask = inputs["attention_mask"].to(DEVICE)
44
45with torch.no_grad():
46 generation_output = model.generate(
47 input_ids=input_ids,
48 attention_mask=input_attention_mask,
49 return_dict_in_generate=True,
50 max_new_tokens=32,
51 eos_token_id=tokenizer.eos_token_id,
52 )
53generation_output = generation_output.sequences[0]
54output = tokenizer.decode(generation_output, skip_special_tokens=True)
55
56print(output)
57