<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Tag &#187; Autograd</title>
	<atom:link href="http://shiyanjun.cn/archives/tag/autograd/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>理解 PyTorch 分布式 Autograd 设计</title>
		<link>http://shiyanjun.cn/archives/2554.html</link>
		<comments>http://shiyanjun.cn/archives/2554.html#comments</comments>
		<pubDate>Mon, 12 Feb 2024 10:13:15 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[PyTorch]]></category>
		<category><![CDATA[人工智能]]></category>
		<category><![CDATA[Autograd]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=2554</guid>
		<description><![CDATA[<p>Autograd 是一个反向自动微分系统（或梯度计算引擎），基于记录所有的操作来构建一个有向无环图——Autograd 计算图，其中叶子节点是输入 Tensor，根节点 root 是输出 Tensor，通过跟踪图中从根节点 root 到叶子节点的路径上的操作，能够自动地计算出梯度。
在 PyTorch 中，模型训练的每一轮迭代，都会创建对应的 Autograd 计算图：在前向传播阶段动态地创建 Autograd 计算图，在反向传播阶段根据 Autograd 计算图来进行梯度的计算。
构建分布式 Autograd 计算图
对于分布式模型训练环境下，需要在各个节点（主机）之间进行大量的 RPC 调用，统一协调各个过程来完成模型的训练。PyTorch 实现的分布式 Autograd，在前向传播过程中构建 Autograd 计算图，并且基于 Autograd 计算图在反向传播过程中计算梯度。在前向传播过程中，PyTorch 持续跟踪各个 RPC 调用的情况，必须确保在反向传播过程中计算是正确的，所以 PyTorch 在实现过程中使用了 send、recv 这一对函数来进行跟踪，当执行 RPC 调用时将 send 和 recv 绑定到 Autograd 计算图上。

send 函数被绑定到 RPC </p>]]></description>
	<p>Autograd 是一个反向自动微分系统（或梯度计算引擎），基于记录所有的操作来构建一个有向无环图——Autograd 计算图，其中叶子节点是输入 Tensor，根节点 root 是输出 Tensor，通过跟踪图中从根节点 root 到叶子节点的路径上的操作，能够自动地计算出梯度。
在 PyTorch 中，模型训练的每一轮迭代，都会创建对应的 Autograd 计算图：在前向传播阶段动态地创建 Autograd 计算图，在反向传播阶段根据 Autograd 计算图来进行梯度的计算。
构建分布式 Autograd 计算图
对于分布式模型训练环境下，需要在各个节点（主机）之间进行大量的 RPC 调用，统一协调各个过程来完成模型的训练。PyTorch 实现的分布式 Autograd，在前向传播过程中构建 Autograd 计算图，并且基于 Autograd 计算图在反向传播过程中计算梯度。在前向传播过程中，PyTorch 持续跟踪各个 RPC 调用的情况，必须确保在反向传播过程中计算是正确的，所以 PyTorch 在实现过程中使用了 send、recv 这一对函数来进行跟踪，当执行 RPC 调用时将 send 和 recv 绑定到 Autograd 计算图上。

send 函数被绑定到 RPC </p>			<content:encoded><![CDATA[<p>Autograd 是一个反向自动微分系统（或梯度计算引擎），基于记录所有的操作来构建一个有向无环图——Autograd 计算图，其中叶子节点是输入 Tensor，根节点 root 是输出 Tensor，通过跟踪图中从根节点 root 到叶子节点的路径上的操作，能够自动地计算出梯度。
在 PyTorch 中，模型训练的每一轮迭代，都会创建对应的 Autograd 计算图：在前向传播阶段动态地创建 Autograd 计算图，在反向传播阶段根据 Autograd 计算图来进行梯度的计算。
构建分布式 Autograd 计算图
对于分布式模型训练环境下，需要在各个节点（主机）之间进行大量的 RPC 调用，统一协调各个过程来完成模型的训练。PyTorch 实现的分布式 Autograd，在前向传播过程中构建 Autograd 计算图，并且基于 Autograd 计算图在反向传播过程中计算梯度。在前向传播过程中，PyTorch 持续跟踪各个 RPC 调用的情况，必须确保在反向传播过程中计算是正确的，所以 PyTorch 在实现过程中使用了 send、recv 这一对函数来进行跟踪，当执行 RPC 调用时将 send 和 recv 绑定到 Autograd 计算图上。

send 函数被绑定到 RPC </p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/2554.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
