🚀 🌟 Gemma-3-12B 印度語系語言模型 🌟
這可不是普通的語言模型,而是經過全面監督微調(SFT)的 谷歌 Gemma-3-12B 模型,專門針對印度語系語言進行優化,首先支持的就是泰盧固語!該模型在包含泰盧固語問答的自定義數據集上進行訓練,能夠像母語者一樣理解、對話和生成文本。
我們正在逐步支持所有主要的印度語系語言,以打造一個全面的多語言印度語系助手。
🔍 印度語系語言支持路線圖
語言 |
狀態 |
ISO 代碼 |
泰盧固語 (తెలుగు) |
✅ 已完成 |
te |
印地語 (हिंदी) |
🔄 即將推出 |
hi |
泰米爾語 (தமிழ்) |
🔄 即將推出 |
ta |
馬拉雅拉姆語 (മലയാളം) |
🔄 即將推出 |
ml |
卡納達語 (ಕನ್ನಡ) |
🔄 即將推出 |
kn |
孟加拉語 (বাংলা) |
🔄 即將推出 |
bn |
馬拉地語 (मराठी) |
🔄 即將推出 |
mr |
旁遮普語 (ਪੰਜਾਬੀ) |
🔄 即將推出 |
pa |
古吉拉特語 (ગુજરાતી) |
🔄 即將推出 |
gu |
奧里亞語 (ଓଡ଼ିଆ) |
🔄 即將推出 |
or |
阿薩姆語 (অসমীয়া) |
🔄 即將推出 |
as |
✨ 示例交互 ✨
想知道它能做什麼嗎?以下是一個簡單的示例:
用戶 ( ప్రశ్న ): ఇండియాలో గ్రోసరీస్ మీద డబ్బులు సేవ్ చేయడానికి బెస్ట్ వేస్ ఏంటి?
(在印度,節省雜貨開支的最佳方法是什麼?)
模型 ( జవాబు ): ఇండియాలో కిరాణా సామాన్ల మీద డబ్బులు సేవ్ చేయడానికి కొన్ని బెస్ట్ వేస్ ఇక్కడ ఉన్నాయి, చూడు:
- 制定預算:首先,為雜貨購物設定一個固定的預算。提前確定每月的開支,這樣就不會超支。
- 按計劃購物:在購物前,準備一份購物清單,明確要買什麼和買多少。沒有清單的話,可能會買很多不必要的東西,導致超出預算。
- 尋找折扣:超市裡經常有折扣和優惠活動,要留意這些信息。有時候還有捆綁銷售,這可以節省不少開支。
- 批量購買更划算:一些商品批量購買時價格會更便宜。特別是豆類、油類等可以保存較長時間的商品,可以考慮批量購買。
- 季節性購買很明智:瞭解每個季節哪些商品價格較低很重要。夏季的水果、冬季的蔬菜價格通常較低,可以充分利用這一點。
🚀 模型與訓練詳情
這個模型可不是自己訓練出來的!以下是幕後的詳細信息:
- 基礎模型:
google/gemma-3-12b-pt
- 微調方法:全面監督微調(Full SFT)
- 當前支持語言:泰盧固語 (te) - 印度語系系列的首個語言
- 硬件:🔥 8 x NVIDIA H100 GPUs 🔥(由 Modal 提供支持)
- 訓練時間:約 3 小時(9744 秒)
- 數據集:自定義泰盧固語問答數據集(40k 樣本)
- 驗證集劃分:10%(36k 訓練樣本 / 4k 驗證樣本)
- 使用框架:LLaMA Factory、
transformers
、accelerate
、DeepSpeed(ZeRO Stage 2 並開啟 CPU 卸載)
- 精度:BF16
關鍵超參數:
- 每設備批量大小:2
- 梯度累積:32(有效批量大小:512)
- 學習率:2e-5(餘弦調度器)
- 訓練輪數:約 2.97
- 最大序列長度:4096
訓練指標:
- 最終訓練損失:0.7232
- 每秒訓練樣本數:11.083
- 總浮點運算次數:約 7.88e18(這可是大量的計算!🤓)
🔮 即將推出
令人期待的新功能即將上線:
- 印度語系文本轉語音(TTS) - 我們正在開發一個配套的 TTS 模型,它將通過自然的印度語系語音合成,讓模型的回答更加生動!
- 以印地語為主的大語言模型 - 我們正在進行一項專門的微調工作,以印地語為主要語言,同時保持多語言印度語系的支持能力。
- 支持更多印度語系語言 - 我們正在有條不紊地支持所有主要的印度語系語言,以打造最全面的印度語系語言助手。
💻 使用示例
基礎用法
可以使用 transformers
庫來開始使用這個模型:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "bharathkumar1922001/Gemma3-12b-Indic"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto",
attn_implementation="eager"
)
model.eval()
question = "ఆర్థిక మాంద్యాన్ని ప్రభుత్వాలు ఎలా పరిష్కరించగలవు?"
prompt = f"<start_of_turn>user\n{question}<end_of_turn>\n<start_of_turn>model\n"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
top_p=0.95,
top_k=50,
do_sample=True,
eos_token_id=tokenizer.eos_token_id
)
response_ids = outputs[0, inputs.input_ids.shape[1]:]
response = tokenizer.decode(response_ids, skip_special_tokens=True)
print("--- Question ---")
print(question)
print("\n--- Response ---")
print(response)
📄 許可證
本項目採用 Apache-2.0 許可證。
📞 聯繫我們
如果您有合作意向、需要定製部署或對該模型有任何疑問,請與我們聯繫。