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

可以优化的地方:

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")
相关推荐
黎阳之光8 小时前
黎阳之光:视频孪生智慧厂网一体化解决方案|污水处理全场景智能化升级
大数据·人工智能·物联网·安全·数字孪生
Omics Pro8 小时前
填补蛋白质组深度学习预处理教学空白
人工智能·python·深度学习·plotly·numpy·pandas·scikit-learn
JavaPub-rodert8 小时前
Codex + cc-switch + GPT-5.5 国内使用教程:从注册 API 到接入 VS Code / Cursor,一篇讲清楚
人工智能·gpt·开源·codex·ccswitch
AI技术控8 小时前
RAG 怎么做 Query 改写?从工程实践看检索增强生成的第一道关键关卡
人工智能·语言模型·自然语言处理·oracle·nlp
解局易否结局8 小时前
ops-transformer 的 FlashAttention:给昇腾NPU 配了个“高效厨房“
人工智能·深度学习·transformer
前端小蜗8 小时前
转生到 AI 时代,我不再相信一键生成代码的传说
前端·人工智能·架构
DS小龙哥8 小时前
基于ESP32+非接触式微波雷达设计的睡眠监控系统
大数据·人工智能
东湖山上8 小时前
GTAC: A Generative Transformer for Approximate Circuits
服务器·人工智能·深度学习·transformer·gpu算力
甲维斯8 小时前
Antigravity新系列初体验,Codex直呼内行!
人工智能·agent
陆业聪8 小时前
DNS优化实战:从运营商DNS到HttpDNS的进化之路
人工智能·aigc·职业发展