<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mixed Precision on Arshad Siddiqui</title><link>https://arshadhs.github.io/tags/mixed-precision/</link><description>Recent content in Mixed Precision on Arshad Siddiqui</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://arshadhs.github.io/tags/mixed-precision/index.xml" rel="self" type="application/rss+xml"/><item><title>Distributed Training Strategies</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m2-distributed-ml-algorithms/070-distributed-training-strategies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m2-distributed-ml-algorithms/070-distributed-training-strategies/</guid><description>&lt;h1 id="distributed-training-strategies">
 Distributed Training Strategies
 
 &lt;a class="anchor" href="#distributed-training-strategies">#&lt;/a>
 
&lt;/h1>
&lt;p>Distributed training combines devices to increase throughput, fit larger models, or shorten time to solution. The central design question is what to partition: examples, model parameters, layers, tensors, or the training schedule.&lt;/p>
&lt;p>Course coverage:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Data parallelism&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Model parallelism&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Pipeline parallelism and micro-batches&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Gradient checkpointing&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Mixed-precision training and loss scaling&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h2 id="learning-objectives">
 Learning Objectives
 
 &lt;a class="anchor" href="#learning-objectives">#&lt;/a>
 
&lt;/h2>
&lt;p>By the end of this page, you should be able to:&lt;/p>
&lt;ul>
&lt;li>compare data, model, and pipeline parallelism&lt;/li>
&lt;li>calculate global batch size, speedup, efficiency, and effective throughput&lt;/li>
&lt;li>explain gradient aggregation through all-reduce&lt;/li>
&lt;li>calculate simple pipeline time and utilisation&lt;/li>
&lt;li>quantify the memory–computation trade-off of checkpointing&lt;/li>
&lt;li>explain mixed precision and loss scaling&lt;/li>
&lt;/ul>
&lt;h2 id="big-picture">
 Big Picture
 
 &lt;a class="anchor" href="#big-picture">#&lt;/a>
 
&lt;/h2>


&lt;pre class="mermaid">
flowchart TD
 A[&amp;#34;Training Constraint&amp;#34;] --&amp;gt; B[&amp;#34;More Data Throughput&amp;#34;]
 A --&amp;gt; C[&amp;#34;Model Too Large&amp;#34;]
 A --&amp;gt; D[&amp;#34;Activation Memory Too High&amp;#34;]
 B --&amp;gt; E[&amp;#34;Data Parallelism&amp;#34;]
 C --&amp;gt; F[&amp;#34;Model or Pipeline Parallelism&amp;#34;]
 D --&amp;gt; G[&amp;#34;Checkpointing or Mixed Precision&amp;#34;]

 style A fill:#E1F5FE
 style B fill:#C8E6C9
 style C fill:#FFF9C4
 style D fill:#EDE7F6
 style E fill:#E1F5FE
 style F fill:#C8E6C9
 style G fill:#FFF9C4
&lt;/pre>

&lt;h2 id="1-data-parallelism-">
 1. Data Parallelism ☆
 
 &lt;a class="anchor" href="#1-data-parallelism-">#&lt;/a>
 
&lt;/h2>
&lt;p>Each worker holds a complete model replica and processes a different shard of the mini-batch.&lt;/p></description></item></channel></rss>