微调DeepSeek-R1&构建RAG系统(篇一)
系列文章目录
文章目录
什么是大模型?
我们日常交流中的大模型,普遍指的是大语言模型(Large Language Model,简称LLM),但除了大语言模型外,还有其他的大模型。
例如:
多模态大模型(同时处理文本、音频、视频等)
比如:gpt-4o,可用于生成视频、生成图像等领域;
视觉大模型(CV,专注视觉理解与生成)比如:ViT-22B,可用于辅助视觉感知,
如智能驾驶自动感知周围环境
科学计算大模型(解决科学领域的复杂计算问题),
比如:FourCastNet(NVIDIA实验室开发的深度学习大模型,在使用FourCastNet用于数字天气预测,速度比传统方法快4.5万倍)
自然语言处理(NLP,所有语言处理技术的统称,用于在大语言模型[LLM]),
让计算机处理人类语言的技术领域,传统的方法是词法分析等,如关键字提取,现在用于基于LLM进行深度学习
除了大模型之外还有小模型,模型的大主要体现于大量的参数和复杂的结果,训练的数据量大,所需要的算力需要也大,所需要的算力需求也大。大模型是指具有大规模参数和复杂计算结构的机器学习模型。模型包含有模型架构(例:transform),数据体系(例:多少tokens),硬件设施(显卡)…
大模型包含关系概念层级图:
人工智能(ai)和机器学习和大模型的关系
大模型的训练
大模型的训练需要通过海量的数据,模型通过吸收不同种类的数据,再通过吸收到的不同的知识去回答问题。吸收数据,“学习”的过程就是训练。
大模型训练流程图:

预训练
训练的第一阶段为预训练,也是最为重要的一个阶段。与早期的预训练语言模型相比,大语言模型需要更多的训练数据,这些数据需要涵盖广泛的内容范围。多领域、多源化的训练数据可以帮助大模型更加全面地学习真实世界的语言与知识,从而提高其通用性和准确性。目前常用于训练大语言模型的代表性数据集合。根据其内容类型进行分类,这些语料库可以划分为:网页、书籍、维基百科、代码以及混合型数据集。
现有大语言模型预训练数据中各种数据来源的比例分布图:

预训练通过夸张的数据量构建了自己的知识体系,建立了自己的语言理解能力,形成了一定的推理能力等,让模型学习到通用的语言表示,这样在后续的任务中可以通过微调来适应具体任务,而不需要从头开始训练。这样可以节省时间和资源,同时提高模型在不同任务上的表现。
实际上,在预训练过程中,生成了许许多多不同层级的不同数量(上亿级别)的不同参数,这些参数构成了知识库与推理能力的基础。
比如在Transformer-based的模型中, 生成嵌入层,参数词嵌入矩阵(将词语映射为向量); Transformer层,参数Q/K/V权重矩阵(生成查询、键、值向量); 输出层,参数输出权重矩阵(将隐藏状态映射回词表空间),输出偏置项(调整输出分布)等重要的参数。
微调
第二阶段被称为微调(Fine-tuning),在预训练好的大模型基础上,用特定的数据集进一步训练,调整模型参数,使其适应特定任务。
微调后的模型使得通用的模型数据更加“专业化”,能够更好的完成领域化的任务,比如:法律方面的大模型,被称为行业大模型。行业大模型再研究细化到某一个专业研究,比如:蛋白质结构预测模型,被称为专业大模型又被叫做垂直大模型。
量化
将神经网络中的权重和激活值从高精度表示(如 32 位浮点数 FP32)转换为低精度(如 8 位整数 INT8)的技术。其核心目标是 减少模型的计算和存储开销,同时尽量保持模型性能。
模型训练产生的问题
模型扩展到一定规模,模型的各项问题也会随之增多,如下:
-
涌现能力(Emergent Ability)
模型的规模和训练参数达到一定的阈值时,模型的特定任务性能突然出现显著跃升的趋势,远超过随机水平,“在小型模型中不存在但在大模型中出现的能力”。涌现模式与物理学中的相变现象有一定程度的相似,但是仍然缺乏相应的理论解释以及理论证实。
-
过拟合(Overfitting)。模型的泛化能力低,训练数据表现优异,新的测试数据误差较高,表现为
- 微调后困惑度(Perplexity)下降但BLEU或者ROUGE得分未提升
- 新的测试生成内容包含训练数据中的重复数据结果,只记住了结果,没有学习到普遍规律
**困惑度:模型对词序列的预测能力。** 困惑度高的列子如:输入文本:你是谁? 生成文本:石头 **BLEU(双语评估替换词)自然语言处理中常用的评估指标。** 简单列子,输入文本:who are you? 真实译文:你是谁?生成文本:你是谁呀?, 生成的数据与原译文相似度高,语意通顺,blue指标就高。 **ROUGE(召回率导向的文本摘要评价指标)自然语言处理中常用的评估指标。** 简单列子,输入文本:我今天早上吃了粥。 模型获取摘要为,人物:我,情节:吃粥,时间:今天早上, 与人工摘要(人工去判断)重合度高,rouge指标就高。 -
知识幻觉(Hallucination)
生成内容事实错误但语法正确
简单例子:秦始皇于公元前221年发明了印刷术
-
灾难性遗忘(Catastrophic Forgetting)
微调后模型丧失原有通用能力
-
推理鲁棒性不足
在输入数据稍有变化的情况下,其输出结果可能会出现较大波动,甚至完全错误。简单例子,输入文本:今天我吃了饭,请计算2+1, 输出文本:10
-
伦理与安全风险
- 生成含有敏感词、诱导犯罪的文本
- 暴露测试数据中的隐私信息
- 生成非法网站连接文本
-
多模态协同障碍
要求生成一只猫的图片,却给了一只狗的图片
RAG(Retrieval-Augmented Generation)
一种结合检索和生成的技术,通过检索外部知识库来增强模型的生成能力,同时保持模型参数不变。通过RAG技术我们可以从向量数据库(常用,但不唯一)中检索与输入问题最相关的信息片段,将检索到的信息和原始输入共同输入生成模型(如LLM),生成最终回答。
向量数据库是一种专门用于存储、管理和检索高维向量数据的数据库系统。
它通过将文本、图像、语音等非结构化数据转化为向量(数学上的数值数组),
并利用向量之间的语义相似性(如余弦相似度)进行高效检索。

微调和RAG的区别
微调的优点可能包括更好的任务特定性能,因为模型参数被优化了。但缺点可能是需要大量计算资源和时间,尤其是大模型。
RAG 的优点可能在于不需要重新训练模型,节省资源,同时可以利用最新的数据,因为检索的知识库可以实时更新。不过,RAG 的效果可能依赖于检索系统的质量,以及如何有效结合检索结果和生成内容。
| 维度 | 微调(Fine-tuning) | RAG(Retrieval-Augmented Generation) |
|---|---|---|
| 参数变动 | 全量 / 部分调整模型参数(如 GPT-4 微调) | 不改变模型参数,仅检索外部知识 |
| 知识来源 | 依赖预训练数据和微调数据集 | 动态检索实时知识库(如 Wikidata、文档库) |
| 计算模式 | 离线训练(需 GPU 集群) | 在线推理(检索与生成同步) |
| 响应速度 | 训练耗时(小时 / 天级),推理快 | 推理时需额外检索(延迟增加 10-50ms) |
| 数据时效性 | 依赖微调数据的时间戳 | 可访问最新数据(如新闻、用户日志) |
二者的常见的使用场景
| 场景类型 | 微调表现 | RAG表现 |
|---|---|---|
| 封闭领域任务(如医疗) | 深度适配 | 数据更新慢 |
| 开放领域问答(如客服) | 知识过时 | 实时知识接入 |
| 低资源场景(如边缘设备) | 计算成本高 | 轻量级推理 |
| 多模态任务(图文生成) | 参数融合更优 | 检索复杂度高 |
参考文献:
【2】大语言模型
更多推荐


所有评论(0)