Papers

待读论文 · 自包含完整解释

TorchGT: A Holistic System for Large-scale Graph Transformer Training

图拓扑稀疏注意力、社区重排、多 GPU 通信和 cluster-sparse kernel

本文目录 · 17 节
  1. TorchGT 串起了哪几层
  2. 要解决的问题:2 次方 attention、收敛和不规则访存
  3. 核心设计与数据流
  4. 关键机制:3 层共用同一份图结构
  5. 1. Dual-interleaved Attention:局部拓扑为主,必要时回到全连接
  6. 2. Cluster-aware Graph Parallelism:利用节点顺序可交换
  7. 3. Elastic Computation Reformation:把 irregular sparse 变成 cluster-sparse
  8. 实验设置与准确数字
  9. 准确结果:速度、规模和质量要一起看
  10. 方法贡献
  11. 局限/适用边界
  12. 与其他绿色论文的技术关系
  13. 前置背景与问题推导
  14. 完整机制、公式与变量
  15. 端到端手算与数据流
  16. 实验逐表与开销解释
  17. 复现步骤与验收边界

TorchGT 串起了哪几层

TorchGT 面向长序列、大图 Graph Transformer,同时修改算法、运行时和 kernel。图拓扑稀疏注意力减少计算,图社区重排和 all-to-all 将训练扩展到多 GPU,cluster-sparse 布局则把不规则稀疏访问整理成 GPU cache 更容易处理的形式。

要解决的问题:2 次方 attention、收敛和不规则访存

Graph Transformer 把节点当 token。标准 attention 允许任意节点对相互作用,计算和显存复杂度是 \(O(N^2)\);真实图有 1M 节点时,FlashAttention 也只能优化 IO,不能消掉 2 次方节点对。论文的 profiling 显示 attention 在不同序列长度和 3090/A100 上都占训练时间的 80% 以上(PDF 第 4 页,图 2)。

直接按邻接矩阵做 sparse attention 又有 2 个问题。第一,只看局部邻边会丢高阶或全局关系,收敛可能低于 full attention。第二,真实图的度分布和边布局很不规则,稀疏算子会大量随机访存和原子操作,理论 FLOPs 下降不等于 GPU 吞吐上升。现有 LLM sequence parallelism 也没有图结构编码和节点可重排这一前提。

长序列不是单纯追求规模。论文用 Graphormer/AMiner-CS 和 NodeFormer/Pokec 说明更长序列可提高质量:4K 相对短序列最高提升约 0.9 个百分点,100K 相对 10K 提升约 12 个百分点(PDF 第 3 页,图 1)。

核心设计与数据流

先看 1 次 Graph Transformer layer 在 TorchGT 中怎样走:

  1. 预处理阶段用 METIS 识别社区并重排节点,使同社区节点 ID 邻近,同时保留原图连接关系。
  2. 输入节点序列 S 和图结构编码 B 沿序列维分到 P 个 worker;每个 worker 先得到局部 Q_sub/K_sub/V_sub/B_sub
  3. attention 前执行 1 次 all-to-all:把完整序列维收集到本 worker,同时沿 attention head 维切分,形成 \((Q,K,V,B)\in\mathbb{R}^{S\times d/P}\)。
  4. Dual-interleaved Attention 根据局部拓扑计算稀疏 attention;不满足全局可达条件时插入 fully-connected attention,补回全局信息。
  5. Cluster-aware Graph Parallelism 按社区重新组织 attention 布局,把高局部性的节点对放近。
  6. Elastic Computation Reformation 把仍然不规则的稀疏 cluster 转成若干紧凑 sub-block;Auto Tuner 决定哪些 cluster 转、block 多大,并根据训练损失动态调整阈值。
  7. attention 输出再经 1 次 all-to-all 变回各 worker 的局部子序列,然后进入 FFN 和 layer normalization。

2 次 all-to-all 的每 GPU 通信量是 \(4Sd/P\):attention 前 \(Q,K,V\) 共 \(3Sd/P\),输出为 \(Sd/P\)。相较通信复杂度 \(O(S)\) 的 all-gather,这 1 路径按 worker 数下降为 \(O(S/P)\)(PDF 第 7 页,图 4 及 §III-C)。

关键机制:3 层共用同一份图结构

1. Dual-interleaved Attention:局部拓扑为主,必要时回到全连接

局部 pattern 只为真实边上的节点对计算 attention,把主要复杂度从 \(O(N^2)\) 降到 \(O(|\widetilde E|)\)。它不是永远稀疏:TorchGT 检查三项条件,节点能自注意、图中存在 Hamiltonian path、经过 L 层后所有节点能直接或间接互达。论文用 Dirac theorem 做快速启发式检查;条件不满足时采用 full attention(PDF 第 5-6 页,§III-B)。

这套设计的实质是把“稀疏是否影响表达力”变成运行时选择,而不是固定剪枝比例。要注意 Hamiltonian path 本身难求,论文用的是充分条件式启发检查,不是精确求解。

2. Cluster-aware Graph Parallelism:利用节点顺序可交换

语言 token 的顺序承载语义,图节点的排列通常不改变拓扑。TorchGT 利用这一差异,用 METIS 社区重排提升空间局部性,再沿 sequence/head 维进行 all-to-all。结构编码 B 与 attention map 共享稀疏布局,避免单独设计一套图编码通信(PDF 第 6-7 页,§III-C)。

3. Elastic Computation Reformation:把 irregular sparse 变成 cluster-sparse

拓扑稀疏后,非对角 cluster 仍可能形状破碎。TorchGT 把 1 个稀疏 cluster 中散落的边搬到多个紧凑 sub-block 中,以提高 L1/L2 cache hit 和连续访问。这个转换会改变边位置,因此不能无条件做。系统只转换低于阈值 β_thre 的稀疏 cluster,并让 Auto Tuner 根据 loss descent rate 动态增减阈值(PDF 第 7-8 页,图 5、图 6)。

Auto Tuner 同时选 cluster 维数 k 和 sub-block 大小 d_b。论文在 RTX 3090、hidden size 64 的例子中取 k=8, d_b=16;过小 block cache 利用不足,过大 block 又降低 warp occupancy(PDF 第 8 页,图 6)。

实验设置与准确数字

准确结果:速度、规模和质量要一起看

  1. 最高 62.7× 来自明确 workload。 单台 8×3090 上训练 GraphormerSlim/ogbn-papers100M,GP-FLASH 每 epoch 为 1201.13 s,TorchGT 为 19.15 s,速度是 62.7×;测试准确率从 90.11% 变成 96.82%。同一模型在 ogbn-products 上从 27.69 s 降到 0.54 s,即 50.8×(PDF 第 9 页,表 V)。
  2. 强 GPU 上仍有收益,但明显缩小。 单台 A100 服务器训练 GraphormerSlim/MalNet,GP-FLASH 为 668.23 s/epoch,TorchGT 为 160.61 s/epoch,提升 4.2×;其余列为 1.9-2.1×(PDF 第 9 页,表 VI)。
  3. 可训练序列长度扩大。 8 GPU 上 TorchGT 支持约 1.3M 序列长度,GP-RAW 只到 22K;单 GPU 上约 400K,对照约 8K,论文概括为 50×(PDF 第 10 页,图 9a)。
  4. 长序列吞吐没有像 dense attention 一样坍塌。 8 GPU、序列从 128K 增至 1.3M 时,GP-FLASH 从约 1.9×10^5 samples/s 降至 2.2×10^4,TorchGT 维持在约 2.5×10^6 samples/s(PDF 第 10 页,图 9b)。
  5. kernel 级收益可分离出来。 attention microbenchmark 中,cluster-sparse attention 相对 FlashAttention 最高快 103.4×;例如序列 512K 时图中标出的时间是 77.6 ms 对 8027.6 ms(PDF 第 11 页,图 12a)。
  6. 精度对比受数值精度影响。 ogbn-arxiv 上 GP-FLASH/BF16 为 0.44 s、48.25%,TorchGT/BF16 为 0.08 s、48.29%,TorchGT/FP32 为 0.11 s、53.81%;Amazon 对应为 17.31 s/63.51%、0.60 s/63.58%、1.00 s/73.10%(PDF 第 9 页,表 VII)。因此“更准”一部分来自 TorchGT 可用 FP32,不能全部归因于 attention pattern。
  7. 动态阈值确实在做速度-精度折中。 GraphormerSlim/ogbn-arxiv 中固定 β_G 得 0.368 s、53.34%,固定 10β_G 得 0.077 s、48.31%,Auto Tuner 得 0.114 s、53.81%(PDF 第 11 页,表 VIII)。
  8. 预处理不是 00% 本。 ogbn-arxiv 为 5.2 s,占总时间 5.4%;MalNet 为 239.7 s,占 2.0%(PDF 第 11 页,§IV-E)。

方法贡献

TorchGT 让同一份图结构贯穿 3 层实现:算法层决定哪些节点对需要 attention,运行时用节点可重排性和社区划分构造并行布局,kernel 再把 irregular sparse 改造成 cache 友好的 sub-block。3 个层次共用一套图属性,算法稀疏、并行切分和 kernel layout 因而不会各自为政。

另一个重要点是把质量控制放进系统。它没有假设 sparse attention 永远等价于 full attention,而是用条件检查和 loss feedback 决定何时增加 dense 信息、何时减少 cluster 转换。

局限/适用边界

与其他绿色论文的技术关系

前置背景与问题推导

Graph Transformer 把图中每个节点当成 1 个 token。给定节点表示矩阵 \(H\),标准多头注意力为:

\[ Q=HW_Q,\qquad K=HW_K,\qquad V=HW_V,\qquad A=\operatorname{softmax}\!\left(\frac{QK^\top}{\sqrt d}+B\right),\qquad AV. \]

节点数为 \(N\) 时,\(QK^\top\) 包含 \(N^2\) 个节点对,计算和中间注意力显存都是 \(O(N^2)\)。FlashAttention 能让这些节点对更少往返显存,却没有减少节点对总数;真实图达到 1M 节点时,密集矩阵仍不可承受。论文 profiling 在 RTX 3090 和 A100、不同序列长度上都观察到 attention 占训练时间 80% 以上,所以只优化数据加载或前馈层不会解决主瓶颈。

直接把邻接矩阵当 attention mask 也不够。局部边数通常远小于 N 平方,计算可降到与扩展边集大小近似线性;但只沿一跳边传播会让远距离节点需要很多层才能交流,图不连通或层数不足时还可能永远互不可达。另一方面,真实图度分布长尾,边在稀疏矩阵中散乱,GPU warp 访问不连续、原子操作多,理论浮点数减少并不自动变成吞吐。TorchGT 因此同时处理三件事:算法层决定何时稀疏仍保表达力,运行时按社区重排并行布局,kernel 层把不规则边重组成 cache 友好的小块。

长序列本身还影响模型质量,而非单纯规模炫技。论文用 Graphormer 在 AMiner-CS 和 NodeFormer 在 Pokec 上观察到,4000 节点相对更短序列最高约提升 0.9 个百分点,100K 节点相对 10K 节点最高约提升 12 个百分点。系统若只能切成许多互不相见的小子图,就可能丢掉这种长范围信息。目标因此不是“最快的局部 GNN”,而是在 1M 级节点序列上维持 Graph Transformer 的全局建模能力、可训练显存和实际 GPU 效率。

完整机制、公式与变量

Dual-interleaved Attention 以拓扑局部 pattern 为主,并在不能保证信息传播时插入 fully-connected attention。局部模式要求节点可自注意,图中存在可贯穿节点的路径,并保证经过 \(L\) 层后任意节点能直接或间接收到其他节点信息。Hamiltonian path 精确判断困难,系统采用 Dirac 定理相关的充分条件做快速启发检查;检查不通过就回到全连接层。这里 \(L\) 是网络 attention 层数,稀疏扩展边集记作 \(\widetilde E\),局部 attention 复杂度从 \(O(N^2)\) 变为 \(O(|\widetilde E|)\)。它不是固定稀疏率剪枝,而是把表达力风险变成运行时选择。

多卡并行先沿节点序列把 \(S\) 个节点分给 \(P\) 个 worker,每卡得到局部 \(Q\)、\(K\)、\(V\) 和结构编码 \(B\)。attention 前做 1 次 all-to-all:每卡在 sequence 维收集完整节点,同时沿 head 或 hidden 维切分到 \(d/P\),于是本卡能计算部分 attention heads 的全序列稀疏关系:

\[ \frac{3Sd}{P}+\frac{Sd}{P}=\frac{4Sd}{P}, \qquad O(S)\longrightarrow O(S/P). \]

结构编码与 attention map 共用相同稀疏布局,避免另起 1 条全图通信。

Cluster-aware Graph Parallelism 利用图节点编号可交换:先由 METIS 找社区,再把同社区节点排到相邻 ID,拓扑不变但 attention matrix 的有效边集中到对角 cluster。Elastic Computation Reformation 继续处理非对角的破碎 cluster,把散落边搬到多个紧凑 sub-block,提高 L1/L2 命中与连续访存。转换可能改变原边位置的精细语义,所以只对稀疏度低于阈值 \(\beta_{\mathrm{thre}}\) 的 cluster 执行。Auto Tuner 同时选择 cluster 维数 \(k\)、sub-block 大小 \(d_b\),并按 loss descent rate 动态调阈值;3090、hidden size 64 的示例选择 \(k=8\)、\(d_b=16\)。块过小难以利用 cache,过大又减少 warp occupancy。

端到端手算与数据流

设有 128 个节点、hidden width 64、8 个 worker。密集 attention 每层要考虑 16384 个节点对。若图扩展后只有 1024 条有效关系,局部 pattern 只计算约 16 分之 1 节点对。METIS 把 4 个社区排成连续区间后,大部分边落入 4 个对角 cluster;假设 1 个非对角 cluster 只有少量散边,reformation 将它们装入若干 16 乘 16 sub-block,kernel 可整块加载。这个算例只演示论文复杂度关系,不是论文实测数据。

进入 1 层时,每卡持有 16 个节点的 \(H\) 和对应结构片段,先本地线性映射得到 \(Q/K/V\)。第 1 次 all-to-all 后,每卡持有 128 个节点、但只有八分之一 head/hidden 通道的数据;本卡按重排后的 cluster-sparse pattern 做局部或插入的全连接 attention。每卡通信量为 \(4\times128\times64/8=4096\) 个标量,而复制完整 \(Q/K/V\) 和输出会随 \(P\) 增加。计算完成后第 2 次 all-to-all 把 head 分片还原成节点分片,各卡继续本地前馈、残差和归一化。反向传播沿相反路径走相同布局。

训练初期 loss 下降慢或结构转换导致质量受损时,Auto Tuner 应收紧可转换 cluster 的阈值,让更多关系保留原布局或使用更可靠 attention;当 loss 下降稳定且速度收益可取,再扩大转换范围。Table VIII 给出这种控制的必要性:GraphormerSlim/ogbn-arxiv 中,保守固定 \(\beta_G\) 为 0.368 秒、准确率 53.34%;激进十倍阈值为 0.077 秒、准确率仅 48.31;动态 tuner 为 0.114 秒、准确率 53.81。它接近保守质量,同时保留大部分速度。

实验逐表与开销解释

实现基于 PyTorch 2.1。节点任务包含 Amazon、ogbn-arxiv、ogbn-products、ogbn-papers100M,图任务包含 ZINC、ogbg-molpcba、MalNet;最大图有 111059956 个节点和 1615685872 条边。模型包括 4 层、hidden 64、八 head 的 GraphormerSlim,12 层、hidden 768、32 head 的 GraphormerLarge,以及 4 层、hidden 128、八 head 的 GT。基线 GP-RAW、GP-FLASH、GP-SPARSE 是作者构造的 graph parallelism 变体,并非 3 个成熟独立系统。

单台 8 张 3090 上,GraphormerSlim/ogbn-papers100M 的 GP-FLASH 每 epoch 1201.13 秒,TorchGT 19.15 秒,为 62.7×;测试准确率从 90.11%–96.82%。同模型在 ogbn-products 从 27.69 秒到 0.54 秒,为 50.8×。A100 上收益缩小:GraphormerSlim/MalNet 从 668.23 秒到 160.61 秒,为 4.2×,其余列约 1.9 到 2.1×。不同硬件的 gap 说明 baseline 在弱 GPU 和大不规则图上更容易崩溃,不能把 62.7× 当通用常数。

规模实验中,八 GPU 的 TorchGT 支持约 1.3M 序列,GP-RAW 约 22K;单 GPU 约 400K 对 8000,论文概括约 50×。八 GPU、序列从 128K 增至 1.3M 时,GP-FLASH 吞吐从约 190K samples/s 降到 22K,TorchGT 维持约 2.5M。attention microbenchmark 最高 103.4×,512K 序列时图中为 77.6 毫秒对 8027.6 毫秒。预处理并非免费:ogbn-arxiv 5.2 秒,占总时间 5.4%;MalNet 239.7 秒,占 2%。

精度必须按数值精度拆开。ogbn-arxiv 上 GP-FLASH/BF16 为 0.44 秒、48.25%,TorchGT/BF16 为 0.08 秒、48.29,TorchGT/FP32 为 0.11 秒、53.81;Amazon 对应 17.31 秒/63.51、0.6 秒/63.58、1 秒/73.1。相同 BF16 下质量几乎一致,FP32 才明显更高,所以主要表格的“更快且更准”不能全部归因于稀疏 attention。

复现步骤与验收边界

复现先固定数据预处理、节点顺序映射和 METIS seed,验证重排前后邻接与标签严格对应。再做单卡 dense、拓扑 sparse、cluster-sparse 3 种 attention 的前向和梯度对照,在小图上检查非转换区域数值一致,并记录转换区域误差。之后实现 sequence/head all-to-all,逐卡核对 \(Q/K/V/B\) shape、通信量 \(4Sd/P\) 和第 2 次交换后的节点顺序。最后接 Auto Tuner,保存每轮 loss descent、\(\beta_{\mathrm{thre}}\)、被转换 cluster 比例、epoch 时间和精度。

性能至少重现表 V、VI、VII、VIII 4 类证据:3090 与 A100 的 epoch time,BF16 同精度控制,固定与动态阈值,以及预处理占比。扩展实验要同时报告单卡与 8 卡最大序列、从 128K 到 1.3M 的吞吐曲线、通信字节和峰值显存。论文硬件描述列出 3 台 8 卡 3090、2 台 8 卡 A100,但又有 64 A100 扩展图,资源口径不完全一致;复现报告应明确实际节点数与网络,不能默认为同一 testbed。

适用边界包括图必须足够稀疏且有社区局部性;ogbn-arxiv 的 sparsity/cluster property 较弱,收益本就较小。动态图频繁改变会反复支付 METIS 和布局构造,短任务可能摊不掉预处理。reformation 不是严格保持每条边位置的无损变换,依赖 loss feedback 控制风险。语言 token 顺序不可随意交换,所以社区重排不能直接移植到普通 LLM。最终验收应证明同一图结构贯穿算法 mask、并行分片和 kernel layout,而不是分别拼装 3 个互不一致的优化。

3 个 baseline 分别隔离贡献。GP-RAW 使用原始 graph parallelism 和密集 attention,体现 2 次方计算、显存与全序列通信;GP-FLASH 把 attention 换成 FlashAttention,只减少显存往返,仍计算全部节点对;GP-SPARSE 使用拓扑稀疏,可减少浮点数,却没有社区重排和紧凑 sub-block,仍受不规则访存限制。TorchGT 相对 GP-FLASH 的差距包含稀疏算法、图并行和 kernel 3 层,相对 GP-SPARSE 才更接近运行时与布局收益。做消融时应从同一模型逐项开启局部 pattern、METIS、all-to-all、reformation、动态阈值,避免把作者构造 baseline 的弱点当作单一 kernel 加速。

Dual-interleaved 的质量逻辑也要按层追踪。局部 attention 1 层只让邻居交换信息,经过 L 层可覆盖 L 跳邻域;如果扩展图与层数让所有节点可达,就不必每层密集连接。若检查不满足,插入 fully-connected layer 提供 1 次全局混合,再回到稀疏层。自注意边保证节点自身特征不会因稀疏 mask 丢失,连通路径保证消息不会困在孤立社区。Dirac 条件只是易检查的充分条件,失败不代表图 1 定没有 Hamiltonian path,只表示系统选择保守 dense 回退;因此实际密集层比例也是重要性能指标。

社区重排只改变存储顺序,不改变图同构。必须同时置换节点特征、标签、邻接两端索引和结构编码 B,并在输出评测前用逆置换恢复。all-to-all 后的 head 分片也要求不同 worker 对相同节点顺序达成一致,否则 Q 的第 i 行可能与 K、B 的另一个节点相乘,错误不会表现为 shape mismatch,只会悄悄损害训练。建议在几十节点小图上为每条边保存原始 ID 与重排 ID,逐项比较 dense mask、稀疏 mask 和结构 bias,再放大到 1M 节点。

Kernel 层的 cluster-sparse 不是传统统 1 块稀疏。对角社区块天然较密,可直接以大块处理;非对角 cluster 的边更散,系统按稀疏度决定是否 reform,并拆为适合 cache 的小块。\(k\) 决定 cluster 划分粒度,\(d_b\) 决定子块边长,两者共同影响填充浪费、访存合并和并行线程数。512K 序列上 77.6 毫秒对 8027.6 毫秒的微基准是特定稀疏结构下的 kernel 上界,不等同完整 epoch;完整训练还含线性层、前馈、通信、反向和预处理,所以 A100 端到端只有约 1.9 到 4.2×。

显存测量应拆成节点激活、\(Q/K/V\)、attention 临时量、结构编码、边/sub-block 索引和通信 buffer。最大序列从 8000 到 400K、22K 到 1.3M 的差距不仅来自 \(O(|E|)\) 计算,也来自不再物化 \(N^2\) attention。若复现只把边列表放 GPU,却仍构造密集 mask 或 \(B\),峰值显存会先被结构编码耗尽。TorchGT 的 \(B\) 必须和稀疏 attention map 共享布局,这一点是系统可扩展的必要部分,不是实现细节。

生产决策可先按图统计筛选:节点数、边数、平均度、社区内边比例、最大社区、跨社区边密度以及预计 epoch 数。稀疏且社区明显、训练轮数多的静态图最适合;稠密、弱社区、每轮拓扑变化或 1 次性短作业可能不值得预处理。还要分别公布 FP32 与 BF16 的速度和精度,保持相同优化器、batch、层数与随机种子。只有在同精度下验证性能、在同时间预算下验证收敛,才能说明收益来自 TorchGT 的协同设计,而不是精度格式或训练时长不同。

通信复现要区分理论元素数与实际网络字节。公式每卡 \(4Sd/P\) 个元素,BF16 与 FP32 字节数不同;\(B\) 结构编码是否与 \(Q/K/V\) 一起通信也取决于实现布局。应使用 NCCL trace 记录 2 次 all-to-all 的发送接收量、等待时间和跨节点比例,并与本地 attention kernel 时间并列。序列很长但网络只有一吉比特以太网的 3090 集群,通信可能成为新瓶颈;A100 集群有 200 Gbps InfiniBand 与 NVLink,计算和访存关系不同,这也是硬件结果不能直接合并的原因。

对质量的端到端验证不能只看最终测试准确率。应记录训练 loss、验证指标、dense layer 插入位置、被 reform 的 cluster 比例与阈值轨迹。若稀疏模式收敛慢,先检查经过 L 层的可达条件和 self-loop;若同 BF16 精度最终指标一致但 FP32 高很多,差异来自数值格式;若动态阈值指标好而固定激进阈值差,说明 loss feedback 在真实发挥止损作用。Table VIII 的三点正是这 3 种情况的最小对照。

1M 节点场景还需检查索引容量与预处理内存。节点和边索引若仍用不必要的 64 位,会增加边表与通信;社区重排、sub-block 元数据和逆置换也可能在 CPU 占大量内存。论文最大数据集超过 100M 节点、1.6B 边,预处理时间占比虽只有 2%–5.4%,但这是多 epoch 摊销后的比例。报告应同时给 1 次性秒数、峰值主存和训练 epoch 数,短训练不能只引用百分比。

最终可以把 TorchGT 看成 1 条约束链:图拓扑决定合法稀疏关系,可达检查决定何时补全连接,社区置换决定数据局部性,sequence/head all-to-all 决定多卡所有权,sub-block 决定 kernel 访存,loss descent 决定近似强度。任一层使用了不同的节点映射或 mask,速度可能仍快但语义错误。自包含复现说明必须给出这 6 层之间的索引映射和回退条件,而不是只提供 1 个稀疏 CUDA kernel。

扩展效率还应按节点数计算。单卡到 8 卡不仅增加算力,也改变每卡 sequence shard、head shard 和 all-to-all 参与者;报告强扩展时固定图和模型,给 speedup、并行效率与通信占比,报告规模扩展时再增加序列。64 A100 与 2 台 A100 的结果应分别绑定 host 数、每 host 卡数、机内链路、跨机网卡和 NCCL 配置,使 \(O(S/P)\) 的通信结论有可核查环境。

动态图或 mini-batch 子图需要额外判断。若每 batch 节点集合与边都变,METIS 重排和 cluster 元数据无法长期复用;若只采固定大图的不同节点窗口,则可以预计算全图置换并裁剪。论文实验主要是静态数据集与长序列训练,没有量化在线重分区。此类扩展应把预处理放入训练关键路径计时,并与无需社区构造的 GP-SPARSE 比较,防止离线成本被隐藏。

精度验收至少运行多个随机种子并按任务指标报告均值方差。局部/全连接交替、边位置 reform 和数值格式都会改变优化轨迹,1 次更高测试值不足以证明普遍收敛改进。相同 wall-clock 下 TorchGT 能跑更多 epoch,与相同 epoch 下比较回答不同问题;两者都应提供。这样才能把系统吞吐、稀疏归纳偏置和训练预算 3 个因素分开。

论文所谓 holistic 的验收标准因此是协同而非单点峰值:关闭拓扑稀疏应回到 2 次方瓶颈,关闭社区重排应出现不规则访存,关闭 all-to-all 布局应增加复制通信,关闭动态阈值应暴露速度质量两端。逐项消融若不呈现这条方向,说明实现中的某层没有真正接入同一图结构。最终报告还应保留预处理与回退到 full attention 的成本,避免只统计最快稀疏 kernel。

同时保存节点置换、稀疏边表和配置参数,使独立复现可以分别测量图结构、数据布局和实现选择带来的收益。每次运行还应绑定代码提交、随机种子和拓扑配置。