大语言模型占显存的计算和优化

可以优化的地方:

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

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

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

optim(可以改为adafactor)

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

将max_length减小

参考代码:

复制代码
train_args = TrainingArguments(output_dir="./checkpoints",      # 输出文件夹
                               per_device_train_batch_size=1,   # 训练时的batch_size
                               gradient_accumulation_steps=32,  # *** 梯度累加 ***
                               gradient_checkpointing=True,     # *** 梯度检查点 *** 前项激活值里面有很多是不需要存的,可以在反向传播再次计算的
                               optim="adafactor",               # *** adafactor优化器 *** 
                               per_device_eval_batch_size=1,    # 验证时的batch_size
                               num_train_epochs=1,              # 训练轮数
                               logging_steps=10,                # log 打印的频率
                               evaluation_strategy="epoch",     # 评估策略
                               save_strategy="epoch",           # 保存策略
                               save_total_limit=3,              # 最大保存数
                               learning_rate=2e-5,              # 学习率
                               weight_decay=0.01,               # weight_decay
                               metric_for_best_model="f1",      # 设定评估指标
                               load_best_model_at_end=True)     # 训练完成后加载最优模型

for name, param in model.bert.named_parameters():
    param.requires_grad = False

tokenized_examples = tokenizer(examples["review"], max_length=32, truncation=True, padding="max_length")
相关推荐
专注VB编程开发20年23 分钟前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
深小乐33 分钟前
Claude Fable5 尝鲜,效果挺不错
人工智能
Nayxxu38 分钟前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
冬奇Lab41 分钟前
真正的 AI-Native Workflow 是什么?——四个判断测试
人工智能·agent
冬奇Lab1 小时前
每日一个开源项目(第128篇):Agent Skills - 给 AI 编程 Agent 装上工程纪律
人工智能·开源·资讯
Deepoch1 小时前
Deepoc VLA开发板:采摘机器人的环境鲁棒作业与不确定性应对
人工智能·机器人·采摘机器人·deepoc
云栖梦泽在2 小时前
AI安全专项:AI人脸识别的安全风险与防护
人工智能·安全
欧阳天羲2 小时前
【开源资料】AI激光灭蚊机器人|YOLOv8数据集标注模板+完整训练配置文件一键拿走(适配ESP32-S3/树莓派双版本)
人工智能·机器人·开源
Dust-Chasing2 小时前
Claude Code源码剖析 - Claude Code 上下文压缩机制
人工智能·python·ai