如何用 Azure AI Foundry 微调模型应对挑战?
摘要:Hello 大家好。好久不见。最近在工作中碰到一点挑战。目前我们的技术是基于 RAG 来处理问题。但是效果不是太好。原因是 RAG 对领域知识的召回率不够。导致 LLM 对用户问题的理解出现偏差。于是就想着能否微调一个小模型来处理特定领域的
Hello 大家好。好久不见。最近在工作中碰到一点挑战。目前我们的技术是基于 RAG 来处理问题。但是效果不是太好。原因是 RAG 对领域知识的召回率不够。导致 LLM 对用户问题的理解出现偏差。于是就想着能否微调一个小模型来处理特定领域的问题。以下是关于这次调研的一些记录。
什么是微调
微调(Fine-tuning)就是在一个已经训练好的基础/指令模型上,再用你自己的小规模、高质量数据继续训练,让模型更贴合你的业务任务、语气或领域知识。
目标:
固化稳定、不常变化的专有知识
让输出格式/语气统一(如结构化 JSON、报告模版、客服话术)
提升特定任务表现(分类、抽取、窄域问答)
减少在特定领域里的胡编/幻觉
适用场景:
领域知识长期有效(规章、流程、产品线)
需要高一致性的输出格式或风格
高频相同任务调用,希望压缩上下文 token 成本
小模型在窄域“越级”替代大模型
不适用场景:
知识更新快(价格、库存、新闻)
样本太少(< 20~30),可先 prompt / few-shot
只是少量一次性实验
需要答案可追溯来源(优先 RAG)
Fine-tuning vs RAG(机制 / 适用 / 成本)
机制:
Fine-tuning:修改模型参数,把知识“刻”进去
RAG(检索增强):不改模型,通过向量检索把外部文本塞进上下文临时使用
适用场景:
Fine-tuning:稳定领域知识、固定格式、角色/语气、特定结构化任务
RAG:动态更新知识、长文档问答、需要引用/可追溯、广覆盖信息聚合
组合:RAG 提供最新事实 + 微调模型保证表达/格式稳定
成本对比:
训练成本:微调有一次性训练费用;RAG 几乎无训练费(只是建索引)
推理成本:微调后上下文可更短(便宜);RAG 每次需检索+长上下文(token 更多)
迭代速度:RAG 更新文档即可;微调需再训练+部署
风险:微调数据错误会固化;RAG 可随时删改
简单决策:
知识常变/需引用 → RAG
需稳定格式/语气/结构 → 微调
想同时兼顾 → 先 RAG 验证价值,再沉淀高质量样本做微调
使用 AI Foundry 进行微调
下面我们通过一个具体的例子来演示微调的过程。在开始微调前,我们先对 Phi4 进行一轮测试。
关于特定领域的问题,它是无法回答的。比如我问我们家的情况:老大的名字是什么?显然它不知道,只能回答一个比较通用的回答。
这种时候,我们可以对它进行微调,把我们家的情况告诉它。我们的期待是在微调后,我可以直接问一些关于我们家情况的问题。
创建 Project
在 AI Foundry 内创建一个新的 project。类型选择:AI Hub Resource。因为只有 Hub 类型才能选择其他开源模型进行微调。比如 Phi,Llama 等等。
在高级设置里,我们需要选择 Region 为 West US,其他 Region 可能不支持 Fine-tuning,比如 Japan EAST 就不行。
等待创建完成。
选择微调的模型
打开刚才创建的 Hub,在侧边栏选择 Fine-tuning。点击 + Fine tune model。在弹出的界面选择需要微调的模型。比如这里我就选择 Phi4-mini-instruct 这个 model 作为 base。
如果我们的目的是为了特定任务为微调模型的话,一般选择一个小模型就够了。比如 Phi3, Phi4, Llama 3b 等等。因为它用来执行特定的任务,所以不需要有强大的通用知识。而且微调时间跟费用也会小很多。
配置微调设置
填写微调后模型的 name(名称)
上传训练数据
训练数据为 JSONL 格式。每一行都定义了一个问题跟答案。比如以下训练数据里就描述了我家的情况。当然,这是让 AI 编的,假的。
{"messages":[{"role":"system","content":"你需要记住以下家庭信息:\n1. 我家住在中国北京,有爸爸、妈妈、哥哥JIM、弟弟Mike,还有一只猫kitty。\n2. 哥哥JIM是老大,10岁,喜欢吃肉,爱踢足球,数学很好,最喜欢的颜色是蓝色,经常照顾弟弟。\n3. 弟弟Mike是老二,8岁,喜欢吃苹果,爱画画,也喜欢看动画片,最喜欢的颜色是绿色,经常和哥哥一起玩。\n4. 小猫kitty是白色的,喜欢睡在沙发上,爱玩毛线球,喜欢吃鱼,性格温顺黏人,经常和弟弟Mike一起玩,也偶尔跟哥哥JIM玩。\n5. 在家里我们平时说中文,常常在附近的公园活动,全家人感情很好。
