Phi-4-multimodal:图、文、音频统一的多模态大模型架构、训练方法、数据细节

Phi-4-Multimodal 是一种参数高效的多模态模型,通过 LoRA 适配器和模式特定路由器实现文本、视觉和语音/音频的无缝集成。训练过程包括多阶段优化,确保在不同模式和任务上的性能,数据来源多样,覆盖高质量网络和合成数据。它的设计体现了小型语言模型在多模态任务上的潜力

模型架构

模型架构

Phi-4-Multimodal 的基础是 Phi-4-Mini 语言模型,这是一个 3.8 亿参数的模型,设计为高效处理文本任务。架构包括:

  • Transformer层和维度: 32 层Transformer,隐藏状态大小为 3072。
  • 效率技术: 使用分组查询注意力(GQA),通过 24 个查询头和 8 个键/值头减少 KV 缓存大小至标准模型的三分之一,提升计算效率。
  • 分词器: 使用 o200k 基础 tiktoken,分词表大小为 200,064,支持多语言和多模态输入。

为了扩展到多模态功能,模型通过 LoRA 适配器和模式特定路由器集成视觉和音频模式:

  • 视觉模式:

    • 图像编码器: 使用 SigLIP-400M,结合 LLM2CLIP 在图像-文本对上微调,分辨率为 448x448。SigLIP-400M 是一个视觉-语言模型,专门为图像理解优化。
    • 项目器: 一个 2 层 MLP,将视觉特征映射到文本嵌入维度 3072,确保视觉输入与语言模型的嵌入空间兼容。
    • LoRA 适配器(LoRA_V): 添加到语言解码器的所有线性层,参数约 3.7 亿,用于监督微调阶段。LoRA 是一种参数高效的微调技术,通过低秩更新适配模型。
    • 动态多裁剪策略: 在训练中处理不同图像大小,裁剪数量计算为 ⌈H/C⌉ × ⌈W/C⌉,预训练最多 16 个裁剪,监督微调最多 36 个,必要时调整大小。
  • 语音/音频模式:

    • 输入特征: 80 维 log-Mel 滤波器组特征,帧率为 10ms,标记率为 80ms(每分钟 750 个标记),适合高效音频处理。
    • 音频编码器: 包括 3 个卷积层和 24 个符合块,注意维度为 1024,前馈维度为 1536,16 个注意头,子采样率为 8。符合块结合了自注意力机制和卷积,适合捕获音频的时序和频率特征。
    • 项目器: 一个 2 层 MLP,将 1024 维语音特征映射到 3072 维文本嵌入,确保音频输入与语言模型的嵌入空间兼容。
    • LoRA 适配器(LoRA_A): 应用于所有注意和 MLP 层,秩为 320,参数约 4.6 亿,通过低秩更新适配音频处理。
  • 多模态集成: 模型采用 LoRA 适配器的混合设计,通过模式特定路由器选择适当的适配器,处理文本、视觉和语音/音频输入,无干扰地支持多模态推理。这是一种参数高效的方法,保持基础语言模型的完整性,同时添加新功能。

总参数量为 5.6 亿,相比 Phi-4-Mini 的 3.8 亿,增加了约 1.8 亿参数,主要用于视觉和音频编码器及 LoRA 适配器。上下文长度为 128K 标记,受益于 GQA 和其他效率技术,适合处理长序列输入。

训练方法

Phi-4-Multimodal 的训练过程分多个阶段,针对不同模式和任务优化,确保模型在多模态任务上的性能。训练步骤如下:

  • 基础语言模型预训练:

    • 在 5 万亿个高质量标记上预训练,包括网络数据和合成数据。数据来源经过精心挑选,确保覆盖多种语言和任务,如功能调用、总结和指令跟随。
  • 视觉训练:

    • 阶段 1:项目器对齐 - 使用标题数据训练项目器,确保视觉特征与语言模型嵌入空间的对齐。
    • 阶段 2:联合视觉训练 - 在完整数据集上训练项目器和编码器,针对 OCR 和密集理解任务,数据集包括图像-文本对、OCR PDF 和现实图像。
    • 阶段 3:生成视觉-语言训练 - 在解码器上训练 LoRA,使用单帧 SFT 数据,开发生成能力,数据集包括公共和内部多模态数据集,如通用图像、图表/表格/图表、PowerPoint、OCR、多图像和视频。
    • 阶段 4:多帧训练 - 视觉编码器冻结,在多帧 SFT 数据上训练,上下文长度为 64k,适合处理多帧场景。
  • 语音/音频训练:

    • 预训练: 使用 200 万小时匿名语音-文本对,覆盖 8 种语言(中文、英语、法语、德语、意大利语、日语、葡萄牙语、西班牙语),训练音频编码器和项目器,解码器冻结,初始化为自动编码解码(AED)ASR 模型。
    • 后训练: 使用 1 亿个精选 SFT 样本更新项目器和 LoRA_A,50,000 步。最大音频长度为总结的 30 分钟(22,500 个标记),其他任务的 30 秒(375 个标记),包括 ASR(40,000 小时,2,800 万 SFT 示例)、AST(30,000 小时,2,800 万 SFT 示例,7 种语言到/从英语,CoT)、SQA/SQQA(2,600 万 SFT 示例,合成 QA 对,TTS 生成查询)、总结(100 万 SFT 示例,英语,多说话者,GPT-4 查询)和音频理解(1,700 万 SFT 示例,公共音频/音乐,GPT-4 Q&A)。
  • 视觉-语音联合训练:

    • 在视觉和语音单独训练后,冻结语言基础、音频编码器和项目器,微调视觉适配器 LoRA_V、编码器和项目器,使用视觉-语音 SFT 数据加上语言/视觉后训练数据,确保多模态协同工作。
  • 推理训练:

    • 阶段 1:预训练 - 在 600 亿推理链式思维 CoT 标记上预训练,从前沿 LLM 中提取,通过拒绝采样过滤错误输出,确保数据质量。
    • 阶段 2:微调 - 在 20 万个高质量 CoT 样本上微调,覆盖不同领域,如数学、编码和逻辑推理。
    • 阶段 3:直接偏好优化(DPO)训练 - 在 30 万个偏好样本上应用,将错误输出标记为“非首选”,纠正输出为“首选”,通过人类反馈进一步对齐模型。

训练数据细节

Phi-4-Multimodal 是一种由 Microsoft 开发的先进多模态大模型,能够处理文本、图像和音频输入并生成文本输出。其训练数据细节涵盖语言、视觉-语言、视觉-语音和语音/音频四个主要类别,数据来源包括网络、合成和真实数据,数据量庞大且经过精心优化。

语言训练数据

语言训练是 Phi-4-Multimodal 的基础,基于 Phi-4-Mini 语言模型的预训练和后训练数据:

  • 预训练数据:

    • 数据来源: 高质量网络数据和合成数据,特别强调数学和编码数据集以提升复杂推理能力。
    • 数据量: 5 万亿个标记(tokens)。
    • 描述: 合成数据通过精心策划,确保覆盖高价值的任务,如数学竞赛问题和编码任务,显著提升模型在这些领域的表现。
  • 后训练数据:

    • 功能调用、总结和代码完成: 使用额外数据进行后训练,具体数量未公开,但涉及多种任务。
    • 推理训练: 使用 600 亿个推理链式思维(CoT)标记,从前沿大型语言模型(LLM)中提取,通过拒绝采样过滤错误输出,确保数据质量。
    • 微调: 在 20 万个高质量 CoT 样本上微调,覆盖数学、编码和逻辑推理等不同领域。
    • 直接偏好优化(DPO): 在 30 万个偏好样本上应用,将错误输出标记为“非首选”,纠正输出为“首选”,通过人类反馈进一步对齐模型。

视觉-语言训练数据

视觉-语言训练扩展了模型处理图像和相关文本的能力,分为预训练和监督微调(SFT)两个阶段:

  • 预训练数据:

    • 数据类型: 包括图像-文本对、图像接地数据、OCR PDF、现实图像和图表理解数据。
    • 数据量: 文本部分约 0.5 万亿标记,具体图像数量未公开。
    • 描述: 数据覆盖广泛,包括公共和内部多模态数据集,最高图像分辨率达 1344x1344,适合 OCR 和密集理解任务。
  • 监督微调(SFT)数据:

    • 数据类型: 通用图像、图表/表格/图表、PowerPoint、OCR、多图像、视频和安全数据集。
    • 数据量: 文本部分约 0.3 万亿标记。
    • 描述: 数据来源包括公共和内部数据集,确保生成能力和多模态任务性能。

视觉-语音训练数据

视觉-语音训练数据是合成生成的,基于视觉-语言 SFT 数据:

  • 数据创建方法: 复用视觉-语言 SFT 数据,通过文本转语音(TTS)引擎生成语音查询,基于词错误率(WER)过滤质量。
  • 数据量: 具体数量未公开,但依赖于视觉-语言 SFT 数据规模(约 0.3 万亿标记文本部分)。

语音/音频训练数据

语音/音频训练数据分为预训练和后训练两个阶段,数据量巨大,覆盖多种任务:

  • 预训练数据:

    • 数据来源: 200 万小时匿名语音-文本对,覆盖 8 种语言:中文、英语、法语、德语、意大利语、日语、葡萄牙语、西班牙语。
    • 描述: 用于训练音频编码器和项目器,确保语音特征与语言模型嵌入空间对齐,初始化为自动编码解码(AED)ASR 模型。
  • 后训练数据:

    • 自动语音识别(ASR):
      • 数据量: 40,000 小时。
      • SFT 示例: 2.8 百万。
    • 自动语音翻译(AST):
      • 数据量: 30,000 小时。
      • SFT 示例: 2.8 百万(7 种语言到/从英语,包含 CoT)。
    • 语音问答(SQA/SQQA):
      • SFT 示例: 2.6 百万(合成 QA 对,TTS 生成查询)。
    • 总结(SSUM):
      • SFT 示例: 100,000(英语,多说话者,GPT-4 查询)。
    • 音频理解(AU):
      • SFT 示例: 1.7 百万(公共音频/音乐,GPT-4 Q&A)。

训练数据汇总表:

一个意想不到的细节是,语音预训练数据高达 200 万小时。

性能

参考文献:

  • Phi-4-Mini Technical Report: Compact yet Powerful Multimodal Language Models via Mixture-of-LoRAs,https://arxiv.org/pdf/2503.01743

  • HunyuanVideo: A Systematic Framework For Large Video Generative Models,https://arxiv.org/pdf/2412.03603

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30966.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的二元语言模型bigram实现

内容总结归纳自视频:【珍藏】从头开始用代码构建GPT - 大神Andrej Karpathy 的“神经网络从Zero到Hero 系列”之七_哔哩哔哩_bilibili 项目:https://github.com/karpathy/ng-video-lecture Bigram模型是基于当前Token预测下一个Token的模型。例如&#x…

猫耳大型活动提效——组件低代码化

1. 引言 猫耳前端在开发活动的过程中,经历过传统的 pro code 阶段,即活动页面完全由前端开发编码实现,直到 2020 年接入公司内部的低代码活动平台,满足了大部分日常活动的需求,运营可自主配置活动并上线,释…

数据库基础以及基本建库建表的简单操作

文章目录 一、数据库是啥1.1、数据库的概念1.1、关系型数据库、非关系型数据库1.1、数据库服务器,数据库与表之间的关系 二、为啥要使用数据库2.1:传统数据文件存储2.2:数据库存储数据2.3、结论 三、使用数据库了会咋样四、应该咋用数据库&am…

常用无功功率算法的C语言实现(二)

0 前言 尽管数字延迟法和积分移相法在不间断采样的无功功率计算中得到了广泛应用,但它们仍存在一些固有缺陷。 对于数字延迟法而言,其需要额外存储至少1/4周期的采样点,在高采样频率的场景下,这对存储资源的需求不可忽视。而积分移相法虽然避免了额外的存储开销,但为了抑制…

【Linux】初识线程

目录 一、什么是线程: 重定义线程和进程: 执行流: Linux中线程的实现方案: 二、再谈进程地址空间 三、小结: 1、概念: 2、进程与线程的关系: 3、线程优点: 4、线程…

【单片机】ARM 处理器简介

ARM 公司简介 ARM(Advanced RISC Machine) 是英国 ARM 公司(原 Acorn RISC Machine) 开发的一种精简指令集(RISC) 处理器架构。ARM 处理器因其低功耗、高性能、广泛适用性,成为嵌入式系统、移动…

​​《从事件冒泡到处理:前端事件系统的“隐形逻辑”》

“那天在document见到你的第一眼,我就下定决心要陪你到天荒地老” ---React 我将从事件从出现到被处理的各个过程来介绍事件机制: 这张图片给我们展示了react事件的各个阶段,我们可以看到有DOM,合成事件层,还有…

Django小白级开发入门

1、Django概述 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。 Django 框架的核心组件有: 用于创建模型的对象关系映射为最终用户设计较好的管理界面URL 设计设计者友好的模板…

课程《Deep Learning Specialization》

在coursera上,Deep Learning Specialization 课程内容如下图所示:

Java【网络原理】(3)网络编程续

目录 1.前言 2.正文 2.1ServerSocket类 2.2Socket类 2.3Tcp回显服务器 2.3.1TcpEchoServer 2.3.2TcpEchoClient 3.小结 1.前言 哈喽大家好,今天继续进行计算机网络的初阶学习,今天学习的是tcp回显服务器的实现,正文开始 2.正文 在…

安装remixd,在VScode创建hardhat

在终端,以管理员身份,cmd 需要科学上网 npm install -g remix-project/remixd 在vscode插件中,安装solidity插件,是暗灰色那款 1.将nodeJs的版本升级至18以上 2.在vscode打开一个新的文件,在终端输入 npx hardhat 3.…

微服务拆分-远程调用

我们在查询购物车列表的时候,它有一个需求,就是不仅仅要查出购物车当中的这些商品信息,同时还要去查到购物车当中这些商品的最新的价格和状态信息,跟购物车当中的快照进行一个对比,从而去提醒用户。 现在我们已经做了服…

TCP/IP 5层协议簇:网络层(ICMP协议)

1. TCP/IP 5层协议簇 如下: 和ip协议有关的才有ip头 2. ICMP 协议 ICMP协议没有端口号,因为不去上层,上层协议采用端口号

Uniapp 页面返回不刷新?两种方法防止 onShow 触发多次请求!

目录 前言1. 变量(不生效)2. 延迟(生效) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Uniapp 中,使用 onShow() 钩子来监听页面显示&#xff0…

java_了解反射机制

目录 1. 定义 2. 用途 3. 反射基本信息 4. 反射相关的类 4.1 class类(反射机制的起源) 4.1.1 Class类中的相关方法(方法的具体使用在后面的示例中) 4.2 反射的示例 4.2.1 获得Class对象的三种方式 4.2.2 反射的使用 Fiel…

基于Python的商品销量的数据分析及推荐系统

一、研究背景及意义 1.1 研究背景 随着电子商务的快速发展,商品销售数据呈现爆炸式增长。这些数据中蕴含着消费者行为、市场趋势、商品关联等有价值的信息。然而,传统的数据分析方法难以处理海量、多源的销售数据,无法满足现代电商的需求。…

P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS

P8662 [蓝桥杯 2018 省 AB] 全球变暖--dfs 题目 解析讲下DFS代码 题目 解析 这道题的思路就是遍历所有岛屿,判断每一块陆地是否会沉没。对于这种图的遍历,我们首先应该想到DFS。 代码的注意思想就是,在主函数中遍历找出所有岛屿&#xff0c…

tiktok web登录 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 部分代码 response reques…

邮件发送器:使用 Python 构建带 GUI 的邮件自动发送工具

在本篇博客中,我们将深入解析一个使用 wxPython 构建的邮件发送器 GUI 程序。这个工具能够自动查找指定目录中的文件作为附件,并提供邮件发送功能。本文将从功能、代码结构、关键技术等方面进行详细分析。 C:\pythoncode\new\ATemplateFromWeekReportByM…

pyside6学习专栏(十一):在PySide6中实现一简易的画板程序

pyside6学习专栏(十一):在PySide6中实现一简易的画板程序,实现画直线、矩形、填充矩形、圆、椭圆、随手画、文本。为减少代码量,所画形状的颜色、线宽、线型、填充形状、字体、字号等采用随机方式,只作为学习在Python中绘画的基本操作。 主界…