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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

爬取动态数据,爬取持久化数据

1. 动态内容与静态内容的区别 动态内容通常指通过 JavaScript 渲染或异步加载的数据。静态内容则是页面加载时直接可见的内容,通常通过 HTML 直接获取。很多现代网站都使用 JavaScript 动态渲染页面内容(例如 AJAX 请求)。 头条网站的热榜内…

rdiff-backup备份

目录 1. 服务器备份知识点 1.1 备份策略 1.2 备份步骤和宝塔面板简介 1.3 CentOS7重要目录 2. 备份工具 2.1 tar -g 备份演示 2. rsync 备份演示 3. rdiff-backup 备份演示 4. 差异和优缺点 3. rdiff-backup安装和使用 3.1 备份命令rdiff-backup 3.2 恢复命令--…

【6】字典树学习笔记

前言 WFLS 2023 寒假集训 Day2 大纲里字典树在数据结构里,但是个人认为应该属于字符串,就把它放到字符串里了 字典树 字典树,又称Trie树,字母树。每个顶点代表一个字符,从根节点到叶子节点的路径上所有的节点的字符…

Aim Robotics电动胶枪:机器人涂胶点胶的高效解决方案

在自动化和智能制造领域,机器人技术的应用越来越广泛,而涂胶和点胶作为生产过程中的重要环节,也逐渐实现了自动化和智能化。Aim Robotics作为一家专注于机器人技术的公司,其推出的电动胶枪为这一领域带来了高效、灵活且易于操作的…

Camel AI Owl + 阿里云QWQ 本地部署

在 Windows 环境下,部署 Camel AI Owl 并集成阿里云百炼 DeepSeek-R1 API。通过循序渐进的详细说明,你将轻松完成从环境配置到系统落地的全过程。 目录 环境准备Windows 下创建虚拟环境并安装依赖部署 Camel AI Owl配置阿里云百炼 DeepSeek-R1 API测试与…

基于django+pytorch(Faster R-CNN)的钢材缺陷识别系统

一、训练数据来源以及数据标注 数据来源于阿里云天池实验室公开数据集中的铝型材缺陷检测数据集APDDD 数据标注通过labelme进行标注,图片所有标注以转化为矩形标注,存放成json格式。 二、模型训练方式及结果 缺陷识别模型基于Faster R-CNN ResNet5…

Linux网络编程——UDP网络通信的简单实现

目录 UDP网络通信 简单的udpServer实现 头文件 封装udp服务 1、私有成员 2、构造函数和析构函数 3、 udp服务器初始化 4、udp服务器运行 5、完整代码 简单的udpClient实现 UDP实现最简单的公共聊天 完整代码 inet_ntoa()相关问题 UDP网络通信 在正式实现UDP网络通…

【Prometheus】层层解析prometheus如何监控k8s核心组件

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【JavaEE】多线程进阶(2)

【JavaEE】多线程进阶(2) 一、JUC(java.util.concurrent) 的常⻅类1.1 Callable 接⼝1.2 ReentrantLock1.3 原子类原子类的特性:常见原子类:原子类的实例: 1.4 线程池1.5 信号量 Semaphore代码实例 1.6 CountDownLatch…

SpringBoot 如何调用 WebService 接口

前言 调用WebService接口的方式有很多&#xff0c;今天记录一下&#xff0c;使用 Spring Web Services 调用 SOAP WebService接口 一.导入依赖 <!-- Spring Boot Web依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId…

从Manus到OpenManus:多智能体协作框架如何重构AI生产力?

文章目录 Manus&#xff1a;封闭生态下的通用AI智能体OpenManus&#xff1a;开源社区的闪速复刻挑战与未来&#xff1a;框架落地的现实边界当前局限性未来演进方向 OpenManus使用指南1. 环境配置2. 参数配置3. 替换搜索引擎4. 运行效果 协作框架开启AI生产力革命 Manus&#xf…

1.5 双指针专题:有效三⻆形的个数(medium)

1.题目链接 611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/valid-triangle-number/submissions/609232447/ 2.题目描述 给定⼀个包含⾮负整数的数组 nums &#xff0c;返回其中可以组成三⻆形三条边的三元组个数。 ⽰例 1: 输…

大数据学习(59)-DataX执行机制

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

《面向对象程序设计-C++》实验一 熟悉Visual C++开发环境及上机过程

一、实验目的 了解和使用VC集成开发环境&#xff1b;熟悉VC环境的基本命令和功能键&#xff1b;熟悉常用的功能菜单命令&#xff1b;学习使用VC环境的帮助&#xff1b;学习完整的C程序开发过程&#xff1b;理解简单的C程序结构。 二、实验内容 使用Visual C 6.0集成环境来编…

Chebykan wx 文章阅读

文献筛选 [1] 神经网络&#xff1a;全面基础 [2] 通过sigmoid函数的超层叠近似 [3] 多层前馈网络是通用近似器 [5] 注意力是你所需要的 [6] 深度残差学习用于图像识别 [7] 视觉化神经网络的损失景观 [8] 牙齿模具点云补全通过数据增强和混合RL-GAN [9] 强化学习&#xff1a;一…

2025解决软件供应链安全,开源安全的版本答案:SCA+SBOM

GitHub&#xff1a; https://github.com/XmirrorSecurity/OpenSCA-cli/ Gitee&#xff1a; https://gitee.com/XmirrorSecurity/OpenSCA-cli/ OpenSCA官网&#xff1a; https://opensca.xmirror.cn/ 根据Sonatype 发布的《软件供应链现状》报告&#xff0c;其中强调软件供…

Linux 系统负载过高的排查思路

技术探讨&#xff1a;Linux系统负载过高的排查思路 在Linux服务器运行过程中&#xff0c;如果系统负载过高&#xff0c;可能会导致性能下降和服务不稳定。以下是针对Linux系统负载过高问题的排查思路和解决方法&#xff1a; 1. 查看系统负载&#xff1a; 使用uptime或top命令查…

typora高亮方案+鼠标侧键一键改色

引言 在typora里面有一个自定义的高亮, <mark></mark>>但是单一颜色就太难看了, 我使用人工智能, 搜索全网艺术家, 汇集了几种好看的格式,并且方便大家侧键一键 调用, 是不是太方便啦 ! 示例 午夜模式 春意盎然 深海蓝调 石墨文档 秋日暖阳 蜜桃宣言 使用方法 …

自然语言处理文本分析:从词袋模型到认知智能的进化之旅

清晨&#xff0c;当智能音箱准确识别出"播放周杰伦最新专辑"的模糊语音指令时&#xff1b;午间&#xff0c;企业舆情系统自动标记出十万条评论中的负面情绪&#xff1b;深夜&#xff0c;科研人员用GPT-4解析百万篇论文发现新材料线索——这些场景背后&#xff0c;是自…