chatgpt说它有上千亿的参数,是什么意思?

简介: chatgpt说它有上千亿的参数,是什么意思?

最近在捣鼓深度学习,今天突然开窍,对于大模型上千亿参数的理解顿悟了,所以才有了这篇文章。


一个通俗易懂的模型举例


先用一个最简单的例子来说明,例如身高和体重之间是有一定对应的关系的。


如果我们有了非常多身高与体重对应关系的数据,我们就可以运用这些数据得到二元一次方程函数:


y=ax+b


这里 ab是常数, 经过对方程求解,我们是可以得出 ab 的具体数值。


之后只要输入一个代表 x的身高,就可以得出一个代表体重的 y值,当然这个 y值不是精确的,是一个预测值。


以上就是一个最简单的机器学习模型,即线性回归,这里的 ab 就是模型的参数,但是它太简单,一共就2个参数,所以其能力也必然非常有限。


从编程的角度理解怎么运行模型


每一个模型都是在解决某一方面的问题,上边的例子中我们可以看出,这是一个预测体重的数据模型,要解决的问题是,我输入一个身高,会给我一个预测的体重。


我们要运行使用这个模型,从编程的角度大致可以理解:


  1. 加载模型文件:其实模型文件里面记录的就是 ab 的值,所以有些模型文件是json格式,加载模型的伪代码如下:


function loadModule(moduleFile){
    let str = fs.readFile(moduleFile)
    let obj = JSON.parse(str)
    // 本质上我们就是为了拿到a、b
    let a = obj.a; 
    let b = obj.b;
}


  1. 运行模型的神经网络架构,模型的参数 a、b 是运行在这个神经网络里面的,其实也就是把这个公式:


y=ax+b


用代码实现出来:


function  net(x){
    // 这里的a、b来自第一步
    let a = 1; 
    let b = 2;
    return a * x + b;
}


  1. 这样经过net函数的计算,就得到了一个预测的结果,从使用者角度来说,我们已经拿到了想要的结果。


模型参数 ab怎么来的


你可能还有一个疑问,模型文件里面记录的是参数 ab , 那它们怎么来的?


答案是他们是经过训练得到的,什么意思呢?


举个例子,我们已经知道模型的函数如下,这个函数其实是解释了xy之间的关系:


y=ax+b


最开始我们肯定不知道 ab的具体值,所以我们才需要通过训练找到 ab 的值。


训练的过程如下:


  1. 将第一组采样数据传递给这个函数,比如身高170,体重60,很明显,一组采样数据得不到 ab 结果,因为 ab有很多个能够使这个函数成立,但是这一步我们还是需要确定来一个满足采样数据的 ab 解,即使 ab 的解存在非常多个。


  1. 将第二组采样数据传递给这个函数,比如身高160,体重50,很明显,两组数据就能求解ab ,因为一组二元一次方程就能求解方程中的2个未知数,这就不需要再解释为什么吧,小学的数学知识。


至此,我们已经求解出 ab,我们将ab的值以某种格式保存起来,然后别人使用这个模型的时候,加载这个文件即可,和上一步的流程形成了闭环。


为什么叫做深度学习


如果我们继续将第三组采样数据传递给这个函数,就会发生问题,因为上边的方程是一个线性方程,如果训练的第三组数据不满足线性,那么我们就无法求解ab,因为二元一次方程无法同时满足3组非线性采样数据。


如果出现这种情况,有很多种解决办法:


  1. 修改模型函数,增加方程的未知数,很显然这种办法不具有通用性,因为我们的采样数据数量是不确定的。


  1. 增加模型函数的深度,即增加调用层数,用代码说可能比较直观



let deep = 10;
let result = x;
for(int i = 0; i < deep; i++){
    result = net(result) // 还记得之前的net函数的实现么?
}


  1. 将上一层的计算结果作为当前的参数进行计算,重复这个过程,直到最后一层,这个过程就像剥洋葱一样,我想这也是为啥叫做深度学习的原因吧


到这里,我们也能理解为啥会产生多层神经网络了。


对智能涌现的思考


模型的预测结果什么样子,完全取决于训练的数据。


实际生活中,我们的采样数据一般都不是线性的,经过我们的训练,训练数据的输入和输出最终都会落在我们设计的神经网络,当我们传递一个新的数据时,当然结果也是落在那条拟合曲线里面。


这里就又牵扯智能涌现,大概就是说当神经网络足够复杂(意思就是参数足够多),结果有时候不会落在这个拟合曲线里面,这里就不展开了,因为我也是门外汉。


神经元为什么是y=ax+b


深度学习就像洋葱一样,一层又一层,每一层我们都可以看做一个单元,有点神经元的感觉,我们再仔细观察下这个方程:


y=ax+b


这里的 a 非常像权重(通俗点说就是占比),b 非常像偏置(通俗点说就是偏移),作为一个基础单元,它足够简单却又不失灵活。


就像乐高积木一样,每一块的设计都是非常类似,而且结构简单,但是却能相互连接成网,堆叠成层,组合出非常神奇的作品。


虽然神经元y=ax+b非常简单,这一层虽然只有2个参数,当我们层数非常多的时候,参数都是翻倍增长。


可以大概的说,参数越多,模型的表征能力就越强,包含的知识就越多。


不过你可能发现了输出的结果是一个数值,而我们使用chat-gpt的时候,反馈的结果是自然语言,这里面就牵扯到了自然语言模型,对自然语言的转换,其背后原理是

transformer,也是深度学习的结果,不太懂,这里就不再细聊了。


模型里面都存储了什么,能力越强为啥模型文件越大


看到这里,相信你也就知道这个问题的答案了


因为模型里面存储的是参数,模型越强悍,模型的参数越多,保存这些参数的文件就越大,模型也就越大。


按照我的理解,参数越多,模型的网络层级就越复杂,消耗的计算资源就越多。


像我们最开始举例的模型,模型文件就2个参数,模型文件估计也就1k,当然能干的事情也非常少!


希望这篇文章能够让你对深度学习有所了解,以上是我个人理解,肯定有错误的理解,欢迎指正,相互交流。


目录
相关文章
|
机器人 PyTorch 算法框架/工具
300美元复刻ChatGPT九成功力,GPT-4亲自监考,130亿参数开源模型「小羊驼」来了
300美元复刻ChatGPT九成功力,GPT-4亲自监考,130亿参数开源模型「小羊驼」来了
334 0
|
存储 缓存 API
ChatGPT模型参数≠1750亿,有人用反证法进行了证明
ChatGPT模型参数≠1750亿,有人用反证法进行了证明
174 0
|
编解码 人工智能 自然语言处理
微软多模态ChatGPT来了?16亿参数搞定看图答题、智商测验等任务
微软多模态ChatGPT来了?16亿参数搞定看图答题、智商测验等任务
139 0
|
编解码 人工智能 自然语言处理
ChatGPT爆火之后,视觉研究者坐不住了?谷歌将ViT参数扩大到220亿
ChatGPT爆火之后,视觉研究者坐不住了?谷歌将ViT参数扩大到220亿
165 0
|
Web App开发 机器学习/深度学习 物联网
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
368 0
|
3月前
|
人工智能 自然语言处理 搜索推荐
chatgpt这么火,现在AI搜索引擎有哪些呢?
国外AI搜索引擎包括ChatGPT,擅长自然语言处理与内容生成;Google Bard,提供智能个性化搜索体验;Microsoft Bing集成GPT模型增强智能检索;Perplexity AI以简洁答案及文献引用著称;Neeva强调隐私保护与无广告服务。国内方面,天工AI支持多种功能如知识问答与代码编程;腾讯元宝基于混元模型助力内容创造与学习;360AI搜索以精准全面的信息搜索见长;秘塔AI专注提升写作质量和效率;开搜AI搜索提供个性化智能搜索服务。以上引擎均利用先进AI技术提升用户体验。更多详情参阅[AI搜索合集](zhangfeidezhu.com/?page_id=651)。
110 8
chatgpt这么火,现在AI搜索引擎有哪些呢?
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
HuggingGPT解析:使用 ChatGPT及HuggingFace上的族系解决AI问题
HuggingGPT是一个框架,它使用大型语言模型(如ChatGPT)作为控制器来管理和协调Hugging Face上的AI模型,以语言作为通用接口解决多模态和领域的复杂AI任务。
58 0
HuggingGPT解析:使用 ChatGPT及HuggingFace上的族系解决AI问题
|
3月前
|
机器学习/深度学习 人工智能 算法
为什么ChatGPT等AI大模型都是基于Python开发?
为什么ChatGPT等AI大模型都是基于Python开发?
|
3月前
|
人工智能 自然语言处理 Linux
免费ChatGPT4o灵办AI可体验浏览器插件
灵办AI就是您所需的最佳助手!我们为您带来了一款多功能AI工具,ChatGPT4o不仅能为您提供精准翻译,还能满足您的对话需求、智能续写、AI搜索、文档阅读、代码生成与修正等多种需求。灵办 AI,真正让工作和学习变得轻松高效!一款多功能智能助手,旨在提升工作和学习效率。它提供实时翻译、对话问答、搜索、写作和网页阅读等服务,支持多种浏览器和操作系统,帮助用户随时获取信息,打破语言障碍,优化内容创作和信息处理。
116 0
|
3月前
|
Web App开发 人工智能 安全
Gemini vs ChatGPT:谷歌最新的AI和ChatGPT相比,谁更强?
Gemini vs ChatGPT:谷歌最新的AI和ChatGPT相比,谁更强?