聊聊多模态大模型处理的思考

多模态:文本、音频、视频、图像等多形态的展现形式。目前部门内业务要求领域大模型需要是多模态——支持音频/文本。从个人思考的角度来审视下,审视下多模态大模型的实现方式。首先就要区分输入与输出,即输入的模态与输出的模态。从目前来看,模型的输出大多都是文本,模型的输入一般是图片/文本;但少数的大模型比如QWen、讯飞星火等支持语音的输入。

输入

对于输入来说,最需要考虑的就是Embedding。不管是哪种大模型,其最终的输入都是张量数字的形式;其模型的结构都是神经网络模型,而神经网络模型计算的单位是张量。这中间就需要一个转换过程,也就是最常用听到看到的Embedding。

Embedding的作用是巨大的,不论是在深度学习领域还是推荐系统领域、搜索引擎领域等等;而且也衍生出向量数据库的概念;存的就是这些Embedding后的张量。

多模态基座模型

即原生基座模型,比如GLM、LlaMa2、QWen、文心一言等基座模型支持多模态的输入输出,从个人调研来看,GLM、文心一言对这方面的支持比较弱,仅支持文本/图像;LlaMa2有开源的实现支持文本/图像/音视频;QWen是最全的,阿里对其支持很到位,而且在魔塔社区,阿里开源了很多的音视频模型,还是蛮强大覆盖很全的。以Llama2实现为例,官方地址:Video-LLaMA;其架构图如下:

architecture_v2.png

输入的Embedding化都在模型内部已处理完毕,我们无需考虑。魔塔社区/HuggingFace上,已经开源了很多高质量的多模态模型,截个图展示下:

image.png

文本化处理

使用开源/商务组件处理输入的内容,将其文本化,再输入到模型中;然后再经历输入部分的流程。

但对于这类的处理来说,需要考虑的问题还是比较多:

  1. 组件转换文本的准确性

  2. 组件转换的损失

  3. 大模型中Embedding组件将输入文本Embedding化时的损失

第一点不用叙述;第二点,如果组件的处理不到位,遗漏了一些语气词或是某些情感词之类的,对输出文本的内容表达、语义表达将产生一定的损失。第三点,如果转换后的文本语义与文本内容不对应,比如同音词或是生僻字的情况下,导致Embedding化时产生一定的损失。

Embedding化处理

利用某种Embedding模型,将输入的内容直接Embedding化,生成张量后,直接丢进大模型中。在这里需要考虑两点:

  1. 大模型支持Embedding的输入

  2. Embedding组件与大模型内置的Embedding组件要一致

大模型训练时,有自己的内置的Embedding组件,如果输入时的Embedding组件产生的张量与训练时的Embedding张量不一致,这就是两种不同的Embedding组件导致的问题,其最终的效果将会大打折扣。

输出

模型的输出虽然最终也是经过处理后,生成文本;但这就已经很满足绝大多数的需求。而对于很多场景下,比如我们的场景需要再制定角色语音包,也是很好处理的。这个过程其实就是语音合成的过程。比如,开车导航时的语音包,有不同的人物声音,这都是语音合成处理的。

总结

最终来看,第一个方案肯定是最合适的;但如果对于选型的大模型不支持多模态的情况下,考虑开源实现或是第二张方案,但要综合调研其带来的影响,并不是简单的转文本就行。第三种,目前我没有找到合适的Embedding模型支持多模态,后续继续探讨挖掘下。

文章转载自:又见阿郎

原文链接:https://www.cnblogs.com/zhiyong-ITNote/p/18097116

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

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

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

相关文章

HBase的Python API(happybase)操作

一、Windows下安装Python库:happybase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase,需要开启HBase的Thrift服务。所以,在Linux服务器上,执行如…

2024最新版克魔助手抓包教程(9) - 克魔助手 IOS 数据抓包

引言 在移动应用程序的开发中,了解应用程序的网络通信是至关重要的。数据抓包是一种很好的方法,可以让我们分析应用程序的网络请求和响应,了解应用程序的网络操作情况。克魔助手是一款非常强大的抓包工具,可以帮助我们在 Android …

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等,让你开发时选择更多样,最后,用不到一百行的代码实现Webpack打包。通过本套视频教程的学习,可以帮你彻底打通Webpack的任…

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参…

Python 从0开始 一步步基于Django创建项目(13)将数据关联到用户

在city_infos应用程序中,每个城市信息条目是关联到城市的,所以只需要将城市条目关联到用户即可。 将数据关联到用户,就是把‘顶层’数据关联到用户。 设计思路: 1、修改顶层数据模型,向其中添加‘用户’属性 2、根…

开发面试相关的编程题

1,【求数字1出现的次数】 问题描述: 输入一个整数n,求从1到n这n个整数(十进制)中1出现的次数。要求空间复杂度为O(n)。 输入描述: 1 输入的数据包含一行: 整数N,要求N>1 输出描述: 1 输出一个整数,表示从1到N这N个…

Django安装及第一个项目

1、安装python C:\Users\leell>py --version Python 3.10.6 可以看出我的环境python的版本3.10.6,比较新 2、 Python 虚拟环境创建 2.1 官网教程 目前,有两种常用工具可用于创建 Python 虚拟环境: venv 在 Python 3.3 及更高版本中默…

Cisco Firepower FMCv修改管理Ip方法

FMCv 是部署在VMWARE虚拟平台上的FMC 部署完成后,如何修改管理IP 1 查看当前版本 show version 可以看到是for VMware 2 修改管理IP步骤 2.1 进入expert模式 expert2.2 进入超级用户 sudo su并输入密码 2.3 查看当前网卡Ip 2.4 修改Ip 命令: /…

电商数据采集平台兼具海量采集国内淘系京东国外LAZADA亚马逊阿里巴巴等平台数据采集

很多的电商数据采集API接口可以使用国内电商平台淘系、京东的行业数据,境外Lazada等平台的行业数据,以及各类直播电商数据等,相对淘数据来说,平台更多一些,但是价格也比较贵,一般是按照行业下类目来销售的&…

git 常见问题解决

1. 问题:尝试推送到一个名为“chenx”的远程存储库。错误消息显示无法找到所需的项目。 原因:我在xn的帐号中修改的代码,推到chenx自己fork的仓库,xn的gitlab没有添加我密钥 对策:只能在自己的帐号中修改密码提交等操…

代码随想录刷题随记7-字符串1

代码随想录刷题随记7-字符串1 文章目录 代码随想录刷题随记7-字符串1344.反转字符串541. 反转字符串II替换数字151.翻转字符串里的单词右旋字符串 344.反转字符串 leetcode链接 主要的难点在于使用 O(1) 的额外空间解决这一问题 反转字符串依然是使用双指针的方法 swap可以有两…

PHP图床程序优化版:图片外链服务、图床API服务、图片CDN加速与破解防盗链

图片免费上传 支持本地储存、FTP储存、第三方云储存(阿里云 OSS、腾讯云 COS、七牛云等)。 图片外链加速 一键转换第三方网站的图片外链地址为图床可分享的图片地址(支持CDN)。 图片解析服务 直接将第三方外链图片地址显示为…