SFT数据处理部分的思考

news2025/3/16 7:18:27

SFT数据及处理的业内共识

1.prompt的质量和多样性远重要于数据量级,微调一个 30 b 量级的base model只需要 10 w 量级的数据即可
参考:《LIMA:Less Is More for Alignment》
2.合成数据很重要!一般需要通过不同方式进行多路合成,减少合成数据的bias
参考:《Phi-3 Technical Report:A Highly Capable Language Model Locally on Your Phone》
3.可以加点预训练的数据进去,减轻灾难性遗忘现象
参考:《The Llama 3 Herd of Models》
4.一般训练一个epoch,垂域模型数据少训练3epoch去过拟合
5.可以做全量微调,就不要去做PEFT
6.SFT阶段不能太多的知识注入,过多的知识注入,或者超过模型能力本身的回答过多会导致对齐税
数据飞轮
最简单的做法,拉取线上近半个月的真实用户prompt,先用启发式规则进行清洗,然后用GPT-4o打标,留下可用的数据

为什么要用数据飞轮?

1.prompt 的生产是需要有 seed 种子的,seed的数据量和多样性有限,数据合成的质量不够高。
2.用户的问题干奇百怪,尤其是多轮聊天数据,自己生成的多轮对话数据,通常都默认模型回复的是正确的,用户会 follow 模型的回复。但线上可不是这种情况,你聊你的,我聊我的是时有发生的事情 (伪多轮)。

1.数据收集:首先,需要收集和获取大量的数据。这可以通过各种方式实现,例如用户近一个月赞踩,用户行为追踪,用户社交媒体数据等
2.数据存储和处理:收集到的数据需要进行存储和处理,以便后续的分析和应用。这可能涉及到数据仓库,数据库,云存储等技术
3.数据分析和洞察:通过对数据进行分析和挖掘,提取有价值的信息和洞察。这可以使用数据分析工具,机器学习算法等技术来实现,以发现数据中的模式,趋势和关联关系
4.数据应用和价值实现:将分析得到的洞察应用到实际场景中,创造价值。这可能包括优化业务流程,改进产品设计,个性化推荐等
5.数据反馈和增强:应用数据带来的改进和收益,进一步增加数据的质量和数量。这可能包括更好的数据收集方法,更准确的数据标注等

在这里插入图片描述

一、数据飞轮的本质(类比理解)

将数据系统想象为一个永动机,每一轮旋转都会积累更多动能(高质量数据),最终形成自增强的正反馈循环:

收集
清洗/标注
微调
部署
新提问
真实用户提问
数据池
优质训练集
更聪明模型
吸引更多用户

飞轮效应:每个环节的质量提升都会带动下一轮的数据优化,形成自我升级的生态闭环。


二、为何传统数据合成需结合飞轮机制

1. 初始种子数据的缺陷
  • 问题:人工构造的种子问题类型有限,且可能存在隐性偏见
    (例如:过于书面化,缺乏口语表达样本)
  • 飞轮修复机制:通过真实用户数据补充长尾场景案例
2. 合成数据的失真风险
  • 问题:模型生成的提问可能与真实用户分布存在偏离
    (如:合成数据中问答过于规范,实际用户存在模糊表达)
  • 飞轮校准作用:用真实数据中的“反例”修正模型认知偏差

示例对比

# 合成数据                    | # 真实用户数据
"写一首关于春天的五言绝句"   | "整点春天的诗,别太长,要押韵"
"牛顿三大定律的内容是什么?" | "物理考试复习重点求总结,急!"

三、数据飞轮的5环节详解

1. 数据收集:获取原材料
  • 核心目标:覆盖用户真实意图的全面性
  • 操作技巧
    • 用户行为埋点:记录搜索记录、对话中断率、主动点赞/踩
    • 多源采集:API日志、客服对话记录、应用内反馈表单
2. 存储与处理:打造高标准数据工厂
  • 架构示例
flowchart TD
      A[原始数据] --> B[清洗层:去重/去噪]
      B --> C[结构化层:JSON格式化]
      C --> D[标注层:质量分类+实体标记]
      D --> E[特征库:存储embedding向量]
  • 工具推荐
    • 清洗:用Python的pandas处理重复数据
    • 存储:Elasticsearch实现快速检索
    • 标注:Snorkel框架实现弱监督标注
3. 分析与洞察:挖掘数据金矿
  • 关键分析维度
    维度分析方法实战用途
    意图分布聚类分析(K-means)发现模型未覆盖的新用户需求
    对话质量二分类模型(优质/低质)过滤无效数据提升训练效率
    会话流分析序列模式挖掘(PrefixSpan算法)优化多轮对话的上下文管理策略
4. 应用与价值:数据驱动决策
  • 典型应用场景
    • 产品优化:高频出现的模糊提问 → 改进用户引导文案
    • 模型增强
      # 假设分析发现用户常问"怎么安装XXX"
      # 则定向增加对应安装指导的SFT数据
      new_prompts = generate_install_qa("XXX软件") 
      
5. 反馈与增强:闭环迭代
  • 质量提升循环
    while True:
        当前模型 = 训练(现有数据)
        部署后用户提问 = 收集新数据()
        数据缺陷 = 分析模型错误案例(当前模型, 新数据)
        增强数据 = 针对性补全漏洞数据(数据缺陷)
        合并数据 += 增强数据
    

四、实战案例解析

案例1:客服对话系统的飞轮优化
  • 初始问题:20%的客户因模型不理解方言而转人工
  • 飞轮介入
    1. 收集方言类对话样本 → 清洗后生成标注数据
    2. 微调时增加方言理解专项训练集
    3. 新版本上线后相关转人工率降至7%
案例2:代码助手的多轮对话增强
  • 痛点:用户常在三次对话后丢失上下文
  • 解决方案
    • 解析对话日志中的状态丢失节点
    • 基于真实中断案例构建强化训练样本:
    {
      "dialog": [
        {"role":"user", "content":"写一个Python排序函数"},
        {"role":"assistant", "content":"使用sorted()函数..."},
        {"role":"user", "content":"不要用内置函数自己实现"}
      ],
      "label": "需要保持算法实现焦点"
    }
    

五、避开数据飞轮的常见误区

误区后果科学做法
只收集显式反馈丢失90%潜在信息结合隐式行为分析(如停留时长)
过度依赖自动化标注噪声数据污染模型人机协同校验(如置信度过滤)
迭代周期过长无法及时响应需求变化建立小时级数据更新通道

六、前沿优化方案

1. 动态数据加权

为每个训练样本分配动态权重:

weight = α * 用户重要性 + β * 数据新鲜度 + γ * 模型不确定度
  • 用户重要性:VIP用户的数据权重更高
  • 模型不确定度:使用蒙特卡洛Dropout计算置信度
2. 对抗样本挖掘

主动生成让当前模型犯错的问题,加入训练集:

adversarial_prompts = generate_hard_samples(model)
train_data += adversarial_prompts
3. 数据蒸馏技术

用大模型标注结果指导小模型训练:

原始数据 → GPT-4标注 → 训练Llama 3

七、阶段总结(思维导图版)

在这里插入图片描述

通过将数据飞轮与合成技术结合,可使模型始终保持对现实场景的强适应力,这正是打磨优秀LLM的核心要义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2315880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

netsh实现TCP端口转发

服务器:192.168.31.9 端口:56000 客户端:192.168.31.2 端口:5600 客户端(本地端口5600)通过TCP连接服务器的56000端口 PC:192.168.31.5,PC实现客户端和服务器之间56000端口转发 1. …

leetcode 75.颜色分类(荷兰国旗问题)

题目描述 题目分析 本题是经典的「荷兰国旗问题」,由计算机科学家 Edsger W. Dijkstra 首先提出。 要想单独解决这道题本身还是很简单的,统计0、1、2的数量然后按顺序赋值,或者手写一个冒泡排序,whatever。 但是在这一题中我们主…

在windows上通过idea搭建doris fe的开发环境(快速成功版)

一、前置环境准备 1. 准备Linux环境,我起的虚机,使用CentOS8,4核、12G,磁盘50G 1.1.备份yum源 # 系统下载连接:magnet:?xturn:btih:9DB46A612D04763AA7DB02A0FF63EDE2EA555867&dnCentOS-8.1.1911-x86_64-dvd1.…

MyBatis源码分析の配置文件解析

文章目录 前言一、SqlSessionFactoryBuilder1.1、XMLConfigBuilder1.2、parse 二、mappers标签的解析2.1、cacheElement2.1.1、缓存策略 2.2、buildStatementFromContext2.2.1、sql的解析 前言 本篇主要介绍MyBatis源码中的配置文件解析部分。MyBatis是对于传统JDBC的封装&…

python爬虫笔记(一)

文章目录 html基础标签和下划线无序列表和有序列表表格加边框 html的属性a标签(网站)target属性换行线和水平分割线 图片设置宽高width,height html区块——块元素与行内元素块元素与行内元素块元素举例行内元素举例 表单from标签type属性pla…

DC-6靶机详解

一、主机发现 arp-scan -l靶机ip为192.168.55.159 二、端口扫描、目录枚举、指纹识别、 2.1端口扫描 nmap 192.168.55.159发现没有开放特殊端口 看来信息收集的重点要放在网页中了 2.2目录枚举 dirb http://192.168.55.1592.3指纹识别 nmap 192.168.55.159 -sV -sC -O …

STM32-SPI通信外设

目录 一:SPI外设简介 SPI框图​编辑 SPI逻辑 ​编辑 主模式全双工连续传输 ​编辑 非连续传输 二:硬件SPI读写W25Q64 1.接线: 2. 代码 SPI外设的初始化 生成时序 一:SPI外设简介 STM32内部集成了硬件SPI收发电路&#…

远程控制中的云电脑是什么意思?1分钟学会用

很多常用我们ToDesk远程控制的朋友们或许会注意到无论是在PC端还是移动端中都出现有【云电脑】【来云电脑爽玩-新用户免费1小时】这些词句等信息。那么这究竟是代表什么意思呐?云电脑是什么又怎么用呐?为什么要增加云电脑?以下小编就为大家科…

网络爬虫【简介】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲视图 一、网络爬虫的定义 网络爬虫(Web Crawler),又称为网络蜘蛛、网络机器人等,是一种按照一定规则自动抓取互联网信息的程序或脚本。它…

2024华东师范大学计算机复试上机真题

2024华东师范大学计算机复试机试真题 2023华东师范大学计算机复试机试真题 2022华东师范大学计算机复试机试真题 2024华东师范大学计算机复试上机真题 2023华东师范大学计算机复试上机真题 2022华东师范大学计算机复试上机真题 在线评测:传动门:pgcode…

14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包 这些是 pandas 在底层使用的各种读写包。无须安装 pandas,直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题,只在 pandas 没有提供你所需要的功能时才用到读写包。 表中没有 xlwings ,因为…

Python数据分析之数据可视化

Python 数据分析重点知识点 本系列不同其他的知识点讲解,力求通过例子让新同学学习用法,帮助老同学快速回忆知识点 可视化系列: Python基础数据分析工具数据处理与分析数据可视化机器学习基础 四、数据可视化 图表类型与选择 根据数据特…

1、操作系统引论

一、操作系统 会使用linux系统 建议大家先学会linux的基础指令,可以看菜鸟教程网站进行学习。 1、各种定义 操作系统定义 管理计算机的 硬件 和软件资源, 能对各类作业进行调度,方便用户使用计算机的程序集合。操作系统运行在内核态&#xf…

HarmonyOS NEXT - 网络请求问题(http)

HTTP(HyperText Transfer Protocal,超文本传输协议)是一种用于传输超媒体文档(如HTML)的应用层协议,它是客户端和服务器之间通信的基础;无论是获取数据、提交表单、上传文件,HTTP都扮…

告别旧版本,功能全面升级!

小伙伴们,今天来给大家唠唠一款超经典的软件——格式工厂!相信很多人都不陌生吧?它可是早期超多人用的视频格式转换工具呢!但随着软件行业的发展,它慢慢被其他工具代替了,像万兴、小丸、AME这些新宠儿一出现…

Obsidian Copilot:打造你的专属 AI 笔记助手

Obsidian Copilot作为一款非常受欢迎的Obsidian插件,不仅极大地提升了用户的笔记管理和信息检索效率,还通过其多样化的AI功能为用户带来了前所未有的便捷体验。本文将详细介绍Obsidian Copilot的核心特点、使用方法及个人体验分享。 核心特点 Obsidian…

VPC4-通达oa-docker逃逸-shiro反序列化-hash传递-CrackMapExec喷射-历史ptt攻击-进程注入

由于本人是菜鸡,不会免杀,所有免杀的部分就直接跳过了 (hhh) 靶场地址: 链接: https://pan.baidu.com/s/1Fh1Zg79n1yjCPe6rrQ2apA 提取码: qiag 第一台ubuntu(docker逃逸,shiro反序列化) fscan扫到一…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数: 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数 也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数…

疗养院管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xf…

2024年12月CCF-GESP编程能力等级认证C++编程四级真题解析

四级真题的难度: 一、总体难度评价 CCF-GESP编程能力等级认证C++四级真题的难度通常被认为相对较高。它不仅要求考生具备扎实的C++编程基础,还需要考生掌握一定的算法和数据结构知识,以及良好的问题解决能力。 二、具体难度分析 ‌理论知识考察‌: 单选题和判断题中,会涉…