当前位置: 首页 > news >正文

MOE论文详解(4)-GLaM

2022年google在GShard之后发表另一篇跟MoE相关的paper, 论文名为GLaM (Generalist Language Model), 最大的GLaM模型有1.2 trillion参数, 比GPT-3大7倍, 但成本只有GPT-3的1/3, 同时效果也超过GPT-3. 以下是两者的对比:

在这里插入图片描述

跟之前模型对比如下, 跟GShard和Switch-C相比, GLaM是第一个MoE在Decoder-only模型上的应用. (整体变化其实不大)

在这里插入图片描述

1. 训练数据

GLaM模型使用开源的1.6万亿(trillion)个token进行训练, 下图说明了训练数据的种类与混合比例:

在这里插入图片描述

2. 模型结构

整体模型结构跟GShard类似, 如下图所示, 总共有64个expert, 门控网络每次从中选择2个expert进行计算. 另外还有几点改动:

  • 使用relative positional bias(From Transformer-XL) 替换标准的position embedding
  • 在非MoE Transformer层, 使用Gated Linear Unit(GLU)Gaussian Error Linear Unit(GeLU)激活来替换第一个线性层和激活.
  • GLaM模型训练中权重和计算的切分使用2维的切分算法(From GSPMD).
    • 把不同MoE layer上相同位置(具有相同的index值)的专家放到同一个device设备上, 使得不同的MoE layer得到相同的计算图
    • 使用while_loop控制语句wrap重复性的MoE layer
    • 要使得模型效果好, expert要足够大. 如果一个expert足够大时一个expert就对应多个core来分配, 也就是一个expert对应 N E \frac{N}{E} EN 个device. expert的权重shape为 [ E , M , H ] [E, M, H] [E,M,H], 按专家维度 E E E 和hidden维度 H H H 来切分; input activation tensor 的shape大小为 [ B , S , M ] [B, S, M] [B,S,M], 按 batch维度 B B B 和 model维度 M M M 来进行切分.
    • 同时也依赖GSPMD的编译pass过程来决定剩下tensor的切分策略

在这里插入图片描述

3. 结果

GPT-3与GLaM的比较如下, 分别在zero-shot, one-shot, few-shot等多个方面进行了比较, 效果比GPT-3要好

在这里插入图片描述

4. 参考

  • GLaM
  • MOE论文详解(4)-GLaM

http://www.mrgr.cn/news/52711.html

相关文章:

  • 科学家们设计了一种新型胰岛素,能够根据血液中的葡萄糖水平自动开启或关闭
  • 985研一学习日记 - 2024.10.16
  • ClaimsettlementController
  • Linux的开发工具gcc Makefile gdb的学习
  • 新型扩散模型加速框架Hyper-sd分享
  • SQL Injection | SQL 注入 —— 时间盲注
  • 如何正确并优雅的使用Java中的临时文件目录
  • DeBiFormer:带有可变形代理双层路由注意力的视觉Transformer
  • vue + 百度地图GL版实现点聚合
  • C++算法练习-day6——203.移除链表元素
  • flask-socketio-+Nginx反向代理在消息收发和提醒上在使用
  • Scala的fold
  • 思想实验思维浅谈
  • GEE python: RUSLE土壤侵蚀模型的代码
  • 《深度学习》Dlib、OpenCV 轮廓绘制
  • snmpgetnext使用说明
  • STM32+PWM+DMA驱动WS2812
  • C语言 | Leetcode C语言题解之第491题非递减子序列
  • 苹果首部VR电影:《Submerged》的背后故事与沉浸式电影的未来
  • 语音信号去噪 Matlab语音信号去噪,GUI界面。分别添加了正弦噪声和高斯噪声,分别用了巴特沃斯低通滤波器和小波分解去噪。每步处理都可以播放出信号声音。