书生·万象2.5再升级,数学推理、OCR能力大幅提升

继12月初推出全量级开源多模态大模型书生・万象2.5(InternVL2.5)后,上海人工智能实验室(上海AI实验室)进一步开源了该模型的后训练算法及训练数据,使各量级的模型性能均得到提升。其中,模型的数学推理能力和OCR能力提升最为明显,分别在MathVista和OCRBench达到了76.5%和907分。

相比有监督微调,基于偏好对齐的后训练算法通过额外引入针对负样本的监督信号,可进一步提升模型的训练效果。然而,多模态领域关于偏好对齐的训练数据和实践经验仍然非常稀缺。为此,研究人员构建并开源了首个大规模多模态偏好对齐数据集MMPR,并基于该数据集提出了面向多个优化目标的混合偏好优化算法,使模型可在生成人类偏好响应的同时,区分每条响应的绝对质量以及两条响应之间的相对质量,从而使模型的训练效果得到大幅提升。

在OpenCompass榜单上,经过后训练增强的书生・万象2.5(InternVL2.5-MPO)在10亿~780亿量级多模态大模型中都展示出明显的性能提升,其中MathVista性能达到76.5%,OCRBench达到907分

技术报告链接:

https://huggingface.co/papers/2411.10442

代码开源/模型使用方法:

https://github.com/OpenGVLab/InternVL

模型地址:

https://huggingface.co/OpenGVLab/InternVL2_5-78B-MPO

数据地址:

https://huggingface.co/datasets/OpenGVLab/MMPR-v1.1

基于偏好对齐的后训练算法在自然语言处理领域已经获得了广泛的关注,并且基于偏好对齐微调得到的语言模型也表现出更好的有用性和无害性。然而,在多模态领域,现有的主流开源模型依旧依赖于预训练和有监督微调的训练范式。受限于多模态偏好对齐数据和实践经验的缺失,开源社区仍然缺少对偏好对齐的探索与研究。针对这一问题,研究人员在数据层面构建了首个大规模多模态偏好对齐数据集MMPR。研究人员基于该数据集进行了一系列的实验探究,并提出了面向多个优化目标的混合偏好优化算法,要求模型能够在生成人类偏好响应的同时,可以区分每条响应的绝对质量以及两条响应之间的相对质量。

MMPR:首个大规模多模态偏好对齐数据集

为了在可控的成本下构建大规模的高质量多模态偏好数据,研究人员提出了一条高效的数据构建管线。具体而言,研究人员将数据按照是否有明确的标准答案划分为两类:

  • 针对有明确标准答案的数据:对于每个问题,通过现有模型采样多个推理路径,将其中最终答案正确的响应作为正样本,最终答案错误或者无法解析出答案的响应作为负样本。在构建偏好数据时,从正样本中选择一条推理路径作为偏好响应,从负样本中选择一条作为拒绝响应。

  • 针对没有明确标准答案的数据:研究人员提出了一种简单高效的数据构建管线——DropoutNTK。该管线首先将模型针对图像直接生成的响应作为偏好响应。给定偏好响应,该管线进一步要求模型在不输入图像的情况下,基于偏好响应的前半部份续写后半部份内容,并将由此得到的响应作为拒绝响应。值得注意的是,尽管模型生成的响应并不一定是完美的,但是在不输入图像的前提下续写得到的响应一定会产生更多幻觉,因此这两条响应之间的偏好关系是成立的。

有明确标准答案的数据示例
没有明确标准答案的数据示例

MPO:面向多个优化目标的混合偏好优化算法

为了进一步提升偏好优化算法的有效性,研究人员进一步提出了混合偏好优化算法(Mixed Preference Optimization,MPO),其核心思想在于让模型学习生成人类偏好响应的同时也能够学会识别响应间的相对质量和每个响应的绝对质量。因此,其训练目标可以表示为相对质量损失\mathcal{L}_{\text{p}}、绝对质量损失\mathcal{L}_{\text{q}}以及生成损失\mathcal{L}_{\text{g}}的组合:

\mathcal{L}=w_{p}\cdot\mathcal{L}_{\text{p}} + w_{q}\cdot\mathcal{L}_{\text{q}} + w_{g}\cdot\mathcal{L}_{\text{g}},

其中,w_*表示每种损失的权重。

具体而言,该算法选择直接偏好优化损失作为相对质量损失来帮助模型理解不同响应之间的相对质量,其优化目标可以表示为:

\mathcal{L}_{\text{p}}=-\log \sigma\left(\beta \log \frac{\pi_\theta\left(y_c \mid x\right)}{\pi_0\left(y_c \mid x\right)}-\beta \log \frac{\pi_\theta\left(y_r \mid x\right)}{\pi_0\left(y_r \mid x\right)}\right),

其中,\beta表示KL散度约束系数,而xy_c,以及 y_r 分别表示用户输入、偏好响应以及拒绝响应。策略模型 \pi_\theta 基于\pi_0 初始化得到。

此外,该算法通过二项分类优化损失来帮助模型学习每个响应的绝对质量,其优化目标可以表示为:

\mathcal{L}_{\text{q}}=\mathcal{L}_{\text{q}}^+ + \mathcal{L}_{\text{q}}^-,

其中,\mathcal{L}_{\text{q}}^{+}\mathcal{L}_{\text{q}}^{-}分别表示针对偏好和拒绝样本的优化目标,这两个优化目标相互独立。他们的计算方式为:

\mathcal{L}_{\text{q}}^+=-\log \sigma\left(\beta \log \frac{\pi_\theta\left(y_c \mid x\right)}{\pi_0\left(y_c \mid x\right)} - \delta\right),

\mathcal{L}_{\text{q}}^-=-\log \sigma\left(-\left(\beta \log \frac{\pi_\theta\left(y_r \mid x\right)}{\pi_0\left(y_r \mid x\right)} - \delta\right) \right),

最后,该算法通过有监督微调损失来帮助模型学会生成偏好响应,防止其生成能力退化,该损失可以表示为:

\mathcal{L}_{\text{gen}}=-\frac{\log\pi_\theta\left(y_c \mid x\right)}{\left| y_c \right|}.

实验结果

在司南评测体系(OpenCompass)中,经过MPO后训练后的书生·万象2.5(InternVL2.5-MPO)在综合性能上取得了明显提升。其中,规模最大的模型在数学推理评测集MathVista上取得了5.9%的性能提升,在文字识别评测集OCRBench上取得了54分的性能提升。

除此之外,在其他主流评测集中,InternVL2.5-MPO也都达到了国际领先水平。

### 如何在 Mac 上部署书生万象 #### 准备工作 为了成功部署书生万象,在Mac上需先安装必要的依赖环境。这通常包括Python及其相关库的安装,以及配置虚拟环境来隔离项目所需的特定版本软件包。 #### 安装 Python 和 pip 确认已安装最新稳定版Python,并通过命令行工具验证安装情况。如果尚未安装,则可以从官方网站下载适合macOS系统的安装文件并按照指示完成安装过程[^1]。 #### 创建和激活虚拟环境 创建一个新的虚拟环境有助于管理不同项目的依赖关系而不互相干扰。可以利用`venv`模块轻松建立此环境: ```bash python3 -m venv shusheng_wanxiang_env source shusheng_wanxiang_env/bin/activate ``` 上述脚本会启动名为shusheng_wanxiang_env的新虚拟环境,并将其设置为当前终端窗口中的默认解释器。 #### 获取源码与所需资源 访问官方仓库或指定位置获取最新的书生万象源代码及相关文档资料。一般情况下,这些资源会被托管于Git平台上,因此建议使用git clone指令克隆远程存储库到本地机器上。 #### 配置开发环境变量 依据具体需求调整环境变量配置,比如数据库连接字符串、API密钥等敏感信息不应硬编码入程序内而是妥善保存并通过适当方式加载至应用运行时环境中去。 #### 运行应用程序前测试 执行单元测试和其他形式的质量保证措施以确保所有功能正常运作无误之后再正式上线发布产品给最终用户群体体验试用反馈意见以便及时改进优化性能表现等方面的问题所在之处加以修正完善直至满意为止。 #### 启动服务端口监听 最后一步就是让服务器开始对外提供HTTP(S)请求响应的服务啦!对于基于Flask/Django框架构建的应用来说只需简单调用内置web server即可快速实现这一目标;而对于更复杂的企业级解决方案则可能涉及到Nginx+uWSGI/Gunicorn这样的组合方案来进行负载均衡处理等工作了哦! ```python if __name__ == "__main__": app.run(debug=True, host='0.0.0.0', port=8080) ``` 以上就是在Mac操作系统之上搭建起一套完整的书生万象平台所需要经历的主要环节概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值