用Gemma 4打造古韩文翻译器
展示如何利用开源Gemma模型构建特定领域翻译应用的案例实践。
展示如何利用开源Gemma模型构建特定领域翻译应用的案例实践。
老书有一种独特的美。经年风化的纸张气息、书页的触感,以及那些历经世代流传至今的故事。但如果你曾尝试翻开一部韩国古典文学作品,比如朝鲜王朝小说《洪吉童传》(홍길동전),很快就会意识到:时间同样会在语言上留下自己的印记。
原文不仅没有分词空格,还使用了如今已经废弃的字母,比如点元音 Arae-a(ㆍ)和弱音 Yeorin-hieut(ㆆ)。阅读这样的文本,与其说是在浏览一本小说,不如说是在破解一道美丽而古老的谜题。即使对韩语母语者来说,这种语言鸿沟也非常巨大。
正因如此,我决定编写这篇教程,在过去与现在之间架起一座数字桥梁。我使用 Gemma 4 E2B(IT),尝试打造一个简单的翻译器,将韩国古典语言转换成流畅的现代韩语。
为了让整个过程保持在可控范围内,我通过 Google Colab,在一块 NVIDIA T4 GPU(16GB)上完成了实验。
首先,引入我们喜爱的开源工具:Hugging Face 的 transformers、负责训练循环的 trl,以及 peft。借助 peft,我们可以使用 LoRA(Low-Rank Adaptation,低秩适配)对模型进行 fine-tuning,而不需要庞大的服务器集群。
数据方面,我使用了公共领域版本的《洪吉童传》,并将其与 직지프로 提供的一份优美现代译本配对使用,后者采用 Creative Commons 许可协议。
为了让 Gemma 更容易适应,我将数据整理成对话格式,并通过清晰的 system prompt 引导模型:
[
{"role": "system", "content": "Translate Classical Korean into Modern Korean."},
{"role": "user", "content": "됴션국셰둉ᄃᆡ왕즉위십오연의홍희문밧긔ᄒᆞᆫᄌᆡ상이잇스되"},
{"role": "assistant", "content": "조선국 세종대왕 즉위 십오년에 홍회문 밖에 한 재상이 있으되,"}
]
(翻译说明:这句话向我们介绍了一位宰相,他在世宗大王即位第十五年时居住在洪会门外!)
在针对 Gemma 进行任何特定训练之前,我先快速完成了一次基线测试。Base model 很聪明,但古代语法是一个高度专业化的领域。未经 tuning 时,Gemma 虽然尽了最大努力,最终给出的却是冗长且过度直译的解释:
古典原文:ᄇᆡᆨ씨듯고ᄂᆡ심의탄복왈그근본을ᄀᆞᆷ초지아니ᄒᆞ니장부로다ᄒᆞ고ᄌᆡ삼위로ᄒᆞ더라
人工翻译:백씨 듣고 내심에 탄복 왈, “그 근본을 감추지 아니하니 장부로다!” 하고, 재삼 위로하더라.
Gemma 的初始猜测:“就像颜色一样,内心的赞叹说道:‘无法深刻感受到根基……’”
初始相似度得分:4.85% 💔
(翻译说明:这句话实际表达的是——白氏听后,内心十分钦佩,说道:“他不隐瞒自己的本性,真是个大丈夫!”随后又再三安慰他。)
Base model 显然迷失在了时间长河里。它需要一张地图。
为了高效训练模型,我采用了基于 LoRA 的 Parameter-Efficient Fine-Tuning(PEFT,参数高效微调)方案。
from peft import LoraConfig
peft_config = LoraConfig(
lora_alpha=16,
lora_dropout=0.05,
r=16,
bias="none",
target_modules="all-linear",
task_type="CAUSAL_LM",
)
当你对一个 chat model 进行 fine-tuning,让它表现得像某种特定工具时,并不希望它浪费精力学习如何重写你的 prompt。通过使用自定义 data collator,我屏蔽了 system 和 user 输入(将它们的 label 设置为 -100),迫使 Gemma 在计算 loss 时,只专注于生成正确的现代韩语 assistant response。
将 hyper-parameter 设置为以 2e-5 的 learning rate 平稳完成 5 个 epoch 后,我启动了训练。
耐心等待一段时间,让 trainer 发挥作用后,结果令人无比振奋。逐字符相似度得分一路跃升到了惊人的 79.93%!
看看它现在是如何处理这段文本的:
古典原文:ᄇᆡᆨ씨듯고ᄂᆡ심의탄복왈그근본을ᄀᆞᆷ초지아니ᄒᆞ니장부로다ᄒᆞ고ᄌᆡ삼위로ᄒᆞ더라
人工翻译:백씨 듣고 내심에 탄복 왈, “그 근본을 감추지 아니하니 장부로다!” 하고, 재삼 위로하더라.
Gemma fine-tuning 后的翻译:백씨듯 고내심에 탄복 왈, “그 근본을 감초지 아니하니 장부로다.” 하고 제삼 위로 하더라.
新的相似度得分:85.71% ✨
技术常常推动我们毫不停歇地奔向未来,但我最喜欢的科技项目,是那些能让我们以更清晰的视角回望过去的项目。只要花一点时间对 Gemma 4 这样的轻量级模型进行 fine-tuning,我们就能构建出保存文化历史的工具,让任何拥有一台笔记本电脑的人,都可以接触古老的智慧与经典故事。
下次,当你发现某段历史似乎有些遥不可及时,请记住:你可能只需要一个小型数据集和一次 fine-tuning,就能让它重见天日。
下面是针对你自己的领域进行 fine-tuning 时,可以遵循的结构化工作流:
👉 在 Gemma Cookbook 中查看这篇教程
👉 为 repository 点亮 Star,支持我们