大模型后训练全解析:SFT、RL、PPO、Lora、Adapter一文读懂,收藏必备!

大模型的有监督微调(SFT)与强化学习(RL)有何区别? 有监督微调(SFT)强化学习(RL)数据静态标注数据(输入-输出对)动态环境交互(状态-动作-奖励序列)反馈即时、明确(损失函数)延迟、稀疏(奖励信号)目标最小化预测误差最大化长期累积奖励探索无需探索,拟合现有数据需探索新策略以发现高奖励路径典型场景文本分类、机器翻译游戏AI、机器人控制、对话策略优化算法梯度下降、交叉熵损失Q-Learning、策略梯度、PPO。 阅读详情

本文从非技术角度,详细解析了大模型后训练的核心内容,包括预训练产物的理解、后训练的微调方向(SFT、RL/RLHF)、参数微调方法(全量微调、局部微调如Adapter、Low-Rank Adaptation、Prompt Tuning)、以及降本增效场景(蒸馏、量化、剪枝)。文章旨在帮助非技术背景的读者理解大模型后训练的基本概念和流程,为后续深入学习打下基础。

一、写在前面

大模型的后训练都在训练些什么?sft、rl、ppo、lora、adapter,这些算法开发们口中的专属名词,都代表着什么意思?本文将尽可能从非技术角度,一文帮你读懂大模型后训练。

同时这也是继去年发布《非技术背景,一文带你读懂大模型》后,时隔一年多,推出的非技术系列第二篇文章啦。也确实看到大家对于此类非技术向讲解的科普文比较感兴趣,希望这篇新文章能一样受大家的喜欢。

二、简单回顾

首先我们先简单回顾下,《非技术背景,一文带你读懂大模型》中,提到的大模型的预训练方式。当时我们引入了两个比较重要的概念,一个是向量机制,一个是attention机制。向量机制当时我们用特征,用诗歌中的意向来进行比喻和理解。而attention机制,我们则从阅读文章时脑海中不断形成的网状记忆来进行理解。

那么其实大家当时有没有产生一个问题:

我们进行大模型的预训练,到底实际训练的是什么,以及得到的训练产物是什么呢?

三、预训练到底训了什么

我们经常听到说一个模型有多少多少亿的参数,什么7b,600b,甚至上千b。这些参数,其实就是大模型预训练后沉淀下来的产物了。而参数本身其实并不神秘:

简化到极致的话,我们拿y=kx+b,其中的k和b就是参数。x就是输入,y就是经过参数计算后的输出。

所以实际大模型训练中沉淀下来的,其实也就是这些参与到计算中的参数。简单来看的话,我们可以认为大模型其实就是个巨大的,分模块的,矩阵方程组。输入的信息x,在经过这个巨大方程组内诸多参数计算后,得出输出结果y。

在未进行训练之初,这个巨大方程组中海量的参数会有一个初始的随机值。然后再经过一系列的预训练策略和算法,比如掩码生成(盖住部分词让模型来猜)、预测下一个词,等预训练手段后,参数也逐渐在几个环节里同步逐渐收敛沉淀了下来:

第一个是向量化的阶段。这个环节主要负责将输入的信息内容,转化为向量化表达。因为后续的推理计算都是在建立在向量化的基础之上,所以这个环节会在最前置的环节。这个转化的过程可以理解为对应着一套规则,这套规则即为预训练在该环节沉淀下的参数。比如我们输入了“苹果”两个字,那么在经过这套参数计算后,将把“苹果”转为比如[0.1、0.2、0.3…]这种向量化特征表达。这里实际是会存在一个巨大的升维的方程,而这个方程里的的参数则会在预训练过程中不断收敛固定下来。

然后是在attention层内,attention这个概念我们在前文里介绍过,本质上是要把输入的内容彼此之前建立关联,形成类似“网状记忆”的效果。实际这里会有多个attention层来承接,每一个attention层内均会存在qkv(query查询、key键、value值)三个维度的参数矩阵。这里会把上一步我们转换得到的向量结果在每一层里的qkv三个维度上展开,展开的目的实际是要找到“苹果”这个实体,在向量化后,与其他输入序列实体中的潜在关联关系和权重的个计算。

有点拗口,打个比方。“今天我吃了水果”,那么在这个处理过程里,会让“今天”“我”“吃了”“水果”,彼此之间都带上彼此的向量特征信息和权重,以保证在后续的推理时,不是仅因为“苹果”,而预测下一个token,而是因为关联了“今天我吃了水果”这整句话的语义,以及“今天”“我”“吃了”“水果”这几个实体彼此的向量特征,进行的综合加权后的预测结果。这其实也是transformer架构的核心,也是attention is all you need这个理念的核心。

然后是在ffn前馈神经网络层内,这里会和attention层一一对应,每层attention后都会紧跟着一层ffn,这一阶段主要做的是,把attention阶段计算得到的关联结果,再经过大模型学习沉淀下的“通识知识和关联特征”,做一次“升维再降维”的处理。这里会有两个矩阵方程来完成这件事。这一步的主要目的是尽可能的放大并聚合特征,把过程中没必要的杂音过滤掉,聚焦关键信息,让模型的输出更精准。

那么搞懂了预训练的产物,我们对于后训练阶段到底训练的是个啥,就好理解了:

本质上,后训练就是通过各种“工具和方法”,对预训练阶段经过以上三个环节不断收敛沉淀的这些“矩阵方程组内的参数”,做针对性调整、优化,使得大模型的输出更加符合业务层面的预期的过程。

四、后训练的微调方向

在后训练方向上,我们可以简单区分为两个大的方向,分别是监督学习微调(sft)、强化学习微调(rl/rlhf)

这两个个方向其实我们可以拿老师教授学生学习来打比方:

首先我们把预训练的模型,看作是一个有一定基础的,有一定通识能力的学生。而教会这个学生提高成绩,是我们后训练微调的目标。

4.1监督学习微调(SFT)

监督学习微调,则相当于老师给了学生一堆的题目和答案(标注数据),来让学生模仿答案的输出来进行学习。这个过程里,来自于人工整理的“标准答案”至关重要。人工整理出“输入问题”和“理想预期回复结果”的成对数据,模型通过学习这些成对数据,来不断调整并收敛参数,让自己输出的内容尽可能贴近“标准答案”。

SFT是大模型后训练中最常用的方式,因为这种方式首先定义很明确,可以很容易有来自业务侧明确的输入(回答结果的好与坏因主观因素过多,可能不好定义,但预期理想结果,这个相对来说还是好给出的)。其次这种方式所需要的数据量一般不需要太多,就可以在测试集上立竿见影的看到效果,所以如果是想快速满足业务诉求,这种方式会比较快捷且相对来说可控些。

但缺点其实也很明显,因为这种方式更像是让模型在死记硬背试题答案,且虽然预训练的模型具备一定的泛化性,但如果是遇到了超出训练集的case,其效果就要大打折扣,模型的推理能力和创造力会因这种“死记硬背”而交一大笔对齐税"Alignment Tax"

另外这里补充一个小知识点。大家有没有好奇过,transformer架构下,大模型实际做的是通过计算概率,来预测下一个token。所以实际预训练后的模型,本质上是一个“续写模型”才对。但如果遇到一个输入,“今天吃了什么”,目前的大模型会对问题进行友好的回答,而不是紧跟着输入来继续续写。

这里答案就是因为,在经过预训练的模型,都会先进行一次“冷启动”,也叫指令微调。冷启动其实就是拿着几千到几万条高质量的问答、指令遵循数据,用SFT的方式监督微调模型,这样才让模型从一个“续写模型”,变为了一个“问答模型”。

ok以上基本就是监督学习微调的内容了。不过可能会有同学好奇,有监督学习微调,那么有没有无监督学习微调呢?

有的兄弟,有的。无监督微调(UFT),当然行业内更多是叫作增量预训练(CPT):

这里也打个比喻,就好像是老师觉得学生的语文有点不太好,所以给了学生大量的古诗作文等语文相关的知识,让学生自己学习自己去悟,以加强语文这块的垂域知识能力。

其实这一过程跟预训练很像,包括使用的训练策略也一样是使用比如掩码生成(盖住部分词让模型来猜)、预测下一个词等方式来完成。只是在阶段上,预训练是从0到1,从一堆随机参数里让模型学会语言规律和构建通识能力。无监督微调是从1到N,在一个已完成预训练,有了一定基础和通识能力上的模型上加强训练,强化的是模型在某一个垂域下的知识丰富度。

所以这里行业内对于这个过程算不算作后训练各有说法,属于介于预训练到后训练中间一环,所以这里我就不多加定义了,也就没有把他单独领出来算作后训练的一个大类

4.2强化学习(RL/RLHF)

这种方式可以理解为,老师给了学生一堆的题目来做,并对学生输出的结果进行打分。然后让学生从评分中,自我学习自己悟出优化的方向。

RL的方式其实在机器学习中很早就在应用了。比如像之前的alphaGo zero,就是通过对模型每一步下棋的结果进行打分,来让alphaGo zero在每一步的下棋过程里,逐渐领悟到诸多的下棋技巧。

但在llm中,我们发现对于结果的好坏,有点没法像下象棋,围棋,贪吃蛇等,对于大模型的决策过程有一个相对精准的打分了。比如游戏里吃到金币+十分,吃掉对面的卒加5分等。因为模型的输出是一段口语化的回复,针对这个回复去打分,会掺杂很多主观的成分。所以这时候我们就引入了人类打分的概念,这就是RLHF里,HF,human-feedback的由来了。

最初的RLHF,其中human-feedback部分是由人类来完成。但这种方式太过于耗人了,且不同人类之间的评价机制过于主观,反而效果不好。直到openAI于2017年,提出了PPO的强化学习算法,并在2022年首次将其应用在instructGPT的强化学习流程中并验证了其可行性,至此才正式拉开了,大模型人类反馈强化学习(RLHF)的序章。

4.2.1 PPO算法

这里我尝试拆解下PPO算法在大模型RLHF中的过程和思想,拆解过后,大家估计就对RLHF这个逻辑清楚很多了。

我们可以这么理解下:首先我们前面讲过,RLHF本质上是让老师给了学生一堆的题目来做,并对学生输出的结果进行打分。然后让学生从评分中,自我学习自己悟出优化的方向。

那么首先我们需要有一个被训练的学生,这就是PPO在RLHF中的(Actor)策略模型。

然后我们还得有个老师,来对学生做出的题,进行打分。这一打分当然可以由人类老师进行,但出于上面说的效率低,主观性强的点,所以这里我们引入一个机器人老师来给学生打分,这就是PPO在RLHF中的(RM)奖励模型。通常这个模型是由标注数据后训练的个模型。

然后我们还可以发现,单纯我们通过对于学生的做题结果打分,似乎没法细化到衡量学生在做题过程中是好还是坏的。

打个比方,学生答题时写了一句完整的话“我今天吃了一个又红又大的菠萝”。首先整句来看肯定是有问题的,因为菠萝怎么也不会跟又红又大来挂钩。但如果我们因此对,学生写下整句过程里的推理过程打负分的话,似乎对于学生写下前半句的推理过程不太公平。。。这就好像老师给学生判了个60分,但没有告诉学生扣分点,学生只能盲猜自己需要优化的点。盲猜那就存在一定的随机性啦,就会造成学生的学习成绩起伏不定,始终稳定不下来。提现到模型上就是,训练过程参数震荡剧烈,收敛的也及其的慢。

所以这时候我们还需要再引入一个更强的机器人老师,这个老师会在学生写题时,紧盯着学生的每一步操作,每一步都会针对当前已输出情况,给出一个预判的得分出来。这样学生就可以在收到第一位机器人老师打出的总分的同时,也收到第二位机器人老师针对每道题甚至每个解题步骤给出的预判总分波动图,这样学生就能更快的明白自己是在哪个环节那个步骤出了问题,也就知道该如何加强学习了。而这个,就是PPO在RLHF中的(Critic)价值模型。通常这个模型也是一个由标注数据后训练的个模型。与RM不同的是,打分的阶段和目标不同。一个是整体评判,一个是加速收敛。

然后学生在大量做题提高分数时,虽然我们引入两个机器人老师来帮助学生加速收敛提升学习成绩,但在学习过程里,因为模型参数变动很容易引起全局的输出结果变差。学生的学习也容易出现为了学习一个小知识点,结果混淆了更重要知识点。这个有个名词叫灾难性遗忘。

为了避免这种情况,我们又复制出来一个学生,跟被训练的学生一起做题。并把这个复制体学生的做题结果,与被训练的学生做题结果做对照,并设定一个奖惩机制,如果差距过大,就惩罚被训练的学生,以此避免学生在学习过程里,为了捡了芝麻丢了西瓜的情况。而这个复制体学生,实际就是PPO在RLHF中的(Reference)参考模型。把初始的(Actor)策略模型冻结参数,作为训练时的输出参照,并根据输出参照来计算出一个KL惩罚约束,来保证针对(Actor)策略模型的每步训练调参都不会与初始的输出差距过大。

4.2.2 DPO算法

ok,讲完了PPO,其实对于RLHF是个啥也就基本清楚了。不过这里我还想再展开讲讲后面出现的些迭代算法,也挺有意思的。不感兴趣的同学可以直接跳过这part。

首先PPO还是很强大的,不然也不会有chatgpt的诞生。但其缺点其实也很明显,我们可以看到,为了优化一个模型,需要搞四个模型去跑,流程相当复杂,及其消耗显存。

那有没有什么更好的方案呢?

这时候在2023年,斯坦福团队提出了另一种思路:PPO是为了判定模型输出的结果好坏,搞出来两位机器人老师分别针对整体和过程来打分,以此让学生清楚自己的优化点。那如果我们极端些,把具体的评分抽象为好答案的概率和坏答案的概率,是不是就不需要再引入这么多模型了呢?

于是,DPO(直接偏好优化)算法应运而生。还是用“老师”和学生的比喻:

PPO的两位机器人老师,需要给学生的输出打两个分数,一个是整体分数,一个是当前过程中输出的个分数,并需要对学生输出的“我今天吃了一个又红又大的菠萝”,对整体打六十分,并对前半句打高分,对后半句打低分。

而在DPO中,直接由人类老师入场,有点像SFT,直接告诉学生“我今天吃了一个又红又大的菠萝”是一个坏答案,“我今天吃了一个又红又大的苹果”是一个好答案。并让模型自己努力提升输出后者的概率,降低输出前者的概率。

这里要说明下,其实这个形式有点像“加了badcase的SFT”,但其本质和SFT是不同的。SFT是让模型按标准答案一个字一个字去临摹,抄标准答案。而dpo目标是让学生分清好坏,自主偏向好结果的概率。

所以这样一来,DPO中就只需要有两个模型在了。一个是学生,也就是DPO中的(Actor)策略模型。一个是学生的复制体,防止学生跑偏的,也就是DPO中的(Reference)参考模型。省去了两个吃显存的大户,两位机器人老师:(RM)奖励模型和(Critic)价值模型。

所以DPO对于PPO,不仅模型少了,流程也简化轻便了很多。训练起来更高效、稳定,甚至在一些场景下可能效果会比PPO更加的好。这也是为啥DPO目前被广泛应用,因为不需要太多算力,不需要单独训练奖励模型和价值模型,也不需要很复杂的数据集标注即可,即便是中小团队也能快速落地。但其缺点也是显然的,不像PPO那样具备这么强的主动探索的能力,更适合些偏好明确的领域目标。

4.2.3 GRPO算法

消化完了PPO和DPO之后,我们不妨再思考下。有没有可能有种方式,既保留直接偏好优化的特性,又在主动探索的方向上进行一些创新呢?

这里不得不提一下deepseek啦,deepseek团队在2024年交出了另一份答案:借鉴DPO的相对比较思路,但仍保留PPO中的打分机制,让模型保持探索能力。那么他们是怎么做到的呢?

首先回顾下上面提到的PPO和DPO的方式:

PPO的训练方式相当于通过打分让学生自己优化自己探索,但需要RM和Critic两位机器人老师来全程评估,并需要复制学生本体来作为参照,四个模型一起跑,又重又复杂。

而DPO的训练方式缺少了探索,指定goodcase和badcase,但砍掉了RM和Critic两位机器人老师,只靠初始的学生复制体来约束,虽然轻量且省算力,但创造力不足。

而GRPO做了一个聪明的取舍:继续保留RM这位针对结果打分的机器人老师,但砍掉了Critic这位针对过程打分的老师。

前面我们也知道Critic这位老师,其实是要帮助学生在训练过程里,明白中间步骤的得失,以此来加速模型的参数收敛的,那没有了Critic后,怎么解决这部分问题呢?

这里GRPO聪明的提出了个“分组相对策略优化”的概念。还是用老师学生来比喻。让学生,也就是(actor)策略模型,一次输出多个结果,并让机器人老师(RM)奖励模型,给这组答案进行逐个打分并排序。然后学生在进行优化调整时,先看下这组答案的个平均得分,再根据每个答案与这个平均得分的相对差距,来作为优化方向的参考。

这样一来,即比PPO省,因为砍掉了Critic这个模型;又比DPO灵活,因为保留了RM模型,可以支持模型自主生成探索。同时还捎带着解决了个RM打分不准带来的震荡问题。这个怎么理解呢?PPO中的RM打分,就好像老师给学生打了个总分,总分的准确率很关键,万一打错,就会对学生的自主探索产生不小的误导。而在GRPO中的RM打分,就好像老师给学生的一组回答打了个分。虽然可能老师个别题打分打错了,但对这组排序整体的影响其实并不大,也就能最小限度的减少因RM打错分,给学生带来的自主探索的误导影响。

ok,讲到这里,那对于大模型后训练这块的方向上,已经基本讲完了。总体来说就是大致两个方向:SFT这种让学生临摹答案的方式来优化训练;和RL/RLHF这种,通过打分或偏好,让学生自己探索的方式来优化训练。前者起效快,周期短,省算力,但探索性不强。后者周期长一些,但能让模型有自主探索性,保证一定的泛化性。

五、后训练的参数微调方法

讲完了大模型后训练的两个方向SFT和RL/RLHF,那我们可以接下来思考下,有了训练优化方向后,那模型里几十亿甚至上千亿的参数,如何去变动更新,来让训练优化朝着我们预期的优化方向进行呢?

首先既然确定了优化目标,那我们就得知道当前模型的表现与预期目标到底相差有多远,这样才能更好的指导接下来的优化。这里我们仍然用老师和学生的方式来比喻:

学生拿到试卷,逐个进行答题,最终提交试卷。这个过程对于模型相当于一次完整的输入和输出,在模型训练中,称为一次“正向传播”的过程。

然后老师拿到学生的试卷,根据预期结果,计算总分。计算的时候,根据我们需要让学生加强的方向不同(SFT/RLHF),设定不同的预期,并计算学生的得分以及与预期分数之间的差距。这个差距,在模型训练中称为“loss值”。

然后拿到分数差距后,老师会对照学生的错题点,逐一排查,推断学生在做题时的可能的知识误区和具体哪些知识没有掌握等。比如之前对于菠萝错误判断为了红色,那就判断学生其实对于菠萝的颜色理解的有问题。这个环节在模型训练中称为“反向传播”。对比“正向传播”,是根据输出时与预期的“loss值”,来反向推导模型在推理过程中,每个参数对于loss值的贡献度,也称之为梯度,来找到这些真正导致问题的参数。

然后拿到具体的错误点和知识误区后,下一步就是学生针对性进行改进。比如对于菠萝的颜色理解有误,那就修正。每次改进都能逐渐的缩小loss值,比如从认为菠萝是红色的,到亮黄色,再到焦黄色。这里实际模型训练是采用了“梯度下降算法”,根据反向传播时计算出的每个参数的梯度,让模型一点点修正参数,每次修正都会让loss值变小,直到模型按我们的预期输出。

整体逻辑就是,先通过正向传播以及训练预期,计算出对应的loss值,然后通过反向传播计算参数梯度,然后通过梯度下降算法,逐渐让参数收敛沉淀,并输出符合我们预期的结果。

六、后训练的参数微调范围

掌握了如何调整参数后,新的问题出现里。前文其实也提到了,后训练其实就是调整预训练阶段收敛沉淀下的参数,但预训练的模型参数,动辄几十亿,甚至上千亿的参数。如果我们只是想对模型微调增补些垂域业务知识,难道要把全部的参数更新一遍吗?

6.1全量微调

当然,这肯定是可行的。所以这里就有第一种方式,也就是全量微调(Full Fine-tuning)。全量微调其实是模型后训练时最直接最传统的一种方式,首先通过前文的两种后训练方向,SFT和RL/RLHF,来让学生找准自己优化的目标,然后通过正向传播,与与优化目标进行对比,计算出loss值,然后反向传播计算梯度,然后使用梯度下降等算法,动态更新全量参数,让学生的答题结果,持续逼近预期方向。在这个过程里,持续收敛沉淀参数变化。

但这个过程由于是全量微调,学生在自主探索过程中,可能不仅是在学科知识这块进行知识的重建,对于自身的一些东西,比如人生观价值观等都会跟着进行重组。这就比较可怕了。。。比如学生可能只是为了要记住“菠萝是黄色的”,但竟然因此调参数把自己的性别搞反了。。。这个前面讲PPO的时候也提过,全量微调的方式更容易出现这种捡了芝麻丢了西瓜的问题。

所以全量微调确实有,且更新彻底,上限很高,但缺点就是耗时耗力,另外就是极容易出现这种灾难性遗忘的问题了,只有大厂在追求极致效果的时候,才可能会出现。

6.2局部微调

那么除了全量微调的方式,有类似局部微调的方式吗?有的兄弟,有的。局部微调(PEFT/高效参数微调)的出现,就是解决这类问题。

首先我们之间讲过,大模型的内部是分模块分层的,但局部微调并不是像我们一般理解的,把大模型的某一部分或某些层冻结后去调剩下层的参数,而是采用更聪明的一种办法来解决这个问题:

既然直接动大模型的原本参数极容易出现灾难性遗忘等问题,那我们给大模型接入一个增量外挂插件,只去调外挂插件里的内容,不就行了?

6.2.1Adapter Tuning

于是在2019年,由Houlsby提出了Adapter Tuning的方法,核心就是在transformer的每一层的attention和ffn之间,串联的形式新加一层可训练的向量级的适配器,在进行微调时,仅微调适配器中的参数,不动原有预训练阶段大模型的参数,以此来满足微调的诉求。

与刚才的全量微调,让学生重新学习相比,就好像给学生新发了一个智能笔,学生不需要去重新学习,这根笔会在学生下笔回答问题时,每一步都会经过智能笔的矫正思路。这样一方面即完成了对于业务微调的诉求,又能不动模型的原有参数。

6.2.2Low-Rank Adaptation

然后在2021年,微软研究院也新提出一种技术。Low-Rank Adaptation,也就是我们熟知的lora了。这项技术有点像adapter,也是给大模型新加了个增量外部插件。不过跟adapter不同,会在attention层或ffn层,并联的方式插入两个小矩阵,参数量一般不到原模型的1%。在模型推理时与attention或ffn层同步输出,加权后合并结果输出。

这种形式有点像给学生发了一本专业笔记,在学生进行答题时,让学生按需去查阅这份笔记,并结合自身的基础知识,这样就可以回答的更精准。

这两种方式都是可以实现热插拔式的效果,比如可以灵活给模型切换适用于不同垂域业务场景的lora和adpter插件,以此快速适配不同业务场景。

在stable difussion盛兴的那段时间里,不知道你有没有尝试过下载不同画风的lora。其实他们本质上也是一个个用某种画风的大量图片,持续反向传播梯度下降的方式喂出的个lora插件。相信有过这段炼丹经历的小伙伴能更容易理解这里的概念~

6.2.3prompt tuning

除了lora和adapter,这里也再提一个更加轻量级的后训练工具,prompt tuning。他也是在2021年,由Liu等人提出。

首先需要先说明下,prompt tuning提示词微调,不等同于prompt engineering提示词工程。提示词工程这个大家应该比较熟知了,就是在给到大模型的输入中,在word层面增加些描述限制之类的东西。而prompt tuning提示词微调,则是在输入内容转为向量化这一阶段,起效的个产物。不修改输入的内容,而是在输入内容的前缀,或中间,插入一段特殊的向量特征,以此来提升模型的输出准确率。

这里用学生答题来比喻的话,,则prompt tuning更像是一个简短的小抄,贴在卷子的最前方。学生在答题时,会先看一遍这个小抄再答题,以此帮助学生在答题时更加准确。

但这种方式虽然足够轻量,不需要像lora和adapter引入新的矩阵,只需要在每次输入时插入一段训练好的固定的向量即可,但其适用性并不高,稍微处理些更泛化更复杂的任务就会抓瞎。

以上,我们基本就对大模型后训练的方向选择、调参方法、调参工具,了解清楚了。

七、后训练的降本增效场景

不过前面所讲的大模型后训练,我们都是预设了模型后训练的目的,是让模型回答更精确或回答更符合业务场景预期来的。但实际后训练还有另外一种目的,降本增效。这里我不打算展开讲,因为大多数同学更多接触的是前者。但既然咱们文章讲的是一文读懂大模型的后训练,似乎不提一下也不够全面。

所以这里再简单展开介绍下大模型后训练,出于降本增效的三种方法:蒸馏、量化、和剪枝。首先大模型降本增效的目的,其实就是减少模型推理时的算力消耗。那么这三种方法,也都是围绕着这一目标进行的,只是各自侧重点不同。

对于蒸馏,我们可以理解为原先的学生是一名大学生,学习的知识比较多,参数很大,思考问题时虽然思考的长远,但比较花费脑力和时间。这时候我们就再找一名初中生,初中生把大学生当成老师,去学习这名老师在回答问题时,每一步解答问题的思路和步骤,以此把自己提升到一个大学生的水平。

就比如我们看到个模型,DeepSeek-R1-Distill-Qwen-7B,实际意思就是,这本身是一个7b的qwen模型,通过大量学习600B的deepseekR1的模型输出结果,展现出了类似deepseekR1的输出效果。但模仿的就是模仿的,肯定实际准确率之类的都会打折扣。

然后对于量化,这个理解上会更加简单些。实际就是降低模型的参数精度,比如从float32,调低变为了int8/int4,比如从1.140023,简化为了1.14。参数量没有变,比如原先是600b,量化之后还是600b,但模型文件会缩小不少,且由于精度下降,其推理时的算力大大减少。但缺点就是这种强制抹零行为,有时候抹的可能正好不是地方,某些场景可能会出现错误的情况。

然后是剪枝,这个简单理解,就相当于学生脑子里除了学习之外,还塞了很多游戏啦,娱乐啦,等等其他杂七杂八的知识,那剪枝就相当于把这些答题场景下用不到的知识都去除掉,这样在模型推理时,自然就会更加简单直接。

八、总结

ok到这里,大模型后训练的全部内容基本讲解完毕。我们再回顾总结梳理一遍知识点:

预训练:从0到1,输入大量训练数据,让模型以自监督学习的方式,学会通用知识,沉淀下庞大的参数。相当于一位已经有一定知识储备的学生。

后训练:从1到N,通过调整预训练沉淀下的庞大参数,来让学生持续在某一方面专项突破加强。

后训练的方向:

  • SFT,监督学习,让模型临摹标准答案,快速见效,但泛化性弱,容易有对齐税
  • RL/RLHF,让模型根据人类偏好打分,来自主探索优化学习,泛化性更高,但训练难度稍高。RLHF的经典算法,PPO,以及后续的DPO、GRPO,各自在奖励模型、策略模型、参考模型上做出的取舍和创新设计。

后训练的调参方式:先正向传播计算loss值,再反向传播计算梯度,通过梯度下降算法持续调参来收敛loss值。类比学生就是做卷子打分,通过打分反推扣分点,并持续优化扣分点来提升分数。

后训练的调参范围:

  • 全量微调,Full Fine-tuning,所有参数参与到正向传播和反向传播的loss值计算中

  • 局部微调,PETF,大模型参数不动,通过给大模型外接控制插件,仅控制插件内的参数参与到正向传播和反向传播的loss值计算中。

局部微调的几种形式:并联形式的lora、串联形式的adapter、在向量阶段插入的prompt tuning。

另一种后训练方向下的应用:蒸馏,拿个小参数模型模仿并替代大模型;量化,参数量不变,但降低参数精度;剪枝,删除冗余参数。

九、结尾

本文的讲解尽可能避开了过于技术层面的讲解,目的还是帮非技术北京的大家真正能读懂后训练,而不是去学会后训练。如果大家确实有实际场景要落地,还是最好再结合对应方向的专门技术文章再深度去了解,本文更多是为你打下后训练这块一个整体认知框架和基础。

说实话这点还是挺重要的。因为我也看过不少后训练的科普文,能发现有些要么是过于技术视角,动不动一堆公式和算法。要么是在概念理解分类上就有问题,比如把sft和lora放在一起讲解,很容易让人误以为这两个名词是一类工具。。。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

img


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

在这里插入图片描述

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

img

适用人群

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

一文说清:为什么SFT负责记忆 ,RL负责泛化? 本文探讨了监督微调(SFT)和强化学习(RL)在基础模型后训练中对泛化能力的影响。通过引入Generalpoints算术推理卡牌游戏和V-IRL真实世界导航环境,研究比较了SFT和RL在文本和视觉领域的泛化表现。结果表明,RL在基于规则的文本和视觉环境中展现出更强的泛化能力,而SFT则倾向于记忆训练数据,难以泛化到分布外的数据。尽管RL在泛化方面表现优越,但SFT在稳定模型输出格式方面仍具有重要作用,为后续RL训练提供了基础。研究还发现,扩展推理时计算有助于提升模型的泛化能力,特别是在视觉语言模型中。这些发 阅读详情

相关推荐

大规模语言模型从理论到实践 SFT模型和RL模型评估

大规模语言模型从理论到实践 SFT模型和RL模型评估 1.背景介绍 大规模语言模型(Large Language Models, LLMs)近年来在自然语言处理(NLP)领域取得了显著的进展。通过训练海量数据,这些模型能够生成高质量的文本,完成各种复杂的语言任务。本文将深

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 343

NLP学习总结|SFT微调方法之一:LoRA微调

矩阵的秩(rank)分为行秩和列秩,行秩指的是矩阵的线性无关的行的个数,列秩同理。因为一个矩阵的行秩和列秩总是相等的,因此它们统一被叫做矩阵的秩。

weixin_52309665的博客 4046

OpenMontage:AI代理驱动的端到端视频生产系统实战指南

在当今内容创作领域,自动化视频生成技术正成为提升生产效率的关键。其核心原理在于通过智能体(Agent)架构,将复杂的视频制作流程拆解为可被AI理解和执行的标准化任务,从而实现从创意到成片的端到端自动化。这项技术的核心价值在于大幅降低了专业视频制作的门槛,使非专业用户也能快速产出具有一定专业度的内容。其典型应用场景包括社交媒体短片、产品演示、知识科普视频的批量生产。OpenMontage正是这一技术理念的杰出实践,它构建了一个完整的代理驱动视频生产系统,将AI编码助手转变为能自主规划并执行脚本撰写、素材检索、

weixin_35757191的博客 648

lora微调/(sft、lora、p-tuning、freeze四种典型微调方法)

参考。

Msc30839573的博客 4944

解密高并发系统的瓶颈:五大解决方案

在互联网应用中,高并发是指在短时间内同时有大量的用户访问一个网站或服务,造成系统压力过大,导致服务器宕机或服务停止响应的情况。高并发是互联网应用面临的一个重要问题,需要采取一系列措施来解决。负载均衡、缓存、数据库优化、异步处理和分布式架构是解决高并发问题的主要方法。在实际应用中,需要根据具体情况选择不同的方法来解决高并发问题。在高并发情况下,使用负载均衡是解决问题的一种常见方法。负载均衡可以通过将请求分配到多个服务器上,从而减少单个服务器的负载。这可以通过硬件设备或软件实现。

BUG制造者:图图 <p>这是一个P标签</p> 3904

【Gazebo安装指南】Ubuntu22.04LTS环境下的高效配置与常见问题解决

本文提供了在Ubuntu 22.04 LTS系统上高效安装和配置Gazebo仿真环境的详细指南。针对Gazebo Classic版本,文章对比了通过ROS 2仓库和Ubuntu官方仓库两种主流安装方法,并重点解决了安装过程中常见的软件包定位、模型下载及图形驱动等问题,帮助用户快速搭建稳定的机器人仿真开发环境。

weixin_29279101的博客 436

Grok 4.6 1.5万亿参数升级:SFT与RLHF技术栈深度解析与实践指南

在大型语言模型(LLM)领域,模型参数规模与训练方法是决定其性能的核心要素。参数本质上是模型从数据中学习到的知识存储单元,其数量的增长通常意味着更强的记忆容量和模式识别能力。然而,参数本身并不直接等同于智能,其效能的发挥高度依赖于先进的训练方法。监督微调(SFT)和基于人类反馈的强化学习(RLHF)是当前对齐模型能力与人类意图的关键技术栈。SFT阶段使用高质量的指令-回答对数据,教导预训练模型遵循人类指令;RLHF阶段则通过奖励模型进一步优化输出,使其更符合复杂的人类偏好。这些技术的价值在于,它们能将庞大的

weixin_30512043的博客 399

继电器的选型规范

触点是继电器中最重要的结构件,触点的使用寿命受触点材料、触点上的电压及电流值(特别是接通时及断开时的电压、电流波形)、负载种类、切换频率、环境情况、接触形式、触点回跳现象等的影响,触点失效多以触点的材料转移、粘连、异常消耗、接触电阻增大等故障现象出现,使用时需要注意。为了稳定工作, DC 型继电器的线圈两端所加电压推荐使用波纹变化率小于±5%的线圈额定电压,否则继电器会工作不稳定,引起触点的粘接或异常损耗,特别是在继电器的驱动电路上连接有电动机、螺线管、变压器等器件时,这种情况更为明显。

qq_43416206的博客 1881

一文带大家了解SFT、LoRA和Fine-Tuning的区别

SFT(监督微调)、LoRA(低秩适应)和传统的全参数微调(Fine-Tuning)是大模型微调中的三种核心技术,它们在参数更新方式、适用场景、计算效率等方面存在显著差异。以下是三者的详细对比分析。

liwenxiang629的博客 4360

USVInland 数据集实战:4个月采集27段数据,26公里内河SLAM评测

本文详细解析了USVInland数据集在内河SLAM算法评测中的应用实践。通过4个月采集的27段共26公里真实多传感器数据,该数据集有效解决了GPS信号遮挡、动态反射干扰等内河无人船SLAM核心挑战。文章从数据预处理、算法优化到性能评测,全面展示了如何利用毫米波雷达与视觉数据的时空对齐特性提升定位精度,为水上无人驾驶技术提供重要基准。

weixin_33158887的博客 341

AI Agent Harness自动化漏洞扫描

本文要介绍的AI Agent Harness自动化漏洞扫描方案,正是为了解决传统漏扫的上述痛点而生。漏洞检出率提升35%以上,逻辑漏洞检出率从不足30%提升到92%误报率从27%降到3%以下,人工复核成本降低90%支持自定义业务系统、IoT、工控等多场景资产扫描,适配成本降低80%内置反馈学习机制,扫描效果越用越好AI Agent是指具备自主感知、决策、行动能力的大模型驱动程序,它可以根据给定的目标,自主调用工具、规划步骤、完成任务。

AI 原生应用开发的博客 473

一文彻底搞懂监督微调(SFT) VS 强化学习(RL),收藏这篇就够了!

该研究对比了监督微调(SFT)和强化学习(RL)两种AI训练方法。实验表明,SFT训练的模型擅长记忆训练数据,在见过的任务上表现优异,但面对新变化时会失败;而RL训练的模型能理解底层逻辑,展现出强大的泛化能力,可适应新情境。值得注意的是,RL需要SFT作为基础,两者结合使用效果最佳。这一发现对构建真正智能而非简单模仿的AI系统具有重要指导意义。

2401_85373691的博客 1441

RK3568开发笔记- (TX/RX) RGMII delayline 功能调试

本文详细介绍了RK3568芯片RGMII接口delayline功能的调试过程。针对千兆以太网通信不稳定问题,通过分析RGMII时序要求,利用RK3568内置的delayline功能补偿信号延迟。调试方法包括扫描delayline窗口、测试中间值配置、优化硬件设计等步骤。文章还总结了常见问题解决方案,如PHY选型建议和自动扫描功能配置。最终实现了千兆速率下丢包率降至0.01%以下的目标,为类似开发场景提供了实用参考。

flypig has a dream! 316

AI大模型应用微调服务商分享:微调技术Lora和SFT的异同

这样一来,需要训练的参数量就大大减少了,训练速度也会加快,同时还能节省大量的计算资源,就像用更少的积木和更短的时间,搭建出了一个功能相似的城堡。于是,我们准备大量该领域的标注数据,这些数据就像是给模型的 “学习资料”,里面包含了输入和期望输出之间的明确对应关系。它发现,其实在城堡的某些部分,不需要全部的积木都参与调整,只需要在旁边增加一些特定结构的小积木块(新增的低秩矩阵),并且只调整这些小积木块,就能达到和重新搭建城堡类似的效果。经过一段时间的学习,他在芯片制造这个专业领域的回答能力就会大大提升。

tipdm0301的博客 760

多体动力学分析软件:SIMPACK_(17).SIMPACK高级编程与脚本

自定义力和约束可以用于模拟更复杂和现实的物理场景。SIMPACK 提供了接口,允许用户通过 Python 脚本来实现自定义力和约束。以下是一个示例,展示如何定义一个自定义力函数并应用于模型。# 定义自定义力函数"""自定义力函数:param t: 时间:param position: 位置:param velocity: 速度:return: 力"""# 创建一个新的 SIMPACK 模型# 添加一个刚体# 添加一个关节# 添加一个自定义力# 设置仿真参数# 运行仿真。

kkchenjj的博客 1421

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

别再傻傻分SFT和RL!中科院&美团:SRFT才是AI训练捷径?

摘要:中科院团队联合美团提出SRFT方法,将监督微调(SFT)与强化学习(RL)单阶段结合,通过熵感知动态加权机制协同利用专家演示和自我探索数据。在5项数学推理任务中取得59.1%平均准确率,较纯RL提升9.0%;在3项分布外任务上提升10.9%,展现卓越泛化能力。该方法避免了传统两阶段训练的知识遗忘问题,实现了"边学边练"的高效训练模式,为提升大语言模型推理能力提供了新思路。

2401_85343303的博客 1333

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

大模型sft和rl区别和效果对比

让模型学会说话(懂语法、有知识)。让模型学会听话(懂指令、懂格式)。没有SFT,直接上RL通常会失败,因为模型如果连话都说不通顺,根本无法探索出高分答案。SFT 提供了 RL 的“冷启动”基础。让模型变得更聪明、更安全、更符合人类喜好。它是在 SFT 的基础上进行“抛光”和“提纯”。一句话总结区别:SFT 决定了模型“能不能”回答问题(可用性),RL 决定了模型回答得“好不好”(好用性/对齐)。

ZYZ_123BlueEye的博客 1077

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

一文搞懂SFT、RLHF、DPO、IFT

随着 ChatGPT 等强大模型的发布,大语言模型(Large Language Models,LLMs)的浪潮席卷而来,并逐渐走进千家万户。LLMs 可以协助文字工作者寻找创作灵感,可以为各年龄段的学生详解知识点,甚至可以帮助心情不好的人做心理疏导。可以说,LLMs 正在成为许多人日常工作与生活的必需品。然而,现阶段的 LLMs 仍然在一些方面饱受诟病。首当其冲的就是“幻觉”问题,LLMs 会自信满满地生成不符合事实或常理的回答,可能对使用者造成误导。另外,LLMs 对于复杂指令的理解与遵循能力欠佳,他们

2401_85379281的博客 2042

baichuan7B/13B的原理与微调:从baichuan的SFT实现到baichuan2的RLHF实现

2023年7月11日,百川智能发布Baichuan-13B(这是其GitHub地址Baichuan-13B 是继 Baichuan-7B 之后开发的包含 130 亿参数的开源可商用的大规模语言模型,本次发布包含以下两个版本预训练(对齐(,July注:我看了下代码,这里的对齐指的是通过对话数据对齐,即只做了SFT,没做RLHF)更大尺寸、更多数据Baichuan-13B 在 Baichuan-7B 的基础上进一步扩大参数量到130亿,并且在高质量的语料上训练了1.4。

结构之法 算法之道 1万+

再聊大模型的微调训练——指令监督微调SFT & 强化学习RL

大模型很多技术干货,都可以共享给你们,如果你肯花时间沉下心去学习,它们一定能帮到你!

2401_85375186的博客 2273

【程序员必藏】大模型训练:SFT与RL的本质区别及DPO的定位分析

文章详解了SFT与RL在大模型训练中的本质区别:SFT是行为克隆和极大似然估计,仅拟合固定数据分布;而RL核心是策略改进,通过最大化累积回报探索高价值区域。SFT可视为退化版的Offline RL,缺失Bellman Backup机制,难以处理分布外情况。DPO介于两者之间,是单步策略改进的Offline RL。真正的RL具备探索机制,能发现数据集中概率低但价值高的解。

2401_85327249的博客 493

大模型之Bloom&LLAMA----SFT(模型微调)

SFT(Scalable Fine-Tuning)是一种用于自然语言处理的技术,它通过对预训练的语言模型进行微调,使其适应特定任务。在大模型SFT中,使用的是大型的预训练语言模型,例如LLAMA、GPT等,这些模型具有数十亿甚至数百亿个参数,可以处理大量的文本数据。SFT的主要思想是在一个大型的预训练模型的基础上,针对特定的任务对模型进行微调。在微调过程中,模型会根据任务的特点调整模型的参数和结构,以提高模型在该任务上的表现。在微调过程中,可以使用不同的技术,例如数据增强、正则化、优化算法等。

lovely_yoshino的博客 1万+

强化学习入门

策略模型(Policy Model)根据当前参数生成了两个回答:

wlxsp的博客 1738

四种微调技术详解:SFT 监督微调、LoRA 微调、P-tuning v2、Freeze 监督微调方法

SFT(Self-training Fine-tuning)是一项引人注目的微调方法,特别适用于解决低资源语言或领域的挑战。它采用了自监督学习的思想,可以显著减少对大量标记数据的依赖。

2401_85280106的博客 1382
上一篇: 【必收藏】金三银四AI求职指南:小白/程序员入局大模型,避坑+拿高薪全攻略
下一篇: 必收藏!2026Agent元年,程序员&小白专属大模型应用开发学习路线(附免费资源)
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值