AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


不到那一步,绝不 SFT(监督微调)
发布日期:2024-07-02 18:31:49 浏览次数: 2000


监督微调(Supervised Fine-Tuning, SFT) 是一种通过使用特定任务的数据来微调预训练大模型的方法。我们不会平白无故的对一个大模型进行 SFT,一定是遇到的一些通用大模型解决不了的问题。那么以下是为什么要进行 SFT 的几个关键原因:

  1. 1. 提升特定任务的表现

  • • 大模型在广泛数据上预训练,具备通用能力,但在特定任务上的表现可能不够理想。通过 SFT,可以针对具体任务进行优化,提升模型的准确性和表现。

  • 2. 适应领域特定数据

    • • 不同领域的数据具有特定的特征和模式。SFT 可以使模型适应这些特定领域的数据,从而提高在该领域任务上的表现。

  • 3. 减少过拟合风险

    • • 使用监督数据进行微调,可以让模型更好地捕捉任务相关的特征,而不是仅仅依赖通用特征,降低过拟合风险。

  • 4. 提高模型的鲁棒性和稳定性

    • • 通过微调,模型可以更好地应对噪声和不一致的数据,提高在实际应用中的鲁棒性和稳定性。

    常见的一些需要 SFT 的场景

    在我所接触到的一些行业案例中,大概有以下几个场景是我了解到,并且看到过别人真实解决了的,如下:

    1. 1. 医疗领域的诊断模型

    • • 在医疗诊断中,不同的疾病和症状可能需要特定的诊断模型。通过使用医疗数据对模型进行 SFT,可以提高模型对特定疾病的诊断准确性。

  • 2. 金融领域的风险评估

    • • 金融领域的数据具有高度专业性和复杂性。通过对金融数据进行微调,可以提升模型在风险评估、欺诈检测等任务上的表现。

  • 3. 智能客服机器人

    • • 不同行业的客服聊天需求不同。通过 SFT,可以针对特定行业(如电商、银行等)优化聊天机器人,使其更好地理解和回答用户的问题。

  • 4. 语言翻译

    • • 语言翻译涉及到不同语言对之间的转换。通过对特定语言对的翻译数据进行 SFT,可以提高翻译的准确性和流畅度。

    当然,这些个场景,如智能客服 以及其他的一些场景,都或多或少的配合使用到了 RAG(全称为Retrieval-Augmented Generation),即检索增强生成。所以,解决一类问题,我们可以理解为通常需要配合多种技术。

    如何做一次SFT,以及成本和收益

    一次 SFT 大概需要经历如下图所示的几个步骤。

    1. 1. 数据准备

    • • 收集数据:收集与目标任务相关的高质量监督数据。

    • • 数据清洗:对数据进行预处理,去除噪声和不相关信息,确保数据质量。

    这个过程的成本据我所知,应该是成本最不可控的地方,比较专业的团队会甚至会养一个爬虫团队来搜集数据,做数据清洗,而且后期评估模型效果是否达到预期效果,甚至需要从头再来搜集更多数据。

    1. 1. 模型选择

    • • 选择适合的预训练大模型,如 LLama3 等。这些模型已经在大规模数据上预训练,具备强大的通用能力。

  • 2. 构建微调数据集

    • • 根据任务需求构建训练集和验证集,确保数据集的代表性和多样性。

  • 3. 设置微调参数

    • • 设置微调的超参数,如学习率、批量大小、训练轮数等。这些参数需要根据具体任务进行调整。

  • 4. 训练模型

    • • 使用微调数据集对预训练模型进行训练。在训练过程中,监控模型的表现,避免过拟合。

  • 5. 评估模型

    • • 使用验证集评估微调后的模型,确保其在特定任务上的表现优于未微调模型。

  • 6. 部署和监控

    • • 将微调后的模型部署到生产环境中,并持续监控其表现,确保其稳定性和可靠性。

  • 7. 迭代优化

    • • 根据实际应用中的反馈,不断优化和调整模型,确保其在长期使用中的表现。

    我们关心的成本和收益

    1. 数据准备成本

    • • 数据收集

      • • 成本:数据工程师的时间和薪资。以国内数据工程师月薪 假设 50K 为例,假设收集数据需要 2 周时间,成本约为 25K。

    • • 数据清洗

      • • 成本:数据清洗和预处理的时间。以一名数据工程师和数据科学家合作进行,假设数据清洗需要 1 周时间,成本约为 20K。

    • • 标注数据

      • • 成本:数据标注人员的时间和薪资。以每条数据标注成本 1 元 为例,假设需要标注 10,000 条数据,成本约为 10K。

    总数据准备成本约为:5 万左右。

    2. GPU 资源成本

    • • 计算资源

      • • 使用云服务(如 AWS、Google Cloud、Azure、阿里云、腾讯云)租用 GPU 实例进行训练。假设使用 4 块 NVIDIA V100 GPU,每小时成本约为百来块。

    • • 训练时间

      • • 假设训练时间为一两天至一两周不等

    一次总 GPU 资源成本约盲估在,大几百到万把块左右。就大约估算个 1 万左右吧。

    总成本

    ok,我们大概计算出一次 SFT 成本大概在 6 个万左右,其中不可控的部分是数据集这块,可能 SFT 效果不好,还得再来一遍。

    3. 收益

    假设,我们通过 SFT 来增强业务代码生成这块,通过 SFT 提升模型在特定任务上的表现,可能带来以下收益:

    • • 代码质量提升

      • • 高质量的代码减少了后期维护和修复的成本。

    • • 生产效率提高

      • • 生成更准确的代码,减少开发人员的重复劳动,提高开发效率。假设团队每月减少 20% 的开发时间,节省的成本为假设为 50K。

    • • 用户满意度提高

      • • 更好的产品体验带来更多用户,提升市场竞争力。

    • • 长期收益

      • • SFT 可以持续优化和改进模型表现,带来持续收益。假设每月节省 50K,1 年节省 60万。

    总收益:60 万-6万*(x) =?

    从成本收益比来看,一次成功的 SFT 投资回报非常可观,当然一次就 ok 概率也比较小,行业经验来看的个三五次。但整体上看,尽管前期投入较高,但通过提升代码生成质量和生产效率,可以在长期内带来显著的经济收益。当然,我说假设的数据可能可能有些过时,但是计算方式上,可能做一定的参考。

    但是,建议是遵循这个步骤, prompt 工程->RAG->SFT,使用成本逐步增加的方式,才是一个比较理性的消费者。


    53AI,企业落地应用大模型首选服务商

    产品:大模型应用平台+智能体定制开发+落地咨询服务

    承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    与创始人交个朋友

    回到顶部

     
    扫码咨询