揭秘大模型微调秘籍:如何通过样本设计工程提升模型性能!

火山方舟大模型云通信

欢迎关注我的公众号“ NLP前沿 ”,日更最新论文/博客速读,周更AI领域近一周发生的那些事儿 。欢迎投稿! 行文仓促,有理解错误,欢迎指正


        
          
https://arxiv.org/pdf/2404.13033.pdf  

      

挺有意思的一篇文章,想通过实验来确定一些sft的老生常谈的问题的答案,主要验证以下问题

  1. instruction和input的位置,放在input之前,之后,或者不提供instruction
  2. sft的过程中是否要包含输入prompt的损失

picture.image

  1. 输出的设计,应该用json,还是自然语言输出,还是自然语言输出结合换行
  2. 输出是否需要占位符,比如说,想做ner,抽人名,query中没有人名,这个时候输出空,还是用啥
  3. 分类或者弄啥,输出的label用文本还是还是数字

picture.image

  1. cot 对比 不用cot 在对比 反过来cot (Rcot),先输出答案,在输出解释的效果

picture.image

结论:

  1. 指令放在前面,比放在后面,更有助于提高模型性能
  2. 不将输入部分包含在损失计算中,更有利于性能
  3. 通过换行来切分,在多个模型,任务上表现稳定,base模型喜欢更自然的方式,chat模型更能适应复杂的json格式输出
  4. 文本标签相比数值标签提供更多的描述深度和上下文线索,对性能有益。
  5. 使用占位符而不是省略未提及的目标能够保持输出格式的一致性,有助于模型学习
  6. cot推理方法对于提高模型在不熟悉的上下文(非同一领域/分布,ood)中的性能有显著帮助,尽管rcot方法的性能没有标准CoT方法好,但在许多情况下仍然优于没有推理步骤的No-CoT方法。
0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动基于 DataLeap 的 DataOps 实践
随着数字化转型的推进以及业务数仓建设不断完善,大数据开发体量及复杂性逐步上升,如何保证数据稳定、正确、持续产出成为数据开发者核心诉求,也成为平台建设面临的挑战之一。本次分享主要介绍字节对于DataOps的理解 以及 DataOps在内部业务如何落地实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论