Views
No views yet
tiiuae/falcon-7b model using the QLoRa library and the PEFT library.from_pretrained methods.generation_config is used to set parameters for generating responses, such as the maximum number of new tokens to generate and the temperature for the softmax function.model.generate method to generate a response.1# Import necessary classes and functions
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftConfig, PeftModel
4
5# Specify the model
6PEFT_MODEL = "hipnologo/falcon-7b-qlora-finetune-chatbot"
7
8# Load the PEFT config
9config = PeftConfig.from_pretrained(PEFT_MODEL)
10
11# Load the base model and tokenizer
12model = AutoModelForCausalLM.from_pretrained(
13 config.based_model_name_or_path,
14 return_dict=True,
15 quantization_config=bnb_config,
16 device_map="auto",
17 trust_remote_code=True,
18)
19tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
20
21# Set the padding token to be the same as the EOS token
22tokenizer.pad_token = tokenizer.eos_token
23
24# Load the PEFT model
25model = PeftModel.from_pretrained(model, PEFT_MODEL)
26
27# Set the generation parameters
28generation_config = model.generation_config
29generation_config.max_new_tokens = 200
30generation_config.temperature = 0.7
31generation_config.top_p = 0.7
32generation_config.num_return_sequences = 1
33generation_config.pad_token_id = tokenizer.eos_token_id
34generation_config.eos_token_id = tokenizer.eos_token_id
35
36# Define the prompt
37prompt = """
38<human>: How can I create an account?
39<assistant>:
40""".strip()
41print(prompt)
42
43# Encode the prompt
44encoding = tokenizer(prompt, return_tensors="pt").to(model.device)
45
46# Generate a response
47with torch.inference_mode():
48 outputs = model.generate(
49 input_ids=encoding.input_ids,
50 attention_mask=encoding.attention_mask,
51 generation_config=generation_config,
52 )
53
54# Print the generated response
55print(tokenizer.decode(outputs[0],skip_special_tokens=True))
56bitsandbytes quantization config:FalseTrue6.0NoneFalseFalsenf4Truebfloat160.03094411873175886.