当前位置: 首页 > news >正文

浅谈AI落地之-加速训练

前言

曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰!

混合精度:

FL32是目前模型存储数据一个比较普遍的格式。有时候过于浪费,根本用不着那么多。所以如果有一种方法能动态调整存储数据的大小,就能节省不少显存占用,从来提高批次大小,加速学习。

混合精度简单简单的来说,就是用FL16+FL32来代替原来的清一色FL32数据。具体实现是,在初始化好scaler以后,在遍历批次中的数据的时候,使用autocast自动对前向传播和损失处理混合精度。然后再使用梯度缩放器来缩放损失,并反向传播。

from torch.cuda.amp import GradScaler, autocast

scaler = GradScaler()
# 使用autocast自动处理混合精度
with autocast():
    out = model(**data)  # 前向传播
    loss = out['loss']  # 获取损失
# 使用梯度缩放器来缩放损失,并反向传播
optimizer.zero_grad()
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()

相关文章:

  • 【Unity3d】角色穿墙问题
  • C# --- LINQ
  • 【鸿蒙】封装日志工具类 ohos.hilog打印日志
  • 3.6、数字签名
  • 模拟String基本函数/深浅拷贝/柔性数组
  • Redis 详解
  • Spring @Bean注解使用场景二
  • HOT100——链表篇Leetcode234. 回文链表
  • Harmony OS NEXT API 12核心API深度解析与开发实践
  • python基础
  • SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器
  • 软考教材重点内容 信息安全工程师 第19章 操作系统安全保护
  • 【JavaScript】10-深入面向对象
  • [设计模式]1_设计模式概览
  • NRBO-Transformer牛顿-拉夫逊算法优化编码器多变量时间序列预测(Matlab实现)
  • Maximize Rating
  • Git使用和原理(3)
  • 从0到1构建AI深度学习视频分析系统--基于YOLO 目标检测的动作序列检查系统:(2)消息队列与消息中间件
  • 2025-03-15 学习记录--C/C++-PTA 习题3-3 出租车计价
  • Thinkphp的belongsToMany(多对多) 和 hasManyThrough(远程一对多)的区别是什么?
  • 外企聊营商|上海仲裁:化解跨国企业纠纷的“上海路径”
  • 特朗普政府涉税改法案遭众议院预算委员会否决
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 上海老字号卖黄金,与动漫IP联名两周销售额近亿元
  • 2025年“新时代网络文明公益广告”征集展示活动在沪启动
  • A股三大股指低收:汽车股领涨,大金融走弱,两市成交近1.1万亿元