0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大模型微调数据选择和构造技巧

深度学习自然语言处理 来源:深度学习自然语言处理 2023-12-20 14:39 次阅读

大模型场景微调里面,最关键地的一个是问题是:

选择什么样的数据微调?

大的方向上大家都能把握,大概无非是要注意数据的多样性,要注意数据的质量,那在实践中有哪些技巧呢?

比如我们会经常遇到下面几种情况:

1.数据要不要都去标注,标的比较慢咋办?

2.我已经有一批标好的数据了,再去选哪些数据送标注比较好?

3.能不能总结出一套数据构造方面自动化的方法?

其实在大模型之前,就有很多人研究过这样的问题。在做一个模型时候,比如简单的文本分类,我不可能一股脑把所有数据都扔给标注,这样干存在一个问题,一般情况下我们数据的分布都是符合一个长尾分布的。主要的几个类别数据占据了90%的数据量,剩下的90%的类别只有10%的数据量。

比如小红书上,query的意图识别里,美食,穿搭,旅游攻略类非常多,但是还有一些同学去搜大模型微调的数据技巧。

如果说我们直接采样一批线上的图文文本,直接送给标注的话,会存在一个严重的问题:他们标注的数据大部分都是攻略类,技术类比较少,标了3个月才攒了几千条大模型技术文本,但是攻略类已经成几万了。

这样搞肯定是不行的,人力成本方面的消耗是在是太大了,并且模型因为数据平衡的问题也没有特别好,我们有没有办法去优化这个过程呢?

在大模型微调里面对应的生成小红书文案场景,同样的问题也是爬来的数据就可以直接用吗?

大家都有个直观的答案,就是去重,那我们再考虑模型上数据的迭代呢?如果数据是分阶段爬去的怎么办?已经有一批人工处理的的高质量数据怎么办?

但其实从监督学习的演进来看,这套东西其实已经被研究的很多了,用一个技术名词叫 “主动学习”。

主动学习有两个基本原则,在监督训练的时候,注意主动发现数据的两个方面,一个是数据多样性,另外一个是数据的不确定性。这样讲是比较抽象的概念,那我们在大模型实践中如何体现呢?

第一,数据的多样性。

多样性即为数据的去重,去重这件事的核心是相似度度量,现在的相似度度量方法大家用的比较多的是基于对比学习构造的语义向量这套思路,当然简单的基于词袋或者tfidf的方案也是可以的。有了核心的相似度度量方法后,我们可以使用简单的onepass聚类方法进行过滤,考虑复杂一点的话,我们可以使用带优化目标的聚类:比如K-Center-Greedy算法,其约束条件是在最大化多样性的情况下,使指令数据集最小。

bda740f4-9ef9-11ee-8b88-92fbcf53809c.png

另外,如果我们已经有了一批已经去重的人工处理过的高质量数据,那么我们如何寻找与这批数据不一样的数据呢?

这里有一个非常简单实用的方案,并且这个方案可以用在很多其他的地方。

我们简单地把已有的数据全部当成正样本打上1,然后待筛选的数据全部当成负样本打上0,我们使用deberta等构建二分类模型,并进行K-fold的交叉验证,在交叉验证过程中,选出每一个fold过程中的测试集合里概率接近于0的样本。

通过这样的操作,就能把长得与已有数据不一样的数据给选出来了,并且这个过程是半监督的。

套方案也可以用在很多其他地方,比如数据质量选择,只要我们有一批已经确定标签/结果/标注的种子数据,就能通过这样的方法选出与种子数据长得比较像的,长得不像的。

第二,数据的不确定性。

数据的不确定性主要体现数据的质量筛选上,选取模型学的不那好的数据,模型没有把握的数据。

最简单的,我们可以选出模型对应PPL值比较差的那批数据。如果是指令数据的话,比如大模型做题和对应的答案。我们可以把所有选项对应的概率之和计算出来,然后过滤出概率和比较低的那一批数据,这批数据就是模型“不太肯定”的样本,我们需要加强针对性的训练。

当然这样可能有一个副作用,就是这批数据是质量比较差而不是模型学的不太好的。

为此,我们还要借助reward model,这个reward model是广义的,他是一个质量的二分类模型。可以祭出我们的deberta,继续用标注数据进行做二分类,进行数据质量的判断。

有了质量打分模型后,我们就可以判断一些指令数据的质量高低,并且据此选出模型真正不确定的数据。

这个过程类似于手动的拒绝采样,核心是选择“模型不确定”+“数据质量达标”的那部分数据。

总结一下,监督学习中主动学习的两个基本原则是寻找多样性的数据,模型不确定性的数据,在寻找的过程中,我们使用了一些小技巧,比如聚类去重,对抗半监督过滤,自建reward二分类等方法。这几个小技巧,学术上没有什么高深莫测的东西,都是实践中总结出来的好用的方法。

并且你把上面的过程串联起来,其实就是一套高效率,低成本的数据构造pipeline了,不仅可以用在大模型的数据选择和构造,在所有的监督学习上,这套思路和方法都是实适用的。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 半监督学习
    +关注

    关注

    0

    文章

    20

    浏览量

    2514
  • 大模型
    +关注

    关注

    2

    文章

    2318

    浏览量

    2460

原文标题:大模型微调数据选择和构造技巧

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种信息引导的量化后LLM微调新算法IR-QLoRA

    模型应用开卷,连一向保守的苹果,都已释放出发展端侧大模型的信号。 问题是,大语言模型(LLM)卓越的表现取决于“力大砖飞”,如何在资源有限的环境中部署大模型并保障性能,仍然颇具挑战。
    的头像 发表于 11-19 17:16 112次阅读
    一种信息引导的量化后LLM<b class='flag-5'>微调</b>新算法IR-QLoRA

    大语言模型如何开发

    大语言模型的开发是一个复杂且细致的过程,涵盖了数据准备、模型架构设计、训练、微调和部署等多个阶段。以下是对大语言模型开发步骤的介绍,由AI部
    的头像 发表于 11-04 10:14 76次阅读

    常见AI大模型的比较与选择指南

    选择AI大模型时,明确具体需求、了解模型的训练数据、计算资源要求和成本,并考虑模型的可解释性和社区支持情况等因素至关重要。以下是对常见AI
    的头像 发表于 10-23 15:36 454次阅读

    使用AI大模型进行数据分析的技巧

    使用AI大模型进行数据分析的技巧涉及多个方面,以下是一些关键的步骤和注意事项: 一、明确任务目标和需求 在使用AI大模型之前,首先要明确数据分析的任务目标,这将直接影响
    的头像 发表于 10-23 15:14 409次阅读

    NVIDIA助力提供多样、灵活的模型选择

    在本案例中,Dify 以模型中立以及开源生态的优势,为广大 AI 创新者提供丰富的模型选择。其集成的 NVIDIAAPI Catalog、NVIDIA NIM和Triton 推理服务器产品,为
    的头像 发表于 09-09 09:19 434次阅读

    chatglm2-6b在P40上做LORA微调

    背景: 目前,大模型的技术应用已经遍地开花。最快的应用方式无非是利用自有垂直领域的数据进行模型微调。chatglm2-6b在国内开源的大模型
    的头像 发表于 08-13 17:12 434次阅读
    chatglm2-6b在P40上做LORA<b class='flag-5'>微调</b>

    示波器探头补偿微调旋钮的作用

    示波器探头补偿微调旋钮是一种用于调整示波器探头性能的重要组件。 一、示波器探头补偿微调旋钮的作用 校准探头性能 示波器探头补偿微调旋钮的主要作用是校准探头的性能。由于探头在生产过程中可能存在一定
    的头像 发表于 08-09 11:31 553次阅读

    模型为什么要微调?大模型微调的原理

    难以达到最佳性能。为了提升模型在特定任务上的表现,微调(Fine-tuning)成为了一个关键步骤。本文将详细探讨大模型为什么要进行微调以及微调
    的头像 发表于 07-10 10:43 3486次阅读

    【大语言模型:原理与工程实践】大语言模型的预训练

    大语言模型的核心特点在于其庞大的参数量,这赋予了模型强大的学习容量,使其无需依赖微调即可适应各种下游任务,而更倾向于培养通用的处理能力。然而,随着学习容量的增加,对预训练数据的需求也相
    发表于 05-07 17:10

    【大语言模型:原理与工程实践】核心技术综述

    其预训练和微调,直到模型的部署和性能评估。以下是对这些技术的综述: 模型架构: LLMs通常采用深层的神经网络架构,最常见的是Transformer网络,它包含多个自注意力层,能够捕捉输入
    发表于 05-05 10:56

    基于双级优化(BLO)的消除过拟合的微调方法

    这篇论文试图解决的问题是大型预训练模型在下游任务中进行微调时出现的过拟合问题。尽管低秩适应(LoRA)及其变体通过学习低秩增量矩阵有效地减少了与完全微调方法相比的可训练参数数量。
    的头像 发表于 04-02 16:46 636次阅读
    基于双级优化(BLO)的消除过拟合的<b class='flag-5'>微调</b>方法

    模型微调开源项目全流程

    对于所有“基座”(Base)模型,–template 参数可以是 default, alpaca, vicuna 等任意值。但“对话”(Chat)模型请务必使用对应的模板。
    的头像 发表于 03-13 14:56 816次阅读
    大<b class='flag-5'>模型</b><b class='flag-5'>微调</b>开源项目全流程

    商汤科技与库醇科技达成合作 为垂域大模型构建高质量大规模的领域微调数据

    数字化转型,为垂域大模型构建高质量大规模的领域微调数据。   本次合作将基于商汤通用大模型进行二次开发,给模型注入领域知识, 训练一个专门根
    的头像 发表于 01-10 09:46 674次阅读
    商汤科技与库醇科技达成合作 为垂域大<b class='flag-5'>模型</b>构建高质量大规模的领域<b class='flag-5'>微调</b><b class='flag-5'>数据</b>

    四种微调模型的方法介绍

    微调(Full Fine-tuning):全微调是指对整个预训练模型进行微调,包括所有的模型参数。在这种方法中,预训练
    发表于 01-03 10:57 2.3w次阅读
    四种<b class='flag-5'>微调</b>大<b class='flag-5'>模型</b>的方法介绍

    一种新颖的大型语言模型知识更新微调范式

    我们使用LLAMA2-7B作为实验的基础模型。我们主要评估将旧知识更新为新知识的能力,因此模型将首先在旧知识上进行为期3个时期的微调。表1中F-Learning中设置的超参数λ分别取值为0.3、0.7、0.1和1.5。
    发表于 12-01 15:10 422次阅读
    一种新颖的大型语言<b class='flag-5'>模型</b>知识更新<b class='flag-5'>微调</b>范式