plug-中文大模型

2023-12-17 21:20
文章标签 模型 中文 plug

本文主要是介绍plug-中文大模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PLUG 中文大模型延续的是 PALM 的思路,结合 NLU 和 NLG 的任务,得到一个理解和生成同时做的模型。NLU 任务是我们自研的 StructBERT 模型,在 BERT的基础上引入三分类以及对词级别打乱。NLG 是 PALM 的自编码自回归结合。训练分为两个阶段,第一阶段是 StructBERT 的思路,把模型大小提升。第二阶段延续 PALM 的思路,用 encoder 做初始化,加上 decoder 之后做生成的训练。这样可以得到一个 Encoder-Decoder 统一理解生成模型。做理解相关任务,比如分类/预测时,只需要把 encoder 部分拿出来,沿用 BERT 的方法。做生成相关任务时,再使用全部的 Encoder-Decoder 架构。这里也做了一些推理加速的工作,和中文 GPT 是相同的技术,获得了 10x 加速的效果。

 

 

270 亿参数的 PLUG 模型已经在 ModelScope 上开放,大家可以按照流程申请获取下载链接,然后使用 Pipeline 做部署推理。

多模态统一生成预训练模型 mPLUG

多模态相关主要的任务有两种。一个是 VQA,输入图片和针对图片的问题,模型预测答案。另一个是 COCO Caption,输入图片,模型预测图片的描述。

我们提出了多模态统一生成的预训练模型 mPLUG,主要解决的是多模态融合时,视觉特征序列过长导致的低效性和信息淹没问题。Vit 结构的问题是,在切 patch 的过程中,如果切的比较小且图片分辨率高,切下来序列就会很长,序列长会带来训练低效的问题。另外在和文本模态融合的过程中,如果图片数据过长,会淹没一部分文本的信息。

mPLUG 结构的底层还是先分别对文本和图片做编码,之后用对比学习把两个维度的特征拉到同一空间,再传入我们提出的 skip-connection 网络。之前的 co-attention 或者图文拼接的方式会存在信息淹没问题,我们的核心点在于只做非对称的 attention,即只将视觉特征 cross 到文本侧。因为训练速度慢主要在视觉,这样可以极大提升模型训练速度。但是如果只采用这种方式,因为文本序列比较短,会带来视觉信息的丢失。所以我们在 skip-connection 网络里面,先通过一个多层的非对称的 co-attention 网络,之后把视觉信息拼接进来,然后再过一层的 connected attention。这样既可以保证视觉信息不丢失,同时防止文本信息被视觉信息淹没。

以上就是图片和文本信息融合的 encoder,之后再加上 decoder 做生成的预训练。这就是我们整体的架构了。这种架构的优势在,一方面通过这种模块化多流的 Transformer 结构,可以统一理解和生成。同时它又可以灵活地拆拔不同模块进行微调。比如做图文检索任务,可以不要 decoder,只把 vision 和 text encoder 拆出来做向量检索,也可以用 ITM 图文匹配 Score。如果是 caption 任务,则不需要 text encoder,只需要 vision encoder 直接 cross 到 decoder 做图片描述的生成。如果做开放域的视觉问答,则全部的模块都会用到。

 

 

这篇关于plug-中文大模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/505905

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下