Views
No views yet
| Training Loss | Epoch | Step | Validation Loss |
|---|---|---|---|
| 1.4315 | 1.0 | 352 | 0.9047 |
| 1.2645 | 2.0 | 704 | 0.7044 |
| 1.1876 | 3.0 | 1056 | 0.6476 |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftConfig, PeftModel
4
5base_model = "mistralai/Mistral-7B-Instruct-v0.2"
6adapter = "kasunw/mental-health-mistral-7b-instructv0.2-finetuned-V2"
7
8# Load tokenizer
9tokenizer = AutoTokenizer.from_pretrained(
10 base_model,
11 add_bos_token=True,
12 trust_remote_code=True,
13 padding_side='left'
14)
15
16# Create peft model using base_model and finetuned adapter
17config = PeftConfig.from_pretrained(adapter)
18model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path,
19 load_in_4bit=True,
20 device_map='auto',
21 torch_dtype='auto')
22model = PeftModel.from_pretrained(model, adapter)
23
24device = "cuda" if torch.cuda.is_available() else "cpu"
25model.to(device)
26model.eval()
27
28# Prompt content:
29messages = [
30 {"role": "user", "content": "Hey Connor! I have been feeling a bit down lately.I could really use some advice on how to feel better?"}
31]
32
33input_ids = tokenizer.apply_chat_template(conversation=messages,
34 tokenize=True,
35 add_generation_prompt=True,
36 return_tensors='pt').to(device)
37output_ids = model.generate(input_ids=input_ids, max_new_tokens=512, do_sample=True, pad_token_id=2)
38response = tokenizer.batch_decode(output_ids.detach().cpu().numpy(), skip_special_tokens = True)
39
40# Model response:
41print(response[0])