--- license: other license_name: gemma-terms-of-use license_link: https://ai.google.dev/gemma/terms base_model: google/gemma-2b datasets: - ravithejads/samvaad-hi-filtered - Telugu-LLM-Labs/telugu_teknium_GPTeacher_general_instruct_filtered_romanized - Telugu-LLM-Labs/telugu_alpaca_yahma_cleaned_filtered_romanized - Telugu-LLM-Labs/sindhi_alpaca_yahma_cleaned_filtered - Telugu-LLM-Labs/urdu_alpaca_yahma_cleaned_filtered - Telugu-LLM-Labs/marathi_alpaca_yahma_cleaned_filtered - Telugu-LLM-Labs/assamese_alpaca_yahma_cleaned_filtered - Telugu-LLM-Labs/konkani_alpaca_yahma_cleaned_filtered - Telugu-LLM-Labs/nepali_alpaca_yahma_cleaned_filtered - abhinand/tamil-alpaca - Tensoic/airoboros-3.2_kn - Tensoic/gpt-teacher_kn - VishnuPJ/Alpaca_Instruct_Malayalam - Tensoic/Alpaca-Gujarati - HydraIndicLM/punjabi_alpaca_52K - HydraIndicLM/bengali_alpaca_dolly_67k - OdiaGenAI/Odia_Alpaca_instructions_52k - yahma/alpaca-cleaned language: - te - en - ta - ml - mr - hi - kn - sd - ne - ur - as - gu - bn - pa - or library_name: transformers pipeline_tag: text-generation --- # Indic-gemma-2b-finetuned-sft-Navarasa-2.0 This model is based on [google/gemma-2b](https://huggingface.co/google/gemma-2b) and hase been LoRA finetuned on 15 Indian languages and English language instruction datasets: 1. #### Hindi - [ravithejads/samvaad-hi-filtered](https://huggingface.co/datasets/ravithejads/samvaad-hi-filtered), [HydraIndicLM/hindi_alpaca_dolly_67k](https://huggingface.co/datasets/HydraIndicLM/hindi_alpaca_dolly_67k)(sampled) 2. #### Telugu - [Telugu-LLM-Labs/telugu_alpaca_yahma_cleaned_filtered_romanized](https://huggingface.co/datasets/Telugu-LLM-Labs/telugu_alpaca_yahma_cleaned_filtered_romanized), [Telugu-LLM-Labs/telugu_teknium_GPTeacher_general_instruct_filtered_romanized](https://huggingface.co/datasets/Telugu-LLM-Labs/telugu_teknium_GPTeacher_general_instruct_filtered_romanized) 3. #### Marathi - [Telugu-LLM-Labs/sindhi_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/sindhi_alpaca_yahma_cleaned_filtered) 4. #### Urdu - [Telugu-LLM-Labs/urdu_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/urdu_alpaca_yahma_cleaned_filtered) 5. #### Assamese - [Telugu-LLM-Labs/assamese_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/assamese_alpaca_yahma_cleaned_filtered) 6. #### Konkani - [Telugu-LLM-Labs/konkani_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/konkani_alpaca_yahma_cleaned_filtered) 7. #### Nepali - [Telugu-LLM-Labs/nepali_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/nepali_alpaca_yahma_cleaned_filtered) 8. #### Sindhi - [Telugu-LLM-Labs/sindhi_alpaca_yahma_cleaned_filtered](https://huggingface.co/datasets/Telugu-LLM-Labs/sindhi_alpaca_yahma_cleaned_filtered) 9. #### Tamil - [abhinand/tamil-alpaca](https://huggingface.co/datasets/abhinand/tamil-alpaca) 10. #### Kannada - [Tensoic/airoboros-3.2_kn](https://huggingface.co/datasets/Tensoic/airoboros-3.2_kn), [Tensoic/gpt-teacher_kn](https://huggingface.co/datasets/Tensoic/gpt-teacher_kn) 11. #### Malayalam - [VishnuPJ/Alpaca_Instruct_Malayalam](https://huggingface.co/datasets/VishnuPJ/Alpaca_Instruct_Malayalam) 12. #### Gujarati - [Tensoic/Alpaca-Gujarati](https://huggingface.co/datasets/Tensoic/Alpaca-Gujarati) 13. #### Punjabi - [HydraIndicLM/punjabi_alpaca_52K](https://huggingface.co/datasets/HydraIndicLM/punjabi_alpaca_52K) 14. #### Bengali - [HydraIndicLM/bengali_alpaca_dolly_67k](https://huggingface.co/datasets/HydraIndicLM/bengali_alpaca_dolly_67k)(alpaca filtered) 15. #### Odia - [OdiaGenAI/Odia_Alpaca_instructions_52k](https://huggingface.co/datasets/OdiaGenAI/Odia_Alpaca_instructions_52k), [OdiaGenAI/gpt-teacher-roleplay-odia-3k](https://huggingface.co/datasets/OdiaGenAI/gpt-teacher-roleplay-odia-3k) 16. #### English - [yahma/alpaca-cleaned](https://huggingface.co/datasets/yahma/alpaca-cleaned) The model is finetuned using [unsloth](https://github.com/unslothai/unsloth) library and we provide inference code using the same for faster inference. Alternatively you can use HuggingFace Library for inference. # Training Details: The model is trained on approx 650K instruction samples. 1. GPU: 1 A100, 80GB 2. Time: 45 Hours 3. Platform: [E2E Networks](https://www.e2enetworks.com/) # Installation `!pip install -U xformers --index-url https://download.pytorch.org/whl/cu121` `!pip install "unsloth[kaggle-new] @git+https://github.com/unslothai/unsloth.git@nightly"` # Input Text Format ``` ### Instruction: {instruction} ### Input: {input} ## Response: {response} ``` # Inference With Unsloth ```python3 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 = False model, tokenizer = FastLanguageModel.from_pretrained( model_name = "Telugu-LLM-Labs/Indic-gemma-2b-finetuned-sft-Navarasa-2.0", max_seq_length = max_seq_length, dtype = dtype, load_in_4bit = load_in_4bit, device_map="auto" ) FastLanguageModel.for_inference(model) # Enable native 2x faster inference input_prompt = """ ### Instruction: {} ### Input: {} ### Response: {}""" input_text = input_prompt.format( "Tranlsate following sentence to Hindi.", # instruction "India is a great country.", # input "", # output - leave this blank for generation! ) inputs = tokenizer([input_text], return_tensors = "pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens = 300, use_cache = True) response = tokenizer.batch_decode(outputs) ``` # Inference with HuggingFace ```python3 from transformers import AutoTokenizer, AutoModelForCausalLM import torch model = AutoModelForCausalLM.from_pretrained( "Telugu-LLM-Labs/Indic-gemma-2b-finetuned-sft-Navarasa-2.0", load_in_4bit = False, token = hf_token ) model.to("cuda") tokenizer = AutoTokenizer.from_pretrained("Telugu-LLM-Labs/Indic-gemma-2b-finetuned-sft-Navarasa-2.0") input_prompt = """ ### Instruction: {} ### Input: {} ### Response: {}""" input_text = input_prompt.format( "Tranlsate following sentence to Hindi.", # instruction "India is a great country.", # input "", # output - leave this blank for generation! ) inputs = tokenizer([input_text], return_tensors = "pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens = 300, use_cache = True) response = tokenizer.batch_decode(outputs)[0] ``` Refer to the [blog post](https://ravidesetty.medium.com/introducing-navarasa-2-0-indic-gemma-7b-2b-instruction-tuned-model-on-15-indian-languages-31f6565b2750) for sample examples. Please check our [Code Repository](https://github.com/TeluguLLMLabs/Indic-gemma-7b-Navarasa) for training and inference scripts. # Developers: The model is a collaborative effort by [Ravi Theja](https://twitter.com/ravithejads) and [Ramsri Goutham](https://twitter.com/ramsri_goutham). Feel free to DM either of us if you have any questions.