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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值