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.mzph.cn/bicheng/72973.shtml

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

相关文章

前后端数据加密传输【最佳方案】

AES和RSA区别 算法类型安全性密钥长度/输出长度速度应用场景AES对称加密高128位、192位、256位快适用于大规模数据加密,入HTTPS协议的数据传输RSA非对称加密高1024位、2048位、4096位较慢适用于数据安全传输、数字签名和身份验证 综上:兼顾安全性和性能…

Unity--Cubism Live2D模型使用

了解LIVE2D在unity的使用--前提记录 了解各个组件的作用 Live2D Manuals & Tutorials 这些文件都是重要的控制动画参数的 Cubism Editor是编辑Live2D的工具,而导出的数据的类型,需要满足以上的条件 SDK中包含的Cubism的Importer会自动生成一个Pref…

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注:本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门:vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim基础 命令模式(command-mode)插入模式(insert-m…

Flink-DataStreamAPI-执行模式

一、概览 DataStream API支持不同的运行时执行模式,我们可以根据用例的要求和作业的特征进行选择。 STREAMING执行模式:被称为“经典”执行模式为,主要用于需要持续增量处理并且预计无限期保持在线的无界作业BATCH执行模式:类似…

解决VScode 连接不上问题

问题 :VScode 连接不上 解决方案: 1、手动杀死VS Code服务器进程,然后重新尝试登录 打开xshell ,远程连接服务器 ,查看vscode的进程 ,然后全部杀掉 [cxqiZwz9fjj2ssnshikw14avaZ ~]$ ps ajx | grep vsc…

C#类型转换基本概念

一、基本定义‌ C# 类型转换是将数据从一种类型转换为另一种类型的过程,分为 ‌隐式转换‌ 和 ‌显式转换‌ 两类‌。 强类型语言特性‌:C# 要求变量类型在编译时确定,类型转换需满足兼容性或显式规则‌。目的‌:处理不同数据类…

使用阿里云操作系统控制台排查内存溢出

引言 操作系统控制台是阿里云最新推出的一款智能运维工具,专为提升运维效率、优化服务器管理而设计。它集成了多种运维管理功能,包括操作系统助手、插件管理器以及其他实用工具,为用户提供一站式的运维解决方案。无论是个人开发者还是企业运…

(C/S)架构、(B/S)架构

客户机/服务器(C/S)架构 理论描述: 客户机/服务器架构是一种网络架构风格,其中任务被分配给网络中的不同计算机,以提高效率和灵活性。这种架构由两部分组成:客户端(Client)和服务器&…

混合存储HDD+SSD机型磁盘阵列,配上SSD缓存功能,性能提升300%

企业日常运行各种文件无处不在,文档、报告、视频、应用数据......面对成千上万的文件,团队之间需要做到无障碍协作,员工能够即时快速访问、共享处理文件。随着业务增长,数字化办公不仅需要大容量,快速高效的文件访问越…

C 语言异常处理方式全面解析

引言​ 在 C 语言编程领域,稳健的错误处理机制对于保障程序的可靠性、稳定性以及安全性至关重要。异常处理作为错误处理的进阶形式,虽然并非 C 语言标准库原生支持的特性,但通过巧妙运用语言特性和编程技巧,开发者能够实现有效的…

【每日学点HarmonyOS Next知识】状态栏控制、片段按钮点击回调、绘制组件、取消按钮与输入框对齐、父调子组件方法

1、HarmonyOS 状态栏怎么控制显示于隐藏,设置状态栏颜色,子颜色等控制? 显示与隐藏 可以设置沉浸式,隐藏的话可以退出沉静式,在子窗口打开的页面 aboutToAppear 方法中设置沉浸式 aboutToAppear(): void {// 设置沉浸…

二级Python通关秘籍:字符串操作符/函数/方法全解析与实战演练

第一章 字符串基础概念与运算符速通 1.1 字符串的不可变性特性 在Python中,字符串被设计为immutable类型,任何修改操作都会生成新对象。这一特性直接影响字符串拼接的性能表现,建议使用join()方法代替多次操作。 1.2 基础操作符全掌握 pyt…

GStreamer —— 2.6、Windows下Qt加载GStreamer库后运行 - “教程6:媒体格式和Pad功能“(附:完整源码)

运行效果 简介 上一个教程演示了GUI 工具包集成(gtk)。本教程介绍媒体格式和Pad功能。Pad Capabilities 是 GStreamer 的一个基本元素,尽管大多数它们不可见,因为框架会处理它们 自然而然。这个有点理论性的教程展示了: • 什么是 Pad 功能。…

【前缀和与差分 C/C++】洛谷 P8218 求区间和

2025 - 03 - 09 - 第 72 篇 Author: 郑龙浩 / 仟濹 【前缀和与差分 C/C】 文章目录 洛谷 P8218 求区间和题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示思路代码 洛谷 P8218 求区间和 题目描述 给定 n n n 个正整数组成的数列 a 1 , a 2 , ⋯ , a n a_…

初识Bert

在学习Bert之前我们先了解“递归神经网络(RNN Recurrent neural network)” 和 “长短期记忆(LSTM Long short-term memory)” 我们如果仅仅识别每个字的含义,那么在一句话中没有相同的字还是可以的但是如果一句话中有相同的字,那…

clickhouse源码分析

《ClickHouse源码分析》 当我们谈论数据库时,ClickHouse是一个不容忽视的名字。它是一个用于联机分析处理(OLAP)的列式数据库管理系统(DBMS),以其快速的数据查询能力而闻名。对于想要深入了解这个高效工具…

[网络爬虫] 动态网页抓取 — Selenium 元素定位

🌟想系统化学习爬虫技术?看看这个:[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 在使用 Selenium 时,往往需要先定位到指定元素,然后再执行相应的操作。例如,再向文本输入框中输入文字之前,…

ArcGIS操作:15 计算点的经纬度,并添加到属性表

注意:需要转化为地理坐标系 1、打开属性表,添加字段 2、计算字段(以计算纬度为例 !Shape!.centroid.Y ) 3、效果

[项目]基于FreeRTOS的STM32四轴飞行器: 七.遥控器按键

基于FreeRTOS的STM32四轴飞行器: 七.遥控器 一.遥控器按键摇杆功能说明二.摇杆和按键的配置三.按键扫描 一.遥控器按键摇杆功能说明 两个手柄四个ADC。 左侧手柄: 前后推为飞控油门,左右推为控制飞机偏航角。 右侧手柄: 控制飞机飞行方向&a…

Redis 内存淘汰策略深度解析

Redis 作为高性能的内存数据库,其内存资源的高效管理直接关系到系统的稳定性和性能。当 Redis 的内存使用达到配置的最大值(maxmemory)时,新的写入操作将触发内存淘汰机制(Eviction Policy),以释…