网站 建设 初期规划企业网站优化服务主要围绕哪些要素

张小明 2026/1/2 20:28:44
网站 建设 初期规划,企业网站优化服务主要围绕哪些要素,wordpress 关闭feed,wordpress首页代码本文是AI大模型的全面学习指南#xff0c;系统介绍了Transformer架构核心知识#xff08;如Self-Attention机制、LayerNorm与BN的区别、位置编码等#xff09;#xff0c;解析了BERT模型特性与原理#xff0c;详细讲解了注意力机制计算与优化方法#xff0c;以及大模型训…本文是AI大模型的全面学习指南系统介绍了Transformer架构核心知识如Self-Attention机制、LayerNorm与BN的区别、位置编码等解析了BERT模型特性与原理详细讲解了注意力机制计算与优化方法以及大模型训练和微调技术如LoRA、Prefix-tuning等。文章提供了从基础到实战的学习路线图适合程序员和AI入门者系统掌握大模型技术解决实际项目需求。基础知识1.transformer 八股文a.Self-Attention的表达式b.为什么上面那个公式要对QK进行scalingscaling后进行softmax操作可以使得输入的数据的分布变得更好你可以想象下softmax的公式数值会进入敏感区间防止梯度消失让模型能够更容易训练。c.self-attention一定要这样表达吗不一定只要可以建模相关性就可以。当然最好是能够高速计算矩阵乘法并且表达能力强query可以主动去关注到其他的key并在value上进行强化并且忽略不相关的其他部分模型容量够。d.有其他方法不用除根号吗有只要能缓解梯度消失的问题就可以。详情可以了解Google T5的Xavier初始化。e.为什么transformer用Layer Norm有什么用任何norm的意义都是为了让使用norm的网络的输入的数据分布变得更好也就是转换为标准正态分布数值进入敏感度区间以减缓梯度消失从而更容易训练。当然这也意味着舍弃了除此维度之外其他维度的其他信息。为什么能舍弃呢请看下一题。f.为什么不用BN可以参考这个回答为什么Transformer要用LayerNorm我在这里做下总结。首先要明确如果在一个维度内进行normalization那么在这个维度内相对大小有意义的是可以比较的但是在normalization后的不同的维度之间相对大小这是没有意义的这个图片很好转自上面链接BN相当于要做m次normalizationBN(batch normalization)广泛应用于CV针对同一特征以跨样本的方式开展归一化也就是对不同样本的同一channel间的所有像素值进行归一化因此不会破坏不同样本同一特征之间的关系毕竟“减均值除标准差”只是一个平移加缩放的线性操作。在“身高体重”的例子中这就意味着“归一化前是高个儿的归一化后仍然是高个儿归一化前胖的归一化后也不会变瘦”。这一性质进而决定了经过归一化操作后样本之间仍然具有可比较性。但是特征与特征之间的不再具有可比较性也就是上一个问题中我所说的“舍弃了除此维度之外其他维度的其他信息”。既然前面说了是CV中用BN那为什么NLP中不用BN而用LN呢道理一样因为NLP中对不同样本同一特征的信息进行归一化没有意义三个样本为中华之崛起而读书我爱中国母爱最伟大中“为”、“我”、“母”归一到同一分布没有意义。舍弃不了BN中舍弃的其他维度的信息也就是同一个样本的不同维度的信息“为”、“我”、“母”归一到同一分布后第一句话中的“为”和“中”就没有可比性了何谈同一句子之间的注意力机制对比上面的图片同转自上面链接LN相当于要做3次normalization加强一下我们再回顾CV中对不同样本同一特征channel的信息进行归一化有意义因为同一个channel下的所有信息都是遵循统一规则下的大小比较的比如黑白图中越白越靠近255反之越黑越靠近0可以舍弃其他维度的信息也就是同一个样本的不同维度间channel的信息举例来说RGB三个通道之间互相比较意义不大g.Bert为什么要搞一个position embedding因为仅仅有之前提到的self-attention无法表达位置信息对位置信息不敏感比如说“112”和“121”是一样的因此需要增强模型针对位置的表达能力。h.Bert为什么三个embedding可以相加[【深度玄学】为何Bert三个Embedding可以相加]这里的三个embedding是指token embeddingsegment embeddingposition embedding。如果感兴趣还是来看Rethinking Positional Encoding in Language Pre-training原文不过为了理解也可以看下邱老师的回答为什么 Bert 的三个 Embedding 可以进行相加如果你是在质疑加法会导致”信息损失“但是本质上神经网络中每个神经元收到的信号也是“权重”相加得来。详细想想在实际场景中叠加是一个更为常态的操作。比如声音、图像等信号。一个时序的波可以用多个不同频率的正弦波叠加来表示。只要叠加的波的频率不同我们就可以通过傅里叶变换进行逆向转换。一串文本也可以看作是一些时序信号也可以有很多信号进行叠加只要频率不同都可以在后面的复杂神经网络中得到解耦但也不一定真的要得到解耦。在BERT这个设定中tokensegmentposition明显可以对应三种非常不同的频率。由此可以再深入想一想在一串文本中如果每个词的特征都可以用叠加波来表示整个序列又可以进一步叠加。哪些是低频信号比如词性哪些是高频信号比如语义这些都隐藏在embedding中也可能已经解耦在不同维度中了。说不定可以是一种新的表示理论i.transformer为什么要用三个不一样的QKV前面提到过是为了增强网络的容量和表达能力。更极端点如果完全不要project_q/k/v就是输入x本身来做当然可以但是表征能力太弱了x的参数更新得至少会很拧巴j.为什么要多头举例说明多头相比单头注意力的优势和上一问一样进一步增强网络的容量和表达能力。你可以类比CV中的不同的channel不同卷积核会关注不同的信息事实上不同的头也会关注不同的信息。假设我们有一个句子the cat, which is black, sat on the mat。在处理sat这个词时一个头主语头可能会更关注cat因为cat是sat的主语另一个头宾语头可能会更关注on the mat因为这是sat的宾语还有一个头修饰头可能会关注which is black因为这是对cat的修饰。当然这只是为了方便你理解事实上就和卷积核一样不同头关注的内容是很抽象的。你当然可以就用一个头同时做这个事但是还是这个道理我们的目的就是通过增加参数量来增强网络的容量从而提升网络表达能力。经过多头之后我们还需要att_out线性层来做线性变换以自动决定通过训练对每个头的输出赋予多大的权重从而在最终的输出中强调一些头的信息而忽视其他头的信息。这是一种自适应的、数据驱动的方式来组合不同头的信息。k.为什么Bert中要用WordPiece/BPE这样的subword Token避免OOVOut Of Vocabulary也就是词汇表外的词。在NLP中通常会预先构建一个词汇表包含所有模型能够识别的词。然而总会有一些词没有出现在预先构建的词汇表中这些词就是 OOV。传统的处理方式往往是将这些 OOV 映射到一个特殊的符号如 但这种方式无法充分利用 OOV 中的信息。例如对于词汇表中没有的词 “unhappiness”如果直接映射为 则模型就无法理解它的含义。WordPiece/Byte Pair Encoding (BPE) 等基于子词的分词方法提供了一种解决 OOV 问题的方式。现在更多的语言大模型选择基于BPE的方式只不过BERT时代更多还是WordPiece。BPE 通过将词分解为更小的单元子词或字符可以有效地处理词汇表外的词。对于上面的 “unhappiness” 例子即使 “unhappiness” 本身不在词汇表中但是它可以被分解为 “un”、“happiness” 等子词而这些子词可能在词汇表中。这样模型就可以通过这些子词来理解 “unhappiness” 的含义。另一方面就是BPE本身的语义粒度也很合适一个token不会太大也不会小到损失连接信息如一个字母。l.Bert中为什么要在开头加个[CLS]?sliderSun关于BERT中的那些为什么 其实这个回答也写了一些为什么其中就包含这个题目。为了文章的完整性我再输出一点自己的观点。具体来说我们想让[CLS]做的事情就是利用好BERT强大的表示能力这个表示能力不仅限于token层面而且我们尝试要得到整个seqence的表示。因此[CLS]就是做这个事情的。具体来说整个encoder的最后一层的[CLS]学到的向量可以很好地作为整句话的语义表示从而适配一些setence层面的任务如整句话的情感分类。那关键点就在于为什么[CLS]可以建模整句话的语义表征呢简单来说也很好理解因为“这个无明显语义信息的符号会更“公平”地融合文本中各个词的语义信息从而更好的表示整句话的语义。” ——为什么无明显语义因为训练的时候BERT发现每个句子头都有这样他能学到什么语义呢——为什么要公平因为控制变量我们不希望做其他下游任务的时候用于区分不同样本间特征的信息是有偏的。当然不放在句子开头的其他位置是否可行一个未经考证的臆想是任何其他位置的position embedding都无法满足放在开头的一致性。所以不同句子间可能会有一定的不同这并不是我们做一些句间的分类问题想要的。m.不用[CLS]的语义输出有其他方式可以代替吗这个问题还是考察到了[CLS]的核心内涵也就是如何获得整个sentence的语义表示。既然不让使用特意训好的[CLS]那我们就从每个token得到的embedding入手把所有的token弄到一起。很直观的思路就是对BERT的所有输出词向量忽略[CLS]和[SEP]应用MaxPooling和AvgPooling然后将得到的两个向量拼接起来作为整个序列的表示。这样做的话可以同时保留序列中最显著的特征通过MaxPooling和整体的均衡的特征通过AvgPooling。当然这种做法我本人并没有尝试过或许也不是一个很好做的研究/工作方向。n.Bert中有哪些地方用到了mask?预训练任务Masked Language Model (MLM) self-attention的计算 下游任务的decodero.预训练阶段的mask有什么用虽然MLM现在被主流LLM抛弃了但是也是一项很重要的任务。主要的思想是把输入的其中一部分词汇随机掩盖模型的目标是预测这些掩盖词汇。这种训练方式使得每个位置的BERT都能学习到其上下文的信息。p.attention中的mask有什么用BERT中这是nlp任务很重要的问题就是不同样本的seq_len不一样。但是由于输出的seq_len需要一致所以需要通过补padding来对齐。而在attention中我们不希望一个token去注意到这些padding的部分因为实际场景下它们是不存在的所以attention中的mask就是来处理掉这些无效的信息的。具体来说就是在softmax前每个都设为-inf或者实际的场景一个很小的数就可以然后过完softmax后padding部分的权重就会接近于零query token就不会分配注意力权重了。q.decoder中的mask有什么用转自https://blog.csdn.net/yoziyezi210这就是decoder-only的模型自回归模型架构问题一般称为future mask通常为一个上三角矩阵。简单来说就是模拟inference的过程。比如在做next token prediction的时候模型是根据前面已有的tokens来做的也就是看不到未来的tokens的信息。而在我们训练的过程中通常采用teacher forcing的策略也就是我们当然会把完整的标签喂给模型但是由于在一个一个生成next token的过程中模型应该是一个一个往外“蹦“字的过程想想chatgpt回复你的样子所以我们会遮盖掉seqence中当前位置之后信息以防止模型利用未来信息也就是信息泄露。mask掉后模型的注意力只会集中在此前的序列上。r.Bert中self attention 计算复杂度如何你可以参考上面那张图因为输入的序列的每一个token都要对这个序列上的所有token去求一个attention score。s.有什么技术降低复杂度提升输入长度的比如Sparse Attention放弃对全文的关注只关心局部的语义组合相当于self-attention上又加了一些mask这样的话就可以降低复杂度而且下游任务的语义关联性的体现往往是局部/稀疏的。t.Bert是如何处理传统方法难以搞定的溢出词表词(oov)的语义学习的前面提到了关键词是subword。u.中文是如何处理溢出词表词(oov)的语义学习的subword处理中文都是字符级别的所以就不会有词级别oov的问题了。v.为什么以前char level/subword level的NLP模型表现一般都比较差但是到了bert这里就比较好还是归功于Transformers因为对于字符级别char-level或者子词级别subword-level的NLP模型挑战在于需要模型能够理解字符或者子词组合起来形成词语和句子的语义这对模型的能力有很高的要求。然而以前NLP模型没办法做到很深两层lstm基本就到极限了非线性成长路线过分陡峭所以增加网络容量的时候降低了泛化能力。Bert降低了输入的复杂度提升了模型的复杂度。模型多层产生的非线性增长平滑可以加大网络容量同时增强容量和泛化能力。解释一下——什么叫非线性成长路线过分陡峭如果我们将模型的深度看作是 x 轴模型的复杂度或训练难度看作是 y 轴那么随着深度的增加y 值的增长可能会变得非常快。——BERT为什么降低了输入复杂度WordPiece这种subword的做法不至于像char level那样基本完全抛弃了自身的语义信息因为切的太细就会太复杂也不至于像word leve那样因此可以减小词汇表大小。当然也避免了OOV的问题。——BERT为什么提升了模型复杂度Transformers可以把网络做深本身内部网络容量也很够。w.Bert为什么要使用warmup的学习率trick主要是考虑到训练的初始阶段params更新比较大可能会使模型陷入local minima或者overfitting。warmup就是把lr从一个较小的值线性增大到预设以减缓参数震荡让训练变得比较smooth当模型参数量上来后这种策略变得更重要了。x.为什么说GPT是单向的Bert是双向的这也是decoder-only和encoder-only的区别。decoder-only架构的生成模型在输出的时候只能看到当前位置前的tokens也就是屏蔽了序列后面的位置以适配NTP任务。encoder-only架构的编码模型在输出的时候可以利用前后位置的tokens以适配MLM任务。具体的做法是self-attention加不加casual mask也就是遮不遮住序列后面的内容。y.Bert如何处理一词多义一词多义指的是在不同句子中token有不同的含义。这正是self-attention解决的搭配上MLM的任务就可以让每个token会注意到上下文的其他token来得到自己的embedding。z.Bert中的transformer和原生的transformer有什么区别其实很多如果我们只讨论模型架构也就是对比Attention is All You Need的encoder和BERT的话最重点的区别在于位置编码。原生的transformer是最经典的Sinusoidal绝对位置编码。而BERT中变成了可以学习的参数也就是可学习位置编码。变得可学了的话只要模型学习能力强数据量够确实不会差。可以类比卷积核从手工变成了模型自己学。关于位置编码如果你有时间的话建议从下面的链接一直往后看苏神的内容质量都很高。位置编码确实大有可为最近RoPENTK的方法来外推context length也挺让人热血沸腾的。Transformer升级之路1、Sinusoidal位置编码追根溯源 - 科学空间|Scientific Spacesz.Albert是通过什么方法压缩网络参数的有什么问题两个技巧其一是参跨层数共享其二是对嵌入参数化进行因式分解也就是“不再将 one-hot 向量直接映射到大小为 H 的隐藏空间先映射到一个低维词嵌入空间 E然后再映射到隐藏空间”。问题也是“模型压缩”通用的问题网络表达能力和容量下降。然后推理速度也不会有很直观的提升。2.attention计算方式以及参数量attention layer手写必考。如果你找的工作是比较基础的比如说本科生找llm相关实习那基本会让你手写多头。如果你想比较方便地一站对比各个Transformer模型的源码可以来这个库GitHub - OpenBMB/ModelCenter3.NLU以及NLG各种任务的差异。NLU自然语言理解 NLG自然语言生成“望文生义”其实只是在任务目标上有区别本人认为不用太重点区分。https://arxiv.org/pdf/2109.01652.pdf4.tokenizer的细节tokenizer的计算方式各种tokenizer的优缺点。tokenizer真又是一大块工作而且也很值得优化因为相当于模型的眼睛它怎么去看待文字。【这两天更下这里】5.各种norm方式的优缺点。我们常说的norm有以下四种LN/BN/IN/GN分别对应layer/batch/instance/group NLP下很直观的一个图图源https://zhuanlan.zhihu.com/p/540695633具体来说Batch Norm把每个Batch中每句话的相同位置的字向量看成一组做归一化。Layer Norm在每一个句子中进行归一化。Instance Norm每一个字的字向量的看成一组做归一化。Group Norm把每句话的每几个字的字向量看成一组做归一化。其实只要仔细看上面的例子就很容易能想到NLP中每一种norm的优缺点Batch NormalizationBatch Norm缺点在处理序列数据如文本时Batch Norm可能不会表现得很好因为序列数据通常长度不一并且一次训练的Batch中的句子的长度可能会有很大的差异此外Batch Norm对于Batch大小也非常敏感。对于较小的Batch大小Batch Norm可能会表现得不好因为每个Batch的统计特性可能会有较大的波动。Layer NormalizationLayer Norm优点Layer Norm是对每个样本进行归一化因此它对Batch大小不敏感这使得它在处理序列数据时表现得更好另外Layer Norm在处理不同长度的序列时也更为灵活。Instance NormalizationInstance Norm优点Instance Norm是对每个样本的每个特征进行归一化因此它可以捕捉到更多的细节信息。Instance Norm在某些任务如风格迁移中表现得很好因为在这些任务中细节信息很重要。缺点Instance Norm可能会过度强调细节信息忽视了更宏观的信息。此外Instance Norm的计算成本相比Batch Norm和Layer Norm更高。Group NormalizationGroup Norm优点Group Norm是Batch Norm和Instance Norm的折中方案它在Batch的一个子集即组上进行归一化。这使得Group Norm既可以捕捉到Batch的统计特性又可以捕捉到样本的细节信息。此外Group Norm对Batch大小也不敏感。缺点Group Norm的性能取决于组的大小需要通过实验来确定最优的组大小。此外Group Norm的计算成本也比Batch Norm和Layer Norm更高。大模型算法适合入门的OverView: Current Best Practices for Training LLMs from Scratch 以及RUC AI Box的A Survey of Large Language Models1.在指令微调中如何设置、选择和优化不同的超参数以及其对模型效果的影响这里的超参数感觉有一些宽泛我在这里做一下分类总览并且仅讨论全参数微调的情况。不过说实话数据集才是最重要的所以建议先看问题2 「这个问题可能得搁置一阵有点太宽泛了没想好怎么回答」数据集drop-last模型本身训练设置batchsizeclip gradlr rateweight decayloss scalewarm up iterslr decay stylelr decay iters2.在指令微调中如何选择最佳的指令策略以及其对模型效果的影响这里最佳指令策略我称作「指令微调方法论」是各种做LLM微调的实验室/企业都会去探索的很重要的一个方向主要讨论的是微调中最重要的部分——数据该如何组织甚至制造的问题当然由于在讨论“最佳”的指令微调方式所以如何评测sft后的model在这里也会谈及。这里很建议大家去阅读机器之心在2023-06-29由符尧撰写的文章《过去三个月LLaMA系模型发展如何指令微调的核心问题又是什么》 对我本人有很大的启发下面的内容一部分是这篇文章的重点内容的摘要另一部分是我本人阅读论文和实验的经验。总的来说你需要先明确自己需要向什么方面微调是一个更对齐人类价值观的gossip bot还是更具备解决问题能力的helper是更健谈并回答内容更丰富还是人狠话不多是单领域还是多领域a.数据需要什么样的b.该如何组织数据集来微调首先是一些已知的要点Flanv2提到的一些tricks【待补充】更多样的任务-使用不同的提示模板混合few-shot和zero-shot learning考虑输入反转加入CoT任务混合权重按照经验考虑即可下面是数据集组织的方法论c.该如何评估sft后的model的能力首先不要用gpt4去做评测因为你要知道题目中所谓的最佳一定是3.llama, glmbloom等现有大模型的数据处理训练细节以及不足之处模型架构的优化点包括但不限于attention, norm, embedding4.解决显存不够的方法有哪些这真是一个很广泛的问题在这里做一下总结。不过我非常建议把这篇文章看一下Transformer Math 10 会分推理or训练来讨论而且讨论具体方法前会有些铺垫。不同dtype类型params的bytes分布浮点为fp系列首先如果是只做推理推理中显存主要被parms占用。就parms而言对于float32的数据类型大致估算的话就是每1B的参数需要4G的显存。float16/int8/int4对应除以2即可。具体来说int8:fp16/bf16:fp32:除了存储模型权重所需的内存外实际前向传递过程中还有一小部分额外的开销。根据经验这种开销小于等于20%通常对于确定能适应你的GPU的最大模型来说是不相关的。总的来说关于“这个模型是否适合进行推理”的一个好的启发式答案是 一些更细节的内容在这里写得很好Transformer Inference Arithmetic 下面就是怎么去对params做文章了【待完成】 a. 模型压缩 可以看下OpenBMB的BMCook具体来说就是在保持性能的前提下把大模型压缩成小模型比如CPM-Bee在10B的版本上基于BMCook可以压缩成1B/3B/5B的版本。方法有量化、蒸馏、剪枝、Moefication。b.Memory Offload 部分显存挪去内存只是内存确实跑不动。c.并行 然后如果是微调的话考虑的就很多了。微调中显存的占用除了在推理中提到的params此外还有 forward activations, gradients, 以及optimizer的state 下面是具体的分析就params而言模型可以使用纯fp32或fp16进行训练fp16/bf16:fp32:除了推理中讨论的常见模型权重数据类型训练可以引入混合精度训练例如AMPAutomatic Mixed Precision。这种技术旨在在保持收敛性的同时最大化GPU张量核心的吞吐量。现代深度学习训练中经常使用混合精度训练的原因是1fp32训练是稳定的但内存开销较大(avtivations和gradients)不能充分利用NVIDIA GPU的tensor cores2fp16训练是稳定的但可能很难收敛。关于混合精度训练的更多信息建议阅读tunib-ai团队的这篇Jupyter Notebook Viewer韩文加油或者Accelerating Large Language Models with Mixed-Precision Techniques。请注意混合精度训练需要在内存中存储模型的fp16/bf16和fp32版本因此需要Mixed-precision (fp16/bf16 and fp32): 加上一份放在optimizer state中的fp32的拷贝:就optimizer state而言如果开了混合精度训练占用内存计算如下未开的话去掉第一项For vanilla AdamW,fp32 copy of parameters:Momentum:Variance:For 8-bit optimizers like bitsandbytes,fp32 copy of parameters:Momentum:Variance:For SGD-like optimizers with momentum,fp32 copy of parameters:Momentum:就gradients而言可以存储为fp32/fp16/bf16注意梯度的数据类型通常与模型的数据类型相匹配。因此在fp16混合精度训练中通常以fp16存储。具体如下In fp16,In fp32,就activations而言现代GPU在进行LLM的训练时通常遇到的瓶颈是显存而不是FLOPs。因此activation recomputation/checkpointing或者叫gradient checkpointing就变得很重要。它通过牺牲额外的计算成本来减少内存成本。其工作原理是反传算梯度的时候重新计算某些层的activations而不是将它们存储在显存中。显存减少的程度取决于选择哪些层做checkpointing。Megatron的选择性重计算方案如下图所示红线表示A100-80GB显卡的内存容量“present work”表示应用selective activation recomputation后的内存需求。更多细节请参阅https://arxiv.org/abs/2205.05198用于存储Transformer模型激活值所需内存的基本方程为int4:int8:fp16:where:: sequence length, in tokens: batch size per GPU: hidden dim: Layers层数: 多头数: the degree of tensor parallelism being used (1 if not)no sequence parallelism假设activations是fp16这一部分要减少显存有以下方法【待完成】 a.分布式训练张量共享 考虑到是讨论节省内存所以主要讨论FSDP。b.gradient checkpointing c.PEFT(Parameter Efficient Tuning) 也就是Delta-Tuning这一部分也可以写一篇不短的综述出来了我在这里也大概总结一下d.仍然是各种Offloading 比如说你的优化器可以用AdamOffload等等 e.混合精度训练 同样也是量化 f.QLoRA 强推基本上单卡玩这个就足够了前一阵实现了CPM-Bee 10B模型的QLoRA适配在单卡3090上就可以十分轻松地完成微调而且loss降得很舒服。g.optimizer的选择 前面讲过了不同的optimizer占用显存也不同比如可以选offloading的或者选SGD比如邱锡鹏团队也提出了LOw-Memory OptimizationLOMO其中在做了一些蛮有趣的设定的前提下搞了很省的全参数微调的方法论8块3090全参数微调了Llama65B就很夸张。h.减少批大小 很直观的方法 i.梯度累积与微批 梯度累积是一种在训练过程中虚拟增加批大小的方法当可用的 GPU 内存不足以容纳所需的批量大小时这是非常有用的。并且这种方法只会在运行时产生影响建模性能并不会受到影响。梯度累积中每批计算的量较小并在多次迭代中累积梯度通常求和或求平均而不是在每个批次之后立刻更新模型权重。一旦累积的梯度达到目标「虚拟」批大小模型权重就会用累积的梯度更新。5.请解释P-tuning 的工作原理并说明它与传统的 fine-tuning方法的不同之处。6.介绍一下Prefix-tuning的思想和应用场景以及它如何解决一些NLP任务中的挑战7.Lora的原理和存在的问题讲一下前面在4.中提到了Lora我也曾在别的回答中提过Lora真是本世纪最美女名因为真的是个人微调的一大福音。如果你想细致了解可以看看这篇CW不要無聊的風格当红炸子鸡 LoRA是当代微调 LLMs 的正确姿势我在这里也具体来讲讲首先肯定是要搬上来这张图的lora之前的PEFT方法是adapter/prefix/promp/P-tuning但是Adapter会引入很强的推理延迟只能串行prefix/prompt/P-tuning很难练而且要占用context length变相的降低模型能力——所以根本不改原来的model这就引出了女主人公loraLow-Rank Adaptation 具体来说就是考虑到语言模型LLM尤其如此的参数的低秩属性low intrinsic dimension或者说过参数化在做finetune的时候不做full-finetune而是用一个降维矩阵A和一个升维矩阵B去做finetune。如果我们认为原来的模型的某个参数矩阵为 那么可以认为原来经过全微调的参数矩阵为 但考虑到前面的低秩属性在lora中我们可以简单认为 其中 的秩相当于是你认为的模型实际的秩。这样的话在做推理的时候 根本不会引入推理延迟因为你只需要把训好的parms 加进 的params就可以了。在Transformer中self-attention和mlp模块都有对应的params矩阵对应加上lora即可。总的来说这样就很好地把微调参数和原模型参数进行了解耦因此甚至一些基于lora微调的模型只需要公布lora参数即可大概就几M 下面是lora的问题说实话这点我刚看还真愣了一下一时间没想出来有什么缺点——都这么完美了还要什么自行车但是PEFT总是有局限性的吧就算她是lora为此调研了一下主要如下其实有点鸡蛋里挑骨头的意味a.基于低秩的微调可能并不always work比如finetune与pretrain的gap过大的时候比如中英差异。当然这一点在LLM时代可能并不突出我们认为LLM在预训练阶段已经get了所有基本的知识finetune只是格式微调因此可能不会有上述gap过大的情况。b.用lora也需要设置r和target module等这部分超参的设置需要考虑​最后我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我整理出这套 AI 大模型突围资料包✅AI大模型学习路线图✅Agent行业报告✅100集大模型视频教程✅大模型书籍PDF✅DeepSeek教程✅AI产品经理入门资料完整的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】​​为什么说现在普通人就业/升职加薪的首选是AI大模型人工智能技术的爆发式增长正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议到全国两会关于AI产业发展的政策聚焦再到招聘会上排起的长队AI的热度已从技术领域渗透到就业市场的每一个角落。智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200%远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。​​资料包有什么①从入门到精通的全套视频教程⑤⑥包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图还有视频解说全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤ 这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。所有的视频教程由智泊AI老师录制且资料与智泊AI共享相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。课堂上不光教理论还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌​​​​如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】**​
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发项目工期流程销售管理怎么带团队

远程桌面连接与网络监控实用指南 1. VNC 服务器创建新桌面 VNC 服务器能为用户创建新桌面,与 KDE 桌面共享不同,KDE 桌面共享是多用户同时查看同一桌面,而 VNC 服务器为查看者创建私人桌面。 1.1 下载与安装 若需下载 VNC 服务器,可从 www.realvnc.com 获取 RPM 版本…

张小明 2026/1/1 14:54:43 网站建设

网站建设diywordpress作者头像

《极品家丁七改版》终极珍藏完整版:一键下载无雷精校全本资源 【免费下载链接】极品家丁七改版珍藏七改加料无雷精校全本资源下载介绍 《极品家丁(七改版)》是一部广受欢迎的经典小说,此版本经过精心校对与优化,保留了…

张小明 2026/1/1 9:30:18 网站建设

子公司网站备案如何用WordPress建小说站

开发板大全:从入门到专业的完整指南 一、主流开发板分类 1. 微控制器开发板 (MCU Boards) 特点:体积小、功耗低、价格亲民,适合嵌入式控制,无完整操作系统Arduino系列: UNO:经典入门款(ATmega328P)&#xf…

张小明 2025/12/31 9:25:10 网站建设

用ul做的网站为何浮动不上去网络推广运营团队

导语 【免费下载链接】Qwen3Guard-Stream-4B 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3Guard-Stream-4B 阿里通义千问团队推出的Qwen3Guard-Stream-4B模型,通过流式token级检测架构与三级风险分类体系,将AI内容安全审核响应延迟降…

张小明 2025/12/26 15:08:51 网站建设

东莞品牌做网站郑州计算机培训机构哪个最好

如何快速上手Wan2.2:开源视频模型的终极实战指南 【免费下载链接】Wan2.2-T2V-A14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-T2V-A14B 大家好!今天我们来一起探索Wan2.2这款令人惊艳的开源视频模型。无论你是刚接触AI视频生…

张小明 2025/12/26 15:08:49 网站建设

音乐网站开发需求网页传奇手游官网

实测Kotaemon在多轮对话中的表现,结果令人震惊! 在一次为某金融客户搭建智能投顾助手的项目中,我们遇到了一个典型难题:用户连续提问“上个月收益如何?”“那债券类呢?”“推荐什么产品?”&…

张小明 2025/12/28 6:10:36 网站建设