news 2026/5/9 15:11:23

CANN/tensorflow NPUOptimizer构造函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/tensorflow NPUOptimizer构造函数

NPUOptimizer构造函数

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

功能说明

NPUOptimizer类的构造函数,该优化器将NPUDistributedOptimizer和NPULossScaleOptimizer优化器合并。主要提供如下功能:

  • Loss Scaling:支持在混合精度训练中使能Loss Scaling,从而解决由于float16表示范围较小导致的下溢出问题。
  • 分布式训练:包装用户提供的单机训练优化器,构造NPU分布式训练优化器,支持单机单卡、单机多卡、多机多卡等组网形式下,各个Device之间计算梯度后执行梯度聚合操作。
  • 通信拖尾优化:通过计算依赖关系的改变,将不依赖于最后一个AR(梯度聚合分片)的计算操作调度到和最后一个AR并行进行,以达到优化通信拖尾时间的目的。

函数原型

class NPUOptimizer(tf.train.Optimizer): def __init__(self, opt, loss_scale_manager=None, is_distributed=False, is_loss_scale=False, is_tailing_optimization=False, name=None)

参数说明

参数名输入/输出描述
opt输入用于梯度计算和更新权重的单机版训练优化器。
loss_scale_manager输入仅当is_loss_scale为True,开启Loss Scaling功能时需要配置该参数,用于决定Loss Scale的更新方式,包括静态更新和动态更新。
- 用户在创建NPUOptimizer之前,可以实例化一个FixedLossScaleManager类进行静态Loss Scale的配置(Loss Scale值固定,用户需指定Loss Scale值)。FixedLossScaleManager类的构造函数,请参见FixedLossScaleManager构造函数。
- 用户在创建NPUOptimizer之前,可以实例化一个ExponentialUpdateLossScaleManager类进行动态Loss Scale的配置。ExponentialUpdateLossScaleManager类的构造函数,请参见ExponentialUpdateLossScaleManager构造函数。
is_distributed输入是否开启分布式训练,取值:
- True:开启。
- False(默认值):不开启。
is_loss_scale输入是否开启Loss Scaling,取值:
- True:开启Loss Scaling。使用自动混合精度功能后,推荐开启,此时loss_scale_manager的值不能为None。
- False(默认值):不开启Loss Scaling。
is_tailing_optimization输入是否开启通信拖尾优化,用于提升训练性能,该功能仅在is_distributed为True的情况下配置生效。
- True:开启通信拖尾。
- False(默认值):不开启通信拖尾。
必须和NPURunConfig构造函数中的配置值保持一致。
name输入优化器名称。

返回值

返回NPUOptimizer类对象。

调用示例

import tensorflow as tf from npu_bridge.npu_init import * #定义单机优化器 optimizer = LAMBOptimizer( learning_rate=learning_rate, weight_decay_rate=0.01, beta_1=0.9, beta_2=0.999, epsilon=1e-6, exclude_from_weight_decay=["LayerNorm", "layer_norm", "bias"]) #使能Loss Scaling if tf.flags.FLAGS.npu_bert_loss_scale not in [None, -1]: if tf.flags.FLAGS.npu_bert_loss_scale == 0: loss_scale_manager = ExponentialUpdateLossScaleManager(init_loss_scale=tf.flags.FLAGS.init_loss_scale_value, incr_every_n_steps=1000, decr_every_n_nan_or_inf=2, decr_ratio=0.5) elif tf.flags.FLAGS.npu_bert_loss_scale >= 1: loss_scale_manager = FixedLossScaleManager(loss_scale=tf.flags.FLAGS.npu_bert_loss_scale) else: raise ValueError("Invalid loss scale: %d" % tf.flags.FLAGS.npu_bert_loss_scale) optimizer = NPUOptimizer(optimizer, loss_scale_manager, is_distributed=tf.flags.FLAGS.distributed, is_loss_scale=True, is_tailing_optimization=True) #不使能loss_scale else: optimizer = NPUOptimizer(optimizer, is_distributed=tf.flags.FLAGS.distributed)

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 15:07:26

CANN/hcomm AI CPU任务编排指南

任务编排 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 编排步骤 参与集合通信的各个rank协调有序地进行同步与数据搬运&am…

作者头像 李华
网站建设 2026/5/9 15:07:03

CANNBot LongCat-Flash AFD通信计算重叠案例

案例:LongCat-Flash AFD 通信计算 overlap 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 概述 这个案例…

作者头像 李华
网站建设 2026/5/9 15:03:30

CANN/pypto累乘函数prod

# pypto.prod 【免费下载链接】pypto PyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训…

作者头像 李华
网站建设 2026/5/9 15:00:31

CANN/cann-recipes-infer Qwen3-MoE模型NPU推理

Qwen3-MoE模型在NPU实现低时延推理 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 概述 Qwen3-MoE模型是2025年开源的…

作者头像 李华
网站建设 2026/5/9 14:58:19

Git switch:专为安全分支切换设计的现代命令

1. 为什么今天还要专门讲git switch?——一个被低估的日常高频操作Git 分支切换,听起来像呼吸一样自然,但恰恰是这种“太熟了”的操作,最容易在真实项目里翻车。我带过六七个不同规模的开发团队,从十人初创到百人产研中…

作者头像 李华
网站建设 2026/5/9 14:49:53

AI赋能DAB变换器:基于XGBoost与PSO实现全开关ZVS的混合调制策略

1. 项目概述:当AI遇见电力电子,如何让DAB变换器“全开关软着陆”?在数据中心、电动汽车充电桩或者光伏储能系统里,你总能找到一个默默无闻但至关重要的“能量搬运工”——隔离型DC-DC变换器。它的任务是把电能从一个电压等级&…

作者头像 李华