--- language: - en license: apache-2.0 tags: - text-generation-inference - transformers - unsloth - mistral - trl - sft base_model: unsloth/mistral-7b-bnb-4bit --- # Nepali GPT Nepali GPT is a large Nepali language fine-tuned model based on Mixtral_7B.The fine-tuning process uses Unsloth, expediting the training process for optimal efficiency. ## Model Description * Model type: A 7B fine-tuned model * Primary Language(s): Nepali * License: Mistral ### Installation ``` #Install Unsloth %%capture import torch major_version, minor_version = torch.cuda.get_device_capability() # Must install separately since Colab has torch 2.2.1, which breaks packages !pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git" if major_version >= 8: # Use this for new GPUs like Ampere, Hopper GPUs (RTX 30xx, RTX 40xx, A100, H100, L40) !pip install --no-deps packaging ninja einops flash-attn xformers trl peft accelerate bitsandbytes else: # Use this for older GPUs (V100, Tesla T4, RTX 20xx) !pip install --no-deps xformers trl peft accelerate bitsandbytes pass ``` ### Model loading ``` from unsloth import FastLanguageModel import torch max_seq_length = 2048 dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+ load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False. model, tokenizer = FastLanguageModel.from_pretrained( model_name = "Heem2/NEPALIGPT-1.0", max_seq_length = max_seq_length, dtype = dtype, load_in_4bit = load_in_4bit, ) prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: {} ### Input: {} ### Response: {}""" ``` ### Inference ``` #sample 1 FastLanguageModel.for_inference(model) inputs = tokenizer( [ prompt.format( "नेपालको बारेमा व्याख्या गर्नुहोस्?", # instruction "संस्कृति, भाषा, भूगोल, राजनीति, जलवायु", # input "", # output - leave this blank for generation! ) ], return_tensors = "pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens = 1000, use_cache = True) tokenizer.batch_decode(outputs) #sample 2 # prompt = Copied from above FastLanguageModel.for_inference(model) # Enable native 2x faster inference inputs = tokenizer( [ prompt.format( "मानिसहरू किन मर्छन्?", # instruction "रोग, बृद्धावस्था, आत्महत्या, दुर्घटना", # input "", # output - leave this blank for generation! ) ], return_tensors = "pt").to("cuda") from transformers import TextStreamer text_streamer = TextStreamer(tokenizer) _ = model.generate(**inputs, streamer = text_streamer, max_new_tokens = 1000) #output मानिसहरू मर्छन् धेरै कारणहरूको लागि, जसमा समावेश छन्: १. रोग: मानिसहरू मर्छन् किनभने उनीहरूले प्राप्त गर्न सक्ने विभिन्न रोगहरूको कारण हुन सक्छ। यी रोगहरूमा क्यान्सर, स्ट्रोक, मधुमेह, र हृदय रोग समावेश छन्। २. बृद्धावस्था: बृद्धिको समयमा मानिसहरू मर्छन् किनभने उनीहरूको शरीरले प्राकृतिक रूपमा परिवर्तन हुन्छ र उनीहरूको स्वास्थ्यमा कमी आउन सक्छ। यसले उनीहरूलाई अन्य रोगहरू वा अन्य कारणहरूको कारण मृत्यु हुन सक्छ। ३. आत्महत्या: मानिसहरू आत्महत्या गर्छन् किनभने उनीहरूले आफ्नो जीवनको अन्त्य गर्न चाहन्छन् वा उनीहरूको स्वास्थ्य वा समाजमा अन्य कारणहरूको कारण मृत्यु हुन सक्छ। ४. दुर्घटना: मानिसहरू दुर्घटनाको कारण मृत्यु हुन सक्छन्, जस्तै सडक दुर्घटना, पानीको दुर्घटना, वा अन्य दुर्घटनाहरू। यी दुर्घटनाहरू अक्सर अन्तर्निहित कारणहरूको कारण हुन्छन्, जस्तै अन्तर्निहित कार्यहरू वा अन्य कारणहरूको कारण हुन सक्छ। ``` ### Citation Information If you find this model useful, please consider giving 👏 and citing: ``` @heem2 } ``` ### Contributions - This is developed by Hem Bahadur Gurung.Feel free to DM if you have any questions.