不懂这些概念,你敢说你了解大模型嘛?(一)—大模型“瘦身”指南

不懂这些概念,你敢说你了解大模型嘛

第一章 大模型“瘦身”指南



前言

最近,DeepSeek V3/R1 这玩意儿在全球范围内火得一塌糊涂,简直比网红奶茶还抢手!于是越来越多的小伙伴开始对大模型产生浓厚的兴趣。现在出门要是不懂点大模型,简直是穿袜子露脚趾——尴尬。人家聊得热火朝天,你只能干瞪眼,插不上话,默默低头刷手机CC

不过,别看大家聊起大模型时口若悬河,仿佛个个都是“AI界的扛把子”,其实大多数人也就停留在“怎么用”这个层面。至于大模型背后的那些基本概念和理论就两眼懵了。大模型基本知识就像是藏在冰山下的部分,虽然看不见,但却至关重要,对你使用大模型工具有非常大的帮助。你要是连这些都不懂,还敢说自己了解大模型?那可真是“拿着菜谱就自称米其林大厨”了!

所以,别光顾着用,偶尔咱也得翻翻“说明书”,搞懂那些背后的门道。不然,下次聚会时,别人聊起“Transformer”,你还以为是在讨论变形金刚呢!笔者这里会根据日常大模型的学习使用经验,和大家分享大模型底层概念和知识,让大家不只使用大模型,而且更加了解大模型,让大模型真正成为我们日常使用的“得力干将”,还等什么,接着往下看吧~

当前DeepSeek V3/R1的优异表现引得让各路大神都想尝试本地部署,但庞大的参数量(671B,6710亿的参数量,约占450-1400G的显存)让各路大神望而却步。为增加体验,官方也利用DeepSeek-R1的方法蒸馏qwen, llama等模型得到7B-70B大小的模型,让本地部署成为可能(不过效果远不如DeepSeek-R1),也有大神量化671B大小的模型到158B,404B,让服务器部署的成本进一步降低。还有的大神在垂直领域对DeepSeek-V3的简化模型进行微调,构造自己的法律,金融等专业领域大模型。很多人这时就要问啦,到底什么是蒸馏,量化,微调呢,它们有什么不同呢,本期大模型科普就以通俗易懂的语言帮大家理解这些概念。


一、蒸馏:老师的智慧,学生的速度

模型蒸馏(Model Distillation)最初由 Hinton 等人在2015年提出,其核心思想是通过模型缩减或知识迁移的方式,将一个复杂的大模型(教师模型)的知识传授给一个相对简单的小模型(学生模型)。

蒸馏的方式一般有如下两种:

(一)在教师模型上的结构拆解

我们知道大模型的结构特别复杂,一个大模型往往是由很多包括 注意力层,全连接层等不同的结构构成的,简单的类比示意图如下图所示:
在这里插入图片描述

大家在测试过程中可能会发现,大模型即使在去掉结构C,只保留结构A,B,D上仍然可以保持较好的性能,那新的学生模型就可以把结构C去掉,自然而然大模型的体积会小一些,如下图所示:
在这里插入图片描述
像上图一样我们对大模型的结构进行拆解或者改进,在保持大模型性能的基础上,去裁剪大模型的结构来缩小大模型的体积。

从上面的过程中我们可知,这种模型结构的调整一定是在你非常熟悉大模型的结构的基础上,对不重要部分进行的修改(一般都是开源大模型,因为开源大模型结构已知),需要很强的人工智能大模型基础能力,对调整者的要求极高,目前也作为一个独立的课题 模型剪枝 被广泛研究。

(二)知识迁移

模型蒸馏的另一种方式是知识迁移,核心思想是将一个复杂的大模型(教师模型)的知识传授给一个相对简单的小模型(学生模型),简单概括就是利用教师模型的预测概率分布作为软标签对学生模型进行训练,从而在保持较高预测性能的同时,极大地降低了模型的复杂性和计算资源需求,实现模型的轻量化和高效化。用示意图直观显示如下:
在这里插入图片描述
教师模型: 蒸馏模型的关键是选择参数大,能力强的模型,例如现在爆火的DeepSeek-R1/V3等,如果想训练具备推理能力的大模型,可以用DeepSeek-R1(生成带有think标签的数据), 如果想生成直接说明答案模型,可以使用DeepSeek-V3。

生成软标签: 这一部分通常学者们会使用不同种类的数据问题(比如数学类,金融类,计算机类等种种可以覆盖所有知识类别的数据集)输入教师模型得到结果,将结果和问题对应整理成数据集。

训练学生模型: 利用生成的数据集,对其它小模型进行有监督的全部参数的训练从而让小模型得到大模型的知识。

以上就是知识迁移的过程,这也是为什么DeepSeek-R1性能超出大家预期后,“眼馋”的美丽国人说DeepSeek-R1是利用了OpenAI-O1模型的知识进行蒸馏的,大家理性辨认~

(插个眼:笔者之后也会分享发布DeepSeek-R1的蒸馏教程,大家感兴趣可以关注一下哦,也可关注作者公众号:大模型真好玩和掘金网站:大模型真好玩 同步分享)

二、量化:从浮点到整数,轻装上阵

介绍完蒸馏接下来是“量化”大师。这位大师的绝招是“压缩”。大模型由不同的结构组成,不同结构的本质是浮点数矩阵,大模型的计算其实就是不同浮点数矩阵的运算。这些浮点数占用了大量的内存和计算资源。如图所示:
在这里插入图片描述
量化就是把浮点数的有效数字的位数进行缩小,举个形象的例子,圆周率我们可以用3.1415926535来表示,然而我们默认3.14也可以表示圆周率,存储3.1415926535要11位数字,存储3.14只需要3位数字,存储位数少了,存储模型的大小也自然小了。在大模型上就是把BP16,FP8的格式量化为INT4格式,减少有效位数。
在这里插入图片描述
不过量化是有一定缺点的,虽然模型变小了,计算速度也快了,但因为精度变小了,在面对一些复杂问题的时候,计算的误差变大,可能会影响一些复杂任务的表现。

三、微调:小修小补,精益求精

最后我们来介绍微调,微调其实并不是对大模型结构的更改,它适用于如下的场景:大模型虽然强大,但它更多的是平均主义。在某些特定的领域比如法律领域,金融领域等特定的任务上表现一般。那么我们要提升它的表现,就需要使用专业领域的数据集对大模型进行进一步的学习,也就是“微调”。你可以把微调想象成给一辆豪车做改装。虽然车已经很好了,但为了适应不同的路况(任务),微调大师会对发动机(模型参数)进行一些调整,让车跑得更稳、更快。

微调可以分为如下三种:

  1. 全量参数微调,顾名思义就是对大模型的所有参数进行调整,效果较好,但消耗巨大,而且数据集小容易过拟合。适合你有大量的数据和计算资源的情况。
  2. 部分微调:冻结大模型部分结构的参数,只对特定结构参数进行修改,比如针对上面的大模型结构图,我们可以把结构A,B,C的参数全冻结,只改变结构D的参数使其来达到想要效果。适用于数据量有限或计算资源有限的情况。
  3. 适配器微调,在模型中插入小型适配器模块的方法。这些适配器模块只在微调过程中进行训练,而预训练模型的参数保持不变。你可以把它想象成在车上加装一个小型插件,提升特定功能。拿 LORA 为例,如下图我们只对右侧 LORA全连接模块 进行参数调整,通过它与原始参数结合改变输出,但原始模型参数不会发生变化,适用于数据量有限或计算资源有限的情况。
    在这里插入图片描述

总结:三位大师,各有所长

今天对大模型蒸馏,量化,微调的介绍就到这里啦。蒸馏大师擅长知识传递,量化大师精于压缩体积,微调大师则专注于精细调整。他们各有千秋,适合不同的场景。

  • 如果你想要一个轻便的小模型,蒸馏和量化是不错的选择。
  • 如果你需要模型在特定任务上表现更好,微调是你的不二之选。

当然,你也可以把这三位大师结合起来使用,打造一个既轻便又强大的模型。毕竟,谁不想拥有一个既聪明又灵活的AI助手呢?(后续会分享自己从0到1亲自动手使用pytorch训练大模型的教程,让你知其然知其所以然,感兴趣的欢迎大家点赞关注转发,更多详细精彩内容也可关注我的公众号: 大模型真好玩,分享工作学习中实际遇到的大模型问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值