🚀 emre/gemma-2-9b-Turkish-Lora-Continue-Pre-Trained
本模型是 google/gemma-2-9b
基础模型的继续预训练版本,在土耳其语维基百科数据集上进行训练,旨在提升基础模型对土耳其语文本的理解和生成能力。
🚀 快速开始
你可以使用 Python 中的 transformers
和 peft
库轻松加载和使用此模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
model_name = "google/gemma-2-9b"
peft_model_id = "emre/gemma-2-9b-Turkish-Lora-Continue-Pre-Trained"
tokenizer = AutoTokenizer.from_pretrained(model_name)
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True,
bnb_4bit_compute_dtype=torch.float16
)
base_model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto",
torch_dtype=torch.float16,
attn_implementation="eager"
)
model = PeftModel.from_pretrained(base_model, peft_model_id)
model.eval()
if torch.cuda.is_available():
model = model.to("cuda")
prompt = "Türkiye'nin başkenti neresidir?"
input_ids = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**input_ids, max_new_tokens=50, num_return_sequences=1)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
✨ 主要特性
- 商业使用:仅对 BBVA 集团提供商业使用,学术和研究目的可免费使用。
- 模型类型:因果语言模型。
- 语言支持:专注于土耳其语(tr)。
- 训练方式:基于
google/gemma-2-9b
基础模型,使用低秩自适应(LoRA)在土耳其语维基百科数据集上继续预训练。
📚 详细文档
模型详情
用途
直接使用
此模型可用于生成土耳其语文本,适用于各种自然语言处理任务,例如:
- 文本生成
- 语言建模
- 创意写作
- 基于土耳其语文本回答问题(需适当提示)
下游使用
该模型可作为强大的基础,用于在土耳其语的特定下游任务上进行进一步微调,例如:
- 土耳其语文本摘要
- 土耳其语问答
- 土耳其语文本分类
- 土耳其语对话生成
不适用场景
此模型不应用于生成有害、不道德或有偏见的内容。由于它是在大量文本语料库上训练的,可能会无意中生成此类内容。用户在部署此模型时应谨慎并承担责任。
偏差、风险和局限性
该模型在土耳其语维基百科数据集上训练,可能包含原始数据中的偏差。模型的性能可能因具体任务和领域而异。用户应了解这些局限性,并针对特定用例进行全面评估。
建议
用户在将模型部署到实际应用之前,应仔细评估其输出并考虑潜在的偏差。在特定任务和多样化的土耳其语数据集上进行进一步微调,有助于减轻其中一些局限性。
训练详情
训练数据
模型在 Alaeddin/wikipedia-turkish 数据集上训练:
- 训练集:1,620,000 个段落。
- 验证集:1,000 个段落(与训练集不相交)。
训练过程
模型使用 Hugging Face 的 Trainer
API 在配备 A100 GPU(40GB)的 Google Colab Pro+ 实例上进行训练。关键设置包括:
- 量化:4 位,NF4 类型和双量化(
BitsAndBytesConfig
)。
- LoRA 配置:
- 秩(
r
):8
- 阿尔法(
lora_alpha
):32
- 目标模块:
q_proj
,v_proj
- 丢弃率:0.1
- 训练参数:
- 轮数:1
- 有效批量大小:8(
per_device_train_batch_size=2
,gradient_accumulation_steps=4
)
- 学习率:2e-5
- 调度器:线性,500 个热身步骤
- 混合精度:FP16
- 评估频率:每 5,000 步
- 总步数:202,500
训练超参数
- 训练机制:FP16 混合精度
- 优化器:AdamW(融合实现)
速度、大小、时间
- 时长:约 110 小时
- 硬件:A100 GPU(40GB)
- 可训练参数:4,472,832(占总 9,246,178,816 个参数的 0.0484%)
评估
测试数据、因素和指标
- 测试数据:来自土耳其语维基百科数据集的 1,000 个段落,预留为验证集。
- 指标:
- 验证损失:衡量模型在验证集上的预测误差。
- 困惑度:表示模型预测下一个标记的能力(越低越好)。
结果
模型 |
验证损失 |
困惑度 |
预训练核心(Gemma-2-9b) |
2.5168 |
12.39 |
继续预训练(LoRA) |
2.1027 |
8.19 |
经 LoRA 适配的模型在土耳其语文本上明显优于基础模型。
环境影响
使用 机器学习影响计算器 估算碳排放:
- 硬件类型:A100 GPU(40GB)
- 使用时长:110 小时
- 云服务提供商:Google Colab
- 计算区域:未知(估算时假设为 us-central1)
- 碳排放:约 22 千克 CO2 当量(基于 44 千瓦时,0.5 千克 CO2/千瓦时)
注意:实际排放量取决于计算区域的能源结构。
📄 许可证
Gemma,仅限 BBVA,学术免费
📖 引用
@misc{tasar2023gemma2turkish,
author = {Davut Emre Tasar},
title = {Gemma-2-9b Turkish LoRA Continue Pre-Trained Model},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/emre/gemma-2-9b-Turkish-Lora-Continue-Pre-Trained}}
}