import json import os from pprint import pprint import bitsandbytes as bnb import torch import torch.nn as nn import transformers from datasets import load_dataset from huggingface_hub import login,notebook_login from peft import ( LoraConfig, PeftConfig, PeftModel, get_peft_model, prepare_model_for_kbit_training ) from transformers import ( AutoConfig, AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig ) import streamlit as st os.environ["CUDA_VISIBLE_DEVICES"] = "0" PEFT_MODEL = "DhyeyBhalani/mistral_trained_1k" login("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") bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16 ) config = PeftConfig.from_pretrained(PEFT_MODEL) model = AutoModelForCausalLM.from_pretrained( config.base_model_name_or_path, return_dict=True, quantization_config=bnb_config, load_in_8bit=False, device_map="auto", trust_remote_code=True ) tokenizer=AutoTokenizer.from_pretrained(config.base_model_name_or_path) tokenizer.pad_token = tokenizer.eos_token model = PeftModel.from_pretrained(model, PEFT_MODEL)