发布时间:2026/9/4 7:26:27
大模型微调学习(二) 二、Lora微调这页主要说明对 GPT-3 这种超大模型进行全参数 Fine-tune成本非常高。“噩梦”主要体现在三个方面显存压力大175B 参数模型全参训练大约需要96 张 V100 32GB才能基本放得下。存储成本高每训练一个任务都可能需要保存接近1TB 的 Checkpoint。模型切换慢不同任务之间切换完整模型可能需要1 分钟以上。造成这些问题的核心原因是全参数 Fine-tune 需要更新并保存模型的全部参数不仅有模型权重还需要保存梯度和 Adam 优化器状态因此显存占用会进一步增加。LoRA 的解决思路很简单冻结原来的大模型参数只训练少量新增的低秩参数每个任务只保存很小的 LoRA 权重。因此可以理解为全参 Fine-tune整个模型都改LoRA大模型基本不动只改很小一部分参数。这也是为什么下一步要学习LoRA、QLoRA 等 PEFT 方法它们主要解决的就是显存、存储和多任务切换成本过高的问题。2.1 Lora算法2.1.1 BERT模型2.2 Roberta模型2.4 PRFT library三、Alpaca模型微调3.1 alpaca模型概览3.2 self-Instruct数据准备3.3 训练AlpacaSwiGLU通过 Gate / Up / Down 三个投影引入门控机制相比 ReLU/GELU 能更灵活地筛选和增强有效特征。RoPE把位置信息直接编码进 Q/KQ/K 的旋转关系中使注意力天然包含相对位置信息并方便后续做长上下文扩展。系统优化重点是减少显存读写、激活保存和通信等待例如高效 causal attention、Activation Checkpointing、通信计算重叠等。一个准确性提醒FlashAttention 可以作为现代高效实现的代表但不应表述成“LLaMA 原论文独有创新”。一句话理解SwiGLU 决定“怎么变换特征”RoPE 决定“怎么表示位置”系统优化决定“怎么把模型高效训起来”。这页适合做成“GPU × 模型参数 × Token 的行业速算表”先看模型权重能不能装下再看 KV Cache/并发会不会把剩余显存吃完最后才讨论 Token/s。权重速算FP16/BF16 约2 GB / 1B 参数INT8 约1 GB / 1BINT4 理论约0.5 GB / 1B实际还要给量化尺度、运行时和 KV Cache 留余量。推理显存不只是模型权重而是Weights KV Cache Activations Runtime Workspace上下文越长、并发越高KV Cache 增长越明显。速度指标要分开看TTFT 主要受 Prompt 长度和 Prefill 影响Decode 的 Token/s 更受模型规模、显存带宽、量化方式和 Batch 影响。训练不能简单套固定“×18”Adam 混合精度全参训练通常还要保存梯度、主权重和优化器状态再叠加激活ZeRO/FSDP/Checkpointing 会显著改变单卡显存账本。一个重要修正405B 模型仅 BF16 权重就约810 GB因此8×80GB GPU 并不能直接装下完整 BF16 权重这类规模通常需要更多显存、量化或分布式切分。3.4 整体流程一、Teacher → Student用强模型生成训练数据Teacher如 GPT-4负责出题、分类判断和生成答案。Student如 LLaMA、ChatGLM学习这些高质量指令数据再通过 LoRA 或全量微调完成能力迁移。二、好数据看两个标准Instruction 要多样覆盖不同任务、不同表达方式避免数据过于单一。Output 要优质答案尽量准确、完整、格式规范给学生模型提供可靠监督。三、完整闭环人工种子 → 指令生成 → 任务分类 → 分类/非分类实例生成 → Filtering → 合格数据回流 Task Pool → Student 微调一句话总结Self-Instruct 本质上可以看成一个“强模型造数据 → 数据反哺小模型”的自动化知识迁移闭环。3.5 具体流程3.5.1 Instruction GenerationSelf-Instruct 第一步的本质不是让模型“凭空想任务”而是先构造一个高质量Few-shot Prompt让模型沿着已有示例继续自回归生成新的 Instruction。Prompt 构造方式从Task Pool中动态抽取8 个 Example示意为6 条人工种子指令 2 条模型已生成指令再让模型续写第 9 个新任务。人工种子的作用稳定格式、难度、任务边界与指令质量相当于给生成过程提供“锚点”。模型新生成样本的作用不断把新任务重新放回Task Pool增加题型、语义和表达方式的多样性推动长尾探索。形成自举飞轮175 条人工种子 → 混合采样 → Prompt → 新指令生成 → 回填 Task Pool → 再次采样让任务池持续扩张。核心思想用“大比例优质种子固底 小比例新颖样本探路”同时解决生成质量与任务多样性两个问题为后续大规模 Self-Instruct 数据构造打基础3.5.2 判断是否是分类型Instruction一、判定标准是不是“有限标签分类”核心看输出是不是有限、固定、离散的标签。例如“适合 / 不适合”属于分类任务。开放式故事生成、实体补全等通常不属于分类任务。二、判定方式Few-shot 提示词Prompt 中先给几个Yes / No 示例。再把 Step 1 新生成的 Instruction 填进去。让大模型直接判断并输出Yes 或 No。三、作用决定下一步怎么生成数据Yes → Output-first先确定标签再生成对应输入减少类别不平衡。No → Input-first先生成输入再生成开放式回答。四、总结创新点 1模型“自己给自己造训练数据”核心思想非常简单Pretrained LLM ↓ 自己生成 Instruction Data ↓ 过滤 ↓ 用这些数据 Fine-tune 自己 ↓ 更会 Follow Instructions这其实是一种Bootstrapping / Self-training思想。但是与普通 self-training 不同普通 Self-training已有Task 未标注样本 ↓ Pseudo LabelSelf-Instruct连 Task 本身 都让模型生成所以它是Task-level Bootstrapping。论文也特别指出它不是针对某一个指定任务而是从头生成多种新的任务。创新点 2把数据生成拆成 Instruction 和 Instance 两个阶段不是一句 Prompt“给我生成训练数据。”然后完事。而是先生成 Task / Instruction ↓ 再理解这个任务 ↓ 生成 Input Output这种解耦非常重要。因为Task Diversity和Instance Correctness其实是两个不同的问题。3.5.3 非分类/开放式任务的实例生成一、核心思路顺向生成对于非分类任务不需要先定标签。模型直接按照自然顺序生成Instruction → Input可为空→ Output这就是Input-first / Direct Generation。二、输入可以有也可以没有如果任务本身信息已经完整可以直接生成 Output。如果任务需要材料或上下文模型会先生成Input再生成对应的Output。三、Few-shot 示例的作用Prompt 里先放几个示例告诉模型该怎么写。示例可以帮助模型学会输出格式要规范回答要简洁清晰不同任务可以对应不同的表达形式四、最后得到什么这一步会产出一个完整样本⟨Instruction, Input, Output⟩然后进入Step 4Filtering做去重和格式检查。一句话总结对于开放式任务Self-Instruct 采用“顺向生成”方式直接从指令出发生成输入可选和输出形成完整训练样本。3.5.4 分类任务的实例生成一、核心思路标签先行对于分类任务先不给模型自由生成输入。而是先指定一个Class Label再让模型生成符合这个标签的输入内容。这就是Output-first。二、Few-shot 提示词怎么起作用Prompt 里先给几个示例标签是什么 → 对应输入应该长什么样比如mixed→ 生成带有正反两面的句子Promotion→ 生成促销邮件这样模型就会学会“按标签反推输入”。三、这样做有什么价值可以让每个类别都被主动生成到。能减少模型总是偏向某一类的问题。从而缓解类别失衡Class Imbalance让数据更均衡。四、最后得到什么生成完成后会得到标准样本⟨Instruction, Input, Output⟩然后进入Step 4Filtering做去重和格式检查。一句话总结这个设计非常值得学。作者发现如果所有任务都Instruction ↓ 先生成 Input ↓ 再生成 Output对于分类任务会出现明显的Label Bias。例如判断一句话是否存在语法错误模型可能总喜欢生成语法正确的句子导致标签分布不均衡。所以作者先进行Classification Task Identification然后Classification ↓ Output-first Non-classification ↓ Input-first这是整篇论文中一个非常重要的工程创新。3.5.5 过滤与质检一、ROUGE-L 去重新指令会和Task Pool中已有指令进行比较。ROUGE-L 0.7保留≥ 0.7删除。主要作用是减少重复指令保持任务多样性。二、过滤不可执行任务删除包含image、picture、graph等内容的指令。因为纯文本模型无法真正处理图片或图表避免生成无效训练数据。三、检查逻辑一致性如果出现相同/相似 Input却对应矛盾 Output的情况需要过滤。避免标签噪声影响模型训练。四、过滤长度异常样本太短可能内容残缺、信息不足。太长可能出现重复生成或无关内容。最终只保留长度合理、格式完整的高质量样本。一句话总结Step 4 就是 Self-Instruct 的“质量守门员”通过去重、规则过滤、冲突检查和长度控制确保只有高质量、多样化的数据进入最终训练集。四、模型评估4.1、四种常见评测方式人工评测最可靠但成本最高。LLM-as-a-Judge速度快、成本低适合大规模评测。传统指标如 BLEU、ROUGE、EM适合有标准答案的任务。Benchmark / A/B Test用于综合能力和真实线上效果验证。4.1.1、核心问题机评能不能代替人评不能直接相信大模型打分需要先做一次人机一致性校准。4.1.2、四步校准闭环抽取 100 条样本 → 专家评分 S₁ → LLM 评分 S₂ → 比较相关性并修改 Judge Prompt如果人评和机评分数差距较大就继续调整 Prompt直到二者高度一致。4.1.3、最终目的校准完成后就可以把评测 Prompt 扩展到剩余的大规模测试集实现少量人工校准 大规模自动评测一句话总结先用少量人工评分把“LLM 裁判”校准好再让它替代人工完成大规模评测在成本、效率和可信度之间取得平衡。4.2 传统NLP评价指标的两大致命缺陷:字面匹配≠语义理解4.2.1、问题 1语义相同却被打低分Mike really loves drinking tea.Mike adores sipping tea.两句话意思几乎一样但词面重合较少BLEU / ROUGE 可能给低分。4.2.2、问题 2语义相反却被打高分Mike does not drink coffee.Mike does drink coffee.两句话只差一个not字面很像但意思完全相反传统指标却可能给高分。4.2.3、为什么会这样BLEU、ROUGE 主要看词和 n-gram 的重合程度。它们不真正理解同义改写、否定关系、逻辑和事实含义。所以开放式生成更适合结合BERTScore、语义相似度或 LLM-as-a-Judge。一句话总结传统 Metric 只能看“像不像”却不一定知道“对不对”因此大模型评测必须进一步关注深层语义。4.3 n-gram基础概念补充4.3.1、什么是 n-gramn-gram把一句话按连续的n个词进行切分。n1是Unigramn2是Bigramn3是Trigram。n越大对局部语序和词组搭配越敏感。4.3.2、简单例子句子The dog lay on the rug1-gramThe、dog、lay、on、the、rug2-gramThe dog、dog lay、lay on、on the、the rug3-gramThe dog lay、dog lay on……本质上就是一个滑动窗口切词的过程。4.3.3、它和 BLEU / ROUGE 有什么关系BLEU主要看预测文本和参考答案之间的 n-gram 匹配程度。ROUGE-1 / ROUGE-2分别关注 1-gram、2-gram 的重合情况。所以它们擅长判断“字面像不像”但不一定真正理解“语义对不对”。一句话总结n-gram 是传统文本评价指标的基础先把句子切成连续词片段再统计预测结果和参考答案之间有多少片段能够匹配。4.4 ROUGE-1(基于 Unigram)计算原理与示例推导4.4.1、先看词有没有匹配参考答案It is cold outside.模型输出It is very cold outside.Reference 一共4 个词Output 一共5 个词匹配词数4 个4.4.2、ROUGE-1 怎么算Recall 4 / 4 1.0看参考答案里的信息有没有被覆盖完整。Precision 4 / 5 0.8看模型生成内容里有多少是“有效匹配”的。F1 ≈ 0.89综合平衡 Precision 和 Recall。4.4.3、它的问题在哪里very虽然不影响整体语义但因为 Reference 里没有仍然会被“机械扣分”。所以 ROUGE-1 本质上还是在看词面重合度并不真正理解句子含义。一句话总结ROUGE-1 就是先做 Unigram 匹配再用Recall、Precision 和 F1衡量“覆盖多少、匹配多准、整体多平衡”。4.5 ROUGE-1的致命盲区4.5.1、事实完全错但 ROUGE-1 还是很高ReferenceIt is cold outside.GeneratedIt is not cold outside.人类一看就知道意思完全相反但 4 个词仍然匹配。4.5.2、为什么还能得到 0.89Recall 4 / 4 1.0Precision 4 / 5 0.8F1 ≈ 0.89ROUGE-1 只看到多了一个not却不知道这个词把整句话的语义翻转了。4.5.3、这说明什么ROUGE-1 本质上只是做词面重合统计。它不理解否定、逻辑和事实关系。所以大模型评测不能只依赖 BLEU / ROUGE还需要结合BERTScore、NLI 或 LLM-as-a-Judge。一句话总结一句话只多了一个not语义已经完全相反但 ROUGE-1 仍可能给出高分这正是纯字面指标最大的盲区。4.6 ROUGE-2(基于 Bigram)计算原理与实例推导:更加关注“局部语序”4.6.1、ROUGE-2 看的是相邻词对参考答案It is cold outside.模型输出It is very cold outside.Reference BigramIt is、is cold、cold outsideOutput BigramIt is、is very、very cold、cold outside最终只匹配2 个 Bigram4.6.2、ROUGE-2 怎么算Recall 2 / 3 ≈ 0.67Precision 2 / 4 0.50F1 ≈ 0.57相比 ROUGE-1 的0.89分数明显下降。4.6.3、为什么下降这么多ROUGE-2 开始考虑局部语序比 ROUGE-1 更严格。插入一个very不仅新增了词还会把原来的is cold拆开。所以它更能发现词序变化但也容易误伤正常的修饰和改写。一句话总结ROUGE-2 用 Bigram 检查“相邻两个词是否一致”比 ROUGE-1 更关注语序但也对插词和改写更加敏感。4.7 ROUGE-L(基于 LCS)-计算原理与实例推导:用最长公共子序列衡量句子结构相似度4.7.1、ROUGE-L 看什么ROUGE-L 的L指LCS最长公共子序列。它不要求词必须连续只要求前后顺序保持一致。所以它比 ROUGE-2 对中间插词更宽容。4.7.2、标准算例怎么计算ReferenceIt is cold outside.OutputIt is very cold outside.标准 LCS 是It → is → cold → outside长度为4。Recall 4 / 4 1.0Precision 4 / 5 0.8F1 ≈ 0.894.7.3、和 ROUGE-1 / ROUGE-2 有什么区别ROUGE-1看单词是否出现不管顺序。ROUGE-2看相邻两个词局部语序最严格。ROUGE-L看整句的相对顺序和骨干结构更有弹性。一句话总结ROUGE-L 就是在两句话里寻找“顺序一致的最长共同词序列”比 ROUGE-2 更能容忍插词但仍然不真正理解深层语义。4.8 字面指标的两大致命漏洞复读机作弊乱序假满分 ---- 以及截断匹配(Clipped)修正与局限4.8.1、漏洞 1复读也可能“刷高分”ReferenceIt is cold outside.Outputcold cold cold cold如果只做最朴素的词匹配4 个cold都可能被重复计数看起来 Precision 很高。4.8.2、怎么修——Clipped / Modified Precisioncold在 Reference 中只出现1 次。所以即使 Output 写了 4 次也最多只算1 次有效匹配。修正后Precision 1 / 4 0.25这样可以有效惩罚“复读机”式退化输出。4.8.3、但还有一个问题语序Outputoutside cold it is4 个词都来自 ReferenceUnigram 仍可能得到很高分。但句子语序已经完全乱掉。说明Clipping 能防重复却不能解决 Unigram 不看词序的问题。一句话总结Clipped Precision 能堵住“重复刷分”的漏洞但只要还停留在 Unigram 层面就依然看不懂语序因此还需要 Bigram、ROUGE-L 或更强的语义评测方法。4.9 GPT、Alpaca、Vicuna关系图谱:羊驼家族的“师承”与“进化”4.9.1、四者是什么关系GPT闭源强模型提供能力参考也曾被用来生成训练数据。LLaMAMeta 的基础模型是 Alpaca、Vicuna 的“底座”。Alpaca / Vicuna都是在 LLaMA 上继续做指令微调得到的对话模型。4.9.2、Alpaca 和 Vicuna 最大区别Alpaca主要用约52K 条机器合成指令数据进行 SFT更像“让 LLaMA 学会听指令”。Vicuna主要使用ShareGPT 多轮真实对话数据训练更强调自然对话和多轮交互。4.9.3、可以怎么理解可以把它看成GPT → 提供能力/数据参考LLaMA → 提供基础模型LLaMA Alpaca 数据 → AlpacaLLaMA ShareGPT 对话 → Vicuna一句话总结GPT 更像“老师”LLaMA 是“基础学生”Alpaca 和 Vicuna 则是在同一底座上、用不同教材训练出来的两种指令模型。五、总计

相关新闻

2026/9/4 7:26:27

基于YOLOv5与PyQt的打电话行为检测系统实战开发

简介:本资源是一套完整的YOLOv5打电话行为检测实战项目,面向计算机视觉初学者与安防智能分析开发者,解决日常监控场景中手机使用行为的自动识别问题。资源共165个文件,包含34个核心Python脚本(含训练、推理、PyQt界面逻…

2026/9/4 7:26:27

C#集成YOLOv8与TensorRT实现工业视觉实时检测与ByteTrack多目标跟踪

简介:本资源是一个基于C#实现的YOLOv8目标检测与ByteTrack多目标跟踪的高性能推理Demo,面向具备C#开发基础及计算机视觉入门经验的工程师与学习者,解决在Windows平台下集成TensorRT加速推理与实时跟踪的实际落地问题。压缩包共379个文件&…

2026/9/4 7:21:27

ASMR音频创作与剪辑指南:录音、音效与后期制作全流程解析

抱歉,这个输入不适合生成博文内容。素材里只有一个模糊的标题标签,没有正文、关键词、摘要或任何可复现、可描述的实际内容,很难写成一篇真实、可靠、可执行的中文技术博文。如果要做ASMR相关的音频创作、剪辑、音效制作等正当内容&#xff0…

2026/9/4 8:21:31

PSASP 7.0标准算例深度解析:从基准测试到电力系统仿真实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/4 8:21:31

Spring Boot + Vue校园二手交易平台:从设计到实现的高分毕设实战

简介:这是一套面向计算机类专业本科生的高分毕业设计实战资源,聚焦校园二手物品交易场景,完整实现用户管理、商品发布/搜索/交易/评价等核心功能,兼顾实用性与教学价值。资源包共638个文件,含147个Java后端逻辑文件、1…

2026/9/4 8:21:31

COMSOL图形视窗功能键详解:从视图控制到高效后处理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/4 8:21:31

从零掌握电机控制:步进、伺服、直驱原理与Arduino实战入门

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/4 8:21:31

Trapcode Suite 16.0.4:AE粒子特效插件深度解析与实战指南

简介:红巨人Trapcode Suite 16.0.4是Adobe After Effects用户必备的专业级粒子与视觉特效插件套装,面向影视剪辑师、动态设计师及AE中高级后期从业者,解决复杂粒子模拟、三维路径动画、光效渲染、音频驱动关键帧等核心创作需求。资源共30个文…

2026/9/4 8:16:31

【2014-07-14】C++ STL读书笔记:stl_stack.h

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2014-07-14 | 标题:C STL读书笔记:stl_stack.h | 分类: 编程 / C && C / C…

2026/9/3 18:28:26

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/3 14:29:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/3 14:30:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/4 0:00:58

STM32H743 SPI从机DMA双缓冲通信实战

简介:本资源是面向嵌入式开发工程师与STM32进阶学习者的SPI DMA双机通信从机端完整实现方案,聚焦STM32H743高性能Cortex-M7单片机在工业控制与高速数据交互场景下的从机通信开发痛点。压缩包含1355个文件,主体为599个C源码与321个头文件&…

2026/9/4 0:00:58

CPU开盖降温教程:20元成本让温度直降30度的原理与实践

最近很多朋友都在抱怨,自己的电脑一到夏天就变成"烤箱",玩游戏时CPU温度动不动就飙到90度以上,风扇噪音堪比直升机。更让人头疼的是,明明配置不错,却因为高温降频导致性能大打折扣。如果你也遇到了类似问题&…

2026/9/4 0:00:58

ArkTS 表单工程:场地预约页的三态场次 Grid 与校验

ArkTS 表单工程:场地预约页的三态场次 Grid 与校验 App 14「运动场地预约」场地 Tab(Func1Tab),是整 App 交互最丰富的页面——场地横向切换 三色图例 渐变预约预览卡 快捷模板 今日场次 Grid(可选/已选/已满三态&…

2026/9/3 20:43:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/3 17:51:43

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/3 21:06:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…