1. 一个翻译系列做到354篇,我在盘算什么
这个名为 TowardsArtificialIntelligence 博客中文翻译的系列,更新到第三百五十四篇的时候,说实话刷新了我对自己的认知。最早只是某天晚上读到一篇讲强化学习策略梯度推导的博客,觉得讲得真好,顺手翻译完发在自己站上,没想到这一发就再没停下来。
这些年下来,"TOAI翻译系列"成了我的一个长期标签。在中文技术社区里,这个系列慢慢有了固定的读者群。如果你经常搜AI相关的入门文章、论文解读或者实战教程,大概率会刷到里面的一些译文被到处转载。常有人私信问:这个系列是怎么坚持下来的?翻译那么多篇怎么保证质量?为什么机器翻译已经很强了还要人工翻译?这篇就当作一个阶段性的复盘,把选题、工作流、术语规范、以及我踩过的坑,一次性说清楚。
本文不是讲具体某篇译文的内容,而是这个项目长期运转下来的方法论。适合同样在做技术翻译连载的朋友,也适合打算开始系统搬运国外优质技术内容的开发者。
1.1 为什么选择翻译这个博客系列,而不是自己写
先说选题的原因。中文社区的技术内容有个典型特征:热点来得快、去得也快,但深度内容永远是稀缺品。自己写原创需要非常强的知识储备和精力,而国外一些技术博客常年产出高质量的长文,结构严谨、推导详细、落地性强,这些文本天然值得被翻译。
做翻译不是"抄近道",恰恰是另一种形式的深度学习。翻译一篇优质长文,你需要理解每一个技术细节,否则根本译不下去。尤其是AI领域的文章,作者省略的推导步骤、跳过的背景知识,作为译者都得自己补上。这就逼着我把很多以前"好像懂了"的概念真正抠明白。
另一个现实原因是传播价值。很多学生、初创团队和转行工程师,直接啃英文原文还是有门槛的——不是读不懂单词,而是读那些带大量数学符号和实验数据的段落时,速度会骤降。同一个技术点,用中文呈现,理解效率完全不一样。翻译系列做到今天,其实是在帮一部分中文读者降低获取前沿知识的门槛。
1.2 从"随缘更新"到"固定连载"的转折
前面大概三十篇左右,我的更新节奏是很随意的,一个月两篇或三篇,全看心情。转折发生在一篇讲注意力机制可视化的译文发布后,后台突然多了不少留言,有人直接问"下一期什么时候出"。
从那时候起,我做了几个关键的调整。第一是固定更新节奏,给自己定了一周一更的底线。第二是把分散的译文归拢到一个系列框架里,起了一个稳定的栏目名,从视觉风格到译文头部都做了统一。第三是开始建立选题库,不再临时抓一篇翻一篇,而是提前排期。
这个转折本质上解决了"可持续性"的问题。做内容最怕的就是三分钟热度,一旦改成固定连载,就必须有稳定的输入源和成熟的挑选机制。而只有当你持续去做,读者才会形成预期,内容才会产生复利。354篇的积累,就是靠这个机制一点点滚出来的。
2. 选题过滤与排期策略:不是每篇文章都值得翻
2.1 技术时效性评估:先判断这篇内容能"活"多久
选题是第一道质量关卡。我吃过不少亏,早期看到哪篇火就翻哪篇,结果翻完发出来,热点已经过了,或者文章提到的模型没过多久就被新方案取代,变成了"技术史资料"。
现在我给自己定了一个硬标准:优先翻译生命周期长的内容。什么叫生命周期长?讲方法论的、讲原理推导的、讲工程架构设计的,都属于这一类。比如一篇讲如何设计数据管道的博客,哪怕过三年再看,里面的思路依然有参考价值。反过来,那种"某模型在某榜单登顶,超了第二名多少个百分点"的新闻型文章,时效性太强,基本不在考虑范围内。
具体判断的时候,我会问自己三个问题:这篇文章讲的是"为什么"还是"发生了什么"?它的核心内容能不能脱离当前时间点独立成立?一年后还会不会有人需要它?三个问题都通过,才进入备选库。
2.2 翻译成本与收益的平衡
纯热情驱动的内容项目走不远,因为你的时间和精力是有限的。把"愿不愿意翻"和"值不值得翻"分开来想,效率会高很多。
高收益低成本的选题最好识别:技术深度适中、结构清晰、长度在三千到五千词之间、包含可运行的代码或图表。这种文章翻译起来顺,读者读起来也舒服。中等收益但高成本的文章则需要权衡,比如数学推导密集的长文,可能一周都翻不完,但它带来的口碑和引用价值非常高。我在前面几百篇里刻意混合了这两种类型,让系列既有深度,又不至于断更。
短平快的内容对我来说是"补位"用的。有时候工作忙,一周只剩半天时间,就挑一篇篇幅小、观点强的短文来翻,保证更新不断。连载项目最怕停更,停了再捡起来,心理成本极高。
2.3 系列内部的衔接与复用
做到一百篇以后,我开始把系列看成一个整体,而不是孤立的单篇译文。每翻一篇新文章,会先回忆这个博客的往期内容里有没有相关主题。如果有,我会在译文里加一句导读性质的译注,把两篇文章串起来,告诉读者"上篇讲了这个,下篇接着说那个"。
这样做有双重好处。对读者来说,知识形成了路径,而不是碎片。对我自己来说,知识储备也在不断复用。比如翻译过多篇关于强化学习的文章后,再碰到类似主题的新文章,很多术语和背景知识都不用重新查了,翻译速度会明显变快。
除此之外,我还按照自然语言处理、计算机视觉、模型工程、通用方法论等几个方向做过分档归纳,方便不同技术方向的读者按需取用。这种"选题排期+系列衔接"的做法,比单纯按发布时间堆文章要健康得多。
3. 翻译工作流与工具链:从原文抓取到最终发布
3.1 原文缓存与结构化解析的第一道工序
一篇合格的译文,不是打开网页直接复制文本。多年的经验告诉我,原文的完整性和结构化程度,直接决定了后续翻译的质量。
我的固定流程是:先把原文完整缓存下来,把正文、图片、代码块、公式、参考链接分离清楚。正文存成标准Markdown,图片单独下载备份且保留原始地址,代码块单独摘出来,因为后面要重点校验。这个步骤看起来很笨,但非常值。有的博客页面排版很不友好,直接全文复制的话,连标题层级都丢光了,翻译时经常漏掉脚注和图表说明。
在正式翻译之前,我会通读一遍全文。这遍阅读不查术语,不看细节,纯粹是把握作者的行文思路、论证逻辑和结论重心。英文技术博客的作者习惯差异很大,有的人喜欢在开篇铺大量背景,有的人废话少上来就讲核心方案。只有通读之后,翻译时才能真正做到"重意不重形"。
3.2 机器初翻的正确使用方式
机器翻译工具这些年进步确实大,但直接整篇扔进去、复制译文的做法,在技术翻译领域是错误的。机翻得出的不是"译文",而是"带注释的原文"——它帮你把理解门槛降低了,但离可发布的内容还差得远。
我的做法是分段机翻。一篇长文拆成若干意思完整的段落,逐段丢进机翻引擎。注意,不是为了让机器给出最终答案,而是用它来快速建立对原文的精确理解。机翻的长处在于处理长句结构时基本不会漏信息,短板则是行文僵硬、术语错误率高,尤其AI领域的专有名词,机翻经常给出匪夷所思的译法。
比如"attention"这个词,在深度学习语境下应译为"注意力机制",有些引擎会直译成"关注度"。"model collapse"被译成"模型崩溃"还算正常,但某些场景下会译成"模型碰撞"。这些错误一旦混入全文就会非常显眼。所以机翻结果我只把它当草稿看,一句话一句话过,确认理解无误后再用自己的语言重写。
3.3 人工精校的四个必查项
初翻完成后,真正的核心工作是精校。我给自己列了一个四个必查项的清单,每次发布前逐项核对:
第一,术语一致性。文章里的每个专业术语都要和术语表对齐。同一个词出现在不同的段落,译法必须一样。第二,检查漏译。脚注、图片说明、参考链接、代码注释,这些是最容易被忽略的部分,也可能恰恰是最有价值的部分。第三,长句拆分。英文习惯用从句层层嵌套,中文读这种结构会让大脑非常疲惫,必须拆成短句或者调整语序。第四,数据与公式复核。凡是原文里出现的参数、公式、表格数据,都要逐项校对,这是技术译文最不能出错的地方。
这四个必查项看起来简单,执行起来非常耗时间。正常一篇三千词的译文,我的精校时间大概要花掉三到四个小时,比初翻时间还长。但读者能明显感受到译文的完成度,这一步省不得。
4. AI领域术语翻译的规范与取舍
4.1 高频术语的翻译对照与统一
术语是技术翻译的基石。在AI领域,术语处理得不好,文章就失去了专业性。我的做法是从项目开始就维护一份术语表,过程中不断补充完善。下面列出高频术语的典型处理方式:
| 英文术语 | 中文译法 | 备注 |
|---|---|---|
| neural network | 神经网络 | 标准译名 |
| machine learning | 机器学习 | 避免直译成"机械学习" |
| deep learning | 深度学习 | 通用译法 |
| fine-tuning | 微调 | 也有"精调"等译法,统一为微调 |
| attention mechanism | 注意力机制 | 有时缩写为Attention |
| Transformer | Transformer | 架构名保留原文,不硬译 |
| large language model | 大语言模型 | 首次出现写"大语言模型(LLM)" |
| few-shot learning | 少样本学习 | 与zero-shot(零样本)区分 |
| overfitting | 过拟合 | 标准译法 |
| backpropagation | 反向传播 | 标准译法 |
| embedding | 嵌入/词向量 | 视语境选择,首次出现加英文 |
| gradient descent | 梯度下降 | 标准译法 |
统一术语可以避免同一篇文章里出现多种叫法。比如"token"这个词,现在业内越来越倾向于不翻译,直接说"token",但有的老文章会译成"标记"或"词元"。我的处理策略是:如果读者群已经普遍接受原文,就保留原文加译注;如果中文有完全对等且广泛使用的译词,就用中文。
4.2 框架名、论文名与人名的处理原则
AI领域的框架名称、类库名一律保留原文。PyTorch、TensorFlow、Scikit-learn、LangChain 这些,翻译成中文反而增加读者的认读成本,而且搜索引擎收录也不友好。
论文标题和处理方式稍微复杂一些。一篇论文的英文标题,不翻译,保持原样,因为读者需要拿标题去检索原文。但第一次提到某篇论文时,我会在标题后面用括号给一句中文概述,比如某论文标题后面加一句"(提出一种基于对比学习的文本表示方法)"。这样既有检索锚点,又让不熟悉的读者知道这篇论文是干什么的。
作者名不做音译。英文技术博客里经常引用研究者姓氏,我都保留原文,引用格式统一用"姓氏+年份"。这样做的原因很实际:中文社区讨论论文和模型时,直接说作者名是主流习惯,强行译成中文反而对不上号。
4.3 代码、公式与图表内容的特殊处理
代码块是最能体现译稿质量的细节之一。我的原则是:变量名、函数名、类名一字不动,代码块内部的注释可以翻译,但字符串字面量和输出结果保持原样。因为读者拿到代码是要去跑、去改的,任何对代码本身的改动都可能引入错误。
公式统一用LaTeX格式保留,这是最稳妥的做法。不同平台对公式的渲染支持不同,但LaTeX是通用标准。图表类内容,我通常翻译标题和图注,图内部的英文标注尽量保留,并加上必要的说明。一个很实用的细节是:如果原文使用了特定颜色的曲线或柱状图来区分数据,我会在译文中用文字补充说明,因为译文在部分渠道发布时彩色图片可能被缩略或者被转成灰度图。
5. 质量保障:交叉校验、可读性与本地化增补
5.1 面向中文读者的本地化增补
技术翻译不是逐字逐句的转码,而是文化和技术语境的转换。原文作者默认读者了解的背景知识,中文读者不一定了解。这就需要通过译注来弥补信息差。
我在很多译文里增加了"译者注",主要用在三类位置。一是作者提到的陌生工具或服务,我会简单说明它是什么、解决什么问题。二是作者隐含引用了某篇论文或某段社区讨论,我会补充出处。三是有争议的技术论断,作者在原文里只给了一面之词,我会在译注里补充其他观点或者讨论链接,让读者有更完整的判断依据。
有位读者总结得很到位:"中文译文比原文还多了几十条脚注,但这些脚注从来不是废话。" 这正是我想达到的效果。译注是我的二次创作空间,也是让译文产生增值的地方。
5.2 技术准确性双人互检机制
翻译这类技术内容,最可怕的是"翻得通顺但技术理解错了"。语句通顺的错译极具迷惑性,读者如果照着错误理解去做实验,会浪费大量时间。
在我做这一行的后期,摸索出一个比较可靠的双人互检流程:译完初稿后,如果有条件,我会找一位该领域的同行做一次"技术合理性抽检"。抽检不看翻译技巧,只看技术逻辑:这个公式推导对不对、这段代码能不能跑通、作者给出的结论是否符合这个领域的常识。如果技术抽检发现问题,说明翻译当时的理解出了偏差,需要回到原文重新读。
这个方法不适合所有人,找到靠谱的同行并不容易,但至少可以用"延迟发布"来替代。一次初译完成后,放两天再回去精校,跳出"咬文嚼字"的状态,用读者的视角重新审视,往往能发现先前没注意到的问题。
5.3 可读性打磨:把"翻对了"变成"读着顺"
技术译文的一个常见尴尬是:每个术语都准确,每句话语法都对,但连在一起读起来就是很不舒服。核心原因在于,英文的行文节奏和中文完全不同。英文大量使用被动语态、从句和插入语,直接搬到中文里,整个段落像一团缠绕的线。
可读性打磨的核心动作就是"拆"和"调"。拆,是把超过三十个字的长句,按照意群拆成多个短句。调,是把英文的被动语态调成中文读者习惯的主动语态或话题前置结构。
举一个典型的例子,英文里写"It is worth noting that the model performs better when trained with more data",机械翻译会变成"值得一提的是,该模型在被用更多的数据训练时表现得更好"。稍微调整一下:"一个值得注意的细节是,训练数据更多时,模型的效果明显更好。" 意思没变,但阅读体验完全不同。
做完可读性调整之后,还有一个检查技巧:把译文出声读一遍。凡是读起来需要用笔在纸上画句子成分的,都要重新改。中文的技术表达可以严谨,但不能拗口。
6. 实操中反复踩到的坑与排查心得
6.1 机翻被"带节奏"的典型场景
机翻工具在这些年确实进步很大,但是面对AI领域的文章,依然有几种典型场景容易翻车。最明显的坑发生在多义词上。比如"training"这个词,在计算机领域几乎总是"训练"的意思,但机翻在特定语境下会译成"培训"。"performance"在AI场景里通常指"性能",不是"表演"。"regularization"被译成"正则化"还是"规则化",机翻经常前后不一致。
更隐蔽的问题是机翻对于"作者语气"的处理很糟糕。技术博客作者经常用口语化表达来说明复杂概念,比如某作者写"the whole pipeline is a house of cards"(整套流程就像纸牌屋一样脆弱)。机翻会直译成"整个流水线是一座纸牌屋",看起来像是在说建筑学。这种时候必须意译,用中文的比喻方式重建作者的表达意图。
6.2 术语不一致是一个慢性病
如果说单篇文章里的术语错误是急性病,那跨文章的术语不一致就是一个慢性病。你可能在第三百篇已经习惯说"微调",结果翻到第三百一十篇时,因为某篇原文用了"fine-tuning"的另一种表述,顺手就译成了"精调"。
长期的翻译项目必须建立一套防呆机制。我的做法是维护一份"全局术语索引",不仅记录术语对应的中文译法,还标注首次出现的文章和位置。每隔一段时间,就做一次全局检索,把不一致的译法统一。这个动作不需要发布新的文章,但是对系列的整体质量十分关键。
另外,对于同一作者,我会留意他惯用的行文风格。同一个博主在不同篇文章里的用语习惯是相对固定的,如果把他的风格延续到译文里,读者也能感受到系列的整体感。
6.3 长文连载的体力分配与节奏管理
做到三百多篇之后,最大的挑战慢慢变成了体力。翻译这件事,前期靠热情,中期靠习惯,后期就要靠系统了。
我的工作流是分段完成的:周末集中两到三个小时完成选题和原文初读,工作日晚上用一到两个小时做分段机翻和初翻,周末再找一个完整时段做精校和发布。这个过程被拆得非常碎,但恰恰因为碎,才更容易坚持。我试过集中一整天翻译一篇长文,结果后半程效率极低,错误率飙升,从那以后就再也不这么干了。
还有一个建议是务必珍惜自己的专注时间段。我的专注时间在早晨,所以精校和公式核对一定会放在早晨做。机械性的段落整理、图片下载,则留在晚上精力一般的时段。好钢用在刀刃上,精力和注意力也是一种资源,需要精细化管理。
做连载还有个容易忽略的点:要把"发布"和"写稿"分开。发布动作包括排版、插图、生成摘要、分发到不同平台,这些琐事如果和翻译混在一起,非常消耗心流。我习惯把一周的发布动作集中到一个固定时间批量处理,翻译时只翻译,不碰发布的事情。
结尾想说的话
翻译做到这个阶段,一个很深的体会是:这个系列能走到三百五十四篇,靠的还是"系统"而不是"灵感"。灵感只能支撑前十篇,后面支撑你的,是选题库、术语表、译注规范、固定的工作流,以及读者带来的正反馈。
如果你也准备开始翻译一个技术博客系列,我的建议是先别想太多,找一篇自己真正读得懂、用得上的文章翻出来。不要执着于完美,先让流程转起来。翻完第一篇文章,你就知道这件事适不适合自己了。
GitHub、个人站、公众号还是其他平台,都只是承载内容的容器,真正有价值的是你通过翻译沉淀下来的理解和方法。TowardAI 系列的下一个一百篇,我依然会沿用这套已经跑通的系统往前走。等做到四百篇的时候,再来聊一聊新的体会。
最后分享一个具体的小技巧:在发布每一篇译文时,我都会在文末附上原文链接和"禁止商业化转载"的声明。尊重原作者的第一步,就是让读者可以找到原文和作者。技术圈的内容生态要想健康,每个人都应该从这些小事做起。