当前位置:   article > 正文

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

大模型 流处理

多模态:文本、音频、视频、图像等多形态的展现形式。目前部门内业务要求领域大模型需要是多模态——支持音频/文本。从个人思考的角度来审视下,审视下多模态大模型的实现方式。首先就要区分输入与输出,即输入的模态与输出的模态。从目前来看,模型的输出大多都是文本,模型的输入一般是图片/文本;但少数的大模型比如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快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/928322
推荐阅读
相关标签
  

闽ICP备14008679号