batch_size参数设置

本文介绍了Batch_size的概念及其对模型训练的影响,包括内存利用率、迭代次数、下降方向准确性等方面,并探讨了不同Batch_size的选择策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Batch_size:

定义:一次性读入多少批量的图片,不是样本。
Full Batch Learning:Batch_size=数据集大小,适用于小数据集。
Mini-batches Learning:Batch_size= N(自己设定),适用于大数据集。
Online Learning(在线学习):Batch_size=1,

如何选择Batch_size?

A:一定范围内增大Batch_size:
1、 提高了内存的利用率,大矩阵乘法的并行化效率提高
2、 跑完一次epoch所需要的迭代次数减少,相同数据量的数据处理速度加快。
3、 Batch_size越大下降方向越准,引起的训练震荡越小。
4、 缺点:内存溢出、训练时间增加、收敛缓慢、局部最优,泛化性差
          B:Batch_size过小:修正方向以各自样本的梯度方向修正难以达到收敛。

总结:
     首先根据显存大小选择Batch_size;其次根据自己的实际情况调整Batch_size,调参重在“调”,根据实际情况选择合适的参数。设置好Batch_size后,每一次epoch记得shuffle一次,不要让网络通过相同的minibach。

### 设置 `batch_size` 参数的重要性 在深度学习模型训练过程中,`batch_size` 是一个至关重要的超参数。它决定了每次迭代中使用的样本数量。较小的批量可以提供更频繁的权重更新,从而可能更快地收敛;而较大的批量则能更好地利用硬件加速器(如GPU),提高计算效率[^1]。 对于 vLLM 这样的大型语言模型框架,在配置或训练过程中正确设置 `batch_size` 对于性能至关重要。具体来说: - **内存占用**:更大的批处理大小会增加显存需求,因此需要根据可用资源调整此值。 - **梯度估计稳定性**:较大批次通常给出更加稳定的梯度估计,有助于稳定训练过程。 - **并行化程度**:适当增大 `batch_size` 可以充分利用多核 CPU 或多个 GPU 的优势来加快训练速度。 ### 如何在 vLLM 中设置 `batch_size` 为了在 vLLM 配置文件或训练脚本里指定 `batch_size` ,可以通过修改相应的 JSON 文件中的 `"train"` 字段下的 `"batch_size"` 键值对实现这一点。下面是一个简单的 Python 脚本示例展示如何通过命令行接口传递该参数给 vLLM 训练流程: ```python import argparse from transformers import Trainer, TrainingArguments def main(): parser = argparse.ArgumentParser() parser.add_argument('--batch-size', type=int, default=8, help='Batch size for training') args = parser.parse_args() training_args = TrainingArguments( output_dir='./results', per_device_train_batch_size=args.batch_size, ... ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset ) trainer.train() if __name__ == '__main__': main() ``` 上述代码片段展示了如何定义一个接受命令行输入作为 `batch_size` 值的方式,并将其应用于 Hugging Face Transformers 库中的 `Trainer` 类实例创建时所必需的 `TrainingArguments` 对象之中。 请注意实际应用时还需要考虑其他因素比如数据集规模、目标硬件平台特性以及预期的学习率调度策略等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值