如何微调:关注有效的数据集!

2024-09-13  本文已影响0人  JavaEdge

如何微调:关注有效的数据集

本文关于适应开源大型语言模型(LLMs)系列博客的第三篇文章。在这篇文章中,我们将探讨一些用于策划高质量训练数据集的经验法则。

1 介绍

微调LLMs是一门艺术与科学的结合,该领域的最佳实践仍在不断发展中。在本篇博文中,我们将突出微调的设计变量,并给出我们迄今为止所见的最佳实践的方向性指导,以在资源受限的情况下微调模型。我们建议使用下面的信息作为制定微调实验策略的起点。

2 全量微调 V.S 参数高效微调(PEFT)

都显示出在应用于新领域时改进了下游性能,无论在学术环境中还是在实际设置。选择哪种取决于:

2.1 全量微调

更可能遭受两个问题:

如该系列的第一部分所述,灾难性遗忘导致模型失去其能力。一些早期经验研究表明,全量微调比PEFT更易出现上述问题,尽管还需要进一步研究。

2.2 PEFT技术

设计上作为微调的自然正则化器。PEFT通常需要相对较少的计算资源来训练下游模型,且对于数据集大小有限的资源受限场景更适用。

2.3 小结

某些情况下,全量微调在感兴趣的特定任务上表现更好,通常是牺牲了模型的一些原有能力。这种“学习-遗忘”的权衡在LoRA和全量微调之间的比较论文中进行了深入探讨在此论文中。

考虑到资源限制,PEFT技术可能比全量微调提供更好的性能提升/成本比率。如果在资源受限的情况下,下游性能至关重要,那么全量微调将是更有效的。无论在哪种情况下,关键在于创建高质量的数据集,同时牢记以下主要原则。

3 数据集策划

在文献中的微调实验中,数据集对于充分利用微调至关重要。这不仅仅是“质量更高和更多样例”的问题,你可以智能地投资于数据收集以提高资源受限微调实验的表现。

3.1 数据质量和数量

① 质量至上

总体趋势是质量比数量更重要—即最好拥有一小套高质量数据,而非一大套低质量数据。质量的关键原则包括一致的标注、无错误、未标记的数据、噪声输入/输出以及与总体相比具有代表性分布。

微调时,LIMA数据集中的几千个精心挑选的例子比5万个机器生成的Alpaca数据集表现更好。OpenAI微调文档建议,即使是50到100个样例的数据集也可能有所作为。

② 较难的语言任务需要更多数据

相对较难的任务,如文本生成和摘要,比简单的任务如分类和实体提取更难微调,且需要更多的数据。“较难”可指多种情况:输出中的更多标记、所需的人类能力等级更高、多个正确答案。

③ 高效高质量数据收集

由于数据收集昂贵,建议以下策略以提高样本效率和降低成本:

3.2 数据多样性

简单来说,如果你过度训练模型以产生某种特定类型的响应,则即使这不是最合适的答案,模型也会偏向于给出那种响应。这里的经验法则是尽可能确保训练数据反映模型在现实世界中的行为方式。

4 基于LLM的数据管道

为了策划高质量多样化的数据集,数据管道经常使用LLM来减少标注成本。实践中观察到的技术:

5 调试你的数据集

6 结论

微调是LLMs开发的重要组成部分,需要在资源限制下取得微妙的权衡!

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
  • LLM Agent应用开发
  • 区块链应用开发
  • 大数据开发挖掘经验
  • 推荐系统项目

目前主攻市级软件项目设计、构建服务全社会的应用系统。

参考:

本文由博客一文多发平台 OpenWrite 发布!

上一篇 下一篇

猜你喜欢

热点阅读