项目简介
translation-agent是一个基于反思工作流的代理翻译系统
吴恩达认为,具有代
理性的人工智能机器翻译在改进传统神经机器翻译方面具有巨大潜力,所以他发布了这个项目,这是一个早期系统还不完善,提出一种思路
工作流:
(1) 通过提示激活语言生成模型(LLM)进行语言翻译;
(2) 对翻译结果进行反思,提出建设性建议;
(3) 使用这些建议来优化翻译。
在有限的测试中,这种方法有时与领先的商业项目竞争力相当,有时略逊一筹
translation-agent可以改变提示语来指定翻译的语调(正式/非正式)、地区变体(比如是西班牙的西班牙语还是拉丁美洲的西班牙语),通过提供术语表确保术语翻译的一致性
可定制性
通过使用 LLM 作为翻译引擎的核心,该系统具有高度可操纵性。例如,通过更改提示,使用此工作流程比传统机器翻译 (MT) 系统更容易:
这不是成熟的软件,是 Andrew 在过去几个月的周末进行翻译以及合作者(Joaquin Dominguez、Nedelina Teneva、John Santerre)帮助重构代码的结果。
根据我们在传统翻译数据集上使用 BLEU 评分进行的评估,此工作流程有时与领先的商业产品具有竞争力,但有时也比领先的商业产品更差。然而,我们偶尔也会通过这种方法获得出色的结果(优于商业产品)。我们认为这只是代理翻译的一个起点,并且这是一个有前途的翻译方向,具有进一步改进的巨大空间,这就是为什么我们发布此演示以鼓励更多讨论、实验、研究和开源贡献。
如果代理翻译可以产生比传统架构(例如输入文本并直接输出翻译的端到端转换器)更好的结果——这通常比我们这里的方法运行更快/更便宜——这也提供了自动生成训练数据(并行文本语料库)的机制,可用于进一步训练和改进传统算法。(另请参阅 The Batch 中有关使用 LLMs 生成训练数据的文章。)
非常欢迎有关如何改进的意见和建议!
入门
要开始使用 translation-agent ,请按照下列步骤操作:
安装:
git clone https://github.com/andrewyng/translation-agent.git
cd translation-agent
poetry install
poetry shell # activates virtual environment
用法:
import translation_agent as ta
source_lang, target_lang, country = "English", "Spanish", "Mexico"
translation = ta.translate(source_lang, target_lang, source_text, country)
请参阅 example/example_script.py 以获取要尝试的示例脚本。
https://github.com/andrewyng/translation-agent