Skip to content

RAG、微调与部署优化

本页解决什么:区分 RAG、微调、LoRA、量化、缓存和模型路由的作用,避免用微调解决知识更新问题,或用 RAG 解决流程执行问题。
RAG、微调和部署优化的选型关系图
RAG 解决知识更新和引用,微调解决行为与格式,部署优化解决成本和延迟。
RAG、微调和 Agent 分别解决知识、表达和行动流程的判断图
RAG、微调和 Agent 不是互相替代:先补知识,再控输出,最后才让系统行动。

RAG 与微调

RAG 解决的是事实检索和知识更新问题。微调解决的是模型行为、格式、风格、任务习惯和领域语言分布问题。两者不是替代关系。

需求优先方案原因
回答公司制度、产品文档、法规、论文RAG知识更新频繁,需要可引用
固定输出格式、语气和任务模板SFT / LoRA属于行为和格式适配
低成本部署小模型蒸馏、量化、LoRA降低推理成本
专业术语和领域语言继续预训练 + RAG语言分布和事实来源都要处理

微调方法

方法机制适合风险
全量微调更新全部参数有模型所有权和算力的团队成本高,容易遗忘
LoRA冻结基础模型,训练低秩适配矩阵格式、风格、任务适配不适合实时知识更新
QLoRA量化模型后训练 LoRA显存有限的实验量化精度需要验证
Prompt / Adapter用提示或轻量模块影响行为快速实验稳定性有限

部署优化

这里只讲大概流程:先确定任务是否需要实时知识,再决定 RAG 或微调;再用小规模样本验证质量;最后根据成本选择量化、缓存、模型路由或蒸馏。生产级监控、灰度和集群治理不在本站展开。

应用场景

场景推荐路线输出
企业制度问答RAG + 引用来源带证据的回答
合同条款改写SFT/LoRA + 模板校验固定格式文本
客服高频问题小模型蒸馏 + 缓存低成本响应
专业报告生成RAG + 少量格式微调可审阅报告

Python 库

作用
transformers模型加载、推理和训练入口
peftLoRA、QLoRA 等参数高效微调
datasets训练/评估数据处理
sentence-transformersEmbedding 和语义检索
chromadb / faiss-cpuRAG 向量检索

最小示例

python
from peft import LoraConfig

lora_config = LoraConfig(
    r=8,
    lora_alpha=16,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05,
    task_type="CAUSAL_LM"
)

print(lora_config)

这段代码只展示 LoRA 配置入口。完整训练还需要数据集、基础模型、训练器和评估集。

延伸阅读

下一步

维知 Wiki · 面向应用工程的 AI 知识与训练系统