当前位置:   article > 正文

大语言模型占显存的计算和优化_大语言模型对于显卡显存

大语言模型对于显卡显存

可以优化的地方:

per_device_train_batch_size(相当于batch size,越小显存占的越小)

gradient_accumulation_steps(per_device_train_batch_size*gradient_accumulation_steps=计算梯度的数据数)

gradient_checkpointing(前项激活值里面有很多是不需要存的,可以在反向传播再次计算的)

optim(可以改为adafactor)

冻结参数(只训练下游任务的参数)

将max_length减小

参考代码:

  1. train_args = TrainingArguments(output_dir="./checkpoints", # 输出文件夹
  2. per_device_train_batch_size=1, # 训练时的batch_size
  3. gradient_accumulation_steps=32, # *** 梯度累加 ***
  4. gradient_checkpointing=True, # *** 梯度检查点 *** 前项激活值里面有很多是不需要存的,可以在反向传播再次计算的
  5. optim="adafactor", # *** adafactor优化器 ***
  6. per_device_eval_batch_size=1, # 验证时的batch_size
  7. num_train_epochs=1, # 训练轮数
  8. logging_steps=10, # log 打印的频率
  9. evaluation_strategy="epoch", # 评估策略
  10. save_strategy="epoch", # 保存策略
  11. save_total_limit=3, # 最大保存数
  12. learning_rate=2e-5, # 学习率
  13. weight_decay=0.01, # weight_decay
  14. metric_for_best_model="f1", # 设定评估指标
  15. load_best_model_at_end=True) # 训练完成后加载最优模型
  1. for name, param in model.bert.named_parameters():
  2. param.requires_grad = False
tokenized_examples = tokenizer(examples["review"], max_length=32, truncation=True, padding="max_length")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/983653
推荐阅读
相关标签
  

闽ICP备14008679号