Hy-MT2-1.8B-JP-Manga-Finetune-chinese-zh-Hans-v1
日语 → 简体中文 漫画对白翻译微调 · Japanese → Simplified Chinese manga dialogue fine-tune
中文
这是 Hy-MT2-1.8B 针对日语 → 简体中文漫画对白的微调版本,也是我第一个专门面向中文的漫画翻译模型。仓库里同时提供 Q4_K_M 的 GGUF 和合并后的 bf16 权重。它是为安卓漫画阅读器 FumetoReaderPlus 的端侧翻译做的。
目标语言只有简体中文。要英文请用 v5,要其他语言请用 v3-multilingual。在日语 → 简体中文这个方向上,本模型明显优于 v3-multilingual(见下文)。
训练数据。 一个漫画对白语料,外加一小批合成数据。合成数据专门针对之前的模型在中文输出里最常见的几类问题:
- 人名:汉字名保持原字原序(田村正和 仍是 田村正和),只把日文字形换成简体(沢田→泽田,渡辺→渡边,桜→樱);假名写的日本名用惯用汉字,片假名的西方名字用通行的音译。
- 中日同形异义词:上京→去东京(不是北京),娘→女儿,勉強→学习,大丈夫→没事,手紙→信,怪我→受伤。
- 日文残留:输出里不再夹杂假名或日文特有的字形(気、沢、様 之类)。
- 片假名外来语:写成中文里的说法,而不是照抄或硬音译。
- 很短的假名台词:像 にの 这样的短行,是人名就按人名译,不当成拟声词。
- 标点:全角中文标点,省略号用 ……。
在未用于训练的漫画上的测量结果。 盲测的成对 LLM 评审(能看到页面上下文,看不到参考译文)在多数句子上更喜欢本模型而不是 v3-multilingual,对比原版 Hy-MT2-1.8B 时优势更大,而且评审记录的严重错误数比两者都少了一半以上。按字符计算的 chrF 和 COMET-22 也都显著高于 v3-multilingual。输出里夹杂假名或日文字形的情况比原版模型少得多,已经和参考译文本身处于同一水平。
⚠️ 请给我反馈。 我(fumetodev)不懂中文。上面关于质量的所有结论都来自自动指标和 LLM 评审,没有任何中文母语者检查过这个模型的输出。如果你用它翻译过日语漫画,无论结果好坏,都请到本仓库的 Community 讨论区留言:它到底好不好用?哪些地方译错了(人名、惯用语、语气、标点……)?这些反馈会直接决定下一版怎么改。
适用范围
这是漫画模型:一次翻译一句短小、自成一体的台词,保留原文的语气。它的偏好也来自这个领域:
- 残缺的输入会被补全,而不是照译。 被截断的句子(语音识别输出、断掉的字幕)会被补成完整的一句。在漫画之外这是最常见的失败。
- 真实世界的专有名词和专业术语弱于原版模型。 虚构人物的名字有覆盖,公众人物、地名、品牌和技术词汇没有。
- 一次只看一句。 模型看不到页面。日语没说清主语时,它通常会选定一个读法,或者像中文习惯那样省略主语。
- 只输出简体中文。 其他目标语言既没有训练也没有测过。
提示词
与 v5 相同的提示格式:先是一段用中文写的术语参考块,然后是英文指令,最后是要翻译的句子,整体套在基础模型的对话模板里。模型确实会参考术语块,所以在提示词里放术语表是值得的。
Reference the following manga translations:
部室对应“社团活动室”
ついたー译为“我到了!”(轻快的到达宣告)
Translate the following text from Japanese into Simplified Chinese as natural, concise manga dialogue. Preserve specific nouns, exact meaning, speaker intent, tone, punctuation, and sound effects. Output only the translated result without any explanation:
<日语台词>
指令部分请保持英文,只有术语块是中文——把整段提示词翻成中文反而会偏离训练分布。基础模型自带的默认模板(目标语言填 Simplified Chinese)也可以用。
采样参数
temperature 0.15、top_k 20、top_p 0.6、repeat_penalty 1.05、min_p 0,采样链顺序为 penalties → top_k → top_p → temperature。llama.cpp 默认 min_p 为 0.05,请改成 0。更高的温度测出来更差,主要表现为偶尔编造内容。
文件
manga-zh-Hans-v1-Q4_K_M.gguf— 1,133,080,416 字节,sha2567ffb275d839a8463f4a4ab4cc1fe22107d9d83ec85464f11ed8ef648f71ef21f。eos_token_id = 120020(有些转换工具会给这个架构写成 3,那样生成就停不下来)。大小和速度与 v5 相同。model.safetensors及config.json、分词器文件和chat_template.jinja— 合并后的 bf16 权重,HunYuanDenseV1ForCausalLM,用transformers加trust_remote_code=True加载,和基础模型一样。自己转 GGUF 的话,请确认eos_token_id是 120020 而不是 3。
English
Hy-MT2-1.8B fine-tuned for Japanese → Simplified Chinese translation of manga dialogue, and my first model made specifically for Chinese. This repo carries both the Q4_K_M GGUF and the merged bf16 weights. It was built for on-device translation in the Android manga reader FumetoReaderPlus.
Simplified Chinese is the only target. For English use v5; for other languages use v3-multilingual. On Japanese → Simplified Chinese this model is clearly ahead of v3-multilingual (see below).
Training data. A manga dialogue corpus plus a small set of synthetic lines. The synthetic lines target the kinds of mistakes earlier models made most often in Chinese output:
- Names. Kanji names keep their characters and their order (田村正和 stays 田村正和); only the Japanese glyph forms become Simplified (沢田→泽田, 渡辺→渡边, 桜→樱). Kana-written Japanese names get their conventional kanji, katakana Western names get the standard transliteration.
- False friends. 上京 → 去东京 (not 北京), 娘 → 女儿, 勉強 → 学习, 大丈夫 → 没事, 手紙 → 信, 怪我 → 受伤.
- Japanese residue. No kana and no Japanese-only glyphs (気, 沢, 様 and the like) left in the output.
- Katakana loanwords. Rendered as the Chinese term rather than copied or transliterated.
- Very short kana lines. A short line like にの that is a name is translated as a name, not as a sound effect.
- Punctuation. Full-width Chinese punctuation, ellipsis as …….
Measured on held-out manga. A blind pairwise LLM judge (page context shown, no reference) prefers this model over v3-multilingual on a clear majority of lines, and over stock Hy-MT2-1.8B by a wider margin, and counts fewer than half as many serious errors against either. Character-level chrF and COMET-22 are both significantly above v3-multilingual. Kana or Japanese glyphs left in the output are far rarer than with the stock model, and occur at the same rate as in the reference translations themselves.
⚠️ Feedback wanted. I (fumetodev) do not read Chinese. Every quality claim above comes from automatic metrics and an LLM judge; no native Chinese speaker has checked this model's output. If you have used it to translate Japanese manga, please say so in this repo's Community tab, whether the result was good or bad: was it actually useful, and what does it get wrong (names, idioms, tone, punctuation, anything)? That feedback decides what the next version fixes.
Scope
Built for manga: short, self-contained lines translated one at a time, in the register of the source. Its biases follow that domain:
- Fragments get completed, not translated. Truncated input (ASR, a cut-off caption) is finished into a whole utterance. Outside manga this is the most common failure.
- Real-world proper nouns and specialist terminology are weaker than in the base model. Fictional character names are covered; public figures, places, brands and technical vocabulary are not.
- One line at a time. The model does not see the page. Where Japanese leaves the subject open it usually commits to a reading, or drops the subject the way Chinese naturally does.
- Simplified Chinese only. Other target languages were neither trained nor measured.
Prompting
Same prompt shape as v5: a terminology block written in Chinese, then the English instruction, then the line, in the base model's chat template. The model attends to the block, so a glossary in the prompt is worthwhile.
Reference the following manga translations:
部室对应“社团活动室”
ついたー译为“我到了!”(轻快的到达宣告)
Translate the following text from Japanese into Simplified Chinese as natural, concise manga dialogue. Preserve specific nouns, exact meaning, speaker intent, tone, punctuation, and sound effects. Output only the translated result without any explanation:
<Japanese line>
Keep the instruction in English; only the terminology block is Chinese. Translating the whole prompt into Chinese moves away from the training distribution, not towards it. The base model's own default template with Simplified Chinese as the target also works.
Sampling
temperature 0.15, top_k 20, top_p 0.6, repeat_penalty 1.05, min_p 0, sampler chain penalties → top_k → top_p → temperature. llama.cpp defaults min_p to 0.05; set it to 0. Higher temperatures measured worse, mostly as occasional invented content.
Files
manga-zh-Hans-v1-Q4_K_M.gguf— 1,133,080,416 bytes, sha2567ffb275d839a8463f4a4ab4cc1fe22107d9d83ec85464f11ed8ef648f71ef21f.eos_token_id = 120020(some converters write 3 for this architecture, and generation then never stops). Same size and speed as v5.model.safetensorswithconfig.json, the tokenizer files andchat_template.jinja— merged bf16 weights,HunYuanDenseV1ForCausalLM, loadable withtransformersandtrust_remote_code=Truelike the base model. If you convert to GGUF yourself, checkeos_token_idis 120020, not 3.