尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

translateLocally背后的翻译引擎:Bergamot与Marian神经机器翻译原理科普

translateLocally背后的翻译引擎:Bergamot与Marian神经机器翻译原理科普 translateLocally背后的翻译引擎Bergamot与Marian神经机器翻译原理科普【免费下载链接】translateLocallyFast and secure translation on your local machine, powered by marian and Bergamot.项目地址: https://gitcode.com/gh_mirrors/tr/translateLocallytranslateLocally 是一款开源的本地机器翻译工具让你在自己的电脑上完成快速、安全、完全离线的神经机器翻译文字无需上传到任何服务器。今天就用通俗的语言拆解它背后的两大引擎Marian 与 Bergamot以及神经网络是如何读懂并说出另一种语言的。为什么选择本地机器翻译大多数在线翻译服务都需要把文本发送到云端服务器。而 translateLocally 把所有计算都放在你自己的硬件上完成这意味着隐私无忧合同、病历、私人信件都不会离开本机断网可用模型下载完成后飞机、地铁、山区都能翻译速度可控借助 8-bit 量化和 CPU 多线程优化本地翻译速度同样飞快两大引擎Marian 和 Bergamot 分别是谁Marian负责真正翻译的神经网络框架Marian 是一款由马里兰大学团队开发的开源神经机器翻译NMT框架。它实现了目前主流的 Transformer 架构负责最核心的工作读取源语言句子、理解语义、逐词生成目标语言句子。你可以把它理解为引擎的大脑。Bergamot让大脑跑得更快、更省内存Bergamot 是欧盟资助的浏览器翻译研究项目它做了一件关键的事把 Marian 从训练用的科研框架改造成能在普通电脑上飞速推理的生产级引擎。主要优化包括优化手段通俗解释8-bit 整数量化把模型参数从高精度浮点压缩成 8 位整数体积更小、计算更快词表短列表Shortlist提前筛选每个词最可能的翻译候选减少无效计算预计算量化系数把重复的换算工作提前做完运行时直接用translateLocally 集成的正是 Bergamot 移植到 Marian 的成果代码位于3rd_party/bergamot-translator/目录中。神经机器翻译的工作原理三步看懂第一步子词分词把句子拆成小块机器不认识单词它认识子词。例如 translation 可能被拆成 trans lation。这样即使遇到没见过的生词模型也能靠已学的子词组合去理解。分词规则保存在模型的词表文件中如vocab.deen.spm。第二步编码器读懂解码器说出Transformer 架构分为两半编码器Encoder读入源语言句子把每个词表示成携带上下文信息的向量——它指代谁、语气是否正式都编码在内解码器Decoder借助**注意力机制Attention**逐词生成译文每生成一个词都会回头看源句中最相关的部分这个过程不是查词典而是基于概率的生成——模型输出的是它认为最合理的下一个词。第三步量化与知识蒸馏让速度翻番为了让普通笔记本也能流畅运行模型还会经过知识蒸馏由一个教师大模型指导训练出更小的学生模型。官方数据表明学生模型tiny 级别速度通常是 base 模型的8 倍以上。在 translateLocally 中一次翻译发生了什么打开源码就能看到这个清晰的流水线模型管理src/inventory/ModelManager.cpp负责从模型仓库下载、解压、校验和更新模型。每个模型是一个压缩包内含模型权重model.npz、8-bit 量化配置config.intgemm8bitalpha.yml和元数据model_info.json独立工作线程src/MarianInterface.cpp启动了一个专职线程与 Bergamot 服务通信。界面线程只负责提交任务翻译在后台异步完成界面无卡顿它还实时统计翻译速度词/秒结果封装src/Translation.h将 Bergamot 的响应封装成对上层友好的对象并附带词级对齐信息——这就是为什么在界面中选中译文的某个词能高亮出源文中对应的词结果缓存默认启用约 6 万条的翻译缓存重复的句子直接命中秒出结果如何选择合适的本地翻译模型模型按语言对和规模命名例如de-en-tiny表示德语→英语的微型模型tiny轻量快速日常句子首选base更接近 Transformer 标准规模质量更高但更吃资源枢纽翻译Pivot没有直接的西语→德语模型没关系程序会自动走西语→英语→德语两跳完成翻译命令行下也可以用管道串联两个模型实现在界面中选择语言对后模型会自动匹配与加载也可以导入自定义的 Marian 模型或添加第三方模型仓库Settings → Repositories。快速上手三步跑通本地翻译第 1 步获取程序从官方 Release 下载 Windows / Linux / macOS 安装包或从源码编译git clone https://gitcode.com/gh_mirrors/tr/translateLocally cd translateLocally mkdir build cd build cmake .. make -j5第 2 步下载模型启动图形界面在语言设置中选择语言对并点击导入命令行用户可用./translateLocally -a # 查看可用模型 ./translateLocally -d es-en-tiny第 3 步开始翻译echo Me gustaria comprar la casa verde | ./translateLocally -m es-en-tiny看到输出 I would like to buy the green house你的第一台私人翻译机就上线了 背后的力量欧盟 Horizon 2020 资助项目translateLocally 及其翻译引擎得到欧盟 Horizon 2020 研究与创新计划资助协议编号 825303的支持翻译模型由 Bergamot 项目团队准备。项目源码结构可见src/目录构建配置见根目录CMakeLists.txt更多细节请参考README.md。一句话总结Marian 负责会翻译Bergamot 负责翻得快translateLocally 负责把这一切装进你电脑的界面里。本地神经机器翻译让翻译既聪明又守口如瓶。【免费下载链接】translateLocallyFast and secure translation on your local machine, powered by marian and Bergamot.项目地址: https://gitcode.com/gh_mirrors/tr/translateLocally创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表