目录

数学口语翻译成latex公式

英语翻译汉语

首选:Qwen2.5-7B-Instruct / Qwen3-4B-Instruct

提示词模板优化:

备选:DeepSeek-V2-Lite-Chat / DeepSeek-Chat

备选:Llama-3-8B-Instruct

模型对比

为什么Qwen最适合

1. 腾讯混元翻译 1.5:权威评测冠军,准确率之王

部署方式:

开源地址:

显存占用:

推理代码:

Google TranslateGemma:谷歌背书,输出稳定可靠


数学口语翻译成latex公式

话一长了,翻译工作就停止了,

原因:token设置短了。

英语翻译汉语

首选:Qwen2.5-7B-Instruct / Qwen3-4B-Instruct

通义千问的指令微调系列非常适合这类任务。

为什么推荐:

  • 指令理解能力强:能准确理解“用口语化表达”、“不要用分式”这类约束

  • 数学理解好:训练数据包含大量LaTeX和数学公式,能正确识别数学结构

  • 输出可控:可以通过系统提示词约束输出格式

  • 部署友好:4B版本可在消费级显卡运行

使用示例:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-7B-Instruct"  # 或 Qwen/Qwen3-4B-Instruct

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")

messages = [
    {"role": "system", "content": "你将数学表达式翻译成中文口语化表达。不要用括号、分式,用'除以'、'减去'、'等于'。只输出翻译结果。"},
    {"role": "user", "content": "The quantity x plus one over two, minus the quantity x plus two over six, equals one."}
]

# 使用 chat template
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
# 提取助手回复
print(response.split("assistant")[-1].strip())

预期输出: x加1除以2,减去x加2除以6,等于1

提示词模板优化:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name_or_path = "/data/lbg/models/tencent_HY-MT1.5-7B-FP8/"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, device_map="auto")

# 待翻译的公式列表
formulas = [
    "The quantity x plus one over two, minus the quantity x plus two over six, equals one.",
    "One half of the quantity x plus one, minus one sixth of the quantity x plus two, equals one.",
    "The quantity a plus b over c minus d equals zero.",
    "Three times the quantity x minus two over four equals five.",
]

# 固定的提示词模板(不含具体公式)
prompt_template = """Translate into spoken Chinese without parentheses or fraction bars. Use '除以' for 'over', '减去' for 'minus', '等于' for 'equals', and '括号' for 'quantity' if needed. No extra text. Examples: '(x+1)/2' -> 'x加1除以2'。

{}"""

results = []
for formula in formulas:
    messages = [{"role": "user", "content": prompt_template.format(formula)}]
    tokenized_chat = tokenizer.apply_chat_template(
        messages,
        tokenize=True,
        add_generation_prompt=True,
        return_tensors="pt"
    )
    
    with torch.no_grad():
        outputs = model.generate(
            tokenized_chat.to(model.device), 
            max_new_tokens=2048
        )
    
    output_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    # 提取模型回答部分(去掉用户输入)
    response = output_text.split("<|extra_0|>")[-1].strip()
    
    print(f"输入: {formula[:50]}...")
    # print(f"输出: {response}\n")

    output_text = tokenizer.decode(outputs[0], skip_special_tokens=False)

    # 方法2a:根据特殊token分割
    if "<|extra_0|>" in output_text:
        # 取最后一个 <|extra_0|> 之后的内容(去掉用户输入)
        response = output_text.split("<|extra_0|>")[-1].strip()
        # 如果回复开头包含原输入公式,进一步清理
        # 这里可以根据需要提取实际翻译部分
    elif "assistant" in output_text:
        # 根据对话格式提取
        response = output_text.split("assistant")[-1].strip()
    else:
        response = output_text
    print(f"提取的回复: {response}")    
    results.append(response)

print("所有结果:", results)

备选:DeepSeek-V2-Lite-Chat / DeepSeek-Chat

同样优秀的指令遵循能力,对中文和数学都很好。

备选:Llama-3-8B-Instruct

英文指令理解强,配合好的提示词也能达到效果,但中文输出质量略低于Qwen。

模型对比

模型 指令理解 数学能力 中文输出 显存需求 推荐度
Qwen2.5-7B-Instruct ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ~16GB 强烈推荐
Qwen3-4B-Instruct ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ~8GB 推荐(低显存)
DeepSeek-V2-Lite-Chat ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ~12GB 推荐
Llama-3-8B-Instruct ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ~16GB 可接受
HY-MT1.5-7B ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ~16GB 不推荐

为什么Qwen最适合

  1. 数学公式理解:Qwen系列在训练时包含大量LaTeX和数学内容,能正确理解 ∇f(x)Σ||θ||² 等数学符号

  2. 指令跟随:专门经过指令微调,能严格遵循“不要输出额外解释”、“只用口语化表达”等约束

  3. 中文自然:原生中文模型,口语表达地道

1. 腾讯混元翻译 1.5:权威评测冠军,准确率之王

如果你把“准确率”放在第一位,那么腾讯混元翻译的 7B (70亿参数) 版本是目前开源模型里几乎没有对手的选择。

  • 准确率表现:这个7B模型是 WMT25国际机器翻译比赛冠军模型的升级版。WMT比赛是机器翻译领域最权威的评测之一,能拿到30个语种的第一名,本身就是其准确率顶尖的有力证明-1-5。根据评测数据,它甚至在部分测试集上的表现超越了主流的商用翻译API-1

  • 稳定性保障:它的稳定性体现在几个实用的功能上。一是 术语库自定义,你可以为医疗、法律等专业领域设定专属术语库,模型会严格遵循你的术语,确保每一次翻译都精准、一致-1-5。二是 端云协同部署,你可以将1.8B小模型部署在本地快速响应,同时将7B大模型部署在云端处理复杂任务,这种架构能极大提升整个系统的服务稳定性-1

部署方式:

部署方式 一句话总结 硬件要求 难度 适合场景
🐳 Docker 容器化部署 最省心、最稳定,一条命令搞定环境,推荐生产环境使用。 推荐 8GB+ 显存 ⭐ 低 追求稳定、需要快速上线、不想折腾环境配置。
💻 Python 原生推理 灵活性最高,可直接嵌入Python项目,适合开发调试。 约 4GB 显存 ⭐⭐ 中 开发者,需要在自有Python代码中集成翻译功能。
📱 GGUF + Ollama 部署 资源消耗最低可在普通电脑甚至手机上运行,但功能可能不完全。 < 1GB 内存 ⭐ 低 硬件资源有限、想离线尝鲜、或需要跨平台部署(如macOS/手机)。

开源地址:

https://github.com/Tencent-Hunyuan/HY-MT

显存占用:

运行 HY-MT1.5-7B 模型所需的具体显存,完全取决于你选择的模型精度。这张表能让你一目了然:

精度/格式 显存占用 实际运行建议 说明与建议
FP16 (半精度) ~14 GB-1-9 ≥ 20 GB-7-10 旗舰级配置。虽然权重本身约14GB,但推理时的缓存和上下文会额外增加4-6GB显存。需要 RTX 4090 (24GB) 或 A100 (40GB) 这类高端显卡-1-2-3
INT8 (8位量化) ~7-8 GB-7-10 ≥ 12 GB 平衡之选。显存需求直接减半,质量损失极小(BLEU分数下降<0.5)-7。推荐 RTX 4080/3090 (16GB+) 或 A10G (24GB)
INT4 (4位量化) ~4-5 GB-7-10 ≥ 6 GB 消费级福音。这是最推荐普通开发者的方案。压缩后模型文件约 4.2 GB-1,可在 RTX 3060 (12GB) 甚至 RTX 2060 (6GB) 上流畅运行,同时保持约 95% 的翻译质量-1-7

推理代码:

from transformers import AutoModelForCausalLM, AutoTokenizer
import os

model_name_or_path = "tencent/HY-MT1.5-1.8B"
model_name_or_path = "/data/lbg/models/tencent_HY-MT1.5-7B-FP8/"

tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, device_map="auto")  # You may want to use bfloat16 and/or move to GPU here
messages = [
    # {"role": "user", "content": "Translate the following segment into Chinese, without additional explanation.\n\nIt’s on the house."},
    # {"role": "user", "content": "Translate the following segment into Chinese, without additional explanation.\n\nThe quantity x plus one over two, minus the quantity x plus two over six, equals one."},
    {"role": "user", "content": "Translate the following segment into Chinese, without additional explanation.\n\nOne half of the quantity x plus one, minus one sixth of the quantity x plus two, equals one."},
]
tokenized_chat = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=False,
    return_tensors="pt"
)

outputs = model.generate(tokenized_chat.to(model.device), max_new_tokens=2048)
output_text = tokenizer.decode(outputs[0])
print(output_text)

Google TranslateGemma:谷歌背书,输出稳定可靠

TranslateGemma的优势在于其由Google强大的技术背景带来的稳定性和可控性,特别适合需要批量处理文档或对格式有严格要求的场景。

  • 准确率表现:Google官方在WMT24++基准上的评测显示,其 12B (120亿参数) 版本的表现超过了更大的27B版本,实现了性能和效率的最佳平衡-3。虽然它没有像腾讯那样亮眼的比赛冠军头衔,但谷歌在翻译领域多年的积累是其准确率最坚实的保证。

  • 稳定性核心优势:根据实际使用的评测,TranslateGemma最大的特点就是 “可预测”和“听指挥”-6-9。只要你通过精确的指令(Prompt)设定好规则(比如“保持HTML标签不变”、“将‘Sie’译为正式的‘您’”),它就能非常稳定地执行,输出风格和格式高度统一。这对于翻译大批量的UI字符串、技术文档或邮件模板来说至关重要,能大大减少后期的人工校对工作-6。相比之下,很多追求“自然”的模型每次翻译结果可能会有细微差异,增加了工作量。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐