Llama-recipes 中支持的两种批处理策略

Llama-recipes 中支持两种批处理策略,用于在训练过程中将请求一起批处理。具体来说,这两种策略分别是 packingpadding,它们各有优缺点,并适用于不同的训练数据情况和需求。

批处理策略概述

批处理策略 是在训练过程中将多个样本组合成一个批次,以便更有效地利用计算资源。Llama-recipes 支持两种主要的批处理策略:

  1. Packing(打包)策略
  2. Padding(填充)策略

1. Packing(打包)策略

概述
  • 打包策略 将多个标记化的样本连接成一个长序列,填满模型的上下文长度。
  • 效率:这是计算最有效的变体,因为它避免了任何填充(padding),所有序列的长度相同。
  • 处理方式:样本在上下文长度边界处被截断,截断后的剩余部分作为下一个长序列的开头。
优点
  • 计算效率高:因为不需要填充,每个标记都对计算有贡献。
  • 没有浪费:所有序列的长度相同,避免了由于填充导致的计算资源浪费。
缺点
  • 引入噪声:如果训练数据量小,这种方法可能引入大量噪声,因为截断样本的部分可能与下一个样本的开头内容不相关。
  • 影响性能:这种噪声可能会损害微调模型的预测性能。

2. Padding(填充)策略

概述
  • 填充策略 不会因截断序列而引入额外的噪声。
  • 处理方式:通过将长度相似的样本分组在一起,尽量减少填充量。
优点
  • 减少噪声:避免了由于截断序列而引入的额外噪声。
  • 更适合小数据集:对小数据集更加友好,因为它不引入不相关的序列部分。
缺点
  • 效率损失:由于填充的存在,计算效率比打包策略低,因为某些位置的填充值不对模型训练产生直接贡献。

批处理策略选择

  • 命令行参数:可以通过命令行参数 --batching_strategy [packing]/[padding] 来选择批处理策略。
    • 使用 --batching_strategy packing 选择打包策略。
    • 使用 --batching_strategy padding 选择填充策略。

总结

  • 打包策略:适用于大规模训练数据,能够充分利用计算资源,避免填充浪费,但可能引入噪声。
  • 填充策略:适用于小规模训练数据,避免了噪声的引入,通过分组长度相似的样本来减少填充,保持较高的数据质量,但计算效率相对较低。

根据训练数据的规模和质量需求,选择合适的批处理策略,可以在效率和模型性能之间取得平衡。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值