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

    文章

    59

    浏览量

    3748
  • ChatGPT
    +关注

    关注

    29

    文章

    1560

    浏览量

    7621
  • LLM
    LLM
    +关注

    关注

    0

    文章

    286

    浏览量

    327

原文标题: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
    YS YYDS
    发布于 :2023年05月30日 22:13:10

    科技大厂竞逐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系统开发AI人功智能方案

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

    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>

    ChatGPT入门指南

    是基于聊天的生成预训练transformer模型的缩写,是一强大的工具,可以以各种方式使用,以提高您在许多领域的生产力。 ChatGPT是一种人工智能(AI)技术,被称为自然语言处理(NLP)模型   由人工智能研发公司OpenAI创建。它使用机器学习算法
    发表于 02-10 11:19 7次下载
    <b class='flag-5'>ChatGPT</b>入门指南

    chatgpt是什么

    chatgpt是什么 ChatGPT,美国OpenAI 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言进行对话,还能根据聊天的上下文进行互动,真
    发表于 02-10 14:05 4w次阅读

    chatgpt怎么用

    使用了一种叫做Transformer的神经网络架构,这是一种用于处理序列数据的模型,能够在输入序列中捕捉长期依赖性。它还使用了大量的语料库训练模型,这些语料库包含了真实世界中的对话,以便模型能够更好地理解人类语言。 chatgpt怎么用? 1、注册或登录OpenAI账户
    发表于 02-10 14:22 5.8w次阅读

    从零开始谈ChatGPT

      那如何才能得到一ChatGPT呢?   首先我们需要一具备各种能力(潜力)的LLM,所以它要足够大,训练的足够好。OpenAI 大概率也是为此重新训练了一GPT-3 模
    发表于 02-15 10:20 0次下载
    从零开始谈<b class='flag-5'>ChatGPT</b>

    ChatGPT了的七开源项目

    就推出了很多。估计,现在还有不少同学苦于不知道该如何体验chatGPT。   chatGPT火了,围绕chatGPT尽心二次扩展的开源项目最近也涌现出很多,今天就来给大家介绍几个最近发现的不错的开源项目!   这是一
    发表于 02-15 09:26 3次下载
    <b class='flag-5'>ChatGPT</b>了的七<b class='flag-5'>个</b>开源项目

    令人惊艳的ChatGPT项目,开源了!

    而Visual ChatGPT这个项目则可以把ChatGPT和一系列视觉基础模型(VFM,Visual Foundation Model)给联系起来,以便实现在ChatGPT聊天的过程中
    的头像 发表于 03-31 11:00 2256次阅读