<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Megatron-LM on Duo&#39;s Tech Blog</title>
    <link>https://duoan.github.io/tags/megatron-lm/</link>
    <description>Recent content in Megatron-LM on Duo&#39;s Tech Blog</description>
    <image>
      <title>Duo&#39;s Tech Blog</title>
      <url>https://duoan.github.io/images/papermod-cover.png</url>
      <link>https://duoan.github.io/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.153.1</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 18 May 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://duoan.github.io/tags/megatron-lm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tensor Parallelism in Megatron-LM: Splitting Layers, Not Stacks</title>
      <link>https://duoan.github.io/posts/tensor-parallelism-megatron/</link>
      <pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate>
      <guid>https://duoan.github.io/posts/tensor-parallelism-megatron/</guid>
      <description>&lt;h1 id=&#34;tensor-parallelism-in-megatron-lm-splitting-layers-not-stacks&#34;&gt;Tensor Parallelism in Megatron-LM: Splitting Layers, Not Stacks&lt;/h1&gt;
&lt;p&gt;Pipeline parallelism splits a model by depth. Tensor parallelism splits the math inside one layer.&lt;/p&gt;
&lt;p&gt;Megatron-LM made tensor parallelism practical for Transformers by choosing split points that preserve local GEMMs and put collectives only where the algebra requires them. The original Megatron paper introduced the core intra-layer pattern (&lt;a href=&#34;https://arxiv.org/abs/1909.08053&#34;&gt;arXiv:1909.08053&lt;/a&gt;). The later Megatron-LM systems paper showed how that TP axis composes with data and pipeline parallelism at cluster scale (&lt;a href=&#34;https://arxiv.org/abs/2104.04473&#34;&gt;arXiv:2104.04473&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM Training Series: A Systems Map for Distributed Transformers</title>
      <link>https://duoan.github.io/posts/llm-training-series/</link>
      <pubDate>Sun, 02 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://duoan.github.io/posts/llm-training-series/</guid>
      <description>&lt;h1 id=&#34;llm-training-series-a-systems-map-for-distributed-transformers&#34;&gt;LLM Training Series: A Systems Map for Distributed Transformers&lt;/h1&gt;
&lt;p&gt;LLM training stops being &amp;ldquo;run the model on more GPUs&amp;rdquo; the moment one replica no longer fits, one link becomes the step time, or one schedule leaves half the cluster idle. From that point on, the training run is a placement problem.&lt;/p&gt;
&lt;p&gt;The stable question is simple: &lt;strong&gt;which bytes are replicated, which bytes are sharded, and which link moves them on the critical path?&lt;/strong&gt; Data parallelism, tensor parallelism, pipeline parallelism, ZeRO, sequence/context parallelism, and expert parallelism are different answers to that question. The public systems that matter - GPipe, Megatron-LM, DeepSpeed ZeRO, PyTorch DDP, GShard, Switch Transformer, and modern Megatron-Core - all expose the same constraints in different shapes (&lt;a href=&#34;https://arxiv.org/abs/1811.06965&#34;&gt;GPipe&lt;/a&gt;, &lt;a href=&#34;https://arxiv.org/abs/1909.08053&#34;&gt;Megatron-LM&lt;/a&gt;, &lt;a href=&#34;https://arxiv.org/abs/1910.02054&#34;&gt;ZeRO&lt;/a&gt;, &lt;a href=&#34;https://arxiv.org/abs/2006.15704&#34;&gt;PyTorch Distributed&lt;/a&gt;, &lt;a href=&#34;https://arxiv.org/abs/2006.16668&#34;&gt;GShard&lt;/a&gt;, &lt;a href=&#34;https://arxiv.org/abs/2101.03961&#34;&gt;Switch Transformer&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
