LLM学习:大模型微调&蒸馏&裁剪

大模型接触(一)——模型蒸馏 模型蒸馏的原理、训练方法、算法、应用场景概述 阅读详情

8问LLM

Transformer Layers as Painters

本文为了理解预训练变换器(transformer)模型中各层的作用和它们之间的相互作用。具体来说,作者们试图通过一系列实验来探究以下问题:

  1. 不同层是否使用相同的表示空间?
  2. 所有层是否都是必需的?
  3. 中间层是否执行相同的功能?
  4. 层的顺序是否重要?
  5. 层是否可以并行运行?
  6. 某些任务是否比其他任务更依赖于层的顺序?
  7. 循环是否有助于并行化层?
  8. 哪些变体对性能的影响最小?

实验测试

图片

本文对LLM的每一层进行了尝试(赞扬这种打破砂锅问到底的精神❤️)

图片

可以看出:skip和switch起始层和结尾层对模型的影响很大,中间层几乎没有影响。

统计了下每一层的权重激活的分布,也发现中间的权重有很高的相似度。

图片

最终得到如下结论:

1、起始层和结束层很重要,和其他层的表示空间不一样。

2、中间层的权重分布基本一致。可删除小部分层,交换少部分层、并行运行小部分层,对模型结果影响较小(删除/交换越多,性能影响越大)。

图片

3、如果将相似的中间层全部替换为同一个层的权重,会导致严重的性能下降。(全部替换,改动太大)

图片

4、从各种任务效果上看,数学推理这种逻辑要求较高的任务场景受到模型改动的影响更大。而聊天/翻译等场景略好一点。

修剪模型虽然有效,但修剪后的模型在回答事实问题或生成长答案时表现较差。即使在重新训练模型后,也难以弥补这些任务的性能损失,这表明虽然这些层中存储的大部分信息是多余的,但其中的某些部分可能是关键任务所必需的。

Prompt Compression

Characterizing Prompt Compression Methods for Long Context Inference

这篇论文试图解决的问题是长文本上下文推理中的挑战,特别是系统层面上计算和内存需求的增加,以及在处理长文本时准确度的下降。论文关注的是压缩提示(prompt)的方法,以减少上下文长度,同时保留重要信息。

论文通过以下步骤解决这个问题:

  • 方法分类:将方法分为提取式压缩、抽象式压缩和token剪枝。
  • 评估设置:使用GPT-3.5-Turbo、Mixtral 8x7B和DBRX Instruct等模型,以及LongBench基准测试,包括单文档问答、多文档问答和摘要任务。
  • 数据集:使用LongBench中的多个数据集进行评估,包括NarrativeQA、Qasper、MultiFieldQA等。
  • 压缩方法评估:评估了原始方法、LongLLMLingua、重排模型(Reranker)、结合重排和LongLLMLingua的方法,以及查询不可知的抽象压缩方法。

图片

An illustration of different prompt compression methods: Token pruning

图片

An illustration of query-aware and query-agnostic compression

  • 论文分析了提取式压缩、抽象式压缩和token剪枝三种主要方法,并通过一系列实验发现提取式压缩通常表现最佳,能够在几乎不降低准确度的情况下实现高达10倍的压缩率。
  • 论文还探讨了查询感知与查询不可知压缩方法,并发现查询感知的抽象压缩方法在某些情况下表现更好。

LazyLLM:token裁剪

LazyLLM: Dynamic Token Pruning for Efficient Long Context LLM Inference

本文解决的问题是提高基于Transformer的大型语言模型(LLM)在长文本上下文中的推理效率。特别是在推理的预填充(prefilling)阶段,对于长文本提示(prompts),必须计算所有token的KV缓存,这显著增加了生成第一个token所需的时间,可能导致预填充阶段成为生成过程中的瓶颈。

原理

已知LLM的推理过程由prefilling和decoding阶段组成

图片

prompt-based LLM inference can be divided into two sequential stages: prefilling anddecoding

prefilling阶段是计算密集型,decoding阶段是传输密集型。decoding阶段的耗时和kv cache的size有关。

借鉴了LongBench论文中的注意力热力图表示,将全部layer的attention score显示出来可得下图,可以看出大部分score都很低,表示对结果影响极小。

图片

ttention scores of input tokens

因此本文提出了LazyLLM,根据注意力分数有选择性的计算某些token,大大降低了计算量,减少了TTFT(首token耗时)。

图片

Comparison between standard LLM and LazyLLM

具体选择过程如下所示。

图片

Overview of the LazyLLM framework

  • 1、既然需要根据注意力分数筛选,那么就要计算所有token的注意力结果。考虑到使用单层计算可能不够鲁棒,这里选择前30%的层计算全部token,注意力分数取平均值。
  • 2、根据注意力分数按照top-k机制裁剪30%(通过mask方式处理)
  • 3、使用剩余70%的token继续运行30%的层数。使用上述计算的平均注意力继续裁剪掉30%,此时剩40%
  • 4、使用剩余40%的token继续运行30%的层数。使用上述计算的平均注意力继续裁剪掉30%,此时剩10%
  • 5、运行完最后10%的layer,得到输出token。

考虑到当前裁剪的token可能对后续N个token会有影响,因此裁剪不是一次性的,而是每次运行时都会重新进行裁剪。

这里有个小细节:每次都要重新裁剪,需要保证token不会重复计算。

结论

可以在几乎不影响模型质量的条件下,有接近一倍的性能提升(token最多计算一遍,所以最差也和原始模型性能相同)。

图片

Minitron:模型蒸馏裁剪

Compact Language Models via Pruning and Knowledge Distillation

英伟达出品,试图解决的问题是如何有效地压缩大型语言模型(LLMs),以便在不同的部署规模和大小上使用,同时减少从头开始训练每种变体所需的计算资源。

图片

Minitron 模型性能

背景: 预训练模型很多,做预训练耗时耗力,因此考虑在现有开源预训练模型基础上进行微调。由于模型参数比较冗余,因此可以进行裁剪,从而减少模型参数,提高推理速度。

最终方案: 剪枝+微调

原理

剪枝和蒸馏流程如下所示

图片

High-level overview of our proposed iterative pruning and distillation approach to train afamily of smaller LLMs

在模型宽度上,将维度划分为多个block,尝试了简单求和以及L2、var等方法,简单求和的效果并不总是最好的。

图片

在模型深度上,使用困惑度和block重要性进行评估。

删除单个层并计算其对该剪枝模型的PPL的影响;使用层的输入和输出之间的余弦距离来估计层的灵敏度。灵敏度可以在一次前向传递中计算出来,这使得它比基于 PPL 的重要性具有显着的速度优势。

图片

灵敏度

剪枝后需要对修剪模型进行二次训练,这里有两种方式:传统continues training和Knowledge Distillation。此处尝试了蒸馏训练,将原本未裁剪的模型作为teacher,裁剪后的模型作为student。尝试了多种loss。

图片

最终L ,图片

相差很大,因此动态计算合适的α可以达到更好的效果。

效果

图片

MINITRON-BB和同级别模型的性能对比

图片

MINITRON-4B和同级别模型的性能对比

从Nemotron-4-15B裁剪的MINITRON-8B模型和MINITRON-4B模型相比原始模型和其他同级别的base模型相比,具有不错的性能。

和其他裁剪的模型对比

图片

裁剪方法对比

二次训练方法效果对比

图片

Accuracy comparison for 4B using the 8T blend

  • 1、从原始4B模型上随机训练
  • 2、从15B模型裁剪到4B模型上,随机训练
  • 3、从15B模型裁剪到4B模型上,蒸馏训练
  • 3、从8B模型裁剪到4B模型上,蒸馏训练

可以看出裁剪+蒸馏>裁剪>原始模型。

蒸馏训练的损失函数选择:尝试使用 Kullback-Leibler 散度 (KLD)、MSE、余弦相似度和反向 KLD (R-KLD) 来计算 Llogits。KLD效果最好。

图片

loss对模型影响对比

训练过程中可以选择很多loss,哪种对模型提升最明显? 单独使用 Llogits 可以获得最佳性能。

图片

单次修剪和多次修剪对比。

将 Nemotron-4 15B 压缩为 MINITRON 4B 需要将原始模型重量大幅减少 73.3%。激进的一次性修剪会失去基础LLM的重要功能??? --> 首先修剪和重新训练 Nemotron-4 15B 以创建 MINITRON 8B(减少 46%),然后进一步修剪和重新训练后者为 MINITRON 4B(减少 50%)。

图片

裁剪策略影响

二次裁剪模型质量更高。

二次训练单阶段和两阶段对比。 有研究显示多阶段预训练例程的结果更高,测试表明对比本论文模型,单阶段训练就够了。

  • 1、修剪第 1 阶段检查点,使用第 1 阶段和第 2 阶段数据的部分进行重新训练;
  • 2、修剪第 2 阶段检查点,使用第 2 阶段数据的一部分进行重新训练。

图片

FLAMe:RM模型

Foundational Autoraters: Taming Large Language Models for Better Automatic Evaluation

本文提出了FLAMe,这是一个用于自动评估大型语言模型输出的模型系列。FLAMe通过在多样化的人类评估任务集合上进行训练(包含 500 万多个人类判断的 100 多个不同质量评估任务的集合),提高了在各种任务上的泛化能力。

图片

FLAMe-24B vs others

其中任务类型有四种:配对评估、单点评估、分类任务和开放式评估。

图片

数据内容包含回答质量、事实性、安全性、编码和数学等。

图片

结论

高质量数据得训练出高质量模型?其他好像没啥创新点。

WeLore:动态低秩微调

From GaLore to WeLore: How Low-Rank Weights Non-uniformly Emerge from Low-Rank Gradients

我们知道权重很容易出现低秩现象,因此出现了LoRA微调。但是如果以一个固定的低秩参数进行微调又很难得到理想的全量微调效果,因为每个模型的每个权重矩阵的分布都不一样,有些权重矩阵有可能出现满秩,用低秩去近似肯定会损害模型性能。

图片

osine similarity of the gradients obtained from various checkpoints

因此对应于跨transformer的不同层的权重矩阵可以大致分类为:

  • 1、低秩分量(LRC),表现出高质量的低秩结构(可以通过 SVD 获得的排序奇异值中的重尾来估计)它们的梯度可以携带来自数据的丰富误差信号;
  • 2、非低秩分量 (N-LRC) 具有非收敛的低秩结构(奇异值分布中缺少重尾),并且无法在不引入明显重构误差的情况下进行低秩分解

本文根据SVD分解结果动态选择LRC矩阵的秩,并在微调过程中只训练低秩权重,冻结高秩的权重矩阵,以达到加速效果。

最终在精度和FT相当的情况下,大幅提高了微调速度。

图片

Case2Code:代码领域合成数据集

论文试图提高大型语言模型(LLMs)在代码领域进行归纳推理(inductive reasoning)的能力。具体来说,它希望教会LLMs通过观察示例或序列变换来推断潜在的规则,但现有的LLMs大多擅长演绎推理(deductive reasoning)。在人类生成的数据中,需要归纳推理(inductive reasoning)的指令相对较少,这使得LLMs难以学习。

图片

Examples of deductive and inductive reason-ing in the code domain

提出了一个数据合成框架,用于自动生成大规模高质量的Case2Code训练样本。通过在多种设置下训练不同的LLMs,展示了合成的Case2Code数据不仅可以提高LLMs在归纳推理任务上的性能,还可以提升它们在一般编程任务上的能力。

图片

synthetic framework

scaling-with-vocab:词表的scaling law

这篇论文试图解决的问题是确定在扩展大型语言模型(LLMs)时,词汇表大小的最优值。

图片

Vocabulary parameters of popular LLMs and predict vocab size

Llama2-7B 采用32K的词汇量,而 Gemma-7B采用更大的词汇量 256K,那么问题来了:LLM的计算最佳词汇量是多少?

为了分析,本文提出了三种方法:

  • 1、(通过 IsoFLOP 估计幂律):使用从 33M 到 1.13B 范围内的非词表参数预训练模型,模型组共享相同的 FLOP(“IsoFLOP”)但词表配置不同。分别将 FLOP 与非词表参数、词表参数和训练数据相关的幂律拟合。

  • 2、根据论文引入了一种基于导数的方法,通过使用 FLOPs w.r.t. 的导数来估计最佳词表量,并找到相应的零解。图片,导数计算公式如下

图片

Beyond Chinchilla-Optimal: Accounting for Inference in Language Model Scaling Laws

  • 3、将vocab大小合并到Chinchilla 缩放规则中,并将结果公式拟合到模型上,以根据非词表参数、词表参数和训练量来预测归一化损失函数共同的字符。

图片

分析

基于 Transformer 的语言模型的 FLOPs © 大概可以估计为 C ≈ 6N D,可以重写为

图片

随着词汇量的增加,模型性能先上升后下降的原因是:

  • (1)在较小的 V 下,增加词汇量很容易提高 f (V ) 的tokenizer能力。随后,可以使用固定数量的token从模型中学习更多的字符,从而提高模型性能。
  • (2) 当 V 很大时,分词生育率的增益会降低,而扩展词汇表带来的参数无法在有限的数据下得到充分的训练,从而导致模型性能下降。

图片

FLOPs curve with various vocabulary sizes,

给定固定的 FLOP 预算,对于每个预算,采用一组总参数相似且词汇量从 4K 到 96K 不等的模型。可以发现随着词汇量的增加,loss先降后增,因此存在一个最优的vocab size。

图片

Loss curveswith various vocabulary sizes given different FLOP budgets.

效果

图片

ero-shot performance of models with Nnv = 2.87B

图片

ero-shot performance of models with Nnv = 2.87B

使用优化后的词表大小可以得到更高的性能。

To Code, or Not To Code? Exploring Impact of Code in Pre-training

系统地研究了代码数据对总体性能的影响。

图片

将数据分为通用数据和代码数据两部分。

Fine-tuning Large Language Models with Human-inspired Learning Strategies in Medical Question Answering

本文研究了相同数据和算力下,不同训练策略对模型性能的影响

图片

FuseAI:模型融合蒸馏策略

Knowledge Fusion of Large Language Models

论文试图解决的问题是如何将多个大型语言模型(LLMs)融合,以创建一个统一的模型,该模型有效地利用多个结构不同的LLMs的集体能力和独特优势。

图片

FuseChat与FuseLLM

从语言模型的角度来看,认为概率分布矩阵可以反映其在理解文本时的某些固有知识。因此,来自不同LLM的同一文本的不同概率分布矩阵可用于表示这些模型中嵌入的不同知识。FUSELLM 方法通过概率建模来解决 LLM 融合问题,旨在通过合并源 LLM 的概率分布来创建统一的 LLM。

Loss设计

常规的训练loss如下

图片

将这种token级视图重新构建为顺序分布格式。CLM 目标可以解释为减少 Pθ t 与单热标签矩阵 Ot ∈ {0, 1}N ×V 之间的差异。

图片

当从一组要融合的 LLM 开始时,FUSELLM 在反映预训练数据集的原始文本语料库上对目标 LLM 进行轻量级持续训练。FUSELLM 不是仅仅依赖于 CLM 目标,而是非常重视最小化目标 LLM 的概率分布与源 LLM 的概率分布之间的差异。

对于语料库 C 中的每个文本,应用提供的 K 个源 LLM 并获得一组概率分布矩阵,表示为 {Pθj t }K j=1,其中 θj 表示第 j 个 LLM 的参数。利用这些矩阵,将各个模型的知识外化到统一的空间中,本质上是在文本上创建统一的概率表示。

图片

所得矩阵 Pt 被视为源 LLM 的集体知识和独特优势的表示,使用 Qt 来表示文本 t 的目标 LLM 的输出分布矩阵。为了将源 LLM 的功能转移到目标 LLM,强制目标 LLM 的预测和融合表示矩阵 Pt 之间的对齐。

图片

最终loss为

图片

对齐策略

这里需要注意的是,和模型蒸馏方法有些类似,计算的是logits之间的关系。当不同模型的tokenizer不同时,即使logits经过lm_head线性层转换后的token信息相同,logits分布也可能会差别很大,因此最好是融合同tokenizer的模型(比如qwen系列),不然效果可能会比较差。

我们承认,源 LLM 之间的词汇差异可能会导致矩阵错位 {Pθj t }K j=1。为了解决这个问题,我们采用了token对齐策略(第 3.3 节中对此进行了解释),以促进跨模型的更连贯的概率解释。对齐概率矩阵后,我们继续将它们融合成一个紧凑的表示。

论文中使用了多种对齐方式处理不同的tokenizer。

多个LLM之间的token对齐对于有效的知识融合至关重要,因为它保证了概率分布矩阵的正确映射。

图片

tokne级对齐

图片

token级对齐

为了结合来源法学硕士的集体知识,同时保留其独特优势,必须评估不同法学硕士的质量并为其各自的分布矩阵分配不同的重要性级别。为此,在处理文本 t 时,利用分布矩阵和黄金标签之间的交叉熵损失作为 LLM 预测质量的指标(Marion 等人,2023)。源LLM的交叉熵分数越低,意味着对文本的理解越准确,其预测应该具有更大的意义。基于这个标准,引入两个融合函数:(1)MinCE:该函数输出具有最小交叉熵得分的分布矩阵;(2) AvgCE:该函数根据交叉熵分数生成分布矩阵的加权平均值

图片

logits级对齐

融合算法流程

整个流程可以简单概括为:

  • 1、初始化N个source LLM,并将其中某个复制一份作为target LLM。
  • 2、输入data到source LLM处理,得到N个logit分布,融合成一个最终分布。
  • 3、根据target LLm的结果分布和目标分布计算loss,更新target LLM参数。

图片

LongWriter:模型长文本性能优化

LongWriter: Unleashing 10,000+ Word Generation from Long Context LLMs

本文认为虽然模型能够处理长达100,000个标记的输入,但在生成超过2,000词的输出时表现不佳。原因主要是长数据集的质量不高导致,因此提出了一个合成高质量超长文本数据集的方法。

图片

gentWrite管线

简单来说,论文提出了一个名为AgentWrite的基于代理的流水线,该流水线将超长文本生成任务分解为多个子任务,使得现成的LLMs能够生成超过20,000词的连贯输出:

  • 第一步:计划(Plan),AgentWrite根据用户的输入制定详细的写作计划,包括每个段落的结构和目标字数。
  • 第二步:写作(Write),按照计划,模型依次为每个段落生成内容。为了保持输出的连贯性,在生成每个段落时,会将之前生成的段落作为上下文输入。

图片

LongWriter-6k

最终训练的效果还不错:短文本上没啥优势,但是2k以上提升显著。

图片

Evaluation results on LongBench-Write

如何学习大模型 AI ?

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

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

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

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

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

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

在这里插入图片描述

第一阶段(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%免费】
浅谈大模型“蒸馏”技术 大模型蒸馏技术是人工智能领域的一项重要创新,它通过知识迁移实现了大模型能力向小模型的有效传递。尽管目前仍存在一些挑战,但随着研究的深入和技术的进步,蒸馏技术将在更广泛的领域发挥重要作用。未来,结合自适应、联邦和集成等策略,蒸馏技术有望进一步优化性能和效率,推动AI技术的普及和应用。利用蒸馏技术:通过教师-学生模型架构、分层蒸馏方法以及动态调整策略来优化模型性能与资源消耗。算法优化与硬件加速:研究高效算法并利用专用硬件加速AI推理过程。能量平衡与工艺优化:在工业应用中通过能量平衡计算优化蒸馏过程。 阅读详情

相关推荐

大模型量化、裁剪、蒸馏技术解析

量化适用于需要快速推理和低功耗的场景,如边缘计算设备或实时系统。裁剪适用于对模型大小有严格限制的场景,如存储空间有限的设备。蒸馏特别适用于需要高性能但计算资源有限的场景,如移动设备或嵌入式系统。

心有猛虎细嗅蔷薇 1707

万字长文详解大模型知识蒸馏指南

模型蒸馏即知识蒸馏(Knowledge Distillation),是一种模型压缩和加速技术。在深度学习中,大型深度神经网络虽性能优异,但因计算复杂度高、存储需求大,难以部署在资源受限设备上。模型蒸馏通过构建师生架构,让小的学生模型学习大的教师模型的知识,使学生模型在保持较小规模的同时,尽可能接近教师模型的性能。其核心组件包括知识(如教师模型的 logits、中间层特征等)、蒸馏算法(用于指导知识转移)和师生架构(决定知识传递方式)。

2401_85325726的博客 7742

微调、蒸馏、迁移学习:大模型落地的三大技术选型指南

大语言模型(LLM)在实际工程落地中,常面临任务适配、部署压缩与小样本泛化三类核心挑战。微调(Fine-tuning)通过低秩参数更新实现任务专属能力增强,适用于高质量标注数据充足、算力可控的场景;知识蒸馏(Distillation)以教师-学生范式实现模型轻量化,在边缘部署、低延迟要求下保障精度-效率帕累托最优;迁移学习(Transfer Learning)则依托预训练特征复用与领域自适应预训练(DAPT),破解冷启动与数据稀缺难题。三者本质分属参数调整、知识传递与表征迁移不同技术范式,不可互换或混用。本

weixin_34221332的博客 410

史上最全模型蒸馏全解:一步一步带你走向模型蒸馏全流程

模型蒸馏简单来说,就是将一个大模型(比如BERT)的权重,通过一定规则,压缩到小模型(比如RoBERTa)的权重中。 蒸馏其实特别形象,就像把一杯饱和盐水蒸馏成纯净水一样,质量减少了效果却没有多大变化。在大模型(LLM)领域,模型的发展趋势是参数量不断增大。因为模型的性能和模型的规模是正相关的。 从2017年到2024年,LLM的参数数量经历了指数级增长: 2017年,Transformer模型的参数量为0.05亿。 2018年,GPT模型的参数量为0.11亿,BERT模型为0.34亿。 2020年,GPT

2302_80236633的博客 2万+

微调大模型优化揭秘——什么时候该Finetune?什么时候用Prompt?

微调优化篇

QWYF123的博客 1378

大模型-量化感知训练QAT论文解读

最早的时候Google在《Quantization and training of neural networks for efficient integer-arithmetic-only inference》论文中提出了QAT,在训练过程加入了模拟量化。但是还不是大模型QAT, 是小模型时代的QAT, 这也算是这个概念最早出现。论文“LLM-QAT: Data-Free Quantization Aware Training for Large Language Models”是大模型量化的开山。

点滴的岁月 1061

RL + LLM 强化学习 + 大模型微调 (PPO + GRPO)

本文探讨了大模型微调与强化学习的基础方法及优化策略。首先介绍了RLHF、DPO、RLVF等基础框架,重点分析了PPO算法及其改进方案:1)通过GAE平衡MC和TD的偏差-方差权衡;2)使用梯度裁剪和KL散度惩罚控制策略更新幅度。随后提出GRPO改进方案,采用组内相对优势估计替代Critic网络。最后介绍蒸馏+拒绝采样技术,通过筛选教师模型高质量输出训练学生模型。这些方法共同解决了强化学习训练中的稳定性、效率和偏差问题,为大模型优化提供了系统解决方案。

nju_spy的博客 1658

大模型知识蒸馏与LoRA微调实战:Qwen-35B轻量化生产落地

知识蒸馏是将大模型能力迁移至小模型的核心技术,其本质是通过logits分布、隐藏层表征与注意力模式的多粒度监督,实现‘怎么想’而非仅‘说什么’的能力复现;LoRA作为高效微调范式,以低秩适配器替代全参更新,在保障性能前提下显著降低显存与计算开销。二者协同构成当前主流的大模型轻量化路径,广泛应用于边缘部署、业务定制与MLOps迭代等场景。本文基于Qwen-35B-A3B与DeepSeek-V4 Flash模型,详解蒸馏损失设计、LoRA模块选择与量化兼容性等关键工程实践,覆盖从理论原理到A100集群实操的完整

weixin_33437929的博客 345

大模型知识蒸馏全景解析:如何用“教师”LLM训练“学生”LLM

BERT 出填空题,GPT 出接龙题,T5 出完形修复题。把训练目标对齐好,知识蒸馏就能在 1/4 参数里保住 95% 的功力。

hello! 913

别再为H5扫码头疼了!用Vue3 + vue-qrcode-reader,5分钟搞定移动端摄像头调用(附完整代码)

本文详细介绍了如何使用Vue3和vue-qrcode-reader快速实现移动端扫码功能,解决H5开发中常见的摄像头调用和兼容性问题。通过完整的代码示例和优化技巧,帮助开发者高效集成二维码识别功能,提升用户体验和开发效率。

weixin_33737134的博客 514

AFC自动售检票系统与人工智能AI结合的关键应用方案

针对售检票、大客流管理、设备运维及服务优化提供了可落地的技术支持和实现细节,可作为地铁智慧交通项目的实践参考

leijinquan01的博客 1513

【值得收藏】大模型瘦身秘籍:剪枝、知识蒸馏与量化技术详解

本文详细介绍了大语言模型(LLM)的三大优化技术:剪枝、知识蒸馏和量化。剪枝通过移除冗余权重减小模型体积;知识蒸馏利用教师模型指导小模型训练;量化则降低数值精度以减少存储和计算需求。文章阐述了各技术的核心流程、应用场景及选择策略,并指出可根据实际需求单独或组合使用这些技术,以在保持模型性能的同时实现高效部署。

2401_85373691的博客 1008

Qt自带绘图与GDI+绘图方式比较_gdi+实时绘制qt(2)

2、GDI+是Windows操作系统中的图形设备接口,它提供了一套用于绘制图形的API,包括了图形渲染、图形变换、图形剪切、图形填充等功能,使开发者可以快速地开发出各种类型的图形应用程序。1、Qt是一个跨平台的C++应用程序框架,它提供了一套用于GUI编程的类库,包括了绘图、网络、XML、数据库、多线程等模块,使开发者可以快速地开发出高质量的跨平台应用程序。Qt提供了一套用于绘图的类库,包括了QPainter、QPen、QBrush等类,使开发者可以快速地进行图形绘制。

qq_17136213的博客 917

DeepSeek是如何通过“蒸馏”技术打造自己的AI模型

"炼金术士" DeepSeek 是如何通过蒸馏模型来优化计算成本、内存占用大、实时性差的问题

LaughingZhu的博客 2423

一次搞定 SAP IDoc 失败重处理与安全清理:BD87 实战指南

本文介绍了SAP IDoc错误处理的BD87实战指南。主要内容包括: BD87的核心功能:监控IDoc处理状态并支持人工重处理或标记删除,适用于入站/出站IDoc故障处理。 重处理前的关键步骤: 区分技术错误与业务错误 检查是否允许重复处理 确认日期范围设置正确 标准操作流程:通过BD87选择错误IDoc节点执行重处理,特别适用于状态51的应用错误。 标记删除操作:将无用IDoc标记为可清理状态,后续可通过WE11物理删除或归档处理。 常见问题解决方案:包括权限控制、批量处理优化建议以及自动化定位工具的开发

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 452

AD9613操作控制

输出250M时钟给AD9613,过FPGA ILA逻辑分析仪将AD9613采集的两个通道ADC数据250M数据显示出来。其中AD9613输出的是LVDS数据,通过select IO核转为并行数据。 一,搜索IP核:selectIO interface wizad ,并双击配置 配置为input,DDR模式,数据位宽为12bit,IO类型为差分,这里配置的是12对数据差分对。然后配置外部差分时钟。 将tap setting 设置为13,将时钟的边沿对准数据的中间,以免数据出错 二,

wangjie36的博客 4047

【机器学习&深度学习】模型参数量、微调效率和硬件资源的平衡点

在“模型效果”和“资源消耗”之间找平衡: 模型太大效果可能好,但训练慢、显存吃紧;模型太小训练快,但容易效果差。 常见做法是只微调一部分参数(比如用 LoRA 或冻结前几层),既省资源又不太掉效果。 按自己设备来选方法就行,轻一点不丢人,能跑才是硬道理。🔥

qq_62223405的博客 1048

基于PointNet++网络的点云数据分类仿真分析

局部特征学习模块用于学习点云中每个点的局部特征表示,而全局特征学习模块用于学习整个点云的全局特征表示。点云数据分类是指将点云数据分为不同的类别或标签。PointNet++是一种用于点云数据处理的深度学习网络,它能够有效地学习点云数据的特征表示并实现高精度的分类。在本文中,我们将使用MATLAB实现基于PointNet++网络的点云数据分类仿真分析,并提供相应的源代码。然后,我们使用splitEachLabel函数将数据划分为训练集和测试集,其中80%的数据用于训练,20%的数据用于测试。

HackDashX的博客 210

模型压缩核心概念:剪枝+量化+蒸馏理论入门

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。真诚无偿分享!!!vx扫描下方二维码即可加上后会一个个给大家发【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

Android_XG的博客 881

UG\NX二次开发 找不到指定的dlx文件(Specified Dlx file not found)

有群友问:用Ctrl+U运行的时候就报错,找不到指定的dlx文件Specified Dlx file not found。怎么处理。

王牌飞行员_里海的博客 1130

⭐️【2024年新版教程】vmware tools安装步骤(Windows、Linux、MacOS版本)

VMware Tools是VMware提供的一套实用工具,它可以增强虚拟机与宿主机之间的交互性能,如改进显示性能、优化鼠标和键盘性能、提供时间同步功能等。无论是在Windows、Linux还是MacOS虚拟机上,安装VMware Tools都可以提高虚拟机的使用体验。以上就是在不同操作系统上安装VMware Tools的步骤,希望对您有所帮助。

Python老吕的博客 6万+

大模型量化感知训练 LLM-QAT

目前一些针对大模型的训练后量化(Post Training Quantization)方法已被证明在低至 8比特的情况下也能表现良好。但是本文的作者发现这些方法在较低比特精度下会出现问题;因此,本文研究了 LLM 的量化感知训练(Quantization Aware Training) ,以进一步提高量化水平。同时,作者还提出了一种 data-free 蒸馏方法,该方法利用预训练模型产生的生成,可以更好地保留原始输出分布,并允许独立于其训练数据来量化任何生成模型,类似于训练后量化方法。

luoganttcc的博客 1573

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LLM大模型系统学习指南:从理论到实践

Transformer架构作为现代大语言模型(LLM)的核心基础,通过自注意力机制实现了并行化序列处理,显著提升了自然语言处理任务的性能。从技术原理看,多头注意力、位置编码等关键组件共同构成了LLM的理论框架,而PyTorch/TensorFlow等深度学习框架为其工程实现提供了支持。在应用层面,LLM技术正推动着智能对话、文本生成等场景的革新,其中RAG(检索增强生成)和Agent开发成为企业落地的热门方案。本文以ollama和vLLM等工具为例,详细探讨了LLM本地部署与推理优化的实践技巧,同时分析了多

weixin_30555515的博客 346

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 一场大模型面试,三个小时,被撞飞了
下一篇: 从销售到 AI 算法工程师 | 转行人工智能大模型(含面经&裁员幸存指南)
少喝冰美式
博客等级 码龄3年 6839粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值