改變傳統,吳恩達開源了一個機器翻譯智能體項目
前段時間,隨著 GPT-4o、Sora 的陸續問世,多模態模型在生成式方面取得的成績無可否認,而人工智能的下一個革命性突破將從何處涌現,引起了大量學者和相關人士的關注。
人工智能著名學者、斯坦福大學教授吳恩達一直非常推崇智能體。此前他曾在個人博客著重指出「AI 智能體工作流將會在今年推動人工智能取得長足進步」,AI 智能體的未來潛力愈加被看好,吸睛無數。
近日,吳恩達延續他之前的腳步,開源了一個 AI 智能體機器翻譯項目。
項目鏈接:https://github.com/andrewyng/translation-agent
他分享了關于 AI 智能體機器翻譯對改進傳統神經機器翻譯方面的看法:「具有巨大潛力,尚未被完全發掘」,并發布了一個他一直在周末玩的翻譯智能體演示。該翻譯智能體以 MIT 許可證形式發布。用戶可以自由使用、修改和分發該代碼,無論是商業用途還是非商業用途。
在研究團隊有限的測試中,吳恩達團隊開源的翻譯智能體有時能夠與領先的商業提供商進行同等水平的競爭,有時則不如它們。但它仍提供了一個高度可控的翻譯系統,只需簡單更改 prompt,使用者就可以指定語氣(正式 / 非正式)、地區變體(例如:使用者想要在西班牙本地說的西班牙語,還是在拉丁美洲說的),并確保術語的翻譯一致性(通過提供詞匯表)。這個應用程序雖然目前仍稍顯稚嫩,但鑒于反思工作流已經展現出不錯的成果,吳恩達認為智能體翻譯仍有很大的提升空間。
在吳恩達分享的開源項目中,具體介紹了 AI 智能體翻譯項目的工作流。
翻譯智能體:使用反思工作流進行智能體翻譯
這是一個使用 Python 演示的反思智能體工作流的機器翻譯示例。主要步驟如下:
1. 輸入 prompt,使大型語言模型(LLM)將文本從 source_language 翻譯成 target_language;
2. 讓 LLM 反思翻譯結果,并提出建設性的改進建議;
3. 利用這些建議改進翻譯。
自定義能力
通過使用 LLM 作為翻譯引擎的核心,該系統具有高度可控性。
例如:通過更改 prompt,這種工作流比傳統的機器翻譯(MT)系統更容易實現以下功能:
- 修改輸出的風格,如正式 / 非正式。
- 指定如何處理習語和特殊術語,如名字、技術術語和縮寫。例如,在 prompt 中包含術語表,可以確保特定術語(如開源、H100 或 GPU)翻譯的一致性。
- 指定特定區域的語言使用或特定方言,以服務目標受眾。例如,拉丁美洲的西班牙語與西班牙的西班牙語不同;加拿大的法語與法國的法語不同。
通過 BLEU(Bilingual Evaluation Understudy)分數進行翻譯質量的評估作為有別于傳統機器翻譯的后起之秀,同樣也是衡量 AI 智能體翻譯的必由之路。
根據使用傳統翻譯數據集的 BLEU 分數進行評估的結果:這種工作流有時能與領先的商業產品競爭,但有時表現也不如它們。不過,它偶爾也能夠得到非常好的結果,甚至優于商業產品。
他們認為這只是智能體翻譯的起點,這一方向在翻譯方面很有前景,并且有很大的改進空間。因此,作者團隊發布這一演示,以鼓勵更多的討論、實驗、研究和開源貢獻。
如果相比于更快且更便宜的傳統架構(例如輸入文本并直接輸出翻譯的端到端 Transformer 架構),智能體翻譯能夠有更好的結果,那么它就 neng 提供一種自動生成訓練數據(平行文本語料庫)的方法,可以用于進一步訓練和改進傳統算法。
啟動
為使 translation-agent 啟動,需要遵循以下步驟。
安裝:
安裝需要 Poetry 管理器。根據安裝環境,安裝 Poetry 可能需要執行以下步驟:
pip install poetry
git clone https://github.com/andrewyng/translation-agent.gitcd translation-agent
poetry install
poetry shell # activates virtual environment
運行工作流需要一個包含 OPENAI_API_KEY 的 .env 文件,使用者可以參考 .env.sample 文件作為示例。
Usage:
import translation_agent as ta
source_lang, target_lang, country = "English", "Spanish", "Mexico"
translation = ta.translate(source_lang, target_lang, source_text, country)
使用:
import translation_agent as ta
source_lang, target_lang, country = "English", "Spanish", "Mexico"
translation = ta.translate(source_lang, target_lang, source_text, country)
查看 examples/example_script.py 獲取一個示例腳本并進行嘗試。
翻譯智能體的進一步發展
吳恩達在最后還分享了幾點希望開源社區能夠嘗試的想法,希望憑借眾家之力將翻譯智能體的巨大潛力歸為實處。
- 嘗試其他語言生成模型。此項目主要使用 gpt-4-turbo 進行原型開發。其他人可以嘗試其他 LLM,以及其他超參數選擇,并查看是否有些大模型可以對特定語言更好地翻譯。
- 術語表的創建。使用 LLM 也許可以更高效地建立術語表。例如,許多企業使用的是互聯網上不常用的專業術語,而 LLM 可能不知道這些術語。此外,還有許多術語可能有多種翻譯方式。例如,「open source」在西班牙語中可以是「Código abierto」或「Fuente abierta」;兩者都可以,但最好選擇一個并在單個文檔中堅持長期使用。
- 術語表的使用和實施。將術語表包含在 prompt 中最好的方式是什么?
- 在不同語言上進行評估。翻譯智能體在不同語言中的表現會發生怎樣的變化?有沒有通過一些變動,使其在特定源語言或目標語言上表現更好的方法?(請注意,對于 MT 系統正在接近的較高性能水平,BLEU 是否是一個很好的度量標準仍是不確定的。)此外,對于資源較少的語言,它的性能表現仍需要進一步研究。
- 錯誤分析。吳恩達團隊發現此應用程序對于一些指定語言和國家 / 地區(例如,「在墨西哥作為普通話的西班牙語」)來說效果很好。除此之外,當前方法在哪些方面仍存有不足?翻譯智能體在專業主題(如法律、醫學)或特殊文本類型(如電影字幕)上的性能表現如何?存在怎樣的限制?
- 更好的評估指標。吳恩達認為對 AI 智能體翻譯進行更好的評估是一個巨大且重要的研究課題。與其他生成自由文本的 LLM 應用程序一樣,當前的評估指標似乎并不足夠評估翻譯智能體的表現。例如,他們發現:即使在主動型工作流程在捕捉上下文和術語方面表現更好的文檔上,仍會導致人類評分者更喜歡當前的商業產品,但是在句子級別進行評估(使用 FLORES 數據集)時,主動型系統的 BLEU 得分則較低。在設計出更好的度量標準(也許使用 LLM 評估翻譯?)以在文檔水平上更好地實現與人類偏好相關的翻譯質量仍需更多的努力。
值得注意的是,一些學術研究小組也開始關注基于 LLM 和主動型翻譯的研究。
對于 AI 翻譯智能體的前景,吳恩達認為這個領域還處于起步階段,并分享了一些相關的學術論文供大家參考。
- 論文標題:ChatGPT MT: Competitive for High- (but not Low-) Resource Languages
- 論文地址:https://arxiv.org/pdf/2309.07423
- 論文標題:How to Design Translation Prompts for ChatGPT: An Empirical Study
- 論文地址:https://arxiv.org/pdf/2304.02182v2
- 論文標題:Beyond Human Translation: Harnessing Multi-Agent Collaboration for Translating Ultra-Long Literary Texts
- 論文地址:https://arxiv.org/pdf/2405.11804
吳恩達此次開源的翻譯智能體仍處于初級階段,但已在機器翻譯數據集上有了較好的表現,為 AI 智能體的下一步發展注入了又一劑強心針。