Skip to content

sevenyearsonelife/Better_translation

Repository files navigation

项目目标

本项目旨在提升模型的英翻中能力,通过构造偏好数据集并进行模型微调来实现。具体目标如下:

  • 收集5000条英文语料,基于不同的模型和不同的提示词,分别生成直译和意译结果,构造偏好数据集。
  • 使用DPO(Direct Preference Optimization)或ORPO(Odds Ratio Preference Optimization)对模型进行微调。
  • 提升模型的英翻中能力,特别是在针对复杂领域语料的翻译表现。

数据源

本项目的数据源来自以下三个渠道:

  1. arXiv:

    • 使用arXiv的Python API获取计算机科学领域的论文摘要。
    • 使用GPT-4o随机生成30个相关话题,每个话题获取200篇论文,最终共计6000篇论文的摘要。
    • 注意:由于一次请求过多的论文会导致中断,采用分批次请求方式,每次请求较少的论文以避免中断。
  2. Wikipedia:

    • OpenDataLab 引领AI大模型时代的开放数据平台上下载了Wiki_EN的数据集,数据大小为14.1GB。数据格式为jsonl, 字段为:id, source_id,doc_id,data_type,data_source,data_url,content,remark
    • content中的数据标题和段落之间使用\n分割,#####分别表示一级和二级标题。
    • 翻译语料主要是选择词数在 200 左右的段落。并且会使用nltk包+一些规则进行句子完整性检查并GPT-4o mini进行语法修正。
  3. The Economist:

    • 下载了2022年50多篇PDF文件。
    • 在GPU机器上部署了MinerU服务进行PDF解析,每篇解析耗时约15分钟。
    • 解析后的英文文本存在部分语法问题,后续通过GPT-4o mini进行语法修正。

数据处理流程

  1. 数据收集

    • 从arXiv获取1000个摘要,从Wikipedia获取3000个片段,从The Economist获取1000个片段,合计5000条数据。
  2. 直译生成

    • 基于ollama在本地部署的Qwen2-7B-Instruct模型,对上述英文片段生成直译结果。
  3. 意译生成

    • 使用OpenRouter提供的GPT-4o mini接口,对直译结果进行两轮反思迭代,思考并改进翻译质量,最终生成意译结果。
  4. 高难度数据处理

    • 由于arXiv摘要难度较高,采用了更强大的模型进行处理。使用Poe平台的GPT-4o模型,并结合录屏精灵进行自动化处理,平均每40秒处理一条数据,处理结果保存至Notion

文件说明

  • literal_translation.py:

    • 该脚本处理英文原文数据,并调用Qwen2-7B-Instruct模型生成直译结果。
  • idiomatic_translation.py:

    • 该脚本处理英文原文和直译结果,调用GPT-4o mini模型,使用两次反思迭代技术生成意译结果。
  • 语法纠错提示词.md:

    • 包含用于GPT-4o mini进行语法修正的提示词,主要用于修复MinerU解析后的The Economist英文片段中存在的语法混乱问题。
  • 意译提示词.md:

    • 包含用于意译生成的提示词,结合两次迭代反思技巧,进一步优化直译结果。
  • 翻译质量评分提示词:

    • 提供用于评估翻译质量的提示词,基于LLM-as-a-Judge思想,让大模型对翻译质量进行评价。

注意事项

  • arXiv请求限制:

    • 一次请求过多的论文摘要可能会导致请求中断,因此采用了分批次请求的方式,每次请求较少数量的论文,确保请求稳定性。
  • 模型选择:

    • 对于复杂的arXiv摘要,使用了更强大的模型(如Poe平台上的GPT-4o模型)进行处理,以确保翻译质量。对于其他较简单的文本,则使用较弱的模型(OpenRouter的GPT-4o mini)生成直译和意译结果。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages