大模型什么时候应该进行微调
在当前的企业级人工智能应用中,经常遇到一个核心问题:如何选择合适的技术路径来实现业务目标。是直接使用闭源大模型的 API(如 ChatGPT、Claude),还是基于开源模型进行微调?许多公司在评估 LLM 托管和部署解决方案时,往往忽略了这一决策背后的成本、性能与数据隐私权衡。
探讨了在企业应用大模型时,何时应选择使用封闭 API 而非微调开源模型。文章分析了 RAG 架构的优势与局限,指出在数据隐私、特定领域专业知识、品牌风格一致性以及长期成本控制等场景下,微调更为合适。同时详细介绍了全量微调、LoRA、QLoRA 等技术方案,以及数据准备、评估指标和部署优化的最佳实践,为技术决策者提供了清晰的选型指南。

在当前的企业级人工智能应用中,经常遇到一个核心问题:如何选择合适的技术路径来实现业务目标。是直接使用闭源大模型的 API(如 ChatGPT、Claude),还是基于开源模型进行微调?许多公司在评估 LLM 托管和部署解决方案时,往往忽略了这一决策背后的成本、性能与数据隐私权衡。
本文将基于实际应用场景,深入分析何时应该使用封闭 API,何时需要进行模型微调,以及两者之间的技术边界。
对于大多数通用型任务,尝试实现 ChatGPT API 通常是第一步。例如,您想总结文档、回答常见问题,或者在网站上安装聊天机器人。通常你会发现,ChatGPT 在多语言任务和通用知识问答上表现得相当不错。
人们普遍认为这些模型太贵了。但以 0.002 美元/1K 代币的价格计算,您可以至少在 100 个样本上进行测试,并评估 LLM 是否适合您的特定应用程序。事实上,在每天数千次 API 调用或在该范围内的情况下,ChatGPT API 的成本往往比自行搭建自定义开源模型的托管基础设施更便宜。自建需要承担 GPU 硬件成本、运维人力、电力及网络开销。
一种常见的说法是,假设您想要回答有关数千或数万份内部文档的问题。在这种情况下,仅根据此数据训练或微调开源模型并向微调模型询问有关此数据的问题,并不一定是最优解。事实证明,这并不像听起来那么简单,因为维护高质量的数据集和训练流程本身就有门槛。
但 ChatGPT 有一个简单的解决方案可以回答包含大量上下文中的问题,即检索增强生成(RAG)。
其基本逻辑是将所有文档作为小文本块存储在向量数据库中。向模型提供所有必要信息以回答问题的问题已从模型架构转移到包含文档块的数据库。然后可以通过计算问题和文档块之间的相似性来找到相关文档。这通常是通过将块和问题转换为词嵌入向量,并计算块和问题之间的余弦相似度,最后仅选择高于特定阈值的块作为相关上下文来完成的。
最后,问题和上下文可以组合成如下提示,并输入 LLM API:
prompt = f"回答问题。上下文:{context} \n 问题:{question}"
您可能会问 - 为什么不将整个文档和问题输入提示中,而不是将其分成多个块?我们将文档分成块而不是将所有文档合并到一个提示中的原因是因为 LLM 对最大输入和输出长度有一定的限制。对于 ChatGPT,这是 4096 个令牌,或者大约 6-7 页文本。当答案明显存在于这些文档中时,将文档卸载到数据库并使用封闭的 LLM API 进行查询可能会很有效。
但在很多情况下,这些可能会产生次优结果。例如,如果您希望模型就某个利基主题提供专家观点,例如推测美国经济的财务前景,或者需要遵循特定的公司写作风格,单纯的 RAG+API 可能无法满足需求。
好的,您尝试过 ChatGPT 或 BARD — 但您不喜欢它。答案有点不对劲。例如,您询问 ChatGPT:
'美国经济的通胀可能会持续多久?'
它返回了:
作为人工智能语言模型,我无法确定地预测未来,尤其是对于复杂的经济系统。不过,我可以为您提供一些信息和观点,可能有助于您了解当前的情况。
通货膨胀是一种复杂的现象,可能由多种因素引起,例如需求增加、供应限制……
不幸的是,这对你来说还不够好。当然,您可以向 ChatGPT 提供一些有关美联储主席杰罗姆·鲍威尔声明的最新消息。但这并不能为您提供与您交谈时所获得的同样丰富的领域经验。想想成为某个领域的专家需要什么。虽然其中一部分是阅读有关该主题的书籍,但也有很多是与该领域的主题专家互动,并从经验中学习。虽然 ChatGPT 接受过大量金融书籍的培训,但它可能还没有接受过顶级金融专家或其他特定领域专家的培训。那么如何才能让大模型成为金融领域的'专家'呢?这就是微调的用武之地。
在讨论微调 LLM 之前,我们先谈谈微调像 BERT 这样的小型语言模型,这在 LLM 之前很常见。对于像 BERT 和 RoBERTa 这样的模型,微调相当于传递一些上下文和标签。任务定义明确,例如从上下文中提取答案,或将电子邮件分类为垃圾邮件与非垃圾邮件。
然而,大型语言模型(LLM)之所以风靡一时,是因为它们可以通过改变你构建提示的方式无缝地执行多个任务,并且你拥有类似于与另一端的人交谈的体验。我们现在想要的是将大模型微调为某个学科的专家,并像'人'一样参与对话。这与在特定任务上微调 BERT 等模型有很大不同。
最早的开源突破之一是斯坦福大学的一组研究人员对 7B LLaMA 模型进行了微调,他们将其称为 Alpaca,在 52K 指令上的价格不到 600 美元。不久之后,Vicuna 团队发布了 130 亿参数的模型,达到了 ChatGPT 质量的 90%。
最近,MPT-7B 转换器发布,可以摄取 65k 代币,是 ChatGPT 输入大小的 16 倍!培训从头开始,历时 9.5 天,花费 20 万美元。作为特定领域大模型的示例,彭博社发布了一个类似 GPT 的模型 BloombergGPT,该模型专为金融而构建,并且也是从头开始训练的。
最近在培训和微调开源模型方面取得的进展只是中小型公司通过定制大模型丰富其产品的开始。那么,您如何决定何时需要微调或培训整个特定领域的大模型?
获得正确的指令需要仔细考虑。对于十万条左右的指令来说,微调模型并不是很昂贵,但数据质量至关重要。
instruction, input, output 字段。首先,重要的是要清楚地确定您所在领域的闭源 LLM API 的局限性,并证明让客户能够以极低的成本与该领域的专家聊天。
这让我想到了从头开始完全训练大模型的案例。是的,这很容易花费数十万美元,但如果你提出一个可靠的案例,投资者会很乐意参与。在最近接受 IBM 采访时,Hugging Face 首席执行官 Clem Delangue 评论说,很快,定制的大模型可能会像作为专有代码库很常见,也是在行业中保持竞争力的重要组成部分。
在微调完成后,不能仅依赖 Loss 下降来判断效果。应建立多维度的评估体系:
微调后的模型通常需要针对生产环境进行优化:
应用于特定领域的大模型在行业中可能非常有价值。有增加成本和可定制性的 3 个级别:
现在您已经掌握了知识 - 继续构建您的自定义领域特定 LLM 应用程序!在选择技术路线时,请务必结合业务目标、数据敏感度及长期成本预算进行综合评估。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online