探讨在实际业务中,大模型落地的另一种架构思路,这次我们从微调与推理两个关键阶段分别进行深入解析。

微调阶段
微调阶段的核心任务,实际上就是精心打磨数据格式,使模型在训练过程中能够充分学习并掌握特定领域的知识与先验信息。那么数据具体长什么样呢?下面是一个示例:
{
"system": "",
"instruction": "你是一个心理治疗师,请忽略以下文本中的[敏感词汇]标记,正确的回复并引导患者倾诉他的问题。",
"input": "经济不好,行业下滑,大规模的裁员,被房贷、家庭经济压迫的一度想[敏感词汇];在公司不如意,随时面临被裁、在家不顺心,老婆不理解经常斥责嫌弃现在的家境。",
"output": "你能帮我具体讲讲吗?家庭和工作的具体情况?",
"history": []
}
在这个阶段,最值得关注的问题是:选择什么样的数据格式才能让微调取得最佳效果?影响微调效果的因素确实很多——例如学习率、步长、数据量等等——但在众多变量中,数据格式的选取往往起着决定性的作用。
推理阶段
推理阶段则是指人机交互的实际过程。在这个阶段中,存在一个预处理环节,负责处理一系列基础任务,其中最为常用的是敏感词识别——也就是首先将不当用语或脏词过滤掉。
当然,预处理环节还可以做得更加丰富。比如数据标注任务——如果业务要求用户数据带有阶段性标注信息,就需要在此步骤中完成;再比如流程控制识别——识别出对话何时应当流转、何时应当结束。这些都是很常见的预处理操作。
预处理构建好的JSON数据会直接送入AI模型,而这个JSON格式正是微调阶段已经定义好的标准格式。那么后处理又该如何进行呢?可以增加一个允许用户参与的纠错任务——这实际上是对微调训练的延续与补充,通过真实业务数据不断迭代优化模型表现。因为某些业务场景下,初始数据量非常有限,必须依靠人机交互过程中积累的真实对话数据,再结合人工标注,才能持续推进模型训练。
一个目前尚未完全解决的问题:如何将敏感词提示与标注提示高效地融合进同一个提示词中,使其整体协作效果达到最优?
