HimalayaGPT's picture
update model poster
af1c40e verified
|
Raw
History Blame Contribute Delete
2.3 kB
---
language:
- ne
- en
base_model:
- google/gemma-4-E2B-it
---
# Gemma 4 E2B-it Full SFT (Nepali & English)
![Model Poster](himalaya-gemma4-e2b-it_poster.png)
This repository contains the finalized fine-tuned weights for the `himalaya-gemma-4-e2b-it` model. It has been fully trained to understand and generate high-quality text in both English and Nepali.
## ⚙️ Training Details
Unlike standard QLoRA fine-tuning, this model uses **Full-Parameter SFT**. This means every parameter in the model is trainable.
The training run stabilized beautifully over approximately 125,000 steps. To fit this comprehensive training on a single 1x A100 GPU with a tight memory budget, we utilized:
* 8-bit AdamW optimizer
* Gradient Checkpointing
## 📚 Datasets
The training data is a 50/50 mix of two high-quality datasets:
1. **Nepali:** `himalaya-ai/nepali-sft-dataset`
2. **English:** `teknium/OpenHermes-2.5`
## 🚀 How to Use for Benchmarking
You can load and test this model using the Hugging Face `transformers` library.
### 1. Install dependencies
First, make sure you have the required libraries installed:
```bash
pip install transformers accelerate torch
```
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Put the exact Hugging Face repository name here
model_id = "himalaya-ai/himalaya-gemma-4-e2b-it"
# 1. Load the tokenizer and model
```
print("Loading model for benchmarking...")
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.float16
)
```
# 2. Set up your prompt
```
user_prompt = "Write a short poem about the mountains in Nepal."
```
# Apply the chat template
```messages = [
{"role": "user", "content": user_prompt}
]
formatted_prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
```
# 3. Generate the response
```inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)
print("Generating response...")
outputs = model.generate(
**inputs,
max_new_tokens=256,
do_sample=True,
temperature=0.7
)
```
# 4. Print the result
```
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print("\n--- Output ---\n")
print(response)
```