LinuxDo 机器翻译混合评估体系
[!tips]- 一些前置小叙,结果可直接转至第 5 部分运行数据分析情况
0. 前言小叙
0.0 初叙
开学第一天啃到始皇悬赏帖子,心血来潮,琢磨着玩儿的想法,进行了一番折腾:
第一天,检索收集初筛模型,顺便参考看看佬友已有的帖子内容与想法
第二天,再次考虑筛选模型,且琢磨评分指标,最终考虑了初版的 MQM 规范的评分模型
第三天,考虑采集数据,下午时段进行采集了常规非 lv 限制的数据3000+条(大概)
第四天,进行数据清洗,词云统计筛选,字段的设计,请求的流程,和在 Colab 实际开始尝试(好吧其实最主要还是在熟悉推理流程和优化调度)
第五天,慢慢磨着在 Colab 上
第六天…好像还在磨?把 llama 换成了 vllm,立竿见影的丝滑
第七天…熬到了难得的休息日,玩!(bushi)合计磨了自己屯屯鼠攒的180左右计算单元,A100,最终初版数据 over 了–<-<-<@
然后,整个第二周结束,一点点的墨迹开始阶段二,本地的 POLL …磨到了周末,最后也算是结束了,算是给这一个任务划上一个阶段性的『。』。当然好事成双。 连续两周十三天的课也收束结束了(@^0^@)/由于核心重点在于,『黑话』的识别,在不同语义语境下的精确匹配,这里选择了上下文与标签类别的提示词注入,来测试模型的翻译能力。
比较一个初步预想的一个架构状态,是在进行实际翻译的时候,进行标签或者是部分上下文注入的方式,让模型在推理的推理时,先验对目标词句有状态语境认知,确保能更精准的匹配正确的语义向量
补充说明评测被拆分为 三个测试块:
Baseline_Standard(基础/常规 UI 文本)、Jargon_Tech(金数据术语短句/标签场景)、Slang_Ambiguous(黑话长语境场景)
其中 Jargon_Tech 与 Slang_Ambiguous 均启用了术语门控,但数据来源不同:
- Jargon_Tech:多为
slang_test_###的短句/标签式样本(见 Stage 2Jargon_Tech_poll_mqm_audit.json)- Slang_Ambiguous:为
topic_id的长帖型语境样本(来自黑话金数据集)0.1 Some Datas’link
本段索引对应的文档: Local_PoLL_MQM/docs/INDEX.md
Repo: Repo’Link
Stage 0: Metadatas in Google Drives
Stage 1: Colab Jupyter in Colab(本地亦有同逻辑 py 文件:IPYNB-PY/arena_core)
Stage 2: 同 Stage 0 处(实际审计与产物见 Local_PoLL_MQM/README.md)
补充说明:Stage 0/2 的数据文件结构基本以根目录直出为主;真正的细节说明统一放到以下文档:
- Local_PoLL_MQM/docs/BLUEPRINT.md:Stage 2 的边界、流程、输入输出
- Local_PoLL_MQM/docs/ALGORITHM_DRAFT.md:评分公式、仲裁逻辑、门控规则
- Local_PoLL_MQM/analysis_infra/FINAL_POST_DRAFT.md:Stage 2/3 资产、图表、交互壁的详细记录
- Local_PoLL_MQM/scripts/:对应的实现脚本入口与分析脚本
- Local_PoLL_MQM/analysis_infra/dim_data/、Local_PoLL_MQM/analysis_infra/raw_stats/、Local_PoLL_MQM/analysis_infra/plots_canonical/:Stage 3 归一化表、原始统计、图表输出
0.2 Acknowledgments
- 感谢始皇源贴启发
- 感谢佬友帖子Translation Benchmark|轻量开源模型测评模型源与分析提供的参考
- 感谢佬友帖子8GB 显存笔记本极限挑战:模型本地化翻译测试报告测试与分析维度提供的参考
- 感谢佬友帖子基于个人电脑环境的轻量级翻译模型性能对比研究数据结构提供的参考
- 感谢佬友帖子聪明哈基米不会爱上神秘你圈黑话 | IF. 数据实战评测 TranslateGemma 4b数据维度与审计分析提供的参考
- 以及其他佬友的帖子思路参考( •̀ ω •́ )y
- 感谢薄荷公益站的 API 源
- 感谢黑与白公益站的 API 源
- 感谢星辰·AI站的 API 源
- 感谢硅基流动的 API 源
0.3 Caveats & Disclaimer
再次提及,当前的整个体系不一定是完全严谨与高效,也可能存有很多包括且不限于{数据集|测试集|测试结构|测试流|审计流|…}的问题,若有谬误部分,还望佬友们不吝赐教,批评指正
此外,若涉及数据隐私或潜在侵权问题,请及时联系,本人将第一时间核实并处理
**参考至上( ̄︶ ̄)
**
1. 评估模型:L‑D Hybrid Evaluator
(注,评分模型是基于理想状态下的考虑设计,以及核心的术语消歧门控机制。模型整体实际并没有进行规模化科学性的分析测试,所以该模型的一个精准性,仅作参考)
1.1 核心理念
针对社区高频出现的术语嵌套、语境隐喻及多语言混合特征,本体系旨在通过多数表决机制消除单模型的打分幻觉,引入非线性门控机制实现术语级的精准拦截。
1.2 评分模型
S_{\text{final}} = \max \left(0, \Big[ S_{\text{mqm}} - P_{\text{obj}} \Big] \times (1 - \delta \cdot E_{\text{term}}) \right)
-
S_{\text{mqm}} (核心语义主分):基于 WMT 官方 GEMBA‑MQM 规范。采用 PoLL (Panel of LLM Evaluators) 机制,由 5 个评审裁判执行多数表决仲裁。只有 ge 3/5 共识的错误片段才会被计入罚分。计算采用每百词错误密度归一化:
S_{\text{mqm}} = \max \left(0, 100 - \frac{c_{\text{minor}} \cdot 1 + c_{\text{major}} \cdot 5 + c_{\text{critical}} \cdot 25}{L} \times 100 \right)
-
P_{\text{obj}} (客观双轨底线惩罚):
P_{\text{obj}} = \alpha \cdot \max \Big(0, \text{Threshold} - (\omega_1 \cdot \text{chrF++} + \omega_2 \cdot \text{COMET}) \Big)
阈值设为 60 分,平滑系数 \alpha = 0.2。当模型底层翻译结构发生语义崩塌时触发此项 -
(1 - \delta \cdot E_{\text{term}}) (术语消歧乘法门控):
E_{\text{term}} = 1 - \frac{N_{\text{hit}}}{N_{\text{term}}}
惩罚系数 \delta = 0.5。针对“反代”、“车位”等 300+ 核心黑话执行一票否决校验。
2. 阶段 0:原材采集&预处理资产(Metadatas/)
核心的数据的部分,主要是分为『六部曲』:
- 资产 1:原初数据(l_station_posts.jsonl)
- 该数据是从站点公开帖子数据中采集的三千多条原始数据,包含了帖子标题、内容、标签等信息。对这些数据进行清洗和词云统计,筛选了核心的黑话词条,并进行了多语种的预期正向词和硬禁止词的补齐处理,形成后续术语门控的基础数据源
- 资产 2:测试基准数据集(Benchmark_V1_Dataset.json)
- 该数据是从站点首页的,资源和类别两个子页面中进行结构化提取的字段标签文本(其实原本还想着进行翻译,完成之后再。 根据这个结构化啊进行回填,然后增加一个插件进行展示效果,但是现在只想鱼摆摆了–<-<-<@,自闭先)
- 资产 3:Audit-黑话数据(L_Station_Glossary.json)
- 该数据是从,黑化代表色是数据中进行筛选,并翻译注解,形成的审计数据
- 资产 4:Audit-黑话金数据(Benchmark_Slang_Golden_V1_Final.json)
- 该数据是从采集的正文数据中,经过词云统计后作为过滤,精选的 207 条具有代表性的黑话讨论帖,经过筛选和翻译,形成的包含原文、注释和多语种参考译文的金数据集
- 资产 5:Audit-标签参考译文数据(Benchmark_Reference_Translations.json)
- 该数据是在资产 2 的基础上,对术语和标签式样本,进行翻译注释,形成的包含多语种参考译文的补充数据集
- 资产 6:黑话代表测试数据(Benchmark_Slang_Context.json)
- 该数据是手动筛选和考虑进行编写的一个专门的黑话测试集,34 条数据
- 资产 -1:杂鱼(hungry…)
- 对于余下的数据基本都是相关联的,或者并不是重要的,所以此处就不过多赘述
2.1 资产 1:原初数据(l_station_posts.jsonl)
原始采集 JSONL 片段示例:
{
"topic_id": 1346137,
"title": "NCM Desktop 相关进程监控与状态捕获工具记录贴",
"content": "<h3><a name=\"p-11495352-h-1\" class=\"anchor\" href=\ "#p-11495352-h-1\" aria-label=\"标题链接\"></a>始:</h3>\n<p>折腾了个 <a href=\"https://github.com/lgnorant-lu/NeteaseHookSDK\"...",
"tags": [
{
"id": 1451,
"name": "软件开发",
"slug": "1451-tag"
}
],
"username": "lgnorant-lu",
"created_at": "2025-12-20T16:54:24.500Z",
"fetched_at": "2026-03-09 14:49:47"
}
2.2 资产 2:测试基准数据集(Benchmark_V1_Dataset.json)
结构来自数据文件(schema_version=1.2),包含采样与 UI/核心/黑话混合条目。
{
"schema_version": "1.2",
"description": "L站翻译基线数据准备集(全量纳入 + 黑话坑位)",
"source_dataset": "Metadatas\\HTMLs_translation_dataset.json",
"sampling": {
"mode": "full_selection",
"min_occurrence": 1,
"actual_generic_ui": 5,
"actual_core": 850,
"slang_slots": 36,
"filters": {
"exclude_count_like": true,
"exclude_pure_number": true,
"exclude_single_ascii": true
}
},
"items": [
{
"benchmark_id": "ui_001",
"dedupe_key": "准则",
"source_cleaned": "准则",
"is_generic_ui": true,
"is_slang": false,
"occurrence_count": 3,
"sample_occurrence": {
"file": "linux",
"leaf_id": "n1630",
"kind": "text",
"path": "/html[1]/body[1]/noscript[2]/footer[1]/nav[1]/ul[1]/li[3]/span[1]/a[1]/#text",
"span": {
"start": 1354285,
"end": 1354288
},
"loc": {
"start": {
"line": 568,
"col": 48
},
"end": {
"line": 568,
"col": 51
}
},
"source_raw": "准则 "
}
}
]
}
说明:
items中既包含 UI 常规项,也包含核心领域项,黑话会在独立资产里标注并用于阶段二仲裁。
2.3 资产 3:Audit-黑话数据(L_Station_Glossary.json)
结构来自数据文件(schema_version=2.0),核心字段示例:
{
"schema_version": "2.0",
"description": "L站黑话多语种动态挂载词典与一票否决规则库 (Multilingual Glossary & Veto Rules)",
"terms":[
{
"term_id": "g_001",
"term_pattern": "车位",
"match_type": "exact",
"category": "账号合租",
"llm_instruction": "'车位' means a 'shared subscription slot' (e.g., for ChatGPT Plus). It has nothing to do with cars or parking.",
"veto_validation": {
"multilingual_expected": {
"en": ["slot", "seat", "subscription", "share", "account"],
"zh-TW": ["車位", "共享", "名額", "訂閱", "帳號"],
"ja": ["枠", "共有", "サブスク", "アカウント", "相乗り"],
"ko":["자리", "공유", "구독", "계정", "파티"],
"de":["Platz", "Slot", "Abo", "Abonnement", "Teilen", "Account"],
"fr":["place", "slot", "partage", "abonnement", "compte"],
"it":["posto", "slot", "condivisione", "abbonamento", "account"]
},
"multilingual_forbidden": {
"en": ["parking", "car", "garage", "space for a car"],
"zh-TW": ["停車位", "車庫", "汽車", "停車"],
"ja":["駐車場", "車", "ガレージ", "駐車", "パーキング"],
"ko":["주차", "차", "차고", "주차장", "자동차"],
"de": ["Parkplatz", "Auto", "Garage", "Parken"],
"fr":["parking", "voiture", "garage", "stationnement"],
"it":["parcheggio", "auto", "macchina", "garage", "sosta"]
}
}
},
{
"term_id": "g_002",
"term_pattern": "跳车",
"match_type": "exact",
"category": "账号合租",
"llm_instruction": "'跳车' means to 'bail out', 'drop out', or 'run away' from a shared subscription. Do not translate literally.",
"veto_validation": {
"multilingual_expected": {
"en":["bail", "drop", "exit", "scam", "leave", "quit"],
"zh-TW": ["跳車", "退出", "跑路", "退出共享"],
"ja":["逃げる", "抜ける", "辞める", "離脱"],
"ko":["먹튀", "탈퇴", "잠수", "도망"],
"de":["abspringen", "verlassen", "kündigen", "aussteigen"],
"fr": ["abandonner", "quitter", "sortir", "fuir"],
"it": ["abbandonare", "ritirarsi", "uscire", "scappare"]
},
"multilingual_forbidden": {
"en":["jump car", "jump off a car", "leap from"],
"zh-TW": ["跳下車", "跳出汽車"],
"ja":["車から飛び降りる", "車をジャンプ"],
"ko":["차에서 뛰어내리다", "점프차"],
"de": ["aus dem Auto springen", "Auto springen"],
"fr": ["sauter de la voiture", "voiture de saut"],
"it":["saltare giù dall'auto", "macchina che salta"]
}
}
},
说明:
multilingual_expected是正向词,multilingual_forbidden是“硬禁止”词(会触发 veto)。该结构是 术语消歧门控的核心数据源。
2.4 资产 4:Audit-黑话金数据(Benchmark_Slang_Golden_V1_Final.json)
黑话金标示例(含多语种参考译文):
[
{
"topic_id": 1710043,
"slang_annotations": [
"反重力 (Antigravity proxy)",
"杀 (ban/block)",
"反代 (Reverse Proxy)"
],
"source": {
"title": "反重力杀的好严啊,都不敢用了,大家用的都是什么反代?(",
"content": "CPA我现在就只敢用反CLI了,反重力只上了一个普通的号用2.5f和2.5f lite,之前两个家庭组Pro号都被杀了,申诉一下谷歌放回来了,但是再杀就是永久封了("
},
"reference_translations": {
"zh-TW": {
"title": "Antigravity 封鎖得好嚴啊,都不敢用了,大家用的都是什麼反代?(",
"content": "CPA 我現在就只敢用反向代理 CLI 了,Antigravity 只上了一個普通的帳號用 2.5f 和 2.5f lite,之前兩個家庭群組 Pro 帳號都被封鎖了,向 Google 申訴一下才解封,但再被封鎖就是永久停權了("
},
"en": {
"title": "Antigravity bans are so strict now, I don't even dare to use it. What reverse proxies are you all using?",
"content": "For CPA, I only dare to use reverse proxied CLI now. For Antigravity, I only logged into a standard account to use 2.5f and 2.5f lite. Previously, two of my Family Plan Pro accounts were banned. I appealed to Google and got them back, but a second ban will be permanent."
}
}
}
]
说明:该数据用于 Stage 2 的 术语门控 和 Stage 3 的 黑话热力图。
2.5 资产 5:Audit-标签参考译文数据(Benchmark_Reference_Translations.json)
参考译文样例(多语种标准化翻译):
{
"准则": {
"source": "准则",
"translations": {
"zh-TW": "準則",
"en": "Guidelines",
"ja": "ガイドライン",
"ko": "가이드라인",
"de": "Richtlinien",
"fr": "Lignes directrices",
"it": "Linee guida"
}
},
"服务条款": {
"source": "服务条款",
"translations": {
"zh-TW": "服務條款",
"en": "Terms of Service",
"ja": "利用規約",
"ko": "서비스 약관",
"de": "Nutzungsbedingungen",
"fr": "Conditions d'utilisation",
"it": "Termini di servizio"
}
},
2.6 资产 6:黑话代表测试数据(Benchmark_Slang_Context.json)
短句黑话测试集片段:
{
"schema_version": "2.0",
"description": "L站黑话与复杂语境深度语义测试集 (Slang Benchmark)",
"items": [
{
"test_id": "slang_test_001",
"slang_focus": "始皇",
"term_id_ref": "g_021",
"test_context": "始皇发帖了,前排沙发(≧∇≦)ノ。"
},
{
"test_id": "slang_test_002",
"slang_focus": "CC",
"term_id_ref": "g_004",
"test_context": "求一个CC号,有佬友出吗。"
},
{
"test_id": "slang_test_003",
"slang_focus": "爽蹬",
"term_id_ref": "g_005",
"test_context": "好像还没修复,赶紧上去爽蹬会儿。"
}
]
}
3. 阶段 1:大规模全量推理推理引擎(arena_core)
3.1 推理执行逻辑
- 环境:Google Colab(A100/T4)
- 解码策略:temperature=0.1 贪婪解码,尽量降低生成随机性
- 输出结构:严格限制 JSON 结构,避免自由回答
- 动态注入:
term_rules进入<GLOSSARY>标签注入 system prompt - 失败重试:解析失败或结构错误会重新请求(只在 Stage 1 内完成,Stage 2 不再生成翻译)
3.2 推理产物数据结构(02_Experiment_Runs)
Leaderboard 数据结构:
{
"generated_at": "2026-03-16T01:37:21.659888+00:00",
"model_count": 15,
"models": [
{
"model_id": "Qwen/Qwen3.5-9B",
"model_folder": "Qwen--Qwen3.5-9B",
"blocks": {
"Baseline_Standard": 88.9213,
"Jargon_Tech": 57.3529,
"Slang_Ambiguous": 42.5093
},
"overall_avg_s_final": 62.9278
}
]
}
单条审计样例(Stage 1):
来自 Stage 1 的 Slang_Ambiguous 审计样例,展示 term_gate/客观指标/MQM 合成逻辑(真实值):
{
"test_id": "slang_1710043",
"metrics": {
"chrf_score": 53.3322,
"comet_score": 75.0123,
"objective_penalty_pobj": 0.0,
"term_veto_passed": false,
"term_hit_rate": 0.0,
"mqm_score": 97.4425,
"s_final": 48.7212
},
"veto_details": {
"passed": false,
"hit_rate": 0.0,
"details": {
"missing_expected": ["反重力"],
"checked_language": "en",
"veto_tier": "[WARNING]"
}
}
}
关于 Stage 1 中 Jargon_Tech 统一为 57.3529 的问题说明:
在 Stage 1 的 Benchmarks-20260316T020328Z-3-001/Benchmarks/02_Experiment_Runs/Global_Metrics_Summary.json 中可以看到 Jargon_Tech 对所有模型均为 57.3529。这一点在单条 Jargon_Tech 审计样例中也体现为 固定的 chrf/comet=65.0 等模板式指标,即该块在 Stage 1 阶段属于占位,不会区分模型差异。
最终有效排名与图表以 Stage 2 重新审计后的结果 为准(Local_PoLL_MQM/output/elite_five_integrated/leaderboard/Global_PoLL_MQM_Summary.json + Local_PoLL_MQM/analysis_infra/dim_data/)。
3.3 Stage 1 的实际流程概览(粗粒度)
- 数据读取:以 Metadatas-20260316T020430Z-3-001/Metadatas/Benchmark_V1_Dataset.json 为主基准,结合 Metadatas-20260316T020430Z-3-001/Metadatas/Benchmark_Slang_Context.json 与 Metadatas-20260316T020430Z-3-001/Metadatas/L_Station_Glossary.json
- Prompt 组装:将术语门控规则转换为
<GLOSSARY>段落并注入 system prompt - 推理执行:逐模型、逐 block 执行翻译推理,输出严格 JSON
- 原始输出:按模型与 block 写入 raw_inference 目录内的
_raw.json文件 - Stage 1 审计:以 chrf/COMET + 术语门控生成初版
_audit.json文件
3.4 Stage 1 产物路径与说明
- 原始推理输出:按模型写入 Benchmarks-20260316T020328Z-3-001/Benchmarks/02_Experiment_Runs/ 下的 raw_inference 目录
- 阶段性审计:按模型写入 Benchmarks-20260316T020328Z-3-001/Benchmarks/02_Experiment_Runs/ 下的 audit json
- 排行榜汇总: Benchmarks-20260316T020328Z-3-001/Benchmarks/02_Experiment_Runs/Global_Metrics_Summary.json
- 运行快照: Benchmarks-20260316T020328Z-3-001/Benchmarks/run_manifest.json
3.5 Stage 1 的局限 & Stage 2 接管点
- Stage 1 的
Jargon_Tech为占位,无法拉开模型差距 - Stage 1 的评分仅为“初筛提示”,不做最终排名与对外结论
- Stage 2 在此基础上进行多裁判仲裁与复审,重置关键统计与排名
4. 阶段 2:PoLL 多数共识仲裁 & MQM 集成(Local_PoLL_MQM)
4.1 评审团构成与多数表决流程
- Elite Five:GPT‑5.4 / Claude‑4.5-haiku / Qwen‑3.5-397b / MiniMax‑M2.5 / DeepSeek‑r1-32b
- 流程:并发审计 → JSON Merge → 3/5 仲裁过滤幻觉
4.2 阶段 2 的资产层级
阶段 2 当前实际资产可以拆成四层:
4.2.1 输入层:Stage 1 推理产物
- Benchmarks-20260316T020328Z-3-001/Benchmarks/02_Experiment_Runs/
- 说明:Stage 1 的原始翻译输出与审计副本,是 Stage 2 重审的输入基底数据
- Benchmarks-20260316T020328Z-3-001/Benchmarks/run_manifest.json
- 说明:记录模型、块、配置和运行追踪,用于回溯当前审计是基于哪一轮推理
4.2.2 缓存层:五裁判评审缓存
- Local_PoLL_MQM/output/elite_five_integrated/checkpoints/
- 说明:按
test_id存储每个 judge 的局部判断,是共识仲裁的原始仓库
- 说明:按
- Local_PoLL_MQM/archive/original_single_runs/
- 说明:单裁判缓存的归档源
- Local_PoLL_MQM/output/
- 说明:当前工作副本,供合并与回放检查
4.2.3 审计层:逐块 MQM 报告
- Local_PoLL_MQM/output/elite_five_integrated/audited_reports/
- 说明:Stage 2 的核心输出,包含
accepted_errors、rejected_errors、term_gate、s_mqm、s_final、audit_meta
- 说明:Stage 2 的核心输出,包含
- 关键字段含义:
accepted_errors:≥ 阈值共识的错误,进入最终 MQM 罚分rejected_errors:低于阈值的边缘争议项,仅保留诊断信息term_gate:术语门控,记录missing_expected/expected_hits/ veto 状态valid_judges/vote_threshold:本条样本实际参与仲裁的裁判数与触发阈值
4.2.4 汇总层:排行榜 & 诊断日志
- Local_PoLL_MQM/output/elite_five_integrated/leaderboard/Global_PoLL_MQM_Summary.json
- 说明:按模型汇总的总排行榜,输出各 block 的
avg_s_final/avg_s_mqm
- 说明:按模型汇总的总排行榜,输出各 block 的
- Local_PoLL_MQM/output/elite_five_integrated/scheduler_diagnostic.log
- 说明:并发调度、失败重试、缓存命中与跳过块的诊断记录
4.3 说明的地方
- Stage 2 不是重新生成翻译,而是基于 Stage 1 的已有输出进行复审、仲裁与再打分
- 绝大多数后续图表与文本结论,应以 Local_PoLL_MQM/output/elite_five_integrated/audited_reports/ + Local_PoLL_MQM/analysis_infra/dim_data/ 为准,而不是只看 Stage 1 的原始分数
4.4 仲裁产物结构(audited_reports)
裁判结果结构片段(样例):
{
"block_summary": {
"avg_s_mqm": 90.521,
"avg_s_final": 56.2708,
"avg_chrf_score": 45.247,
"avg_comet_score": 68.8078
},
"results": [
{
"test_id": "slang_1710043",
"valid_judges": 5,
"vote_threshold": 3,
"accepted_errors": [],
"rejected_errors": [
{
"cluster_id": "cluster_0001",
"category": "terminology",
"span": "反代",
"votes": 2,
"judge_ids": ["gpt_5_01", "minimax_m2_5_sf"],
"reason": "VOTES_BELOW_THRESHOLD"
}
],
"term_gate": {
"active": true,
"passed": false,
"hit_rate": 0.0,
"e_term": 1.0,
"missing_expected": ["反重力"],
"veto_tier": "[WARNING]"
},
"s_mqm": 100.0,
"p_obj": 0.0,
"s_final": 50.0
}
]
}
说明:
accepted_errors仅记录 ≥3 票错误,rejected_errors记录投票不足的边缘争议项。
4.5 Stage 2 的关键实现位置(代码层)
- Local_PoLL_MQM/src/local_poll_mqm/pipeline.py:全流程编排(读入 Stage 1 输出、调度裁判、合并、统计)
- Local_PoLL_MQM/src/local_poll_mqm/judge_client.py:评审请求、重试、响应解析
- Local_PoLL_MQM/src/local_poll_mqm/scheduler.py:并发控制、任务优先级与速率限制
- Local_PoLL_MQM/src/local_poll_mqm/mqm.py:MQM 计分与仲裁逻辑
- Local_PoLL_MQM/src/local_poll_mqm/term_gate.py:术语门控与 veto 细节计算
- Local_PoLL_MQM/src/local_poll_mqm/metrics.py:chrf/COMET 与客观惩罚
- Local_PoLL_MQM/src/local_poll_mqm/io_utils.py:数据集、输出、缓存读写
- Local_PoLL_MQM/src/local_poll_mqm/config.py:配置结构与默认值
4.6 与 Stage 3 的衔接
- 主要输入: Local_PoLL_MQM/output/elite_five_integrated/audited_reports/ 作为 Stage 3 的事实基线
- 统计加工:由 Local_PoLL_MQM/scripts/analysis_data_factory.py 输出 Local_PoLL_MQM/analysis_infra/raw_stats/ 与 Local_PoLL_MQM/analysis_infra/dim_data/
- 图表生成:由 Local_PoLL_MQM/scripts/generate_canonical_plots.py 产出 canonical 图集
5. 模型全排
5.1 综合得分总排行榜
| Rank | Model | Baseline_Standard | Jargon_Tech | Slang_Ambiguous | Overall Avg S_final |
|---|---|---|---|---|---|
| 1 | google/gemma-3-12b-it | 73.8758 | 73.2843 | 56.2708 | 67.8103 |
| 2 | Qwen/Qwen3.5-9B | 80.0789 | 58.9415 | 57.7629 | 65.5944 |
| 3 | Qwen/Qwen2.5-14B-Instruct | 72.7562 | 63.4584 | 58.8609 | 65.0252 |
| 4 | google/translategemma-12b-it | 76.8188 | 60.1071 | 56.4122 | 64.4460 |
| 5 | Qwen/Qwen3.5-4B | 64.8914 | 71.5522 | 56.1877 | 64.2104 |
| 6 | Qwen/Qwen2.5-7B-Instruct | 67.9684 | 64.7904 | 57.1019 | 63.2869 |
| 7 | Qwen/Qwen3-14B | 75.5178 | 61.5692 | 50.2824 | 62.4565 |
| 8 | tencent/HY-MT1.5-7B | 68.9858 | 57.7560 | 57.9008 | 61.5475 |
| 9 | deepseek-ai/DeepSeek-R1-Distill-Llama-8B | 60.9879 | 54.1642 | 54.6109 | 56.5877 |
| 10 | CohereLabs/tiny-aya-water | 69.1526 | 46.8736 | 50.2976 | 55.4413 |
| 11 | google/gemma-3-1b-it | 64.4637 | 47.1964 | 51.1965 | 54.2855 |
| 12 | CohereLabs/tiny-aya-global | 60.0367 | 35.7629 | 51.5535 | 49.1177 |
| 13 | google/translategemma-4b-it | 42.1626 | 48.3634 | 53.4738 | 47.9999 |
| 14 | google/gemma-3-4b-it | 38.3283 | 48.5878 | 55.6507 | 47.5223 |
| 15 | tencent/HY-MT1.5-1.8B | 33.9223 | 45.5001 | 53.4721 | 44.2982 |
数据来源:Local_PoLL_MQM/output/elite_five_integrated/leaderboard/Global_PoLL_MQM_Summary.json
生成时间:2026-03-22T09:44:57.811366+00:00
说明:Overall Avg S_final 为三块 S_final 的平均值。
5.2 核心发现:术语降维打击效应
通过 S_{\text{mqm}} 与 S_{\text{final}} 的对比分析,揭示了某些模型虽然在常规语义上表现优秀,但因完全不识 L 站术语(如将“始皇”译为“Emperor”)而触发门控降级,导致最终排名垫底。
5.3 图表与表格的使用原则
- README.md 中优先保留结构化表格与文字摘要,便于快速浏览和文本检索
- 10 张 canonical 图可作为文档中的辅助插图,但不作为仓库首页的唯一信息源
- 若需要公开发布的静态图,优先使用 Local_PoLL_MQM/analysis_infra/plots_canonical/ 的 canonical 图集;若需要防篡改版本,则使用水印输出目录
- 对外公开时,图表应作为说明性材料,而不是替代表格和数据来源说明。
5.4 排名结果的有效性边界
- 排名仅以 Stage 2 的 Local_PoLL_MQM/output/elite_five_integrated/audited_reports/ 为基准,不使用 Stage 1 的占位分数
- 若需要复现图表,优先使用 Local_PoLL_MQM/analysis_infra/dim_data/ 的规范化表,再回溯到 Local_PoLL_MQM/analysis_infra/raw_stats/
- 诊断表如 Local_PoLL_MQM/analysis_infra/dim_data/dim_judge_consensus.json 只用于观察投票结构,不参与最终排名
6. 阶段 3:可视化与交互分析
6.1 Canonical 图集(01–09 + 08a/08b)
当前 canonical 图集已经补齐为 10 张,且与 Local_PoLL_MQM/analysis_infra/dim_data/ / Local_PoLL_MQM/analysis_infra/raw_stats/ 的数据流可以互相衔接:
图 01:Global S_Final Ranking:
图 02:Global S_MQM Ranking:
图 03:Performance Across Blocks:
图 04:Error Consensus Distribution (Category):
图 05:Metrics Divergence (COMET vs MQM):
图 06:Slang Hit Rate:
图 07:Slang S_Final Heatmap:
图 08a:Radar Top5:
图 08b:Radar All:
图 09:Error Severity Distribution:
6.2 Interactive Compare Wall V2
- Compare Wall:全量翻译 + 审计结果
- Leaderboard:指标与 block 切换
- Arena:1vN ΔS_Final
- Slang Court:命中率 + 低命中术语清单
- Divergence:争议案例搜索
Page Link:
访问地址:点击进入项目页面
6.3 阶段 3 资产与图表映射关系
6.3.1 规范化表(dim_data)
- Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv:45 行,覆盖 15 个模型 × 3 个 block,用于图 01 / 02 / 03 / 08a / 08b 的主干数据
- Local_PoLL_MQM/analysis_infra/dim_data/dim_error_topology.csv:248 行,用于图 04 / 09 的错误类别与严重度堆叠
- Local_PoLL_MQM/analysis_infra/dim_data/dim_slang_matrix.csv:8310 行,用于图 06 / 07 的术语命中矩阵与消歧热力图
- Local_PoLL_MQM/analysis_infra/dim_data/dim_divergence_cases.json:4605 行,用于交互壁中的争议案例下钻。
- Local_PoLL_MQM/analysis_infra/dim_data/dim_judge_consensus.json:投票分布与裁判统计的诊断表,仅用于观察共识结构,不用于排名。
6.3.2 原始统计(raw_stats)
- Local_PoLL_MQM/analysis_infra/raw_stats/consensus_summary.json:记录 4/5/6/7 裁判一致性的聚类摘要
- Local_PoLL_MQM/analysis_infra/raw_stats/divergence_cases.json:20 条精选争议样本,用作正文展示与案例引导
- Local_PoLL_MQM/analysis_infra/raw_stats/cot_snippets.json:10 条代表性推理片段,用于解释裁判为何分歧
- Local_PoLL_MQM/analysis_infra/raw_stats/structural_fidelity.csv:每模型 321 条样本的结构保真统计
- Local_PoLL_MQM/analysis_infra/raw_stats/slang_s_final_matrix.csv:207 条黑话项 × 模型的
S_final生存矩阵,可直接支撑热图与文字说明。
6.3.3 图表到数据的对应关系
- 图 01 / 图 02:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv 的模型均值排序
- 图 03:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv 的 block 维度展开
- 图 04 / 图 09:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_error_topology.csv 的类别 / 严重度统计
- 图 05:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv 中的
avg_comet与avg_s_mqm对照 - 图 06:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_slang_matrix.csv 的命中率聚合
- 图 07:来自 Local_PoLL_MQM/output/elite_five_integrated/audited_reports/ 内 Slang_Ambiguous 的逐项
s_final热力图 - 图 08a / 图 08b:来自 Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv、Local_PoLL_MQM/analysis_infra/dim_data/dim_slang_matrix.csv 与
avg_comet的多维雷达图。
6.3.4 交互壁的数据来源
- 主表: Local_PoLL_MQM/output/elite_five_integrated/audited_reports/
- 侧栏摘要: Local_PoLL_MQM/analysis_infra/dim_data/dim_global_capability.csv / Local_PoLL_MQM/analysis_infra/dim_data/dim_error_topology.csv
- 争议下钻: Local_PoLL_MQM/analysis_infra/dim_data/dim_divergence_cases.json
- 术语检索: Local_PoLL_MQM/analysis_infra/dim_data/dim_slang_matrix.csv + Local_PoLL_MQM/analysis_infra/raw_stats/slang_s_final_matrix.csv
6.4 阶段 3 的脚本链条
- 统计工厂: Local_PoLL_MQM/scripts/analysis_data_factory.py
- 图表渲染: Local_PoLL_MQM/scripts/generate_canonical_plots.py
- 交互壁: Local_PoLL_MQM/scripts/build_interactive_wall.py
- 补充矩阵: Local_PoLL_MQM/scripts/generate_ultimate_slang_matrix.py
7. 结论 & 一些建设想法
经过本次多模型、多维度的混合评估翻译任务尝试,算是验证了(?什)当前主流大模型在特定时域与社区语境下的能力边界,也暴露出单纯依赖大模型零样本直翻在工程落地上的薄脆性
针对社区翻译系统的实际建设想法,下述为初步的建设假想设计方案:
7.1 Tiered Translation & Caching
为了在『翻译质量』与『性能最小化』之间取得平衡,系统不应一视同仁地处理所有文本,或可考虑建立分层调度体系:
-
静态核心(手动维护):站点的核心 UI、固定板块名称、高频导航等极少改动的内容,思考模型+人工精翻并永久缓存。模型不参与此部日常运行
-
主帖(首次机翻 + 缓存命中):对长篇主帖,首次被请求翻译时,携带标签和上下文触发大模型精翻,并入缓存库。后续用户的多语种阅读直接命中缓存
-
常规回帖(轻量降级):对庞大且碎片化的回帖内容,先轻量级/小参数模型进行快速直翻,仅外挂核心黑话词典与标签注入,以此作为性能兜底,容忍一定的语义折损以换取高并发吞吐(委屈一番(雾))
7.2 Context Injection & Glossary Loop
黑话是社区的灵魂,也是机翻痛点。静态词典极易误杀/失效,考虑动态流转机制:
-
标签 & 上下文前置注入:翻译主帖时,将帖子的
Tags(如『』软件开发、『纯水』)及前后文摘要作为背景信息注入,强制模型建立先验语境认知 -
金词典自动化维护:建立词典生长机制。或可考虑定时对社区新帖进行词云统计和 TF-IDF 提取,自动捕获爆发的高频词,纳入『待审计仓库』;经人工 & PoLL 仲裁,定期下发至环境的热词典中
7.3 暂无
大抵如上
-1. 一些图片补充
似乎又沉贴了,诶–<-<-<@(。﹏。*)
不过完结了,也罢也罢










