AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


吴恩达开源的一个机器翻译智能体项目
发布日期:2024-06-15 07:58:46 浏览次数: 2341 来源:余生不设限


这是用于机器翻译的反射代理工作流程的 Python 演示。主要步骤如下:

提示 LLM 将文本从 翻译source_language为target_language;

让LLM对翻译进行反思,提出改进翻译的建设性建议;

使用建议来改进翻译。

可定制性

通过使用 LLM 作为翻译引擎的核心,该系统具有高度可操控性。例如,通过更改提示,使用此工作流程比使用传统机器翻译 (MT) 系统更容易:

修改输出的风格,例如正式/非正式。

指定如何处理习语和特殊术语,如名称、技术术语和首字母缩略词。例如,在提示中包含词汇表可确保特定术语(如开源、H100 或 GPU)的翻译一致。

指定语言的特定区域用法或特定方言,以服务目标受众。例如,拉丁美洲使用的西班牙语与西班牙使用的西班牙语不同;加拿大使用的法语与法国使用的法语不同。

这不是成熟的软件,是 Andrew 过去几个月在周末捣鼓翻译的结果,另外还有合作者(Joaquin Dominguez、Nedelina Teneva、John Santerre)帮助重构代码。

根据我们在传统翻译数据集上使用 BLEU 分数进行的评估,此工作流程有时与领先的商业产品相媲美,但有时也更差。但是,我们偶尔也会通过这种方法获得出色的结果(优于商业产品)。我们认为这只是代理翻译的一个起点,并且这是翻译的一个有前途的方向,还有很大的改进空间,这就是我们发布此演示以鼓励更多讨论、实验、研究和开源贡献的原因。

如果代理翻译能够产生比传统架构(例如输入文本并直接输出翻译的端到端转换器)更好的结果(这通常比我们这里的方法运行速度更快/更便宜),这也提供了一种自动生成训练数据(平行文本语料库)的机制,可用于进一步训练和改进传统算法。(另请参阅The Batch 中有关使用 LLM 生成训练数据的文章。)

 

入门

要开始使用translation-agent,请按照下列步骤操作:

安装:

安装需要 Poetry 包管理器。Poetry安装取决于您的环境,这可能会起作用:

pip install poetry 

运行该工作流程需要具有 OPENAI_API_KEY 的 .env 文件。请参阅 .env.sample 文件作为示例。

git clone https://github.com/andrewyng/translation-agent.gitcd translation-agentpoetry installpoetry shell # activates virtual environment

用法:

import translation_agent as tasource_lang, target_lang, country = "English", "Spanish", "Mexico"translation = ta.translate(source_lang, target_lang, source_text, country)

请参阅 examples/example_script.py 以获取要尝试的示例脚本。

许可:

Translation Agent 采用MIT 许可证发布。您可以自由地使用、修改和分发代码用于商业和非商业用途。

扩展的想法

以下是我们还没有时间去尝试但希望开源社区能够尝试的想法:

尝试其他 LLM。我们主要使用 gpt-4-turbo 对此进行了原型设计。我们希望其他人尝试其他 LLM 以及其他超参数选择,看看某些选择是否比其他选择对特定语言对表现更好。

词汇表创建。什么是高效地构建词汇表的最佳方法——也许使用 LLM——来记录我们希望一致翻译的最重要的术语?例如,许多企业使用的专业术语在互联网上并不广泛使用,因此 LLM 不知道这些术语,而且也有许多术语可以以多种方式翻译。例如,西班牙语中的“开源”可以是“Código abierto”或“Fuente abierta”;两者都可以,但最好选择一种并坚持用于单个文档。

词汇表的使用和实施。给定一个词汇表,将其包含在提示中的最佳方法是什么?

对不同语言的评估。它在不同语言中的表现有何不同?是否有变化使其对特定源语言或目标语言的效果更好?(请注意,对于机器翻译系统正在接近的非常高的性能水平,我们不确定 BLEU 是否是一个很好的指标。)此外,它在资源较少的语言上的表现需要进一步研究。

错误分析。我们发现,指定语言和国家/地区(例如,“墨西哥口语中的西班牙语”)对我们的应用程序来说效果很好。当前方法的不足之处在哪里?我们还特别想了解它在专门主题(如法律、医学)或特殊类型文本(如电影字幕)上的表现,以了解其局限性。

更好的评估。最后,我们认为更好的评估 (evals) 是一个庞大而重要的研究课题。与其他生成自由文本的 LLM 应用程序一样,当前的评估指标似乎不足。例如,我们发现,即使在我们的代理工作流程更好地捕捉上下文和术语的文档中,我们的人类评分者更喜欢翻译而不是当前的商业产品,句子级别的评估(使用FLORES数据集)也导致代理系统在 BLEU 上的得分较低。我们能否设计更好的指标(也许使用 LLM 来评估翻译?)以在文档级别捕捉翻译质量,从而更好地与人类偏好相关联?

来源:https://github.com/andrewyng/translation-agent



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询