0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

chatGPT的175Billion个参数是哪儿来的

处理器与AI芯片 来源:处理器与AI芯片 2023-11-01 16:57 次阅读

最近大语言模型模型LLM很火,大家总是说chatgpt的175Billion参数。做算法的人更关心网络的结构,而我这种做硬件的人一直很好奇这个参数是怎么计算的。

最近看到了一篇文章,计算了参数的个数并且和chatgpt论文里的参数进行了比较,计算的还是比较准确的,我来总结一下。

1.Chatgpt背景

Chatgpt(chat generative pre-trained transformer)也是基于google最初的transformer模型,虽然LLM功能很强大,但是理解起来比fasterRCNN和LSTM好很多。

Transformer结构

wKgZomVCE0-AKWVBAAJ8--DkelI175.jpg

Chatgpt结构

不同于从input到output可以进行翻译工作的transformer结构,ChatGPT进行对话,只需要右侧的decoder部分就可以。

wKgaomVCE1-Af0DmAADtfVtIckE850.jpg

2.一张立体图:

wKgZomVCE3KAOX4aAAcz4SEX8pU616.jpg

整体的Bert 结构

看了很多解释图,上面的图是看过的最好的,流程就是

1)inputembedding 分别和key,value,query的矩阵做乘法linear projection,得到的结果进行attention

2)将多个attention的结果进行concat拼接,得到的结果进行再次进行矩阵乘法,linearprojection

3)将得到的结果输入feedforwardnetwork,两层的lineartransform之后,输出结果

4)如果有n_layer个layer,那么就重复2)和3)n_layer次

3.具体的参数个数计算

先解释一下参数:

n_head : attention 中head的个数

d_model: 中间bottlenecklayer的向量的维度

n_vocalulary: 字典的维度

n_context: 上下文的长度

n_layer:网络的层数

1)Inputembedding

wKgZomVCE4iARZ3-AABOebKU6Q0469.jpg

对应UWe将U的(n_context,n_vocalulary) 维转为UWe(n_context, d_model)维,其矩阵大小为(n_vocabulary,d_model) , 参数大小即为n_vocabulary* d_model。 ‍‍

此外,‍‍Wp对应(n_context,d_model)。 因此此处的参数个数为: n_vocabulary*d_model+ n_context * d_model

2)Attention& MultiHead

wKgZomVCE6-ARj1wAABHqRiRDZ8304.jpg

a. WiQ, WiK,WiV都是相同的大小投影矩阵,每个都是d_model*d_head维度,这里的d_head就对应上面公式里面的de, ,dk,dv,ChatGPT中他们都是同样的大小;

b.因此attention部分的计算量就是3*d_model*d_head,因为有三个矩阵WiQ,WiK, WiV;

c.如果有MultiHead,如果head的个数为n_head,那么即为W矩阵的总参数3*d_model*d_head*n_head

d. concat的结果的维度为(n_context,n_head*d_head),经过矩阵WO计算后维度变为(n_context,d_head)维,因此WO的维度为(n_head*d_head,d_head) 对c)和d)的参数求和,此时参数个数为 4*d_model*d_head*n_head

3)feedforward

wKgZomVCE9eAAXW9AABmvF0--fo398.jpg

在chatgpt中,feedforward内部由两层lineartransformer组成,并且d_ff为d_model的4倍。 ‍‍‍W1‍‍的参数个数为(d_model,d_ff), b‍‍1‍‍的参数个数为d_ff,W2的为(d_ff,d_model),b2‍‍‍‍的参数个数为d_model,而d_model又是d_ff的四倍,因此: 2*d_model*d_ff+d_model+d_ff 即 8*d_model2+ 5* d_model 4)将2)和3)重复n_layer次 n_layer * (4*d_model*d_head*n_head+ 8*d_model2 + 5* d_model)

总体的参数计算:1)+ 4):

n‍_vocabulary*d_model-> emb‍‍edding atrix

+n_context * d_model‍‍-> position matrix

+ n_layer *‍ ‍‍‍‍-> layer 重复N次

// multi headattention

(4 * d_model * d_head * n_head ->‍‍‍

‍‍// feedforward network

‍‍+ 8 * d_model2+ 5* d_mo‍‍del‍‍)

验证一下:

如果按照chatGPT论文中设置的参数:

n_vocabulary = 50257

d_model = 12288

n_context = 2048

n_layer= 96

d_head= 128

n_head= 96

1)word_embeding +position

50257 * 12288 + 2048 * 12288 = 642723840

2)Attention& MultiHead

单层:4 * 12288 * 128 * 96 = 603979776‍‍

3)feedforward

8 * 12288 * 12288 + 5 * 12288= 1208020992

4)2)和3)重复n_layer次

N_layer = 96 层96*(603979776+1208020992) = 173952073728

1)+2) = 174594797568 也就是所说的175Billion个参数。

这个方法估计出的参数和论文中参数的对比:

92021d4c-7894-11ee-939d-92fbcf53809c.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LSTM
    +关注

    关注

    0

    文章

    42

    浏览量

    3682
  • ChatGPT
    +关注

    关注

    27

    文章

    1409

    浏览量

    4749
  • LLM
    LLM
    +关注

    关注

    0

    文章

    202

    浏览量

    233

原文标题:chatGPT的175Billion个参数是哪儿来的

文章出处:【微信号:处理器与AI芯片,微信公众号:处理器与AI芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【国产FPGA+OMAPL138开发板体验】(原创)6.FPGA连接ChatGPT 4

    : LED输出,我们要用它展示ChatGPT4的“高见”。 ChatGPT4_IP_Core chatgpt4_core(...): 假设我们有一
    发表于 02-14 21:58

    在FPGA设计中是否可以应用ChatGPT生成想要的程序呢

    当下AI人工智能崛起,很多开发领域都可看到ChatGPT的身影,FPGA设计中,是否也可以用ChatGPT辅助设计呢?
    发表于 03-28 23:41

    chatGPT帮我写硬件代码,是懂行的,好助手!#chatgpt #物联网开发 #python开发板

    ChatGPT
    苏州煜瑛微电子科技有限公司
    发布于 :2023年02月17日 15:27:42

    ChatGPT对话语音识别

    ChatGPT
    YS YYDS
    发布于 :2023年05月30日 22:13:10

    在IC设计/验证中怎么应用ChatGPT呢?

    技术改变生活。最近一段时间,OpenAI旗下的ChatGPT大火。根据官网自身的介绍(见图1),其是由 OpenAI 提出的大型预训练语言模型,使用了许多深度学习技术,可以生成文本内容,也可以进行
    发表于 02-21 15:16

    科技大厂竞逐AIGC,中国的ChatGPT在哪?

    迭代,需要大量的数据进行训练。2020年发布的GPT-3,其训练参数量已经达到了惊人的1750亿,“大量的数据被反复‘喂’给ChatGPT。” 而且,ChatGPT的训练成本支出巨
    发表于 03-03 14:28

    【米尔MYD-JX8MMA7开发板-ARM+FPGA架构试用体验】4.使用ChatGPT助力测试GPU

    领域的多种应用场景比较适用。本次将测试该开发板的GPU图形图像处理能力,并在ChatGPT帮助下使用OpenGL E2.0 开发一简单的3D模型实时渲染的应用,及使用ChatGPT
    发表于 04-10 02:07

    chatGPT一种生产力的变革

    的AIGC通常基于小模型展开,这类模型一般需要特殊的标注数据训练,以解决特定的场景任务,通用性较差,很难被迁移,而且高度依赖人工调参。后来,这种形式的AIGC逐渐被基于大数据量、大参数量、强算法的大模型取代
    发表于 04-25 16:04

    ChatGPT系统开发AI人功智能方案

    ChatGPT是一由OpenAI开发的人工智能语言模型,可以实现自然语言处理、对话生成等功能。要开发一类似ChatGPT的人工智能系统软件,可以遵循以下步骤:确定应用场景:确定人
    发表于 05-18 10:16

    不到1分钟开发一GPT应用!各路大神疯狂整活,网友:ChatGPT就是新iPhone

    这个说法并不准确。尽管ChatGPT等语言模型已经在一定程度上改变了我们获取信息、学习知识的方式,但它们并不能替代人类进行创造性思考和创造性活动。 虽然一些人可能会利用ChatGPT等语言模型快速
    发表于 11-19 12:06

    J175 P沟道开关

    电子发烧友网为你提供()J175相关产品参数、数据手册,更有J175的引脚图、接线图、封装手册、中文资料、英文资料,J175真值表,J175
    发表于 04-18 20:41

    HMC175 S参数

    HMC175 S参数
    发表于 03-23 13:53 1次下载
    HMC<b class='flag-5'>175</b> S<b class='flag-5'>参数</b>

    SR1V-175 SR1V-175 拉绳位移传感器

    电子发烧友网为你提供TE(ti)SR1V-175相关产品参数、数据手册,更有SR1V-175的引脚图、接线图、封装手册、中文资料、英文资料,SR1V-175真值表,SR1V-
    发表于 08-21 00:00

    SR1A-175 SR1A-175 拉绳位移传感器

    电子发烧友网为你提供TE(ti)SR1A-175相关产品参数、数据手册,更有SR1A-175的引脚图、接线图、封装手册、中文资料、英文资料,SR1A-175真值表,SR1A-
    发表于 08-21 00:00