当前位置: 首页 > 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()

http://www.dtcms.com/a/71072.html

相关文章:

  • 【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(远程一对多)的区别是什么?
  • 【蓝桥杯】省赛:连连看(暴力 非AC)
  • 浅析Redis分布式锁的实现方法
  • 使用OpenAI Python库探索新一代AI接口:从基础到智能体开发
  • 文本组件+Image组件+图集
  • 数学复习(8)连续性
  • STM32F407ZGT6--工程模版
  • 10.2linux内核定时器实验(详细编程)_csdn
  • Windows环境下安装部署dzzoffice+onlyoffice的私有网盘和在线协同系统
  • 【USTC 计算机网络】第一章:计算机网络概述 - Internet、网络边缘、网络核心、接入网与物理媒体
  • 基于变分推理与 Best‑of‑N 策略的元 Prompt 自动生成与优化框架