Gemma-3-270M 英汉翻译模型 (gemma-3-270m-translator-test-v1)
这是一个基于 unsloth/gemma-3-270m-it
模型,使用 Helsinki-NLP/opus-100 数据集中 50,000 条英汉(en-zh)样本微调而成的翻译模型。
该模型利用 Unsloth 框架和 LoRA 技术进行了高效的参数微调,旨在将英文文本准确、流畅地翻译成中文。
✨ 模型特性
- 基础模型: Google 的 Gemma 3 270M 指令微调版 (
unsloth/gemma-3-270m-it
)。 - 任务: 英语到中文的翻译。
- 训练技术: 使用 Unsloth 框架和 LoRA 技术进行高效微调,训练速度是原生 PyTorch 的 2 倍以上。
- 发布格式:
- 完整的 FP16 "主副本" (Master Copy),用于进一步开发或高精度推理。
- Q8_0 量化的 GGUF 版本,适用于在 CPU 或算力有限的设备上通过
llama.cpp
运行。
🚀 如何使用
1. 使用 transformers
和 Unsloth (推荐)
首先,请确保已安装 unsloth
和 transformers
。
pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
pip install --no-deps xformers trl peft accelerate bitsandbytes
然后,您可以使用以下 Python 代码进行推理:
from unsloth import FastModel
import torch
# 从 Hub 加载模型和分词器
model, tokenizer = FastModel.from_pretrained(
model_name = "Clancy1024/gemma-3-270m-translator-test-v1", # 您的模型仓库 ID
max_seq_length = 2048,
load_in_4bit = True,
)
# 准备 Gemma 3 的聊天模板
from unsloth.chat_templates import get_chat_template
tokenizer = get_chat_template(tokenizer, chat_template="gemma3")
# 准备输入
english_text = "Hello, world! This is a test of the translation model."
instruction = f"Translate the following English text to Chinese:\n{english_text}"
messages = [{"role": "user", "content": instruction}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt").to("cuda")
# 生成翻译结果
outputs = model.generate(input_ids=input_ids, max_new_tokens=128, use_cache=True)
response_ids = outputs[0, input_ids.shape[-1]:] # 移除输入部分
response = tokenizer.decode(response_ids, skip_special_tokens=True)
print("英文原文:", english_text)
print("中文翻译:", response.strip())
# 预期输出: 你好,世界!这是一个翻译模型的测试。
2. 使用 GGUF 和 llama.cpp
您也可以使用本仓库中提供的 gemma-3-translator-test-Q8_0.gguf
文件在 CPU 上进行推理。
# 首先,克隆 llama.cpp 仓库
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
# 使用 CMake 创建构建目录并生成构建文件
cmake -B build
# 执行编译 (这会自动检测并使用最适合您系统的优化)
cmake --build build --config Release
# 编译完成后,可执行文件位于 build/bin/ 目录下
# 运行推理:
./build/bin/main -m /path/to/your/gemma-3-translator-test-Q8_0.gguf \
-p "<start_of_turn>user\nTranslate the following English text to Chinese:\nHello, world!<start_of_turn>model\n" \
-n 64
🛠️ 训练细节
- 基础模型:
unsloth/gemma-3-270m-it
- 数据集:
Helsinki-NLP/opus-100
(en-zh
子集),随机抽样 50,000 个样本。 - LoRA 配置:
r
(秩): 128lora_alpha
: 128target_modules
:["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
- 训练超参数:
learning_rate
: 2e-5num_train_epochs
: 1per_device_train_batch_size
: 8optimizer
: adamw_8bit
训练性能
模型在单张 Google Colab T4 GPU 上完成训练,展现了 Unsloth 框架的高效率。
- 总训练步数: 6,250 steps
- 总训练时长: ~56 分钟
- 初始训练损失 (at Step 5):
5.2648
- 最终训练损失 (at Step 6250):
2.5816
损失值从 5.26 稳步下降至 2.58,表明模型在训练过程中得到了充分且有效的学习。
📜 免责声明和局限性
- 该模型基于 50,000 个样本进行微调,相较于商业级翻译系统,其词汇量和能处理的领域仍然有限。
- 在处理非常规、专业性强或包含复杂文化背景的文本时,翻译质量可能会下降。
- 模型可能继承基础模型 Gemma 3 的固有偏见。请负责任地使用。
许可证
本模型是在 Gemma 许可证下发布的。训练数据集 Helsinki-NLP/opus-100
遵循 MIT 许可证。
- Downloads last month
- 57