Project Icon

Eurus

专注推理能力的开源大语言模型套件

Eurus是一套专为复杂推理任务优化的开源大语言模型套件。在覆盖5个任务领域的12项测试中,Eurus-70B模型超越了GPT-3.5 Turbo的表现。该模型在LeetCode和TheoremQA等基准测试中取得显著进步,性能大幅领先于其他开源模型。Eurus项目还包括UltraInteract数据集和Eurus-RM-7B奖励模型,为推理任务提供全面解决方案。

Eurus:一套针对推理优化的开源大语言模型

简介评估

更新消息

链接

简介

Eurus

我们发布了一系列大语言模型和一个奖励模型。在涵盖五个任务的12项测试中,Eurus-70B的推理能力超越了GPT-3.5 Turbo,并在LeetCode和TheoremQA这两个具有挑战性的基准测试中分别达到了33.3%的pass@1准确率和32.6%的准确率,大幅超越现有开源模型13.3%以上。此外,Eurux-8x22B的性能进一步提升,在推理方面表现出色,同时具备优秀的聊天和指令跟随能力。我们还训练了一个奖励模型,在推理任务的偏好建模方面表现特别强劲。

  • Eurux-8x22B-NCAEurux-8x22B-KTO:基于Mixtral-8x22B,使用UltraInteract中的所有多轮轨迹对和UltraFeedback中的所有对进行SFT和NCA(KTO)微调。
  • Eurus-7B-SFTEurus-70B-SFT:分别基于Mistral-7B和CodeLLaMA-70B,使用UltraInteract中的所有正确行为进行微调,同时混合了少量UltraChat、ShareGPT和OpenOrca示例。
  • Eurus-7B-KTOEurus-70B-NCA:在SFT模型的基础上,使用UltraInteract和UltraFeedback进行偏好微调。
  • Eurus-RM-7B:使用UltraInteract、UltraFeedback和UltraSafety的混合数据集进行训练。

UltraInteract

Eurus的强大性能主要归功于UltraInteract,这是一个专为复杂推理任务设计的大规模、高质量对齐数据集。对于每个指令,它包含一个偏好树,由以下内容组成:

  • (1) 具有多样化规划策略的推理链,采用统一格式
  • (2) 与环境和评论者的多轮交互轨迹
  • (3) 用于促进偏好学习的成对数据

结构

UltraInteract为每个指令收集一个偏好树,指令作为根节点,每个行为作为一个节点。轨迹是由一系列行为组成的从根到叶的路径。 在每个偏好树中,所有正确行为的节点和以正确行为结束的所有轨迹可用于SFT。成对的正确和错误节点或轨迹可用于偏好学习。

示例说明

以下是UltraInteract轨迹的两轮示例。在每一轮中,演员模型生成逐步推理链,环境和评论模型分别提供观察和文本评论。

统计数据

以下是UltraInteract的一些统计数据。它包含86,000个指令、286,000个正确答案和219,000对数据。

评估

Eurux-8x22b-NCA和Eurux-8x22b-KTO

我们进行了全面的编码、数学、推理、知识、指令遵循和聊天基准测试。结果如下所示,开源模型中的最佳得分以粗体显示。Eurux-8x22b-NCA和Eurux-8x22b-KTO在推理性能方面表现出色,同时具备优秀的聊天和指令跟随能力。

模型/基准测试编码数学推理知识指令遵循聊天
HumanEvalMBPPLeetCodeGSMPLUSMATHTheoremQABBH (CoT)MMLUIFEvalMT-Bench
GPT-3.5-Turbo76.882.523.361.237.835.670.170.056.67.94
GPT-485.483.541.885.669.752.486.786.479.78.96
Mixtral-8x7B-Ins50.650.15.649.625.920.473.570.348.88.30
DS-LM-67B-Chat70.765.720.065.041.017.978.972.352.78.35
QWen-1.5-72B71.356.915.665.443.418.578.072.953.48.61
Llama-3-70B-Ins77.466.234.472.946.826.691.779.883.29.02
Eurus-70b-NCA79.371.933.362.841.732.680.059.449.27.54
Eurux-8x22b-KTO71.368.929.468.348.435.383.675.967.18.58
Eurux-8x22b-NCA75.069.735.068.149.035.583.575.667.18.46

Eurus-7B和Eurus-70B

  • Eurus的7B和70B版本在相似规模的开源模型中均达到了最佳的整体性能。在许多情况下,Eurus甚至超越了相应领域的专业模型。值得注意的是,Eurus-7B的表现优于大5倍的基准模型,而Eurus-70B的性能超过了GPT-3.5 Turbo。
  • 使用UltraInteract进行偏好学习可以进一步提升性能,尤其是在数学和多轮能力方面。

Eurus-RM-7B

  • Eurus-RM-7B作为最佳的7B级RM模型,其表现与更大规模的基准模型相当或更优。特别是在某些任务中,它甚至超越了GPT-4的表现。
  • 我们的训练目标有助于提高RM在复杂问题和推理方面的表现。
  • ULTRAINTERACT与其他数据集(如UltraFeedback和UltraSafety)兼容,混合这些数据集可以平衡不同的RM能力。
  • 通过重新排序,Eurus-RM-7B大幅提升了LLMs的推理性能。

数据集格式

SFT

编程

{
    "id": "92a7356beaa75391539cb79624bdf85b7e5d36d5e74e46a2f1c4001f40b3e055_1_1", // 唯一数据ID,包含三部分:唯一字符串、偏好树深度和当前轮次,用"_"分隔
    "parent_id": "535550938ff58bd73cd7fb85be834bb90b7600daf6b6f6a16b64091e5ecbfe43", // 具有相同parent_id的数据有相同的指令但不同的行动
    "task": "Coding", // 任务类型,选项 = ["Coding", "Math_Cot", "Math_PoT", "Logic"]
    "dataset": "codecontest", // 指令来源的数据集
    "instruction": "编写Python代码解决以下任务。\nMike有一个只由小写英文字母组成的字符串s。他想改变字符串中的恰好一个字符,使得结果成为回文。\n\n回文是一个正着读和倒着读都一样的字符串,例如"z"、"aaa"、"aba"、"abccba"是回文,而"codeforces"、"reality"、"ab"不是回文。\n\n输入\n\n第一行也是唯一一行包含字符串s(1 ≤ |s| ≤ 15)。\n\n输出\n\n如果Mike可以通过改变恰好一个字符使结果字符串成为回文,则输出"YES"(不带引号),否则输出"NO"(不带引号)。\n\n示例\n\n输入\n\nabccaa\n\n\n输出\n\nYES\n\n\n输入\n\nabbcca\n\n\n输出\n\nNO\n\n\n输入\n\nabcda\n\n\n输出\n\nYES", // 任务描述
    "response": "
        步骤1:这个问题要求我们判断是否可以通过改变字符串中的恰好一个字符使其成为回文。
        步骤2:我们可以从字符串的开头和结尾开始遍历,计算对应字符不同的数量。
        步骤3:如果字符串长度为奇数且只有一个字符不同,或者长度为偶数且恰好有一个字符不同,那么就可以通过改变一个字符使其成为回文。
        步骤4:我们需要考虑边界情况,如单个字符的字符串或空字符串。

        ```python
        # 步骤5:接收输入字符串
        s = input()
        # 步骤6:计算字符串长度
        n = len(s)
        # 步骤7:初始化计数器,用于记录不同字符的数量
        cnt = 0
        # 步骤8:遍历字符串的前半部分,统计与后半部分对应位置不同的字符数量
        for i in range(n//2):
            if s[i] != s[n-i-1]:
                cnt += 1
        # 步骤9:如果字符串长度为奇数且没有不同字符,或者有恰好一个不同字符,输出"YES"(不带引号)
        if (n % 2 == 1 and cnt == 0) or (cnt == 1):
            print('YES')
        # 步骤10:否则,输出"NO"(不带引号)
        else:
            print('NO')
        ```" // 逐步解决方案
}

数学

{
    "id": "647b2e8706cf459a8e3ec8e99727d2d51ff3414bf187db43d92cff87f8012713_1_1",
    "parent_id": "499d250c5852eddcd48a28b6c173f1a2349a16555990a1cd6fb5c7954cb94587",
    "task": "Math_PoT",
    "dataset": "mathqa",
    "instruction": "可用工具:\n[1] Python解释器\n当你发送包含Python代码的消息给python时,它将在一个有状态的Jupyter笔记本环境中执行。\n逐步解决以下数学问题。\n一个长方形的长度翻倍,同时宽度也翻倍。面积的百分比变化是多少?",
    "response": "
        步骤1:长方形的面积由其长度和宽度的乘积给出。如果长度翻倍,面积从l*w变为2l*w。同样,如果宽度翻倍,面积从l*w变为l*2w。
        步骤2:如果长度和宽度都翻倍,面积从l*w变为2l*2w。面积的百分比变化由((新面积 - 旧面积) / 旧面积)*100给出。
        步骤3:我们可以使用上述公式计算面积的百分比变化。
        步骤4:通过创建一个工具来计算面积的百分比变化,我们可以轻松解决这个问题。

        ```python
        # 步骤5:定义一个工具来计算面积的百分比变化
        def calculate_percentage_change(length, width):
            # 步骤6:计算旧面积和新面积
            old_area = length * width
            new_area = 2 * length * 2 * width
            # 步骤7:计算百分比变化
            percentage_change = ((new_area - old_area) / old_area) * 100
            return percentage_change
        # 步骤8:调用函数解决问题
        percentage_change = calculate_percentage_change(2, 2)
        print(percentage_change)
        ```"
}

逻辑

{
    "id": "92a19848da4fb0fc0b414f061f7500a81ea4cbd8f922ca1e32a6a15ef6f7e1a0_1_1",
    "parent_id": "107cc9147d8c09e62e2ba9e74cb41d9dbafd9a3adf62b67ba3da2b31c81b3300",
    "task": "Logic",
    "dataset": "hotpotqa",
    "instruction": "
        可用工具:\n[1] wikipedia_search(query: str) -> str\nWikipedia搜索工具提供对大量涵盖广泛主题的文章的访问。\n可以查询特定关键词或主题以检索准确和全面的信息。
        逐步解决以下问题:3OH!3和Regina Spektor中,哪个音乐人或团体来自美国?
        步骤1:为确定哪个音乐人或团体来自美国,我们可以搜索有关他们各自的信息。
        ```python
        # 步骤2:搜索有关3OH!3的信息。
        print(wikipedia_search('3OH!3'))
        ```
        页面:3OH!3
        摘要:3OH!3(发音为"three oh three")是一个来自美国科罗拉多州博尔德的电子音乐二人组,由Sean Foreman和Nathaniel Motte组成。他们以专辑《Want》中的单曲"DONTTRUSTME"而闻名,该单曲在Billboard Hot 100排行榜上达到第7位。他们的第二首单曲,来自《Want》专辑的"Starstrukk"(Katy Perry合作版)在英国、爱尔兰、芬兰、波兰和澳大利亚都进入了前十。他们通过与Kesha合作的歌曲"My First Kiss"获得了进一步的认可,该歌曲成为他们专辑《Streets of Gold》的主打单曲。该专辑后来在Billboard 200排行榜上达到第7位。\n\n\n\n页面:3OH!3(专辑)\n摘要:《3OH!3》是美国电子音乐乐队3OH!3的首张录音室专辑。歌曲"Holler Til You Pass Out"和"Chokechain"后来被重新混音用于该乐队的主流唱片公司首发。"Holler Til You Pass Out"、"Chokechain"和"Dance with Me"在iTunes版本的专辑中被排除在外。",
    "response": "
        步骤1:提供的信息确认3OH!3是一个来自美国科罗拉多州博尔德的电子音乐二人组。
        步骤2:我们不再需要搜索Regina Spektor的信息,因为我们的任务只是确定这两个选项中哪一个来自美国,而我们已经确认了3OH!3的出身。
        步骤3:我们可以自信地得出结论,3OH!3是来自美国的音乐人/团体。
        答案:3OH!3"
}

偏好学习

{
	"id": "d1f094e0e13096bc1bb6260e1e0d807e2c4ebfbbf4a4373f04cbed001c385c3c_5_3", // 唯一数据ID,包含三个部分:唯一字符串、偏好树深度和当前轮次,用"_"分隔
	"parent_id": "d1f094e0e13096bc1bb6260e1e0d807e2c4ebfbbf4a4373f04cbed001c385c3c",  // 具有相同parent_id的数据有相同的指令但不同的行动
	"task": "Math_PoT", // 任务类型,选项 = ["Coding", "Math_Cot", "Math_PoT", "Logic"]
	"dataset": "MATH", // 指令来源的数据集
    "trajectory": [
        {
            "from": "user",
            "value": "可用工具:\n[1] Python解释器\n当你向python发送包含Python代码的消息时,它将在有状态的Jupyter笔记本环境中执行。\n请逐步解决以下数学问题。\n尽可能简化你的答案。\n简化 $(-3-2i)-(1+4i)$。" // 任务指令
        },
        {
            "from": "assistant",
            "value": "步骤1:要简化表达式 $(-3-2i)-(1+4i)$,我们需要将负号分配给括号内的两项。\n步骤2:然后我们可以通过分别加总实部和虚部来合并同类项。\n```python\n# 步骤3:将负号分配给括号内的两项。\n(-3) - (-1) + (-2i) - (-4i)\n# 步骤4:通过分别加总实部和虚部来合并同类项。\n-3 + 1 + (-2i + 4i)\n```" // 助手的行动(第1轮)
        },
        {
            "from": "user",
            "value": "输出:单元格 In[1],第2行\n    (-3) - (-1) + (-2i) - (-4i)\n                     ^\nSyntaxError: 语法无效\n你的答案是错误的。\n你简化给定复数的思路是正确的。然而,你在代码中犯了一个语法错误。在Python中,乘法运算必须用星号(*)明确写出,即使是复数也是如此。记住,Python中的虚数单位用j表示,而不是i。尝试修正语法并重新计算。"  // 来自Python解释器的观察和反馈(第1轮)
        },
        {
            "from": "assistant",
            "value": "步骤1:要简化表达式 $(-3-2i)-(1+4i)$,我们需要将负号分配给括号内的两项。\n步骤2:然后我们可以通过分别加总实部和虚部来合并同类项。\n```python\n# 步骤3:将负号分配给括号内的两项。\n(-3) - (-1) + (-2j) - (-4j)\n# 步骤4:通过分别加总实部和虚部来合并同类项。\n-3 + 1 + (-2j + 4j)\n```"  // 助手根据观察和反馈作出的行动(第2轮)
        },
        {
            "from": "user",
            "value": "输出:(-2+2j)\n你的答案是错误的。\n你简化给定复数的思路基本正确。然而,你在加法运算中犯了一个错误,实部相加(-3 + 1 ≠ -2)和虚部相加(-2j + 4j ≠ 2j)都有误。你应该正确合并同类项,得到正确答案-4和-6j。请重新尝试,进行正确的算术计算。"  // 来自Python解释器的观察和反馈(第2轮)
        }
    ] // trajectory是用户和助手之间的交互,第一个元素是任务指令
    "chosen": "步骤1:将表达式分解为实部和虚部。\n步骤2:实部相减。\n步骤3:虚部相减。\n步骤4:将减法结果合并得到表达式的简化形式。\n\n\n\n```python\n# 步骤5:将表达式分解为实部和虚部,然后相减。\nreal_part = -3 - 1  # 实部相减\nimaginary_part = -2 - 4  # 虚部相减\n# 步骤6:将实部和虚部合并得到结果。\nresult = f\"{real_part}{imaginary_part:+d}i\"\nprint(result)\n```", // 基于trajectory选择的答案
	"rejected": "步骤1:要简化表达式 $(-3-2i)-(1+4i)$,我们需要将负号分配给括号内的两项。\n步骤2:然后我们可以通过分别加总实部和虚部来合并同类项。\n```python\n# 步骤3:将负号分配给括号内的两项。\n(-3) - 1 - (-2j) - 4j\n# 步骤4:通过分别加总实部和虚部来合并同类项。\n-3 - 1 - 2j - 4j\n```",  // 基于trajectory拒绝的答案
}

引用

@misc{yuan2024advancing,
      title={Advancing LLM Reasoning Generalists with Preference Trees}, 
      author={Lifan Yuan and Ganqu Cui and Hanbin Wang and Ning Ding and Xingyao Wang and Jia Deng and Boji Shan and Huimin Chen and Ruobing Xie and Yankai Lin and Zhenghao Liu and Bowen Zhou and Hao Peng and Zhiyuan Liu and Maosong Sun},
      year={2024},
      eprint={2404.02078},
      archivePrefix={arXiv},
      primaryClass={cs.AI}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号