M6-中文多模态预训练模型

2024-06-21 07:48
文章标签 训练 模型 中文 模态 m6

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

M6:一种中文的多模式预训练机

目录:

  1. 回顾

  2. 方法

  3. 下游应用程序

  4. 可扩展到具有万亿个参数的模型

1. 回顾
多模态预训练

模型架构:

l 基于transformer

l 单流或者双流

图像特征:

l 目标特征

l Patch特征

l 原始像素

下游任务:

l 理解:VQA,检索

l 生成:图像字幕

对M6的预期
l 在中文语料库上的预训练模型

l 兼容理解和生成任务

l 与图像文本和明文任务兼容

l 与文本和图像生成兼容

2.方法
M6概述
规模:

Dense模型:0.3B参数量(M6-Base)/10B参数量(M6-Large)

Sparse MoE模型:M6-100B&M6-1T

动机:多模态+多任务(理解与生成)

结构:transformer Block

预训练:多任务预训练

M6结构:
在这里插入图片描述
M6 10B
l 添加图层并增加隐藏图层的大小

l 在分布式设备上拟合该模型的策略:

l 混合精度(O2级)

l 激活检查点

l 零优化器和零卸载

l 使用梯度积累来减少gpu之间的通信时间

M6 100B的挑战

  1. 如何降低沟通成本

  2. GPU内存的限制(swap in/out, Zero, CPU offload)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    M6 100B
    l 在whale框架上实现的

l 梯度校验点、XLA、通信优化、混合精度等。

l 128A100s上的1440个samples。

l 与M6-10B相比的LM损失使用了大约一半的训练时间
在这里插入图片描述
在这里插入图片描述
3. 下游应用
图像字幕

在这里插入图片描述
可视化QA
在这里插入图片描述
自然语言的下游任务
在这里插入图片描述
图象生成
在这里插入图片描述
使用两阶段策略,根据输入文本生成图像:

阶段1训练一个VQGAN,将图像编码为破坏代码表示,并高保真地将代码序列解码回图像。

阶段2训练M6根据输入文本作为上下文生成代码序列。
用于文本到图像生成的M6
在这里插入图片描述
文本到图像的生成(反事实的)

在这里插入图片描述

4. 缩放到三百分之一模型

训练三百分之一模型:

资源:480 NVIDIA V100-32GB gpu

实现:由带宽为100gb的RDMA网络连接的单gpu工人集群。

优化:Adafactor (vs. Adam),为了避免训练的不稳定性,我们使用了较小的学习率和权值初始化

专家原型
在这里插入图片描述
辅助平衡损失是有帮助的吗?
在这里插入图片描述
辅助损失有助于平衡每个专家的分配,但对模型性能影响很大。为了节省向后内存成本,与Switch&Gshard相比,我们消除了辅助损失。

1t模型的有效性
在这里插入图片描述
与M6相关的Papers
M6-base, 10B & 100B: M6: A Chinese Multimodal Pretrainer (KDD 21’)

M6-1T: Exploring Sparse Expert Models and Beyond (arxiv)

Image generation: UFC-BERT: Unifying Multi-Modal Controls for Conditional Image Synthesis (arxiv)

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



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

相关文章

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下

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英