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