社区供稿 | 引入隐式模型融合技术,中山大学团队推出 FuseChat-3.0

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 在大语言模型(LLM)领域,结合多个模型的优势以提升单个模型的能力已成为一大趋势。然而,以往的模型融合方法例如 FuseLLM[1], FuseChat-1.0/2.0[2] 等存在词表对齐困难、效率低下等问题。

01.前言

在大语言模型(LLM)领域,结合多个模型的优势以提升单个模型的能力已成为一大趋势。然而,以往的模型融合方法例如 FuseLLM[1], FuseChat-1.0/2.0[2] 等存在词表对齐困难、效率低下等问题。近日,中山大学的研究团队提出了 FuseChat-3.0,一种利用偏好优化进行隐式模型融合的新方法。


不同于显式模型融合需要对齐不同模型的概率分布,FuseChat-3.0 通过构建偏好数据集并应用监督微调(SFT)和直接偏好优化(DPO)两个阶段,将多个源模型的能力隐式地迁移到目标模型中,实现了在不增加推理开销的前提下,显著提升目标模型的性能。

image.png

image.png

项目主页:

https://slit-ai.github.io/FuseChat-3.0


模型地址:

https://www.modelscope.cn/organization/FuseAI


论文链接:

https://arxiv.org/abs/2412.03187


02.方法介绍

FuseChat-3.0的核心在于利用偏好优化进行隐式模型融合(IMF),从多个强大的源模型中学习偏好,将其能力迁移到更小的目标模型中。作为对WRPO[3]核心思想的实践性延伸和优化,我们对原始方案进行了精简和改进,以提升开源社区的可复现性和降低计算资源消耗。整体方法由以下三个主要步骤构成:

  • 数据集构建:选择四个主流开源大语言模型(Gemma-2-27B-It、Mistral-Large-Instruct-2407、Qwen-2.5-72B-Instruct、Llama-3.1-70B-Instruct)作为源模型,构建监督微调(SFT)和直接偏好优化(DPO)数据集。相比于原方案中多达十个源模型的选择,这种精简的源模型选择确保了实验的代表性和可获取性。
  • 监督微调(SFT)阶段:与原方案一致,在目标模型上使用得分最高的源模型回复进行微调,以缩小目标模型与源模型之间的分布差异。
  • 偏好优化阶段:采用更为高效的直接偏好优化(DPO)技术,利用源模型生成的最佳和最差回复对作为偏好对,对目标模型进行优化。相较于原方案基于目标模型的回复构造偏好对并引入源模型回复作为额外正样本,我们发现在数学和代码领域,仅由目标模型自身回复构造的偏好对较为有限,而从多个源模型采样可以获得更丰富的偏好对数据。

这些优化调整在保留隐式模型融合核心优势的同时,使得实现更加轻量化和实用化,更适合开源社区的实际应用场景。

03.实验设置

源模型

Gemma-2-27B-It

Mistral-Large-Instruct-2407

Qwen-2.5-72B-Instruct

Llama-3.1-70B-Instruct


目标模型

Llama-3.1-8B

Llama-3.2-3B

Llama-3.2-1B

Qwen-2.5-7B

Gemma-2-9B


数据集

数据集构建的目的在于增强模型的指令遵循、通用对话、数学、代码和中文能力。研究团队从开源社区数据集中选择数据,进行了有针对性的过滤和预处理。主要的数据集和过滤标准包括:


  • 指令遵循与通用对话:来自 UltraFeedback、Magpie-Pro-DPO-100K-v0.1 和 HelpSteer2。
  • 数学:选自 OpenMathInstruct-2,包含近 60,000 个样本。
  • 代码:整理自 leetcode 和 self-oss-instruct-sc2-exec-filter-50k,保留了包含测试用例的样本。
  • 中文:整合了 alpaca_gpt4_zh 和 Magpie-Qwen2-Pro-200K-Chinese,过滤掉代码和数学问题,保留了大约 10,000 个高质量样本。

针对每个数据集的问题,研究团队主要从四个不同系列的源模型合成回复,包括 Gemma-2-27b-It、Mistral-Large-Instruct-2407、Qwen-2.5-72B-Instruct 和Llama-3.1-70B-Instruct。


  • 指令遵循与通用对话:从所有源模型中对每个问题进行了五次采样。
  • 数学:保留了原始数据集(OpenMathInstruct-2)中由 Llama-3.1-405B-Instruct 生成的回复,并额外使用     Qwen-2.5-Math-72B-Instruct 进行了采样。
  • 代码:对每个问题从所有源模型进行了八次采样。
  • 中文:仅包含了从 Qwen-2.5-72B-Instruct 中采样的单个回复。

由于不同领域数据存在各自特点,研究团队设计如下方案为每个领域构建 SFT 和 DPO 数据集。


  • 指令遵循:为了给每个源模型生成的五个回复分配奖励分数,使用了 ArmoRM     进行标注。然后以 4:6 的比例将标注的数据划分为     SFT 和 DPO 数据集。在 SFT 阶段,选择具有最高奖励分数的回复。在 DPO 阶段,将来自同一源模型的回复进行配对,将具有最高奖励分数的指定为正样本,具有最低奖励分数的指定为负样本。确保每对正负样本之间的奖励分数差在 0.01 到 0.1 之间。
  • 数学:首先通过与标准标签比较,标注了所有源模型的回复以评估其答案正确性,并使用 ArmoRM 标注奖励分数。然后,将数据集分为 SFT 阶段和 DPO 阶段。在 SFT 阶段,使用正确且具有最高奖励分数的回复。此选择确保了微调过程基于高质量且答案正确的回复。在 DPO 阶段,从同一源模型构建配对样本。正样本由正确且具有最高奖励分数的答案组成,负样本是错误且具有最低奖励分数的答案。为了在优化过程中确保有意义的比较,保持了正负样本对之间的奖励分数差在 0.01 到 0.1 之间。
  • 代码:采用了由正确性分数和奖励分数组成的双评分系统进行代码评估。正确性分数评估代码是否通过了静态分析和测试用例,确保功能的准确性,奖励分数用于偏好评估,衡量回复的质量。在 SFT 阶段,使用通过所有测试用例且具有最高奖励分数的回复,确保模型在满足正确性和偏好标准的示例代码上进行微调。在 DPO 阶段,使用通过测试的高分回复作为正样本,使用未通过测试的低分回复作为负样本。目的是优化模型在训练过程中学习代码领域正确偏好的能力。且排除了所有模型回复都未能满足测试标准的实例。
  • 中文:在 SFT 阶段,只使用从 Qwen-2.5-72B-Instruct 采样的回复,因为该模型在中文上经过优化,相较于其他模型具备明显优势。

最终数据集包含 158,784 条样本,其中 94,539 条用于 SFT 阶段,64,245 个偏好对用于DPO 阶段。数据集的整体构成如下所示。

04.结果评估

针对指令微调模型的评估主要集中在模型在指令遵循、自然语言理解、通用问答、推理、数学、代码等方面的性能。对于 FuseChat-3.0 的评估,包含了 14 个基准测试,划分为以下四类:

  • 指令遵循任务:AlpacaEval-2、Arena-Hard、MTbench、AlignBench v1.1(中文)。
  • 通用任务:LiveBench-0831、MMLU-Pro、MMLU-redux、GPQA-Diamond。
  • 数学任务:GSM8K、MATH、AMC 23。
  • 代码任务:HumanEval、MBPP、LiveCodeBench 2408-2411。


研究团队选择了多个目标模型进行实验,包括 Llama-3.1-8B-Instruct、Gemma-2-9B-It、Qwen-2.5-7B-Instruct,以及更小的Llama-3.2-3B-Instruct 和 Llama-3.2-1B-Instruct。在包括指令遵循、通用问答、数学推理、代码生成等 14 个基准测试上,FuseChat-3.0 显示出了显著的性能提升。


以 Llama-3.1-8B-Instruct 作为目标模型的实验为例,FuseChat-3.0在所有基准测试上的平均性能提升了 6.8 分。其中,在指令遵循测试集 AlpacaEval-2 和 Arena-Hard 上,性能分别提升了 37.1 分和 30.1 分,表现出色。


此外,和 AllenAI 最近发布的 Llama-3.1-Tulu-3-8B 模型对比,FuseChat-3.0 在除 GSM8K 和 GPQA-Diamond 外的所有基准测试中都展现出显著性能优势。关于更多目标模型上的实验结果,请参考原文(https://slit-ai.github.io/FuseChat-3.0)。

image.png

05.参考论文

[1] Wan F, Huang X, Cai D, et al. Knowledge Fusion of Large Language Models[C]//The Twelfth International Conference on Learning Representations.

[2] Wan F, Zhong L, Yang Z, et al. Fusechat: Knowledge fusion of chat models[J]. arXiv preprint arXiv:2408.07990, 2024.

[3]Yang Z, Wan F, Zhong L, et al. Weighted-Reward Preference Optimization for Implicit Model Fusion[J]. arXiv preprint arXiv:2412.03187, 2024.



点击 链接即可阅读全文:https://www.modelscope.cn/organization/FuseAI



目录
相关文章
|
数据安全/隐私保护 计算机视觉
使用opencv调用网络摄像头出现错误method DeSCRIBE failed
使用opencv调用网络摄像头出现错误method DeSCRIBE failed
294 0
|
10月前
|
人工智能 算法 决策智能
CompassArena上新!JudgeCopilot与新一代Bradley-Terry模型竞技体验
2024 年 5 月,上海人工智能实验室司南 OpenCompass 团队携手魔搭 ModelScope,联合推出了大模型评测平台——CompassArena(大模型竞技场),为大模型领域引入了一种全新的竞技模式。
216 6
CompassArena上新!JudgeCopilot与新一代Bradley-Terry模型竞技体验
|
8月前
|
人工智能 自然语言处理 开发工具
自建 DeepSeek 时代已来,联网搜索如何高效实现
随着 DeepSeek 等高质量开源大模型的涌现,企业自建智能问答系统的成本已降低 90% 以上。基于 7B/13B 参数量的模型在常规 GPU 服务器上即可获得商业级响应效果,配合 Higress 开源 AI 网关的增强能力,开发者可快速构建具备实时联网搜索能力的智能问答系统。
774 113
|
7月前
|
自然语言处理 测试技术 决策智能
让RAG更聪明,ViDoRAG开启视觉文档检索增强生成新范式,上阿里云百炼可直接体验
视觉丰富文档的高效检索与生成是自然语言处理领域的重大挑战。ViDoRAG(Visual Document Retrieval-Augmented Generation via Dynamic Iterative Reasoning Agents)由阿里巴巴通义实验室、中国科学技术大学和上海交通大学联合提出,通过多智能体框架和动态迭代推理机制解决此问题。其核心包括多模态混合检索策略和多智能体生成流程,同时发布的ViDoSeek数据集,专为大规模文档集合设计,提供复杂推理与精准问答的评估基准。实验表明,ViDoRAG在准确率和效率上优于传统方法,未来将优化系统性能并降低计算成本。
838 63
|
9月前
|
人工智能 数据可视化 数据处理
2025低代码前瞻:平台赋能的无限可能
在数字化转型加速的背景下,低代码平台正成为企业不可或缺的工具。展望2025年,低代码技术将通过可视化开发、核心引擎升级、模型驱动、增强数据处理、AI融合、丰富插件生态、开放架构及强化企业功能,全面提升开发效率与灵活性。本文深入解析这些趋势,展示低代码如何赋能企业,实现更高效、智能的应用构建与管理。
|
存储 缓存 安全
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
407 0
|
10月前
|
人工智能 文字识别 并行计算
行业实践 | 基于Qwen2-VL实现医疗表单结构化输出
本项目针对不同医院检查报告单样式差异大、手机拍摄质量差等问题,传统OCR识别效果不佳的情况,探索并选定了Qwen2-vl系列视觉语言模型。通过微调和优化,模型在识别准确率上显著提升,能够精准识别并结构化输出报告单信息,支持整张报告单及特定项目的识别。系统采用FastAPI封装接口,Gradio构建展示界面,具备高效、灵活的应用特性。未来该方案可扩展至多种文本识别场景,助力行业数字化转型。
762 20
|
11月前
|
人工智能 算法框架/工具 芯片
【AI系统】寒武纪介绍
中科寒武纪科技股份有限公司,成立于2016年,致力于打造云边端一体、软硬件协同的智能芯片产品和平台化基础系统软件。寒武纪的产品线涵盖了终端智能处理器IP、边缘端和云端智能加速卡,形成了从1A处理器核到思元系列MLU100、MLU200、MLU300的完整布局。其核心技术包括高效的MLU Core架构和Cambricon Neuware软件栈,支持高性能AI计算,助力机器更好地理解和服务人类。
1241 0
|
Java Spring
Spring Boot Admin 自定义健康检查
Spring Boot Admin 自定义健康检查
145 0
|
Docker 容器
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
248 0

热门文章

最新文章