File size: 1,812 Bytes
820eb97 a8a4123 820eb97 a8a4123 e4cdf1e a8a4123 e4cdf1e a8a4123 a250eb1 a8a4123 a250eb1 a8a4123 41152e3 f8d2eeb 41152e3 f8d2eeb 41152e3 f8d2eeb 41152e3 f8d2eeb 41152e3 f8d2eeb 41152e3 fc33041 41152e3 f8d2eeb 41152e3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
---
library_name: peft
base_model: mistralai/Mistral-7B-v0.1
---
### Model Details
### Model Description
This is quantized model of mistral-7B.
- **Developed by:** Rais Kazi
### Model Sources [optional]
https://github.com/meetrais/LLM-Fine-Tuning/blob/main/finetune_mistral_7b.py
https://github.com/meetrais/LLM-Fine-Tuning/blob/main/call_finetune_mistral_7b.py
## Training procedure
The following `bitsandbytes` quantization config was used during training:
- quant_method: QuantizationMethod.BITS_AND_BYTES
- load_in_8bit: False
- load_in_4bit: True
- llm_int8_threshold: 6.0
- llm_int8_skip_modules: None
- llm_int8_enable_fp32_cpu_offload: False
- llm_int8_has_fp16_weight: False
- bnb_4bit_quant_type: nf4
- bnb_4bit_use_double_quant: True
- bnb_4bit_compute_dtype: bfloat16
### Framework versions
- PEFT 0.6.2.dev0
## Code to call this mnodel
import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import BitsAndBytesConfig
peft_model_id = "meetrais/finetuned_mistral_7b"
config = PeftConfig.from_pretrained(peft_model_id)
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
model = AutoModelForCausalLM.from_pretrained(peft_model_id, quantization_config=bnb_config, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
if tokenizer.pad_token is None:
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
text = "Capital of USA is"
device = "cuda:0"
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs, pad_token_id= tokenizer.eos_token_id, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|