Distributed Training: 3D Parallelism and Scaling Efficiency

Discover why 1024 GPUs rarely deliver 1024× speedup — and how to minimize the gap.

NoteBackground: Why distributed training?

Some models are too large to fit in a single GPU’s memory, and some training jobs would take months on one GPU. Distributed training splits the work across many GPUs. This tutorial explores the three main ways to split work and the overhead each one introduces. You should complete the Hello World and LLM Serving tutorials before this one.

Scaling a training job from 1 GPU to 1024 GPUs incurs overhead at every step. Communication, pipeline stalls, and coordination each chip away at theoretical speedup. Understanding where that efficiency goes, and how to recover it, is what separates a well-tuned distributed training job from an expensive waste of cluster time.

By the end of this tutorial you will understand:

Tip3D Parallelism at a Glance

Modern distributed training uses three orthogonal strategies simultaneously:

Strategy What it splits Main overhead
Data Parallelism (DP) Batch across GPUs All-reduce gradients after backward pass
Tensor Parallelism (TP) Individual matrix ops within a layer All-gather within each forward/backward
Pipeline Parallelism (PP) Layer groups across nodes Pipeline bubble at start/end of batch

The product \(\text{DP} \times \text{TP} \times \text{PP} = \text{total GPUs}\).


1. Setup

import mlsysim
from mlsysim import DistributedModel
from mlsysim import DistributedModel

# Llama-3.1-70B: the model requires distributed training — too large for a single GPU
model = mlsysim.Models.Llama3_70B

# A research-scale cluster: 32 DGX H100 nodes × 8 GPUs = 256 H100s
# (DGX is NVIDIA's pre-built server containing 8 H100 GPUs connected via NVLink)
cluster = mlsysim.Systems.Clusters.Research_256

print(f"Model:   {model.name}  ({model.parameters.to('Gparam'):.0f} params)")
print(f"Cluster: {cluster.name}")
print(f"  Nodes: {cluster.count}  ×  {cluster.node.accelerators_per_node} GPUs/node")
print(f"  Total: {cluster.total_accelerators} accelerators")
print(f"  Fabric: {cluster.fabric.name} @ {cluster.fabric.bandwidth.to('GB/s'):.0f} GB/s/link")
Model:   Llama-3.1-70B  (71 gigaparam params)
Cluster: Research Cluster (256 GPUs)
  Nodes: 32  ×  8 GPUs/node
  Total: 256 accelerators
  Fabric: 100GbE @ 12 GB / second GB/s/link

2. Visualizing 3D Parallelism

Before working through the numbers, consider how 3D parallelism decomposes a training job across a cluster. Each dimension splits work differently and introduces a different type of overhead:

Data Parallelism (DP=4) — each GPU holds a full model copy and processes 1/4 of the batch. After the backward pass, gradients are synchronized via All-Reduce.

flowchart LR
    R1["Replica 1<br/>Batch 1/4"] <-.->|"All-Reduce"| R2["Replica 2<br/>Batch 2/4"]
    R2 <-.->|"All-Reduce"| R3["Replica 3<br/>Batch 3/4"]
    R3 <-.->|"All-Reduce"| R4["Replica 4<br/>Batch 4/4"]

Data Parallelism: replicate the model, split the batch, synchronize gradients.

Tensor Parallelism (TP=2) — each layer is split across GPUs. Requires fast interconnect (NVLink).

flowchart LR
    G1["GPU 0<br/>Left half of each layer"] <-->|"All-Gather<br/>(NVLink)"| G2["GPU 1<br/>Right half of each layer"]

Tensor Parallelism: split each layer across GPUs, communicate via NVLink.

Pipeline Parallelism (PP=4) — model layers are partitioned across stages. Activations flow forward; gradients flow backward.

flowchart LR
    S1["Stage 1<br/>Layers 1–20"] --> S2["Stage 2<br/>Layers 21–40"]
    S2 --> S3["Stage 3<br/>Layers 41–60"]
    S3 --> S4["Stage 4<br/>Layers 61–80"]

Pipeline Parallelism: partition layers across stages, activations flow forward.


The key insight: **DP** uses inter-node bandwidth (network fabric), **TP** uses intra-node bandwidth (NVLink), and **PP** introduces idle time (pipeline bubbles). The optimal configuration balances all three overheads.

---

## 3. Baseline: Pure Data Parallelism

Start with the simplest configuration — no model splitting, just replicate the full model
on every GPU and split the batch. The per-GPU compute time is determined by the same
roofline model you used in the Hello World tutorial. The new element here is **communication
overhead**: after each training step, all GPUs must synchronize their gradients via the
network before the next step can begin.

::: {#e03eb5ad .cell execution_count=3}
``` {.python .cell-code}
solver = DistributedModel()

result_dp = solver.solve(
    model=model,
    fleet=cluster,
    batch_size=256,
    precision="fp16",
    tp_size=1,   # no tensor parallelism
    pp_size=1,   # no pipeline parallelism
)

node_perf = result_dp.node_profile
print(f"Single-GPU compute time:     {node_perf.latency.to('ms'):~.1f}/step")
print(f"DP all-reduce overhead:      {result_dp.dp_communication_latency.to('ms'):~.2f}")
print(f"Pipeline bubble:             {result_dp.pipeline_bubble_latency.to('ms'):~.2f}")
print(f"")
print(f"Total step latency:          {result_dp.step_latency_total.to('ms'):~.1f}")
print(f"Scaling efficiency:          {result_dp.scaling_efficiency:.1%}")
print(f"Effective throughput:        {result_dp.effective_throughput.magnitude:.0f} samples/s")
print(f"Parallelism:                 DP={result_dp.parallelism['dp']}  TP={result_dp.parallelism['tp']}  PP={result_dp.parallelism['pp']}")
Single-GPU compute time:     2429.3 ms/step
DP all-reduce overhead:      3287.98 ms
Pipeline bubble:             0.00 ms

Total step latency:          5717.3 ms
Scaling efficiency:          42.5%
Effective throughput:        45 samples/s
Parallelism:                 DP=256  TP=1  PP=1

:::

NoteWhat does scaling efficiency mean?

If scaling efficiency is 80%, then your 256-GPU cluster is delivering the equivalent of about 205 fully-utilized GPUs. The other ~51 GPUs worth of compute is being spent on communication overhead. This is the communication tax of distributed training.

The tax is paid in ring all-reduce: after the backward pass, every GPU must synchronize gradients with every other GPU. The time to do this grows with model size and shrinks with network bandwidth.


4. Ring All-Reduce: The Network Tax

The DP all-reduce overhead comes from the ring all-reduce algorithm, which is the standard method for gradient synchronization.

Note🧮 See the Math

For the full equation deriving All-Reduce overhead from model size, node count, and fabric bandwidth, see the Mathematical Foundations: Ring All-Reduce.

The following sweep shows how fabric bandwidth affects overhead:

from mlsysim import Fleet, NetworkFabric, Systems

fabrics = [
    ("100GbE",      Systems.Fabrics.Ethernet_100G),
    ("IB HDR",      Systems.Fabrics.InfiniBand_HDR),
    ("IB NDR",      Systems.Fabrics.InfiniBand_NDR),
]

print(f"{'Fabric':>10}  {'BW (GB/s)':>10}  {'Comm overhead':>14}  {'Efficiency':>11}")
print("-" * 52)

for fab_name, fabric in fabrics:
    custom_cluster = Fleet(
        name="Custom",
        node=Systems.Nodes.DGX_H100,
        count=32,
        fabric=fabric
    )
    r = solver.solve(
        model=model,
        fleet=custom_cluster,
        batch_size=256,
        precision="fp16"
    )
    print(
        f"{fab_name:>10}  "
        f"{fabric.bandwidth.to('GB/s'):>10.0f~}  "
        f"{r.dp_communication_latency.to('ms'):>14.2f~}  "
        f"{r.scaling_efficiency:>11.1%}"
    )
    Fabric   BW (GB/s)   Comm overhead   Efficiency
----------------------------------------------------
    100GbE          12 GB / s         3287.98 ms        42.5%
    IB HDR          25 GB / s         1917.43 ms        55.9%
    IB NDR          50 GB / s         1233.37 ms        66.3%
WarningFabric choice determines scaling efficiency

Upgrading from 100GbE to InfiniBand NDR roughly doubles the effective inter-node bandwidth. On a model the size of Llama-70B (140 GB of gradients per step in fp16), that difference is significant. For smaller models, it matters less — compute time dominates.


5. Pipeline Parallelism and the Bubble

Pipeline Parallelism splits the model’s layers across multiple nodes. Node 1 runs layers 1–20, node 2 runs layers 21–40, etc. This allows a much larger model to be trained than fits on a single node.

The downside: a pipeline bubble. The first microbatch must flow through all stages before the last stage can start processing the second microbatch. During that startup phase, most GPUs are idle.

Note🧮 See the Math

For the full equation governing pipeline bubbles and interleaved 1F1B schedules, see the Mathematical Foundations: Pipeline Parallelism Bubble.

print(f"{'PP stages':>10}  {'Microbatches':>13}  {'Bubble %':>9}  {'Comm (ms)':>10}  {'Efficiency':>11}")
print("-" * 60)

for pp_size in [1, 2, 4, 8]:
    for m in [1, 4, 16]:
        # Only show interesting combinations
        if pp_size == 1 and m > 1:
            continue
        tp = min(8, cluster.total_accelerators // (pp_size * 4))
        r = solver.solve(
            model=model,
            fleet=cluster,
            batch_size=256,
            precision="fp16",
            tp_size=1,
            pp_size=pp_size,
            microbatch_count=m
        )
        bubble_pct = r.bubble_fraction * 100
        print(
            f"{pp_size:>10}  "
            f"{m:>13}  "
            f"{bubble_pct:>9.1f}%  "
            f"{r.pipeline_bubble_latency.to('ms'):>10.1f~}  "
            f"{r.scaling_efficiency:>11.1%}"
        )
 PP stages   Microbatches   Bubble %   Comm (ms)   Efficiency
------------------------------------------------------------
         1              1        0.0%         0.0 ms        42.5%
         2              1       50.0%      1325.0 ms        36.9%
         2              4       20.0%       530.0 ms        41.5%
         2             16        5.9%       155.9 ms        44.1%
         4              1       75.0%      2318.4 ms        36.7%
         4              4       42.9%      1324.8 ms        41.6%
         4             16       15.8%       488.1 ms        46.8%
         8              1       87.5%      3477.0 ms        39.3%
         8              4       63.6%      2528.7 ms        43.3%
         8             16       30.4%      1209.4 ms        50.6%
TipRecovering bubble efficiency

Increasing the number of microbatches (\(M\)) reduces the bubble fraction. With \(M = 16\) and \(P = 8\), the bubble is only \(7/(7+16) ≈ 30\%\) of the pipeline, down from \(88\%\) with \(M = 1\).

In practice, frameworks like Megatron-LM use interleaved pipeline schedules that further reduce the bubble. But even with the standard 1F1B schedule, choosing \(M \gg P\) is essential.


6. Finding the Optimal Configuration

Now combine all three parallelism strategies and find the configuration that maximizes scaling efficiency for the Research_256 cluster. In practice, 70-80% scaling efficiency on hundreds of GPUs is considered excellent. Below 50% typically signals a suboptimal parallelism configuration or insufficient network bandwidth.

configs = [
    # (description,             tp, pp, m)
    ("DP only",                  1,  1,  1),
    ("DP + TP=2",                2,  1,  1),
    ("DP + PP=4, M=16",          1,  4, 16),
    ("DP + TP=2 + PP=4, M=16",   2,  4, 16),
    ("DP + TP=8 + PP=4, M=16",   8,  4, 16),
]

print(f"{'Config':<26}  {'DP':>4} {'TP':>4} {'PP':>4}  {'Efficiency':>11}  {'Throughput':>14}")
print("-" * 72)

for desc, tp, pp, m in configs:
    try:
        r = solver.solve(
            model=model,
            fleet=cluster,
            batch_size=256,
            precision="fp16",
            tp_size=tp,
            pp_size=pp,
            microbatch_count=m
        )
        print(
            f"{desc:<26}  "
            f"{r.parallelism['dp']:>4}  "
            f"{r.parallelism['tp']:>4}  "
            f"{r.parallelism['pp']:>4}  "
            f"{r.scaling_efficiency:>11.1%}  "
            f"{r.effective_throughput.magnitude:>14.1f}"
        )
    except ValueError as e:
        print(f"{desc:<26}  {'INFEASIBLE':>44}  ({e})")
Config                        DP   TP   PP   Efficiency      Throughput
------------------------------------------------------------------------
DP only                      256     1     1        42.5%            44.8
DP + TP=2                    128     2     1        62.2%           120.1
DP + PP=4, M=16               64     1     4        46.8%           155.2
DP + TP=2 + PP=4, M=16        32     2     4        66.4%           342.3
DP + TP=8 + PP=4, M=16         8     8     4        83.5%           737.9

Your Turn

CautionExercises

Exercise 1: Predict before you observe. For a 256-GPU cluster training Llama-3.1-70B, predict: will DP=256, TP=1, PP=1 have higher or lower scaling efficiency than DP=32, TP=4, PP=2? Write your prediction and reasoning, then run both configurations. Were you right?

Exercise 2: Find the optimal configuration. Sweep all valid 3D parallelism configurations for 256 GPUs (where DP x TP x PP = 256). Which configuration maximizes scaling efficiency? Is it the same for Ethernet 100G vs. InfiniBand NDR? (Hint: valid TP values are divisors of 8, the GPUs per node: 1, 2, 4, 8. For each TP, valid PP values are divisors of 256/TP.)

Exercise 3: The microbatch lever. With PP=8, sweep microbatch count M from 1 to 64. Plot the pipeline bubble fraction vs. M. At what value of M does the bubble fraction drop below 10%? (Use the formula from Section 5: bubble = (P-1)/(P-1+M). Predict the answer analytically before running the sweep.)

Self-check: Why must tensor parallelism (TP) stay within a single node on most clusters? What would happen to communication overhead if TP crossed node boundaries?


What You Learned

  • 3D Parallelism decomposes the training problem across \(\text{DP} \times \text{TP} \times \text{PP}\) GPUs, each with distinct communication costs.
  • Ring all-reduce is the network tax of data parallelism. It grows with model size and shrinks with fabric bandwidth. Switching from 100GbE to InfiniBand can recover 10-30% efficiency on large models.
  • Pipeline bubbles waste GPU cycles proportional to \(\frac{P-1}{P-1+M}\). Use large microbatch counts (\(M \gg P\)) to minimize waste.
  • Scaling efficiency below 100% is normal and unavoidable. A well-tuned job at 70-80% efficiency on hundreds of GPUs is excellent. Below 50% signals a configuration problem.

Advanced: Network Topologies

The can model different collective communication algorithms. Use the parameter to compare bandwidth-optimal vs. latency-optimal strategies:

  • (Default): Bandwidth-optimal. Latency scales linearly with $.
  • . ├── binder │   ├── postBuild │   └── requirements.txt ├── book │   ├── init.py │   ├── pycache │   │   └── init.cpython-313.pyc │   ├── binder │   ├── cli │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   └── main.cpython-313.pyc │   │   ├── BINDER_NATIVE_AUDIT.md │   │   ├── commands │   │   │   ├── init.py │   │   │   ├── pycache │   │   │   │   ├── init.cpython-313.pyc │   │   │   │   ├── bib.cpython-313.pyc │   │   │   │   ├── build.cpython-313.pyc │   │   │   │   ├── clean.cpython-313.pyc │   │   │   │   ├── debug.cpython-313.pyc │   │   │   │   ├── doctor.cpython-313.pyc │   │   │   │   ├── formatting.cpython-313.pyc │   │   │   │   ├── info.cpython-313.pyc │   │   │   │   ├── maintenance.cpython-313.pyc │   │   │   │   ├── newsletter.cpython-313.pyc │   │   │   │   ├── preview.cpython-313.pyc │   │   │   │   ├── reference_check.cpython-313.pyc │   │   │   │   ├── render.cpython-313.pyc │   │   │   │   └── validate.cpython-313.pyc │   │   │   ├── bib.py │   │   │   ├── build.py │   │   │   ├── clean.py │   │   │   ├── debug.py │   │   │   ├── doctor.py │   │   │   ├── formatting.py │   │   │   ├── info.py │   │   │   ├── maintenance.py │   │   │   ├── newsletter.py │   │   │   ├── preview.py │   │   │   ├── reference_check.py │   │   │   ├── render.py │   │   │   └── validate.py │   │   ├── core │   │   │   ├── init.py │   │   │   ├── pycache │   │   │   │   ├── init.cpython-313.pyc │   │   │   │   ├── config.cpython-313.pyc │   │   │   │   └── discovery.cpython-313.pyc │   │   │   ├── config.py │   │   │   └── discovery.py │   │   ├── formats │   │   │   └── init.py │   │   ├── main.py │   │   ├── README.md │   │   └── utils │   │   └── init.py │   ├── config │   │   ├── dev │   │   ├── linting │   │   └── quarto │   │   └── _publish.yml │   ├── docker │   │   ├── linux │   │   │   ├── Dockerfile │   │   │   ├── README.md │   │   │   └── verify_r_packages.R │   │   └── windows │   │   ├── Dockerfile │   │   ├── install_texlive.ps1 │   │   ├── README.md │   │   └── verify_r_packages.R │   ├── docs │   │   ├── BINDER.md │   │   ├── BUILD.md │   │   ├── CODE_OF_CONDUCT.md │   │   ├── CONTAINER_BUILDS.md │   │   ├── CONTRIBUTING.md │   │   ├── DEVELOPMENT.md │   │   ├── PART_KEY_VALIDATION.md │   │   └── VOLUME_STRUCTURE.md │   ├── quarto │   │   ├── _extensions │   │   │   ├── CUSTOM_EXTENSIONS.md │   │   │   ├── mlsysbook-ext │   │   │   │   ├── custom-numbered-blocks │   │   │   │   │   ├── _extension.yml │   │   │   │   │   ├── custom-numbered-blocks.lua │   │   │   │   │   └── style │   │   │   │   │   ├── foldbox.css │   │   │   │   │   ├── foldbox.lua │   │   │   │   │   └── foldbox.tex │   │   │   │   ├── margin-video │   │   │   │   │   ├── _extension.yml │   │   │   │   │   ├── CHANGELOG.md │   │   │   │   │   ├── margin-video.lua │   │   │   │   │   └── README.md │   │   │   │   └── titlepage │   │   │   │   ├── _author-affiliation-themes.tex │   │   │   │   ├── _coverpage.tex │   │   │   │   ├── _extension.yml │   │   │   │   ├── _header-footer-date-themes.tex │   │   │   │   ├── _title-themes.tex │   │   │   │   ├── _titlepage.tex │   │   │   │   ├── before-body.tex │   │   │   │   ├── coverpage-theme.lua │   │   │   │   ├── fonts │   │   │   │   │   └── qualitype │   │   │   │   │   ├── COPYING-QUALITYPE │   │   │   │   │   ├── doc │   │   │   │   │   │   ├── qualitype-doc.pdf │   │   │   │   │   │   └── qualitype-doc.tex │   │   │   │   │   ├── opentype │   │   │   │   │   │   ├── QTAbbie.otf │   │   │   │   │   │   ├── QTAgateType-Bold.otf │   │   │   │   │   │   ├── QTAgateType-Italic.otf │   │   │   │   │   │   ├── QTAgateType.otf │   │   │   │   │   │   ├── QTAncientOlive-Bold.otf │   │   │   │   │   │   ├── QTAncientOlive.otf │   │   │   │   │   │   ├── QTAntiquePost.otf │   │   │   │   │   │   ├── QTArabian.otf │   │   │   │   │   │   ├── QTArnieB.otf │   │   │   │   │   │   ├── QTArtiston.otf │   │   │   │   │   │   ├── QTAtchen.otf │   │   │   │   │   │   ├── QTAvanti-Italic.otf │   │   │   │   │   │   ├── QTAvanti.otf │   │   │   │   │   │   ├── QTBasker-Bold.otf │   │   │   │   │   │   ├── QTBasker-Italic.otf │   │   │   │   │   │   ├── QTBasker.otf │   │   │   │   │   │   ├── QTBeckman.otf │   │   │   │   │   │   ├── QTBengal-Bold.otf │   │   │   │   │   │   ├── QTBengal.otf │   │   │   │   │   │   ├── QTBlackForest.otf │   │   │   │   │   │   ├── QTBlimpo.otf │   │   │   │   │   │   ├── QTBodini-Bold.otf │   │   │   │   │   │   ├── QTBodini-Italic.otf │   │   │   │   │   │   ├── QTBodini.otf │   │   │   │   │   │   ├── QTBodiniPoster-Italic.otf │   │   │   │   │   │   ├── QTBodiniPoster.otf │   │   │   │   │   │   ├── QTBookmann-Bold.otf │   │   │   │   │   │   ├── QTBookmann-BoldItalic.otf │   │   │   │   │   │   ├── QTBookmann-Italic.otf │   │   │   │   │   │   ├── QTBookmann.otf │   │   │   │   │   │   ├── QTBoulevard.otf │   │   │   │   │   │   ├── QTBrushStroke.otf │   │   │   │   │   │   ├── QTCaligulatype.otf │   │   │   │   │   │   ├── QTCanaithtype.otf │   │   │   │   │   │   ├── QTCascadetype.otf │   │   │   │   │   │   ├── QTCaslan-Bold.otf │   │   │   │   │   │   ├── QTCaslan-BoldItalic.otf │   │   │   │   │   │   ├── QTCaslan-Italic.otf │   │   │   │   │   │   ├── QTCaslan.otf │   │   │   │   │   │   ├── QTCaslanOpen.otf │   │   │   │   │   │   ├── QTCasual.otf │   │   │   │   │   │   ├── QTChanceryType-Bold.otf │   │   │   │   │   │   ├── QTChanceryType-Italic.otf │   │   │   │   │   │   ├── QTChanceryType.otf │   │   │   │   │   │   ├── QTChicagoland.otf │   │   │   │   │   │   ├── QTClaytablet.otf │   │   │   │   │   │   ├── QTCloisteredMonk.otf │   │   │   │   │   │   ├── QTCoronation.otf │   │   │   │   │   │   ├── QTDeuce.otf │   │   │   │   │   │   ├── QTDingBits.otf │   │   │   │   │   │   ├── QTDoghaus.otf │   │   │   │   │   │   ├── QTDoghausHeavy.otf │   │   │   │   │   │   ├── QTDoghausLight.otf │   │   │   │   │   │   ├── QTDublinIrish.otf │   │   │   │   │   │   ├── QTEraType-Bold.otf │   │   │   │   │   │   ├── QTEraType.otf │   │   │   │   │   │   ├── QTEurotype-Bold.otf │   │   │   │   │   │   ├── QTEurotype.otf │   │   │   │   │   │   ├── QTFloraline-Bold.otf │   │   │   │   │   │   ├── QTFloraline.otf │   │   │   │   │   │   ├── QTFlorencia.otf │   │   │   │   │   │   ├── QTFraktur.otf │   │   │   │   │   │   ├── QTFrank.otf │   │   │   │   │   │   ├── QTFrankHeavy.otf │   │   │   │   │   │   ├── QTFrizQuad-Bold.otf │   │   │   │   │   │   ├── QTFrizQuad.otf │   │   │   │   │   │   ├── QTFuture-Italic.otf │   │   │   │   │   │   ├── QTFuture.otf │   │   │   │   │   │   ├── QTFuturePoster.otf │   │   │   │   │   │   ├── QTGaromand-Bold.otf │   │   │   │   │   │   ├── QTGaromand-BoldItalic.otf │   │   │   │   │   │   ├── QTGaromand-Italic.otf │   │   │   │   │   │   ├── QTGaromand.otf │   │   │   │   │   │   ├── QTGhoulFace.otf │   │   │   │   │   │   ├── QTGraphLite.otf │   │   │   │   │   │   ├── QTGraveure-Bold.otf │   │   │   │   │   │   ├── QTGraveure.otf │   │   │   │   │   │   ├── QTGreece.otf │   │   │   │   │   │   ├── QTHandwriting.otf │   │   │   │   │   │   ├── QTHeidelbergType.otf │   │   │   │   │   │   ├── QTHelvet-Black.otf │   │   │   │   │   │   ├── QTHelvet-BoldOutline.otf │   │   │   │   │   │   ├── QTHelvetCnd-Black.otf │   │   │   │   │   │   ├── QTHelvetCnd-Light.otf │   │   │   │   │   │   ├── QTHelvetCnd.otf │   │   │   │   │   │   ├── QTHoboken.otf │   │   │   │   │   │   ├── QTHowardType.otf │   │   │   │   │   │   ├── QTHowardTypeFat.otf │   │   │   │   │   │   ├── QTImpromptu.otf │   │   │   │   │   │   ├── QTJupiter.otf │   │   │   │   │   │   ├── QTKooper-Italic.otf │   │   │   │   │   │   ├── QTKooper.otf │   │   │   │   │   │   ├── QTKorrin-Italic.otf │   │   │   │   │   │   ├── QTKorrin.otf │   │   │   │   │   │   ├── QTKung-Fu.otf │   │   │   │   │   │   ├── QTLautrecType.otf │   │   │   │   │   │   ├── QTLetterGoth-Bold.otf │   │   │   │   │   │   ├── QTLetterGoth-BoldItalic.otf │   │   │   │   │   │   ├── QTLetterGoth-Italic.otf │   │   │   │   │   │   ├── QTLetterGoth.otf │   │   │   │   │   │   ├── QTLinoscroll.otf │   │   │   │   │   │   ├── QTLinostroke.otf │   │   │   │   │   │   ├── QTLondonScroll.otf │   │   │   │   │   │   ├── QTMagicMarker.otf │   │   │   │   │   │   ├── QTMerryScript.otf │   │   │   │   │   │   ├── QTMilitary.otf │   │   │   │   │   │   ├── QTOKCorral-Cnd.otf │   │   │   │   │   │   ├── QTOKCorral-Ext.otf │   │   │   │   │   │   ├── QTOKCorral.otf │   │   │   │   │   │   ├── QTOldGoudy-Bold.otf │   │   │   │   │   │   ├── QTOldGoudy-Italic.otf │   │   │   │   │   │   ├── QTOldGoudy.otf │   │   │   │   │   │   ├── QTOptimum-Bold.otf │   │   │   │   │   │   ├── QTOptimum-BoldItalic.otf │   │   │   │   │   │   ├── QTOptimum-Italic.otf │   │   │   │   │   │   ├── QTOptimum.otf │   │   │   │   │   │   ├── QTPalatine-Bold.otf │   │   │   │   │   │   ├── QTPalatine-Italic.otf │   │   │   │   │   │   ├── QTPalatine.otf │   │   │   │   │   │   ├── QTPandora.otf │   │   │   │   │   │   ├── QTParisFrance.otf │   │   │   │   │   │   ├── QTPeignoir-Lite.otf │   │   │   │   │   │   ├── QTPeignoir.otf │   │   │   │   │   │   ├── QTPiltdown.otf │   │   │   │   │   │   ├── QTPristine-Bold.otf │   │   │   │   │   │   ├── QTPristine-BoldItalic.otf │   │   │   │   │   │   ├── QTPristine-Italic.otf │   │   │   │   │   │   ├── QTPristine.otf │   │   │   │   │   │   ├── QTRobotic2000.otf │   │   │   │   │   │   ├── QTSanDiego.otf │   │   │   │   │   │   ├── QTSchoolCentury-Bold.otf │   │   │   │   │   │   ├── QTSchoolCentury-BoldItalic.otf │   │   │   │   │   │   ├── QTSchoolCentury-Italic.otf │   │   │   │   │   │   ├── QTSchoolCentury.otf │   │   │   │   │   │   ├── QTSlogantype.otf │   │   │   │   │   │   ├── QTSnowCaps.otf │   │   │   │   │   │   ├── QTStoryTimeCaps.otf │   │   │   │   │   │   ├── QTTechtone-Bold.otf │   │   │   │   │   │   ├── QTTechtone-BoldItalic.otf │   │   │   │   │   │   ├── QTTechtone-Italic.otf │   │   │   │   │   │   ├── QTTechtone.otf │   │   │   │   │   │   ├── QTTheatre.otf │   │   │   │   │   │   ├── QTTimeOutline.otf │   │   │   │   │   │   ├── QTTumbleweed.otf │   │   │   │   │   │   ├── QTUSA-Uncial.otf │   │   │   │   │   │   ├── QTVagaRound-Bold.otf │   │   │   │   │   │   ├── QTVagaRound.otf │   │   │   │   │   │   ├── QTWeise-Bold.otf │   │   │   │   │   │   ├── QTWeise-Italic.otf │   │   │   │   │   │   ├── QTWeise.otf │   │   │   │   │   │   └── QTWestEnd.otf │   │   │   │   │   └── README │   │   │   │   ├── images │   │   │   │   │   ├── corner_bg.png │   │   │   │   │   ├── corner-bg.png │   │   │   │   │   ├── logo.png │   │   │   │   │   ├── nmfs_opensci_logo.png │   │   │   │   │   ├── nmfs-opensci-logo.png │   │   │   │   │   ├── otter_bar.jpeg │   │   │   │   │   ├── otter-bar.jpeg │   │   │   │   │   ├── ringed_seal.png │   │   │   │   │   ├── ringed-seal.png │   │   │   │   │   ├── the_great_waveoff_kanagawa.jpeg │   │   │   │   │   └── thegreatwaveoffkanagawa.jpeg │   │   │   │   ├── mathjax.html │   │   │   │   ├── pandoc.tex │   │   │   │   └── titlepage-theme.lua │   │   │   ├── pandoc-ext │   │   │   │   └── diagram │   │   │   │   ├── _extension.yaml │   │   │   │   └── diagram.lua │   │   │   ├── quarto-ext │   │   │   │   └── lightbox │   │   │   │   ├── _extension.yml │   │   │   │   ├── lightbox.css │   │   │   │   ├── lightbox.lua │   │   │   │   └── resources │   │   │   │   ├── css │   │   │   │   │   └── glightbox.min.css │   │   │   │   └── js │   │   │   │   └── glightbox.min.js │   │   │   └── README.md │   │   ├── _quarto.yml -> config/_quarto-html-vol2.yml │   │   ├── _variables.yml │   │   ├── 404.qmd │   │   ├── assets │   │   │   ├── images │   │   │   │   ├── covers │   │   │   │   │   ├── cover_hardcover_book.png │   │   │   │   │   ├── cover_image_title-vol1.png │   │   │   │   │   ├── cover_image_title-vol2.png │   │   │   │   │   ├── cover_image_title.png │   │   │   │   │   ├── cover_image_transparent.png │   │   │   │   │   ├── cover_image_white.png │   │   │   │   │   ├── cover-hardcover-book-vol1.png │   │   │   │   │   ├── cover-hardcover-book-vol2.png │   │   │   │   │   ├── cover-hardcover-book.png │   │   │   │   │   ├── cover-image-transparent-vol1.png │   │   │   │   │   ├── cover-image-transparent-vol2.png │   │   │   │   │   ├── cover-image-transparent.png │   │   │   │   │   ├── cover-image-vol1.png │   │   │   │   │   ├── cover-image-vol2.png │   │   │   │   │   ├── cover-image-white-vol1.png │   │   │   │   │   ├── cover-image-white-vol2.png │   │   │   │   │   ├── cover-image-white.png │   │   │   │   │   └── cover-image.png │   │   │   │   ├── generated │   │   │   │   │   ├── broadcasting_python.png │   │   │   │   │   └── technology_s_curve.png │   │   │   │   └── icons │   │   │   │   ├── callouts │   │   │   │   │   ├── icon_callout_chapter_connection.pdf │   │   │   │   │   ├── icon_callout_chapter_connection.png │   │   │   │   │   ├── icon_callout_chapter_connection.svg │   │   │   │   │   ├── icon_callout_chapter_forward.pdf │   │   │   │   │   ├── icon_callout_chapter_forward.png │   │   │   │   │   ├── icon_callout_chapter_forward.svg │   │   │   │   │   ├── icon_callout_chapter_recall.pdf │   │   │   │   │   ├── icon_callout_chapter_recall.png │   │   │   │   │   ├── icon_callout_chapter_recall.svg │   │   │   │   │   ├── icon_callout_checkpoint.pdf │   │   │   │   │   ├── icon_callout_checkpoint.png │   │   │   │   │   ├── icon_callout_checkpoint.svg │   │   │   │   │   ├── icon_callout_code.pdf │   │   │   │   │   ├── icon_callout_code.png │   │   │   │   │   ├── icon_callout_code.svg │   │   │   │   │   ├── icon_callout_colab.pdf │   │   │   │   │   ├── icon_callout_colab.png │   │   │   │   │   ├── icon_callout_colab.svg │   │   │   │   │   ├── icon_callout_definition.pdf │   │   │   │   │   ├── icon_callout_definition.png │   │   │   │   │   ├── icon_callout_definition.svg │   │   │   │   │   ├── icon_callout_example.pdf │   │   │   │   │   ├── icon_callout_example.png │   │   │   │   │   ├── icon_callout_example.svg │   │   │   │   │   ├── icon_callout_fallacy.pdf │   │   │   │   │   ├── icon_callout_fallacy.png │   │   │   │   │   ├── icon_callout_fallacy.svg │   │   │   │   │   ├── icon_callout_lighthouse.pdf │   │   │   │   │   ├── icon_callout_lighthouse.png │   │   │   │   │   ├── icon_callout_lighthouse.svg │   │   │   │   │   ├── icon_callout_notebook.pdf │   │   │   │   │   ├── icon_callout_notebook.png │   │   │   │   │   ├── icon_callout_notebook.svg │   │   │   │   │   ├── icon_callout_perspective.pdf │   │   │   │   │   ├── icon_callout_perspective.png │   │   │   │   │   ├── icon_callout_perspective.svg │   │   │   │   │   ├── icon_callout_pitfall.pdf │   │   │   │   │   ├── icon_callout_pitfall.png │   │   │   │   │   ├── icon_callout_pitfall.svg │   │   │   │   │   ├── icon_callout_principle.pdf │   │   │   │   │   ├── icon_callout_principle.png │   │   │   │   │   ├── icon_callout_principle.svg │   │   │   │   │   ├── icon_callout_quiz_answer.pdf │   │   │   │   │   ├── icon_callout_quiz_answer.png │   │   │   │   │   ├── icon_callout_quiz_answer.svg │   │   │   │   │   ├── icon_callout_quiz_question.pdf │   │   │   │   │   ├── icon_callout_quiz_question.png │   │   │   │   │   ├── icon_callout_quiz_question.svg │   │   │   │   │   ├── icon_callout_resource_exercises.pdf │   │   │   │   │   ├── icon_callout_resource_exercises.png │   │   │   │   │   ├── icon_callout_resource_exercises.svg │   │   │   │   │   ├── icon_callout_resource_slides.pdf │   │   │   │   │   ├── icon_callout_resource_slides.png │   │   │   │   │   ├── icon_callout_resource_slides.svg │   │   │   │   │   ├── icon_callout_resource_videos.pdf │   │   │   │   │   ├── icon_callout_resource_videos.png │   │   │   │   │   ├── icon_callout_resource_videos.svg │   │   │   │   │   ├── icon_callout_takeaways.pdf │   │   │   │   │   ├── icon_callout_takeaways.png │   │   │   │   │   ├── icon_callout_takeaways.svg │   │   │   │   │   ├── icon_callout_theorem.pdf │   │   │   │   │   ├── icon_callout_theorem.png │   │   │   │   │   ├── icon_callout_theorem.svg │   │   │   │   │   ├── icon_callout_war_story.pdf │   │   │   │   │   ├── icon_callout_war_story.png │   │   │   │   │   └── icon_callout_war_story.svg │   │   │   │   └── favicon.png │   │   │   ├── media │   │   │   │   └── notebooklm_podcast_mlsysbookai.mp3 │   │   │   ├── preview_plots │   │   │   │   ├── compilation_continuum_fixed.png │   │   │   │   ├── compilation_continuum.png │   │   │   │   └── training_roofline_fixed.png │   │   │   ├── scripts │   │   │   │   ├── sidebar-auto-collapse.js │   │   │   │   ├── subscribe-modal.js │   │   │   │   └── version-link.js │   │   │   └── styles │   │   │   ├── _base-styles.scss │   │   │   ├── _dark-mode-base.scss │   │   │   ├── custom-code.theme │   │   │   ├── dark-mode-vol1.scss │   │   │   ├── dark-mode-vol2.scss │   │   │   ├── dark-mode.scss │   │   │   ├── epub-vol1.css │   │   │   ├── epub-vol2.css │   │   │   ├── epub.css │   │   │   ├── README.md │   │   │   ├── style-vol1.scss │   │   │   ├── style-vol2.scss │   │   │   ├── style.scss │   │   │   ├── themes │   │   │   │   ├── _theme-eth.scss │   │   │   │   └── _theme-harvard.scss │   │   │   └── video-enhanced.css │   │   ├── calc │   │   │   └── viz.py │   │   ├── config │   │   │   ├── _quarto-epub-vol1.yml │   │   │   ├── _quarto-epub-vol2.yml │   │   │   ├── _quarto-html-vol1.yml │   │   │   ├── _quarto-html-vol2.yml │   │   │   ├── _quarto-pdf-vol1-copyedit.yml │   │   │   ├── _quarto-pdf-vol1.yml │   │   │   ├── _quarto-pdf-vol2-copyedit.yml │   │   │   ├── _quarto-pdf-vol2.yml │   │   │   └── shared │   │   │   ├── base │   │   │   │   ├── crossref-video.yml │   │   │   │   ├── custom-numbered-blocks.yml │   │   │   │   ├── diagram.yml │   │   │   │   └── execute-env.yml │   │   │   ├── epub │   │   │   │   ├── filter-metadata.yml │   │   │   │   └── filters.yml │   │   │   ├── html │   │   │   │   ├── announcement.yml │   │   │   │   ├── filter-metadata.yml │   │   │   │   ├── filters.yml │   │   │   │   └── footer-common.yml │   │   │   ├── pdf │   │   │   │   ├── build-copyedit-common.yml │   │   │   │   ├── build-production-common.yml │   │   │   │   ├── copyedit-watermark.yml │   │   │   │   ├── custom-numbered-blocks-overrides.yml │   │   │   │   ├── filter-metadata.yml │   │   │   │   ├── filters.yml │   │   │   │   ├── titlepage-pdf-common.yml │   │   │   │   ├── titlepage-pdf-copyedit-common.yml │   │   │   │   └── titlepage-theme-common.yml │   │   │   ├── README.md │   │   │   ├── vol1 │   │   │   │   └── filter-metadata-paths.yml │   │   │   └── vol2 │   │   │   └── filter-metadata-paths.yml │   │   ├── contents │   │   │   ├── backmatter │   │   │   │   ├── glossary │   │   │   │   │   └── README.md │   │   │   │   ├── references.html │   │   │   │   ├── references.qmd │   │   │   │   └── resources │   │   │   │   ├── phd_survival_guide.html │   │   │   │   └── phd_survival_guide.qmd │   │   │   ├── core │   │   │   │   ├── dl_primer │   │   │   │   │   └── images │   │   │   │   └── frameworks │   │   │   │   └── images │   │   │   ├── frontmatter │   │   │   │   ├── about │   │   │   │   │   ├── about.qmd │   │   │   │   │   └── images │   │   │   │   │   └── png │   │   │   │   │   └── bloom_revised_taxonomy.png │   │   │   │   ├── acknowledgements │   │   │   │   │   ├── acknowledgements.qmd │   │   │   │   │   └── images │   │   │   │   │   ├── jpg │   │   │   │   │   │   └── seeedstudio.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── arduino.png │   │   │   │   │   ├── edge-impulse.png │   │   │   │   │   ├── edgeai.png │   │   │   │   │   ├── google.png │   │   │   │   │   ├── harvard_xtension_school.png │   │   │   │   │   ├── harvard-xtension-school.png │   │   │   │   │   ├── hdsi.png │   │   │   │   │   ├── ictp.png │   │   │   │   │   ├── netlify.png │   │   │   │   │   └── nsf.png │   │   │   │   ├── index.qmd │   │   │   │   └── socratiq │   │   │   │   ├── audio │   │   │   │   │   └── socratiq_ai_podcast.mp3 │   │   │   │   ├── images │   │   │   │   │   ├── gif │   │   │   │   │   │   ├── adjust_message_difficulty.gif │   │   │   │   │   │   └── reference.gif │   │   │   │   │   └── png │   │   │   │   │   ├── 1234.png │   │   │   │   │   ├── adjust_message_difficulty.png │   │   │   │   │   ├── badges.png │   │   │   │   │   ├── buttons.png │   │   │   │   │   ├── chat_ask.png │   │   │   │   │   ├── chat_context.png │   │   │   │   │   ├── chat_explanation.png │   │   │   │   │   ├── chat_related.png │   │   │   │   │   ├── dart.png │   │   │   │   │   ├── dashboard.png │   │   │   │   │   ├── download_report.png │   │   │   │   │   ├── interface.png │   │   │   │   │   ├── medal.png │   │   │   │   │   ├── prev_conversations.png │   │   │   │   │   ├── quiz_answers.png │   │   │   │   │   ├── quiz_button.png │   │   │   │   │   ├── quiz_button2.png │   │   │   │   │   ├── quiz_questions.png │   │   │   │   │   ├── reference.png │   │   │   │   │   ├── settings.png │   │   │   │   │   ├── shortcut.png │   │   │   │   │   ├── top_menu.png │   │   │   │   │   └── trophy.png │   │   │   │   └── socratiq.qmd │   │   │   ├── README.md │   │   │   ├── vol1 │   │   │   │   ├── backmatter │   │   │   │   │   ├── appendix_algorithm_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   └── 77813ed05083d0d126ae94b66f96810cbdce3c96.svg │   │   │   │   │   ├── appendix_algorithm.qmd │   │   │   │   │   ├── appendix_assumptions_files │   │   │   │   │   │   └── figure-pdf │   │   │   │   │   ├── appendix_assumptions.qmd │   │   │   │   │   ├── appendix_dam_files │   │   │   │   │   │   └── figure-pdf │   │   │   │   │   ├── appendix_dam.qmd │   │   │   │   │   ├── appendix_data_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── libs │   │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   │   ├── bootstrap-138a6193a3bd40baf1e627da441a4734.min.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   │   ├── quarto-syntax-highlighting-adfb2833bc15652ec5881dc6381ea988.css │   │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   └── d79e1f99c2b6dbc6540b2a1bab22871301ec09b9.svg │   │   │   │   │   ├── appendix_data.qmd │   │   │   │   │   ├── appendix_machine_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── bd24d547947af659f26c903ebbd034ebef46a211.svg │   │   │   │   │   │   ├── f8ccf3af55d3b9fb105ea8f13a86aa8c0f7b570b.svg │   │   │   │   │   │   └── f902463c01ec36a6dbf9bf08c376c1600ec122af.svg │   │   │   │   │   ├── appendix_machine.qmd │   │   │   │   │   ├── glossary │   │   │   │   │   │   ├── glossary.qmd │   │   │   │   │   │   └── vol1_glossary.json │   │   │   │   │   ├── images │   │   │   │   │   │   ├── dam_venn.svg │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _activities.png │   │   │   │   │   │   │   ├── _dam_venn.png │   │   │   │   │   │   │   └── _hog.png │   │   │   │   │   │   └── svg │   │   │   │   │   │   └── broadcasting_rules.svg │   │   │   │   │   ├── references.bib │   │   │   │   │   └── references.qmd │   │   │   │   ├── benchmarking │   │   │   │   │   ├── benchmarking_concepts.yml │   │   │   │   │   ├── benchmarking_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-16-output-1.pdf │   │   │   │   │   │   │   └── cell-19-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 0e9940eea8fef86e764b93d7fdb3583ee1565cab.svg │   │   │   │   │   │   ├── 1290d981db776567f565cbffb293d3a337effb74.svg │   │   │   │   │   │   ├── 2f27a3d63756a0dd6171e785d4a263e07cf63b4b.svg │   │   │   │   │   │   ├── 5f83d3d48c1ffd616633e3df25a7337bed81aecd.svg │   │   │   │   │   │   ├── 8000f8b9988a956ceb96d6a74a7c9b10cb0b30b9.svg │   │   │   │   │   │   ├── 9be26d8b8f745b832243d8cc55112c4a9ad640e8.svg │   │   │   │   │   │   ├── 9c0e88d715d94ae98fde712a6c06514c913a0afb.svg │   │   │   │   │   │   ├── ad7fcd6fe0debfbbe6f5a6b483a074f4c8a7bc90.svg │   │   │   │   │   │   ├── bd1fa88de3878b7645967da526cba64eb8100a82.svg │   │   │   │   │   │   ├── e55d31a2ba51d5d490a3bbeebd7fdb4c7979b3e5.svg │   │   │   │   │   │   └── f799c6e9a415e12af084450129dfe12a5a7a7461.svg │   │   │   │   │   ├── benchmarking_glossary.json │   │   │   │   │   ├── benchmarking_quizzes.json │   │   │   │   │   ├── benchmarking.qmd │   │   │   │   │   ├── footnote_context_quizzes.json │   │   │   │   │   └── images │   │   │   │   │   └── png │   │   │   │   │   ├── _benchmarking_components.png │   │   │   │   │   ├── _benchmarking_trifecta.png │   │   │   │   │   ├── _coco.png │   │   │   │   │   ├── _datavsmodelai.png │   │   │   │   │   ├── _dynabench.png │   │   │   │   │   ├── _end2end.png │   │   │   │   │   ├── _hardware_lottery.png │   │   │   │   │   ├── _mlperf_perf_trend.png │   │   │   │   │   ├── _mlperf_tiny.png │   │   │   │   │   ├── _mlperf_training_06_12_2024.png │   │   │   │   │   ├── _mlperf_training_06-12-2024.png │   │   │   │   │   ├── _mlperf_training_progress.png │   │   │   │   │   ├── _mlsystems_scale.png │   │   │   │   │   ├── _mnist.png │   │   │   │   │   ├── _model_flops_vs_top_1.png │   │   │   │   │   ├── _power_component_diagram.png │   │   │   │   │   ├── _power_trends.png │   │   │   │   │   ├── _sciml_graph.png │   │   │   │   │   ├── _trainingvsinference.png │   │   │   │   │   ├── _trifecta.png │   │   │   │   │   └── cover_ai_benchmarking.png │   │   │   │   ├── conclusion │   │   │   │   │   ├── conclusion_concepts.yml │   │   │   │   │   ├── conclusion_glossary.json │   │   │   │   │   ├── conclusion_quizzes.json │   │   │   │   │   ├── conclusion.qmd │   │   │   │   │   ├── footnote_context_quizzes.json │   │   │   │   │   └── images │   │   │   │   │   └── png │   │   │   │   │   └── cover_conclusion.png │   │   │   │   ├── data_engineering │   │   │   │   │   ├── data_engineering_concepts.yml │   │   │   │   │   ├── data_engineering_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   └── cell-9-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 41d6b150f8796e24875509f62fcd0d7d35dd2c74.svg │   │   │   │   │   │   ├── 65e1305ec09c9a56d080076e30dcc76b33daa978.svg │   │   │   │   │   │   ├── 6a8fa64035ab8e44313bdb6a0e9c077db6968348.svg │   │   │   │   │   │   ├── 6e9ff77b168ac248c79a530d191e6b8fa31714cd.svg │   │   │   │   │   │   ├── a852e1ab1dbcf10ebcb8356be79059e249241ec7.svg │   │   │   │   │   │   ├── ad8a5c67f9666ef0da036793c2a6ebf28f83cf4a.svg │   │   │   │   │   │   ├── e99fd7087460ee41f866e2c1885708446322fe98.svg │   │   │   │   │   │   └── ecff59fc5f0797ded4b8d4637d9036cc3e85ac9f.svg │   │   │   │   │   ├── data_engineering_glossary.json │   │   │   │   │   ├── data_engineering_quizzes.json │   │   │   │   │   ├── data_engineering.qmd │   │   │   │   │   └── images │   │   │   │   │   ├── jpg │   │   │   │   │   │   ├── _data_engineering_features.jpg │   │   │   │   │   │   ├── _data_governance.jpg │   │   │   │   │   │   ├── _synthetic_data.jpg │   │   │   │   │   │   └── 1914_traffic.jpeg │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _cs249r_labels.png │   │   │   │   │   │   ├── _data_card.png │   │   │   │   │   │   ├── _data_engineering_cascades.png │   │   │   │   │   │   ├── _data_pipeline.png │   │   │   │   │   │   ├── _data_version_ctrl.png │   │   │   │   │   │   ├── _data_versioning.png │   │   │   │   │   │   ├── _datacollection.png │   │   │   │   │   │   ├── _dataset_myopia.png │   │   │   │   │   │   ├── _ds_timespent.png │   │   │   │   │   │   ├── _label_errors_examples_new.png │   │   │   │   │   │   ├── _label_errors_examples.png │   │   │   │   │   │   ├── _label-errors-examples.png │   │   │   │   │   │   ├── cover_data_engineering.png │   │   │   │   │   │   ├── cs249r_labels_new.png │   │   │   │   │   │   ├── data_engineering_kws.png │   │   │   │   │   │   ├── data_engineering_kws2.png │   │   │   │   │   │   ├── kws_spectrogram.png │   │   │   │   │   │   └── label-errors-examples_new.png │   │   │   │   │   └── svg │   │   │   │   │   ├── _kws_multilingual.svg │   │   │   │   │   └── _kws_pipeline.svg │   │   │   │   ├── data_selection │   │   │   │   │   ├── data_selection_concepts.yml │   │   │   │   │   ├── data_selection_files │   │   │   │   │   │   ├── figure-html │   │   │   │   │   │   │   ├── cell-10-output-1.png │   │   │   │   │   │   │   ├── cell-14-output-1.png │   │   │   │   │   │   │   ├── cell-17-output-1.png │   │   │   │   │   │   │   ├── cell-23-output-1.png │   │   │   │   │   │   │   └── cell-24-output-1.png │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-10-output-1.pdf │   │   │   │   │   │   │   ├── cell-12-output-1.pdf │   │   │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   │   │   ├── cell-16-output-1.pdf │   │   │   │   │   │   │   ├── cell-17-output-1.pdf │   │   │   │   │   │   │   ├── cell-19-output-1.pdf │   │   │   │   │   │   │   ├── cell-23-output-1.pdf │   │   │   │   │   │   │   ├── cell-24-output-1.pdf │   │   │   │   │   │   │   ├── cell-25-output-1.pdf │   │   │   │   │   │   │   ├── cell-26-output-1.pdf │   │   │   │   │   │   │   ├── cell-27-output-1.pdf │   │   │   │   │   │   │   └── cell-6-output-1.pdf │   │   │   │   │   │   ├── libs │   │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   │   ├── bootstrap-138a6193a3bd40baf1e627da441a4734.min.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   │   ├── quarto-syntax-highlighting-adfb2833bc15652ec5881dc6381ea988.css │   │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 17fe53d78c9e94340e52596b7b87fac69becfbc0.svg │   │   │   │   │   │   ├── a28866c65bfcc4e579e354b24c289688b7e2dcd1.svg │   │   │   │   │   │   └── d0c786e497d6fc9a86731e2db8fbb86bfd7bac7f.svg │   │   │   │   │   ├── data_selection_glossary.json │   │   │   │   │   ├── data_selection_quizzes.json │   │   │   │   │   ├── data_selection_xrefs.json │   │   │   │   │   ├── data_selection.qmd │   │   │   │   │   └── images │   │   │   │   │   └── png │   │   │   │   │   ├── cover_data_efficiency.png │   │   │   │   │   └── running_out_of_data.png │   │   │   │   ├── frameworks │   │   │   │   │   ├── footnote_context_quizzes.json │   │   │   │   │   ├── frameworks_concepts.yml │   │   │   │   │   ├── frameworks_files │   │   │   │   │   │   ├── figure-html │   │   │   │   │   │   │   ├── cell-6-output-1.png │   │   │   │   │   │   │   └── cell-7-output-1.png │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-7-output-1.pdf │   │   │   │   │   │   │   └── cell-8-output-1.pdf │   │   │   │   │   │   ├── libs │   │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   │   ├── bootstrap-138a6193a3bd40baf1e627da441a4734.min.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   │   ├── quarto-syntax-highlighting-adfb2833bc15652ec5881dc6381ea988.css │   │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 192c0bf590065201a107df4f3e5a3745ad474686.svg │   │   │   │   │   │   ├── 46fe18bc2ee17e488a893322e17c73ead8e55057.svg │   │   │   │   │   │   ├── 543ea72d06a67139a40264047afb6bb53699f1c8.svg │   │   │   │   │   │   ├── 5a14326be5b802a50e34197aefbddc65a5cafdec.svg │   │   │   │   │   │   ├── 6605d35fd240e26b95d0109bb0d08dba87ef3b2b.svg │   │   │   │   │   │   ├── 71f08ec6327bbc84d8278bb7009b0a0cc61263e2.svg │   │   │   │   │   │   ├── 880269502cb0736c22e35ade5a0555d018c4dc2b.svg │   │   │   │   │   │   ├── b4a4f5e0e161b773847d17044d7faebdafea420d.svg │   │   │   │   │   │   ├── b5983c66d0c7c1367bdf2bcda65242663e7e960f.svg │   │   │   │   │   │   ├── d5819b7739c1250393e12b3f2304c32c9c03158e.svg │   │   │   │   │   │   └── e5a852fff359702992e7623c7024193cd29116c7.svg │   │   │   │   │   ├── frameworks_glossary.json │   │   │   │   │   ├── frameworks_quizzes.json │   │   │   │   │   ├── frameworks.html │   │   │   │   │   ├── frameworks.qmd │   │   │   │   │   ├── frontiers_quizzes.json │   │   │   │   │   └── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   └── onnx_new.jpg │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _ai_training.png │   │   │   │   │   │   ├── _color_channels_of_image.png │   │   │   │   │   │   ├── _comp_graph_xyz.png │   │   │   │   │   │   ├── _comp_graph.png │   │   │   │   │   │   ├── _core_ops.png │   │   │   │   │   │   ├── _dynamic_graph.png │   │   │   │   │   │   ├── _federated_learning.png │   │   │   │   │   │   ├── _fm_building_blocks.png │   │   │   │   │   │   ├── _hardware_accelerator.png │   │   │   │   │   │   ├── _hw_cmp.png │   │   │   │   │   │   ├── _image6.png │   │   │   │   │   │   ├── _image7.png │   │   │   │   │   │   ├── _image8.png │   │   │   │   │   │   ├── _mlfm_timeline.png │   │   │   │   │   │   ├── _onnx.jpg │   │   │   │   │   │   ├── _overfittingunderfitting.png │   │   │   │   │   │   ├── _precisionrecall.png │   │   │   │   │   │   ├── _static_graph.png │   │   │   │   │   │   ├── _staticvsdynamic.png │   │   │   │   │   │   ├── _sw_cmp.png │   │   │   │   │   │   ├── _tensor_flow_lite_logo.png │   │   │   │   │   │   ├── _tensor_flow_lite_micro_logo.png │   │   │   │   │   │   ├── _tensor_flow_logo.png │   │   │   │   │   │   ├── _tensorflow.png │   │   │   │   │   │   ├── _tensorflowlitelogo.png │   │   │   │   │   │   ├── _tensorflowlitemicrologo.png │   │   │   │   │   │   ├── _tensorflowlogo.png │   │   │   │   │   │   ├── _tensorflowpytorch.png │   │   │   │   │   │   ├── _tensors.png │   │   │   │   │   │   ├── _tf_cmp.png │   │   │   │   │   │   ├── _transferlearning.png │   │   │   │   │   │   ├── ai_training.png.resized │   │   │   │   │   │   ├── cover_ml_frameworks.png │   │   │   │   │   │   └── hardware_accelerator.ai │   │   │   │   │   └── svg │   │   │   │   │   └── _onnx_interop.svg │   │   │   │   ├── frontmatter │   │   │   │   │   ├── about.qmd │   │   │   │   │   ├── acknowledgements.qmd │   │   │   │   │   ├── dedication.qmd │   │   │   │   │   ├── foreword.qmd │   │   │   │   │   └── notation.qmd │   │   │   │   ├── hw_acceleration │   │   │   │   │   ├── hw_acceleration_concepts.yml │   │   │   │   │   ├── hw_acceleration_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   │   │   ├── cell-15-output-1.pdf │   │   │   │   │   │   │   ├── cell-16-output-1.pdf │   │   │   │   │   │   │   ├── cell-18-output-1.pdf │   │   │   │   │   │   │   ├── cell-3-output-1.pdf │   │   │   │   │   │   │   ├── cell-5-output-1.pdf │   │   │   │   │   │   │   └── cell-6-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 214d036a00daccf8a0d7c89353c972a3834f3bd3.svg │   │   │   │   │   │   ├── 7f79c28f69af30cb3906d6270020d39475e2af72.svg │   │   │   │   │   │   ├── 9190a5db83853b5e6fb237e9dfb5f4a19307608c.svg │   │   │   │   │   │   ├── 9799deaf7fac0109fdea2aca26a43be1ff1c7bf2.svg │   │   │   │   │   │   ├── 9a7102c7e05582e253c5ca9ce4f6d689a598c4b8.svg │   │   │   │   │   │   └── fb4c7d87ac1830857fc1afbcb358889d8f14edcf.svg │   │   │   │   │   ├── hw_acceleration_glossary.json │   │   │   │   │   ├── hw_acceleration_quizzes.json │   │   │   │   │   ├── hw_acceleration.qmd │   │   │   │   │   └── images │   │   │   │   │   ├── _technology_s_curve.png │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _cerebras3specs.png │   │   │   │   │   │   ├── _chiplets.png │   │   │   │   │   │   ├── _int8_tops_nvidia.png │   │   │   │   │   │   ├── _tflite_edge_tpu_perf.png │   │   │   │   │   │   ├── _tpu_pod_perf.png │   │   │   │   │   │   ├── _tpu-pod-perf.png │   │   │   │   │   │   └── cover_ai_hardware.png │   │   │   │   │   └── svg │   │   │   │   │   └── int8_tops.svg │   │   │   │   ├── index_prune_candidates.yml │   │   │   │   ├── index.qmd │   │   │   │   ├── introduction │   │   │   │   │   ├── images │   │   │   │   │   │   ├── gif │   │   │   │   │   │   │   └── _alphafold.gif │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _21st_computer.png │   │   │   │   │   │   │   ├── _alexnet_arch.png │   │   │   │   │   │   │   ├── _algo_efficiency.png │   │   │   │   │   │   │   ├── _alphafold.png │   │   │   │   │   │   │   ├── _compute_efficiency.png │   │   │   │   │   │   │   ├── _farmbeats.png │   │   │   │   │   │   │   ├── _hidden_debt.png │   │   │   │   │   │   │   ├── _image.png │   │   │   │   │   │   │   ├── _ml_lifecycle_overview.png │   │   │   │   │   │   │   ├── _mlapplications.png │   │   │   │   │   │   │   ├── _mlprojectlifecycle.png │   │   │   │   │   │   │   ├── _running_out_of_data.png │   │   │   │   │   │   │   ├── _triangle.png │   │   │   │   │   │   │   ├── book_pillars.png │   │   │   │   │   │   │   ├── cover_introduction.png │   │   │   │   │   │   │   └── farmbeats.png.resized │   │   │   │   │   │   └── svg │   │   │   │   │   │   └── _system-map.svg │   │   │   │   │   ├── introduction_concepts.yml │   │   │   │   │   ├── introduction_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-12-output-1.pdf │   │   │   │   │   │   │   └── cell-13-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 1a2b1bcf22673243422531a2d66c6f5d48352a16.svg │   │   │   │   │   │   ├── 1c872f01c8419d794ab0d421b4242738661a8d5f.svg │   │   │   │   │   │   ├── 688d13cbbe0bed4c153ba4409e9b5459a9fd5f72.svg │   │   │   │   │   │   ├── 8092379fa37792118da038349b1399b75db51740.svg │   │   │   │   │   │   ├── a7377c068ee7a4544c9d3a4afd635fbac9447811.svg │   │   │   │   │   │   └── f510bf01db0a5ac1029c7afaa34b9a7ddb7935fb.svg │   │   │   │   │   ├── introduction_glossary.json │   │   │   │   │   ├── introduction_quizzes.json │   │   │   │   │   └── introduction.qmd │   │   │   │   ├── ml_ops │   │   │   │   │   ├── images │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   └── _mlml_ops_overview_layers.jpeg │   │   │   │   │   │   └── png │   │   │   │   │   │   ├── _cicd_pipelines.png │   │   │   │   │   │   ├── _clinaiml_ops_loml_ops.png │   │   │   │   │   │   ├── _clinaiml_ops.png │   │   │   │   │   │   ├── _data_cascades.png │   │   │   │   │   │   ├── _edge_impulse_dashboard.png │   │   │   │   │   │   ├── _hidden_debt.png │   │   │   │   │   │   ├── _impulse.png │   │   │   │   │   │   ├── _mlml_ops_flow.png │   │   │   │   │   │   ├── _transfer_learning.png │   │   │   │   │   │   └── cover_ml_ops.png │   │   │   │   │   ├── ml_ops_concepts.yml │   │   │   │   │   ├── ml_ops_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-10-output-1.pdf │   │   │   │   │   │   │   └── cell-13-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 152459d2567c0229fa3bd608f063eb3b8c21562b.svg │   │   │   │   │   │   ├── 2b72f3197e39cf865a675e27089671a8913ffd2e.svg │   │   │   │   │   │   ├── 350af8f691a79b7f9de3da51d85d2638edc42b5c.svg │   │   │   │   │   │   ├── 556dfbf5aa6b2e59e704e3c3a8dac7a82571a045.svg │   │   │   │   │   │   ├── 74891bc04692ed256b893e444d40d73c83e9232d.svg │   │   │   │   │   │   ├── 94b758120cd009006b91dd9e843fefa040e5033d.svg │   │   │   │   │   │   ├── 96f950280edc5e92c5b1413892a81535f20eada1.svg │   │   │   │   │   │   ├── 9db7c8e7810e5d1080dec551cdee1ff0e7d4dffe.svg │   │   │   │   │   │   ├── a145741ee75aa73e44a03986ade1f7a93d23b65a.svg │   │   │   │   │   │   └── ec1c6cf365173de408e641414e317ad82da23992.svg │   │   │   │   │   ├── ml_ops_glossary.json │   │   │   │   │   ├── ml_ops_quizzes.json │   │   │   │   │   └── ml_ops.qmd │   │   │   │   ├── ml_systems │   │   │   │   │   ├── footnote_context_quizzes.json │   │   │   │   │   ├── frontiers_quizzes.json │   │   │   │   │   ├── images │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   ├── _cloud_mobile_tiny_sizes.jpg │   │   │   │   │   │   │   ├── _edge_ml_iot.jpg │   │   │   │   │   │   │   ├── _microprocessor_vs_microcontroller.jpg │   │   │   │   │   │   │   └── cloud_ml_tpu.jpeg │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _cloud_edge_tiny.png │   │   │   │   │   │   │   ├── _cloud_ml_tpu.png │   │   │   │   │   │   │   ├── _cloud-edge-tiny.png │   │   │   │   │   │   │   ├── _cloudml.png │   │   │   │   │   │   │   ├── _convergence.png │   │   │   │   │   │   │   ├── _cover_ml_systems_ai.png │   │   │   │   │   │   │   ├── _edgeml.png │   │   │   │   │   │   │   ├── _hybrid.png │   │   │   │   │   │   │   ├── _mlsys_playbook.png │   │   │   │   │   │   │   ├── _op_char.png │   │   │   │   │   │   │   ├── _op_perf_char.png │   │   │   │   │   │   │   ├── _perf_char.png │   │   │   │   │   │   │   ├── _tinyml.png │   │   │   │   │   │   │   ├── _venndiagram.png │   │   │   │   │   │   │   ├── cloud_ml_tpu.png.resized │   │   │   │   │   │   │   ├── cover_ml_systems.png │   │   │   │   │   │   │   └── tiny_ml.png │   │   │   │   │   │   └── svg │   │   │   │   │   │   └── _edge_ml_iot.svg │   │   │   │   │   ├── ml_systems_concepts.yml │   │   │   │   │   ├── ml_systems_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   └── cell-21-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 3b6dd945c9eb4a4a6176cd737664ac30dc0ce12a.svg │   │   │   │   │   │   ├── 5e7b6e5851a635fcbe0705cc3ab021db74107937.svg │   │   │   │   │   │   ├── 61bb4a5427c141be718064430ee89378532aa45a.svg │   │   │   │   │   │   ├── 67a25d7869df66c9878ba4d877c315b44df6825d.svg │   │   │   │   │   │   ├── 7364585493d164e4389d562c803805c96296ded3.svg │   │   │   │   │   │   ├── 80accc40848652700772a8a355e7a4c86e598884.svg │   │   │   │   │   │   ├── 9691786bbf3138df6fa19c2034d763015b21a704.svg │   │   │   │   │   │   ├── c491ee41569a92f002bf915150731598e0d64e26.svg │   │   │   │   │   │   └── ec67dd6b39e48d83fcfdea54980b39868a9dc8c0.svg │   │   │   │   │   ├── ml_systems_glossary.json │   │   │   │   │   ├── ml_systems_quizzes.json │   │   │   │   │   └── ml_systems.qmd │   │   │   │   ├── ml_workflow │   │   │   │   │   ├── images │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   └── _ml_life_cycle.jpeg │   │   │   │   │   │   └── png │   │   │   │   │   │   ├── _comparingdlandml.png │   │   │   │   │   │   ├── _eye_dr.png │   │   │   │   │   │   ├── _feedback_loops.png │   │   │   │   │   │   ├── _ml_life_cycle_overview.png │   │   │   │   │   │   ├── cover_ai_ml_workflow.png │   │   │   │   │   │   └── eye-dr.png │   │   │   │   │   ├── ml_workflow_concepts.yml │   │   │   │   │   ├── ml_workflow_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   └── cell-9-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 377bd08d4252fd877976dbb812d1ea9216774cfc.svg │   │   │   │   │   │   ├── 3b022a3ffa6f028fe2c2c3165c292a16a3a9e0ff.svg │   │   │   │   │   │   ├── 72f5a8cfb8da9bdb276bb0f52d88b2e57e64bfe1.svg │   │   │   │   │   │   └── 91158404897ad0071f5a6225dc72babd5022b927.svg │   │   │   │   │   ├── ml_workflow_glossary.json │   │   │   │   │   ├── ml_workflow_quizzes.json │   │   │   │   │   └── ml_workflow.qmd │   │   │   │   ├── model_serving │   │   │   │   │   ├── images │   │   │   │   │   │   └── png │   │   │   │   │   │   ├── _cover_model_serving.png │   │   │   │   │   │   ├── cover_model_serving.png.compressed │   │   │   │   │   │   └── cover_model_serving.png.resized │   │   │   │   │   ├── model_serving_concepts.yml │   │   │   │   │   ├── model_serving_files │   │   │   │   │   │   ├── figure-html │   │   │   │   │   │   │   ├── cell-2-output-1.png │   │   │   │   │   │   │   ├── cell-24-output-1.png │   │   │   │   │   │   │   ├── cell-36-output-1.png │   │   │   │   │   │   │   └── cell-4-output-1.png │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-25-output-1.pdf │   │   │   │   │   │   │   ├── cell-3-output-1.pdf │   │   │   │   │   │   │   ├── cell-37-output-1.pdf │   │   │   │   │   │   │   └── cell-5-output-1.pdf │   │   │   │   │   │   ├── libs │   │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   │   ├── bootstrap-138a6193a3bd40baf1e627da441a4734.min.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   │   ├── quarto-syntax-highlighting-adfb2833bc15652ec5881dc6381ea988.css │   │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 3605741110bbdbdc65c774ef33f3e51361fb8f6f.svg │   │   │   │   │   │   ├── 61a58ad9ff63689d2b400edf3ec33ca9cd53e170.svg │   │   │   │   │   │   └── accf6d9905693d67a8fa72d4f7b649adcd47932b.svg │   │   │   │   │   ├── model_serving_glossary.json │   │   │   │   │   ├── model_serving_quizzes.json │   │   │   │   │   ├── model_serving.qmd │   │   │   │   │   └── serving_concepts.yml │   │   │   │   ├── nn_architectures │   │   │   │   │   ├── images │   │   │   │   │   │   ├── gif │   │   │   │   │   │   │   ├── _attention_kqv_calc.gif │   │   │   │   │   │   │   ├── _attention_kqv_calc.png │   │   │   │   │   │   │   └── _cnn.gif │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   ├── _activation_functions3.jpg │   │   │   │   │   │   │   ├── _activation-functions3.jpg │   │   │   │   │   │   │   └── _rnn_unrolled.jpg │   │   │   │   │   │   └── png │   │   │   │   │   │   ├── _allgather.png │   │   │   │   │   │   ├── _attention_kqv_calc.png │   │   │   │   │   │   ├── _attention_viz_mm.png │   │   │   │   │   │   ├── _attention.png │   │   │   │   │   │   ├── _cnn.png │   │   │   │   │   │   ├── _collective_comms.png │   │   │   │   │   │   ├── _mlp_mm.png │   │   │   │   │   │   ├── _rnn.png │   │   │   │   │   │   ├── _transformer.png │   │   │   │   │   │   ├── comm_primitives.png │   │   │   │   │   │   └── cover_dl_arch.png │   │   │   │   │   ├── includes │   │   │   │   │   │   └── zebra_pic.tex │   │   │   │   │   ├── nn_architectures_concepts.yml │   │   │   │   │   ├── nn_architectures_files │   │   │   │   │   │   ├── figure-html │   │   │   │   │   │   │   ├── cell-15-output-1.png │   │   │   │   │   │   │   └── cell-2-output-1.png │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-15-output-1.pdf │   │   │   │   │   │   │   ├── cell-16-output-1.pdf │   │   │   │   │   │   │   ├── cell-2-output-1.pdf │   │   │   │   │   │   │   └── cell-3-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 00d28078c95f0324945a05b54b6eed89ff2acb28.svg │   │   │   │   │   │   ├── 0ac6a22c6278235896e8ca59ca4a0d5274e79296.svg │   │   │   │   │   │   ├── 0f88d09d466d8e0373bbe53f1318aa4872ac0a9f.svg │   │   │   │   │   │   ├── 22d27ff1e2345a8bfa51f2654bc5c0df1460b7fd.svg │   │   │   │   │   │   ├── 34f1ff4eb2e4f04cbfc72069d106a4d9bd7e066d.svg │   │   │   │   │   │   ├── 75a997ac78cdf3af3ce156f5a0a4658ed4340fcd.svg │   │   │   │   │   │   ├── aa3aa170a3acdaf91ddfd26c9ea74821e1dd5a86.svg │   │   │   │   │   │   ├── abca8e73824a54e928a936b6f68c1b4e8f5c8154.svg │   │   │   │   │   │   ├── e0bc7677d6a086da68a8fc6fc213656a2c5783f9.svg │   │   │   │   │   │   ├── e9e7e1c09e6a8880dfe19f7ca56990c0b1b26338.svg │   │   │   │   │   │   ├── f37912dab5a261c6e8c13f31309802396450e3bc.svg │   │   │   │   │   │   └── fb21d280651fd62c2acd81904051608acdd825ef.svg │   │   │   │   │   ├── nn_architectures_glossary.json │   │   │   │   │   ├── nn_architectures_quizzes.json │   │   │   │   │   └── nn_architectures.qmd │   │   │   │   ├── nn_computation │   │   │   │   │   ├── images │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   ├── _activation_functions3.jpg │   │   │   │   │   │   │   ├── _activation-functions3.jpg │   │   │   │   │   │   │   ├── _mlp_connection_weights.jpg │   │   │   │   │   │   │   ├── _rnn_unrolled.jpg │   │   │   │   │   │   │   ├── _usps_examples.jpg │   │   │   │   │   │   │   └── usps_examples_new.jpg │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _ai_dl_progress_nvidia.png │   │   │   │   │   │   │   ├── _attention.png │   │   │   │   │   │   │   ├── _basic_perceptron.png │   │   │   │   │   │   │   ├── _bio_nn2ai_nn.png │   │   │   │   │   │   │   ├── _breakout.png │   │   │   │   │   │   │   ├── _cnn.png │   │   │   │   │   │   │   ├── _cover_nn_primer.png │   │   │   │   │   │   │   ├── _deeplearning.png │   │   │   │   │   │   │   ├── _encoder_decoder.png │   │   │   │   │   │   │   ├── _forward_backward_propagation.png │   │   │   │   │   │   │   ├── _forwardpropagation.png │   │   │   │   │   │   │   ├── _handwritten_digits.png │   │   │   │   │   │   │   ├── _inference_pipeline.png │   │   │   │   │   │   │   ├── _ml_rules.png │   │   │   │   │   │   │   ├── _mlvsdl.png │   │   │   │   │   │   │   ├── _nnlayers.png │   │   │   │   │   │   │   ├── _nonlinear_patterns.png │   │   │   │   │   │   │   ├── _post_processing_flow.png │   │   │   │   │   │   │   ├── _post-processing-flow.png │   │   │   │   │   │   │   ├── _rosenblattperceptron.png │   │   │   │   │   │   │   ├── _topology_28x28.png │   │   │   │   │   │   │   ├── _topology_flatten.png │   │   │   │   │   │   │   ├── _traditional.png │   │   │   │   │   │   │   ├── _training_detailed.png │   │   │   │   │   │   │   ├── _training_overview.png │   │   │   │   │   │   │   ├── _training-detailed.png │   │   │   │   │   │   │   ├── _training-overview.png │   │   │   │   │   │   │   ├── _trends_65d82031.png │   │   │   │   │   │   │   ├── _virtuous_cycle.png │   │   │   │   │   │   │   ├── _virtuous-cycle.png │   │   │   │   │   │   │   ├── activities.png │   │   │   │   │   │   │   ├── cover_nn_computation.png │   │   │   │   │   │   │   ├── cover_nn_computation.png.resized │   │   │   │   │   │   │   └── hog.png │   │   │   │   │   │   └── svg │   │   │   │   │   │   ├── _activity_classification.svg │   │   │   │   │   │   ├── _bio_nn2ai_nn.svg │   │   │   │   │   │   ├── ai_dl_progress.svg │   │   │   │   │   │   └── bio_nn2ai_nn1.svg │   │   │   │   │   ├── nn_computation_concepts.yml │   │   │   │   │   ├── nn_computation_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   │   └── cell-5-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 1196fd0ee3247d29e9fa02bd4363631374330d28.svg │   │   │   │   │   │   ├── 1e782d7a9b0bb9da69e787203623b4a9b19dfbe2.svg │   │   │   │   │   │   ├── 405adc1b803cb0df2d23ec08e869f0a9da1b8a7b.svg │   │   │   │   │   │   ├── 4e0967819143989c29f3c767af7da4db2e7ad402.svg │   │   │   │   │   │   ├── 585ee357c0051ccd3a49fd68e817b3b41b82baf5.svg │   │   │   │   │   │   ├── 5eca2d305973c3f7d7cb8625ebd32d0fb1f04462.svg │   │   │   │   │   │   ├── 61a58ad9ff63689d2b400edf3ec33ca9cd53e170.svg │   │   │   │   │   │   ├── 6bf88beb39bfcc59500dad064f509f4e97f09089.svg │   │   │   │   │   │   ├── 9004e0d7d1da937493720fa09c4076edbf24343b.svg │   │   │   │   │   │   ├── c49938a186f3a0c8f8c46ffad1941121568c024b.svg │   │   │   │   │   │   ├── ce02e74b57fcca71684f81dfcff90b3a29a64707.svg │   │   │   │   │   │   ├── d61e997272cd48b85c2f7e89f6ff4e9f33882d60.svg │   │   │   │   │   │   ├── d6b141623a86e7e4d033950caea8e1143b3bf8de.svg │   │   │   │   │   │   └── d6f43bb442d2e58075980a0f4624905bde33cf6c.svg │   │   │   │   │   ├── nn_computation_glossary.json │   │   │   │   │   ├── nn_computation_quizzes.json │   │   │   │   │   └── nn_computation.qmd │   │   │   │   ├── optimizations │   │   │   │   │   ├── images │   │   │   │   │   │   ├── jpeg │   │   │   │   │   │   │   ├── _color_mapping_9f68f817.jpeg │   │   │   │   │   │   │   └── _color-mapping_9f68f817.jpeg │   │   │   │   │   │   ├── jpg │   │   │   │   │   │   │   ├── _modeloptimization_3float_types.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_channel_layer_pruning.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_color_mappings.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_iterative_pruning.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_oneshot_pruning.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_sprase_matrix.jpeg │   │   │   │   │   │   │   ├── _modeloptimization_winning_ticket.jpeg │   │   │   │   │   │   │   ├── _pruning.jpeg │   │   │   │   │   │   │   └── _quantization.jpeg │   │   │   │   │   │   ├── pdf │   │   │   │   │   │   │   └── _shows-an-example-of-how-a-graph-could-be-optimized-by-the-mapping-toolchain-In-the.pdf │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _2_4_sparsity_gemm.png │   │   │   │   │   │   │   ├── _block_sparse_gemm.png │   │   │   │   │   │   │   ├── _block-sparse-gemm.png │   │   │   │   │   │   │   ├── _early_exit_architecture.png │   │   │   │   │   │   │   ├── _early-exit-architecture.png │   │   │   │   │   │   │   ├── _efficientnumerics_100x.png │   │   │   │   │   │   │   ├── _efficientnumerics_alexnet.png │   │   │   │   │   │   │   ├── _efficientnumerics_calibrationcopy.png │   │   │   │   │   │   │   ├── _efficientnumerics_edgequant.png │   │   │   │   │   │   │   ├── _efficientnumerics_granularity.png │   │   │   │   │   │   │   ├── _efficientnumerics_horowitz.png │   │   │   │   │   │   │   ├── _efficientnumerics_int8vsfloat.png │   │   │   │   │   │   │   ├── _efficientnumerics_lecturenote.png │   │   │   │   │   │   │   ├── _efficientnumerics_modelsizes.png │   │   │   │   │   │   │   ├── _efficientnumerics_p_t_q_q_a_tsummary.png │   │   │   │   │   │   │   ├── _efficientnumerics_ptq.png │   │   │   │   │   │   │   ├── _efficientnumerics_ptqqa_tsummary.png │   │   │   │   │   │   │   ├── _efficientnumerics_ptqqat.png │   │   │   │   │   │   │   ├── _efficientnumerics_ptqqatsummary.png │   │   │   │   │   │   │   ├── _efficientnumerics_qat.png │   │   │   │   │   │   │   ├── _efficientnumerics_qp1.png │   │   │   │   │   │   │   ├── _efficientnumerics_qp2.png │   │   │   │   │   │   │   ├── _efficientnumerics_reducedmodelsize.png │   │   │   │   │   │   │   ├── _efficientnumerics_symmetry.png │   │   │   │   │   │   │   ├── _efficientnumerics_uniformnonuniform.png │   │   │   │   │   │   │   ├── _efficientnumerics_weightsactivations.png │   │   │   │   │   │   │   ├── _knowledgedistillation.png │   │   │   │   │   │   │   ├── _model_optimization_h_w_n_a_s.png │   │   │   │   │   │   │   ├── _model_optimization_hw_nas.png │   │   │   │   │   │   │   ├── _model_optimization_hw-nas.png │   │   │   │   │   │   │   ├── _modeloptimization_depthwise_separable_convolution.png │   │   │   │   │   │   │   ├── _modeloptimization_graph_optimization.png │   │   │   │   │   │   │   ├── _modeloptimization_h_w_n_a_s.png │   │   │   │   │   │   │   ├── _modeloptimization_hw_nas.png │   │   │   │   │   │   │   ├── _modeloptimization_hw-nas.png │   │   │   │   │   │   │   ├── _modeloptimization_knowledge_distillation.png │   │   │   │   │   │   │   ├── _modeloptimization_lottery_ticket_hypothesis.png │   │   │   │   │   │   │   ├── _modeloptimization_low_rank_matrix_factorization.png │   │   │   │   │   │   │   ├── _modeloptimization_preprocessor.png │   │   │   │   │   │   │   ├── _modeloptimization_pruning_comparison.png │   │   │   │   │   │   │   ├── _modeloptimization_quant_hist.png │   │   │   │   │   │   │   ├── _modeloptimization_sparsity.png │   │   │   │   │   │   │   ├── _modeloptimization_split_nets.png │   │   │   │   │   │   │   ├── _modeloptimization_splitnets.png │   │   │   │   │   │   │   ├── _modeloptimization_structure.png │   │   │   │   │   │   │   ├── _modeloptimization_tensor_decomposition.png │   │   │   │   │   │   │   ├── _modeloptimization_tiny_n_a_s.png │   │   │   │   │   │   │   ├── _modeloptimization_tiny_nas.png │   │   │   │   │   │   │   ├── _modeloptimization_tinynas.png │   │   │   │   │   │   │   ├── _shows_an_example_of_how_a_graph_could_be_optimized_by_the_mapping_toolchain_in_the.png │   │   │   │   │   │   │   ├── _shows-an-example-of-how-a-graph-could-be-optimized-by-the-mapping-toolchain-in-the.png │   │   │   │   │   │   │   ├── _source_opt.png │   │   │   │   │   │   │   ├── _sprase_heat_map_a50fe5a9.png │   │   │   │   │   │   │   ├── _sprase-heat-map_a50fe5a9.png │   │   │   │   │   │   │   ├── _switch_transformer.png │   │   │   │   │   │   │   ├── _switch-transformer.png │   │   │   │   │   │   │   ├── _three_float_types.png │   │   │   │   │   │   │   ├── cover_model_optimizations.png │   │   │   │   │   │   │   └── cover_model_optimizations.png.resized │   │   │   │   │   │   └── svg │   │   │   │   │   │   ├── _activation_histogram.svg │   │   │   │   │   │   ├── _quantization_error.svg │   │   │   │   │   │   ├── kernel_weights.svg │   │   │   │   │   │   └── sparsity_heatmap.svg │   │   │   │   │   ├── model_compression_concepts.yml │   │   │   │   │   ├── model_compression_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   ├── cell-3-output-1.pdf │   │   │   │   │   │   │   └── cell-4-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 097a5642543829709d44bb684ce7285c7e81ba00.svg │   │   │   │   │   │   ├── 12594567a4c43f0c53a0ffe99e4200dac1e0d39f.svg │   │   │   │   │   │   ├── 2416571d856636694172c7d9f7c9d379248dd142.svg │   │   │   │   │   │   ├── 2dd2690a535bf9ea0ac867384d7ff1e0109e1e70.svg │   │   │   │   │   │   ├── 33b82c2c55bd8fc4d55f16cf0056d2bd8be77a60.svg │   │   │   │   │   │   ├── 4000264baf2311c2b61ca0ddd3fcedaa9d047ed3.svg │   │   │   │   │   │   ├── 440404943fb338974476281485ca94ebfbbf34ef.svg │   │   │   │   │   │   ├── 506d2dbc71edabaa6d02638fa04fd2bdc5f69a0d.svg │   │   │   │   │   │   ├── 5f6c92a93cf19eb9bd1a4dfe0ac1cda2fe6b1987.svg │   │   │   │   │   │   ├── 749bc54f08be774e9d2f5d193b273ca464298ed0.svg │   │   │   │   │   │   ├── 78d4d76a0ca24a0a9119ce715de9e66a77944329.svg │   │   │   │   │   │   ├── 83e4d197fa0f39ba6075d773e79cc495461efd0f.svg │   │   │   │   │   │   ├── 858c127d1aaa40c7c9e0f296cd2f26c678954d24.svg │   │   │   │   │   │   ├── 8625c8bbbc3f8607201702689d777cb9b973ab6c.svg │   │   │   │   │   │   ├── 89c118316887869d2f20cd64cacf2bdef56d41d8.svg │   │   │   │   │   │   ├── 8ac206f360f289b450ef2f7d051d197eedcfc31b.svg │   │   │   │   │   │   ├── 8b5682dff49bc4715df9b14d4a3e6ed9c70c325a.svg │   │   │   │   │   │   ├── 8d2e73ba08475c3a5ea5bb7794c1ddbad6cc09d7.svg │   │   │   │   │   │   ├── 8d8ca5f84b74881f635a2f9142ea8774f3c82e7e.svg │   │   │   │   │   │   ├── 9b84cdfe1e94a46cc0ec620879383ff34b7a042e.svg │   │   │   │   │   │   ├── 9c91776f7f998dfe8b8505b64e4d8571b4ffccf4.svg │   │   │   │   │   │   ├── 9d88b3fba2d37f86e43d15acbd18bf16989de696.svg │   │   │   │   │   │   ├── b0dbb236da6776d80afb34df980dd489991d0bb2.svg │   │   │   │   │   │   ├── b90a96a6d4772b4b8898ad11c262e3e7ea987b3d.svg │   │   │   │   │   │   ├── d480986cd8d9c88123802c66b3ff8b2d3d74fa4b.svg │   │   │   │   │   │   ├── dcbd6535b09a28528559354f928838baaae7644b.svg │   │   │   │   │   │   ├── e8679bf680a97bbd7a222b4ec5470ad0a84a7bf4.svg │   │   │   │   │   │   ├── f5e4cae15a1541fefc98d613c31adbf0c104e331.svg │   │   │   │   │   │   └── fc4813524b57d9439c3a0b9101f2c1f2a79382c3.svg │   │   │   │   │   ├── model_compression_glossary.json │   │   │   │   │   ├── model_compression_quizzes.json │   │   │   │   │   └── model_compression.qmd │   │   │   │   ├── parts │   │   │   │   │   ├── build_principles.qmd │   │   │   │   │   ├── deploy_principles.qmd │   │   │   │   │   ├── foundations_principles.qmd │   │   │   │   │   ├── optimize_principles.qmd │   │   │   │   │   └── summaries.yml │   │   │   │   ├── README.md │   │   │   │   ├── responsible_engr │   │   │   │   │   ├── images │   │   │   │   │   │   ├── png │   │   │   │   │   │   │   ├── _fairness_cartoon.png │   │   │   │   │   │   │   ├── _human_centered_ai.png │   │   │   │   │   │   │   ├── _interpretability_model_spectrum.png │   │   │   │   │   │   │   └── cover_responsible_systems.png │   │   │   │   │   │   └── svg │   │   │   │   │   │   ├── _fairness_threshold.svg │   │   │   │   │   │   ├── governance_layers.svg │   │   │   │   │   │   └── interpretability_spectrum.svg │   │   │   │   │   ├── responsible_engr_concepts.yml │   │   │   │   │   ├── responsible_engr_files │   │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   │   └── cell-3-output-1.pdf │   │   │   │   │   │   └── mediabag │   │   │   │   │   │   ├── 1dff84d697503d296604bdf2b6e4377e735c76f7.svg │   │   │   │   │   │   ├── 439ae551f4d955b988cae5c3b5ba56c989b15bfc.svg │   │   │   │   │   │   └── 87f05059f5e3217e075f46d2dc48fa692d9d6403.svg │   │   │   │   │   ├── responsible_engr_glossary.json │   │   │   │   │   ├── responsible_engr_quizzes.json │   │   │   │   │   └── responsible_engr.qmd │   │   │   │   ├── REVIEW_NOTES.md │   │   │   │   ├── STATUS.md │   │   │   │   └── training │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── _activation_functions3.jpg │   │   │   │   │   │   ├── _activation-functions3.jpg │   │   │   │   │   │   └── _galore_memory_breakdown.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── _acc_fpgas.png │   │   │   │   │   ├── _acc_gpus.png │   │   │   │   │   ├── _acc_tpus.png │   │   │   │   │   ├── _acc_wse.png │   │   │   │   │   ├── _act_funcs.png │   │   │   │   │   ├── _act_perf.png │   │   │   │   │   ├── _aitrainingfit.png │   │   │   │   │   ├── _aitrainingnn.png │   │   │   │   │   ├── _aitrainingpara.png │   │   │   │   │   ├── _aitrainingroof.png │   │   │   │   │   ├── _aitrainingsgd.png │   │   │   │   │   ├── _fits.png │   │   │   │   │   ├── _graph.png │   │   │   │   │   ├── _training_parallelism_choices.png │   │   │   │   │   ├── cover_ai_training.png │   │   │   │   │   ├── cover_ai_training.png.resized │   │   │   │   │   └── tf_profiler.png │   │   │   │   ├── training_concepts.yml │   │   │   │   ├── training_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-16-output-1.pdf │   │   │   │   │   │   ├── cell-25-output-1.pdf │   │   │   │   │   │   └── cell-39-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 17354575512ebaa4f32e31356f222c598a6fcde5.svg │   │   │   │   │   ├── 2d1c223067bc2f00a776ae8466c5ef29b902237c.svg │   │   │   │   │   ├── 33764a6172ec2ebb5c4fd10ddca356a37e5b3301.svg │   │   │   │   │   ├── 35563a37b9afa45acd068bd925d967953cfbf705.svg │   │   │   │   │   ├── 362b8e6a5c75075458bf810511f467a2826671be.svg │   │   │   │   │   ├── 4228a27c27dc6e0238c792ec7e50c417a9c7edc0.svg │   │   │   │   │   ├── 7bc7f4d5f7032ece58081cba2e3d3fe1c2447b61.svg │   │   │   │   │   ├── 7ff1be757f33eb61c4949b876938e2f6ef622956.svg │   │   │   │   │   ├── a21d1ba31db6e4e720705679c61f74009263419b.svg │   │   │   │   │   ├── af7459537398291f2c822d5f375cec32b8fdff68.svg │   │   │   │   │   ├── c7546960c07305a6f97e9b7938d75e1973fdc654.svg │   │   │   │   │   ├── cb96ea638c70f14bd1177c3087e2505e859b2573.svg │   │   │   │   │   ├── e9ce4261d99dabb777aa59e683d7552b97728d4c.svg │   │   │   │   │   ├── eb693d157f8e55bdf97a0fa6e21f110473c33838.svg │   │   │   │   │   └── ed42a145fdcbe1a69d922ed859aae79e34c3ee36.svg │   │   │   │   ├── training_glossary.json │   │   │   │   ├── training_quizzes.json │   │   │   │   └── training.qmd │   │   │   └── vol2 │   │   │   ├── backmatter │   │   │   │   ├── appendix_assumptions.html │   │   │   │   ├── appendix_assumptions.qmd │   │   │   │   ├── appendix_assumptions.quarto_ipynb │   │   │   │   ├── appendix_c3.html │   │   │   │   ├── appendix_c3.qmd │   │   │   │   ├── appendix_c3.quarto_ipynb │   │   │   │   ├── appendix_communication.qmd │   │   │   │   ├── appendix_communication.quarto_ipynb │   │   │   │   ├── appendix_dam.qmd │   │   │   │   ├── appendix_dam.quarto_ipynb │   │   │   │   ├── appendix_fleet.qmd │   │   │   │   ├── appendix_fleet.quarto_ipynb │   │   │   │   ├── appendix_reliability.qmd │   │   │   │   ├── appendix_reliability.quarto_ipynb │   │   │   │   ├── appendix_systems_files │   │   │   │   │   └── mediabag │   │   │   │   │   └── 8073409de2043f88fc13833f33565e0df9b90707.svg │   │   │   │   ├── appendix_systems.qmd │   │   │   │   ├── glossary │   │   │   │   │   ├── glossary.qmd │   │   │   │   │   └── vol2_glossary.json │   │   │   │   ├── images │   │   │   │   │   └── svg │   │   │   │   │   └── _system-map.svg │   │   │   │   ├── references.bib │   │   │   │   └── references.qmd │   │   │   ├── collective_communication │   │   │   │   ├── collective_communication_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-10-output-1.pdf │   │   │   │   │   │   └── cell-3-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   └── b49a6239f65fdc7e0fbfa0652cfb628d22250d29.svg │   │   │   │   ├── collective_communication.qmd │   │   │   │   ├── collective_communication.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── png │   │   │   │   │   └── cover_communication_ops.png │   │   │   │   └── svg │   │   │   │   ├── collective-primitives-overview.svg │   │   │   │   ├── comm-compute-overlap.svg │   │   │   │   ├── data-movement-hierarchy.svg │   │   │   │   ├── hierarchical-allreduce.svg │   │   │   │   ├── ring-allreduce.svg │   │   │   │   ├── sharp-innetwork.svg │   │   │   │   └── torus-reduction.svg │   │   │   ├── compute_infrastructure │   │   │   │   ├── compute_infrastructure_expanded.qmd │   │   │   │   ├── compute_infrastructure_files │   │   │   │   │   └── figure-pdf │   │   │   │   │   ├── cell-5-output-1.pdf │   │   │   │   │   ├── cell-7-output-1.pdf │   │   │   │   │   └── cell-8-output-1.pdf │   │   │   │   ├── compute_infrastructure.qmd │   │   │   │   ├── compute_infrastructure.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── png │   │   │   │   │   ├── _cover_networking.png │   │   │   │   │   ├── cover_infrastructure.png │   │   │   │   │   ├── cover_infrastructure.png.resized │   │   │   │   │   └── cover_networking.png.resized │   │   │   │   └── svg │   │   │   │   ├── accelerator-spectrum.svg │   │   │   │   ├── bandwidth-hierarchy.svg │   │   │   │   ├── cooling-comparison.svg │   │   │   │   ├── hbm-architecture.svg │   │   │   │   ├── infra-walls.svg │   │   │   │   ├── node-topology-comparison.svg │   │   │   │   ├── pod-network-topology.svg │   │   │   │   ├── power-path.svg │   │   │   │   ├── tco-build-vs-buy.svg │   │   │   │   ├── tensor-core-tiling.svg │   │   │   │   └── wse-architecture.svg │   │   │   ├── conclusion │   │   │   │   ├── conclusion.qmd │   │   │   │   ├── conclusion.quarto_ipynb │   │   │   │   └── images │   │   │   │   └── png │   │   │   │   └── cover_conclusion.png │   │   │   ├── context_notes.html │   │   │   ├── context_notes.md │   │   │   ├── data_storage │   │   │   │   ├── data_storage_files │   │   │   │   │   └── figure-pdf │   │   │   │   │   ├── cell-12-output-1.pdf │   │   │   │   │   └── cell-5-output-1.pdf │   │   │   │   ├── data_storage.qmd │   │   │   │   ├── data_storage.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── png │   │   │   │   │   ├── cover_storage.png │   │   │   │   │   └── cover_storage.png.resized │   │   │   │   └── svg │   │   │   │   ├── bandwidth-cliffs.svg │   │   │   │   ├── checkpoint-staging.svg │   │   │   │   ├── complete-data-path.svg │   │   │   │   ├── data-pipelining.svg │   │   │   │   ├── gds-path.svg │   │   │   │   ├── pfs-architecture.svg │   │   │   │   ├── storage-bandwidth-gap.svg │   │   │   │   ├── storage-hierarchy.svg │   │   │   │   └── storage-throughput.svg │   │   │   ├── distributed_training │   │   │   │   ├── distributed_training_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-14-output-2.pdf │   │   │   │   │   │   └── cell-8-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 214ab479278a9df550e2754cb232d98863ad8f03.svg │   │   │   │   │   ├── 4a138d212330e15adbf93354a70e612313e800a6.svg │   │   │   │   │   ├── 859897edd929d1bd2c25efab16bf6780156c770f.svg │   │   │   │   │   ├── 9a473bbdf745e57794119f268e18006a59f23ef9.svg │   │   │   │   │   ├── a3bfd735ca0696b697f5670e15c1bea7724b2e96.svg │   │   │   │   │   ├── d1ca0a4cea2225dafc1389b1bdf5448ad5970939.svg │   │   │   │   │   ├── d2dcdaba25dad3b1589c3e63d79b33779462d696.svg │   │   │   │   │   └── db59d84c1f73b55ad57beedfa36daac31130329a.svg │   │   │   │   ├── distributed_training.qmd │   │   │   │   ├── distributed_training.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── png │   │   │   │   │   ├── cover_distributed.png │   │   │   │   │   └── cover_distributed.png.resized │   │   │   │   └── svg │   │   │   │   ├── _comm-convergence-tradeoff.svg │   │   │   │   ├── _critical-batch-size.svg │   │   │   │   ├── _data-parallel-pipeline.svg │   │   │   │   ├── _model-parallel-flow.svg │   │   │   │   ├── _parallelism-flowchart.svg │   │   │   │   ├── _pipeline-parallelism.svg │   │   │   │   ├── _zero-partitioning.svg │   │   │   │   ├── 3d-parallelism-cube.svg │   │   │   │   ├── 3d-parallelism.svg │   │   │   │   ├── collective-comm-primitives.svg │   │   │   │   ├── data-parallel-flow.svg │   │   │   │   ├── gradient-sync-topologies.svg │   │   │   │   ├── hybrid-parallelism-topology.svg │   │   │   │   ├── layer-wise-partitioning.svg │   │   │   │   ├── moe-all-to-all-routing.svg │   │   │   │   ├── parallelism-decision-tree.svg │   │   │   │   ├── rlhf-ppo-coordination.svg │   │   │   │   ├── step-time-decomposition.svg │   │   │   │   ├── sync-model-timeline.svg │   │   │   │   ├── tensor-parallel-split.svg │   │   │   │   └── zero-memory-partitioning.svg │   │   │   ├── edge_intelligence │   │   │   │   ├── edge_intelligence_concepts.yml │   │   │   │   ├── edge_intelligence_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   ├── cell-5-output-1.pdf │   │   │   │   │   │   └── cell-9-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 04b45c0f0aca3872645cc4459b9da586f1111923.svg │   │   │   │   │   ├── 09bda5cb9f5d883c5c2a9dea4f2903b89b1186cb.svg │   │   │   │   │   ├── 687c1f1ef5ceb49e0b08c852090de14beef65694.svg │   │   │   │   │   ├── 6b121fb2d607fb7d705fa3d46389a2bc16e16eec.svg │   │   │   │   │   ├── ab8028d72c864da935ea577df9ca50533cf05354.svg │   │   │   │   │   ├── ae05cbb9f11122e54f98a093b4e931b05d4033c9.svg │   │   │   │   │   ├── ae350214362aec716d5b8aaab3bbb9c1c277a424.svg │   │   │   │   │   └── dd09997f717cd80246a06c24b2bbfed980693784.svg │   │   │   │   ├── edge_intelligence_glossary.json │   │   │   │   ├── edge_intelligence_quizzes.json │   │   │   │   ├── edge_intelligence.qmd │   │   │   │   ├── edge_intelligence.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── jpg │   │   │   │   │   └── _pruning.jpeg │   │   │   │   ├── png │   │   │   │   │   ├── _federatedvsoil.png │   │   │   │   │   ├── _ondevice_fed_averaging.png │   │   │   │   │   ├── _ondevice_gboard_approach.png │   │   │   │   │   ├── _ondevice_intro.png │   │   │   │   │   ├── _ondevice_medperf.png │   │   │   │   │   ├── _ondevice_pretraining.png │   │   │   │   │   ├── _ondevice_quantization_matrix.png │   │   │   │   │   ├── _ondevice_split_model.png │   │   │   │   │   ├── _ondevice_training_flow.png │   │   │   │   │   ├── _ondevice_transfer_tinytl.png │   │   │   │   │   ├── _transfer_learning.png │   │   │   │   │   ├── cover_ondevice_learning.png │   │   │   │   │   ├── cover_ondevice_learning.png.resized │   │   │   │   │   ├── ondevice_gboard_example.png │   │   │   │   │   └── ondevice_transfer_learning_apps.png │   │   │   │   └── svg │   │   │   │   ├── _edge-paradigms.svg │   │   │   │   ├── _federated-averaging-cycle.svg │   │   │   │   ├── _learning-paradigms.svg │   │   │   │   ├── _ondevice-pretraining.svg │   │   │   │   ├── _tinytl-architecture.svg │   │   │   │   ├── _tinytl-memory.svg │   │   │   │   ├── adapter-lora-arch.svg │   │   │   │   ├── centralized-vs-decentralized.svg │   │   │   │   ├── edge-mlops-pipeline.svg │   │   │   │   ├── federated-averaging-cycle.svg │   │   │   │   ├── odl-design-flow.svg │   │   │   │   ├── personalization-arch.svg │   │   │   │   └── secure-agg.svg │   │   │   ├── fault_tolerance │   │   │   │   ├── fault_tolerance_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   ├── cell-5-output-1.pdf │   │   │   │   │   │   ├── cell-7-output-1.pdf │   │   │   │   │   │   └── cell-8-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 1540a9fc8a8176bedfc1f1421304ffcfb3408374.svg │   │   │   │   │   ├── 7d9ffc71617f73b213dc3ef9803b129b10014936.svg │   │   │   │   │   ├── 8bb4a561e8f1a63719b4daca5c2eff03d2742799.svg │   │   │   │   │   ├── a553f3b9ef8bcbce1c006b3564d536503738cb21.svg │   │   │   │   │   ├── d333b935bc6bd2e430db02684d55f033d947d0c0.svg │   │   │   │   │   ├── da436042c94abf8e5710acf600473dab8d009ae2.svg │   │   │   │   │   └── f6af1dacc879c79406592827af495633f2db137d.svg │   │   │   │   ├── fault_tolerance.qmd │   │   │   │   ├── fault_tolerance.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── jpg │   │   │   │   │   ├── google_sdc_jeff_dean_anomaly.jpg │   │   │   │   │   └── sdc-google-jeff-dean.jpeg │   │   │   │   ├── png │   │   │   │   │   ├── _cover_inference_at_scale.png │   │   │   │   │   ├── cover_fault_tolerance.png │   │   │   │   │   ├── cover_fault_tolerance.png.resized │   │   │   │   │   ├── cover_inference_at_scale.png.resized │   │   │   │   │   ├── intermittent_fault_dram.png │   │   │   │   │   ├── intermittent_fault.png │   │   │   │   │   ├── permanent_fault.png │   │   │   │   │   ├── tesla_dmr.png │   │   │   │   │   └── transient_fault.png │   │   │   │   └── svg │   │   │   │   ├── _bit-flip.svg │   │   │   │   ├── _checkpoint-tax.svg │   │   │   │   ├── _cicd-pipeline.svg │   │   │   │   ├── _error-masking.svg │   │   │   │   ├── _failure-spectrum.svg │   │   │   │   ├── _hot-spare.svg │   │   │   │   ├── _intermittent-fault.svg │   │   │   │   ├── _parity.svg │   │   │   │   ├── _sdc-controller.svg │   │   │   │   ├── _sdc-propagation.svg │   │   │   │   ├── _stuck-fault.svg │   │   │   │   ├── _tesla-dmr.svg │   │   │   │   ├── _transient-fault.svg │   │   │   │   ├── _young-daly-optimization.svg │   │   │   │   ├── bathtub-curve.svg │   │   │   │   ├── checkpoint-recovery-timeline.svg │   │   │   │   ├── cicd-pipeline.svg │   │   │   │   ├── circuit-breaker.svg │   │   │   │   ├── distributed-checkpoint-architecture.svg │   │   │   │   ├── elastic-flow.svg │   │   │   │   ├── error-masking.svg │   │   │   │   ├── failure-domains.svg │   │   │   │   ├── failure-spectrum.svg │   │   │   │   ├── failure-types.svg │   │   │   │   ├── observability-three-pillars.svg │   │   │   │   ├── recovery-time-decomposition.svg │   │   │   │   ├── serving-redundancy.svg │   │   │   │   ├── tesla-dmr.svg │   │   │   │   └── training-failure-signatures.svg │   │   │   ├── fleet_orchestration │   │   │   │   ├── fleet_orchestration_files │   │   │   │   │   └── figure-pdf │   │   │   │   │   ├── cell-11-output-1.pdf │   │   │   │   │   ├── cell-15-output-1.pdf │   │   │   │   │   ├── cell-7-output-2.pdf │   │   │   │   │   └── cell-9-output-1.pdf │   │   │   │   ├── fleet_orchestration.qmd │   │   │   │   ├── fleet_orchestration.quarto_ipynb │   │   │   │   └── images │   │   │   │   ├── png │   │   │   │   │   ├── cover_orchestration.png │   │   │   │   │   └── cover_orchestration.png.resized │   │   │   │   └── svg │   │   │   │   ├── capacity-reservation.svg │   │   │   │   ├── elastic-training-state-machine.svg │   │   │   │   ├── gang-deadlock.svg │   │   │   │   ├── hierarchical-placement.svg │   │   │   │   ├── inference-autoscaling-loop.svg │   │   │   │   ├── scaling-efficiency-curve.svg │   │   │   │   ├── scheduling-objectives-conflict.svg │   │   │   │   ├── slurm-vs-kubernetes.svg │   │   │   │   ├── topology-hierarchy.svg │   │   │   │   ├── topology-placement.svg │   │   │   │   └── training-serving-diurnal.svg │   │   │   ├── frontmatter │   │   │   │   ├── about.qmd │   │   │   │   ├── acknowledgements.qmd │   │   │   │   ├── dedication.qmd │   │   │   │   ├── foreword.qmd │   │   │   │   └── notation.qmd │   │   │   ├── index.qmd │   │   │   ├── inference │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── cover_inference_at_scale.png │   │   │   │   │   │   └── cover_inference_at_scale.png.resized │   │   │   │   │   └── svg │   │   │   │   │   ├── batch-size-tradeoffs.svg │   │   │   │   │   ├── batching-strategies.svg │   │   │   │   │   ├── continuous-batching.svg │   │   │   │   │   ├── disaggregated-serving.svg │   │   │   │   │   ├── edge-cache-routing.svg │   │   │   │   │   ├── expert-parallel-routing.svg │   │   │   │   │   ├── feature-parallel-pipeline.svg │   │   │   │   │   ├── global-inference-multiregion.svg │   │   │   │   │   ├── kv-cache-fragmentation.svg │   │   │   │   │   ├── pipeline-parallel-routing.svg │   │   │   │   │   ├── queuing-hockey-stick.svg │   │   │   │   │   ├── serving-hierarchy.svg │   │   │   │   │   ├── serving-pipeline.svg │   │   │   │   │   ├── shard-group-scaling.svg │   │   │   │   │   ├── spot-aware-routing.svg │   │   │   │   │   └── tensor-parallel-routing.svg │   │   │   │   ├── inference_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   │   ├── cell-6-output-1.pdf │   │   │   │   │   │   └── cell-7-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 0722c073763d4d3096aa59839be8bfa1d51640e6.svg │   │   │   │   │   ├── 24a8efdd1fc34b32c2a9985d879cfe38821afc7c.svg │   │   │   │   │   ├── 28818bba75e20c68ed724efe6f4dfb92657d2514.svg │   │   │   │   │   ├── 30baa59a18ec3ab751f8e7382ad67bc5b774a1d1.svg │   │   │   │   │   ├── 65c93e87fd502b9c1f681a873a697be571381131.svg │   │   │   │   │   ├── 66a6858d932cc2f1cd0e54821d4d8ee9e4830580.svg │   │   │   │   │   ├── 69d7db826159a6264f26fd61c2634134faee0c32.svg │   │   │   │   │   ├── 6f9aec4bb4b4adbac9b1f0292891bc31df013ddc.svg │   │   │   │   │   ├── 705c8661f6ab2e9dc2bc15cb7bc9907b3c606420.svg │   │   │   │   │   ├── 71cb9174a64991e3e20f1e2d98bae52121595511.svg │   │   │   │   │   ├── 76dabb22f655145874b7ef72e386f716c3bae674.svg │   │   │   │   │   └── b38a09941e6d57d1671b7326bacc4bd942e47ee4.svg │   │   │   │   ├── inference.qmd │   │   │   │   └── inference.quarto_ipynb │   │   │   ├── introduction │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _data_model_loss.png │   │   │   │   │   │   ├── _efficient_data_scaling_regimes.png │   │   │   │   │   │   ├── _moores_law.png │   │   │   │   │   │   ├── _moores-law.png │   │   │   │   │   │   ├── _placeholder.png │   │   │   │   │   │   ├── _three_scaling_laws.png │   │   │   │   │   │   ├── _three-scaling-laws.png │   │   │   │   │   │   ├── compute_optimal.png │   │   │   │   │   │   ├── compute-trends.png │   │   │   │   │   │   ├── cover_introduction.png │   │   │   │   │   │   └── kaplan_scaling_data_compute.png │   │   │   │   │   └── svg │   │   │   │   │   ├── _ai-triad.svg │   │   │   │   │   ├── _c3-taxonomy.svg │   │   │   │   │   ├── _fleet-stack.svg │   │   │   │   │   ├── _roadmap.svg │   │   │   │   │   ├── reliability-gap-collapse.svg │   │   │   │   │   ├── scale-moment-discontinuity.svg │   │   │   │   │   └── traditional-vs-ml-fleet.svg │   │   │   │   ├── introduction_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   └── cell-5-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 07bca9b1b2decd74739632d6bbafb69b4a5def74.svg │   │   │   │   │   ├── 0d91c042c56d0a91e66a2672c46fcd2c5b712663.svg │   │   │   │   │   ├── 203ce368e2634b6c13d6b2c94d491be1d836dbe3.svg │   │   │   │   │   ├── 6c7947b514e56281b1378c3c67edd31e805f7d02.svg │   │   │   │   │   ├── a1d511451ff7bc4f49aa522552c8696fce4f3b02.svg │   │   │   │   │   ├── a2743a50d4b4c21c89055de7b2279b50113aa900.svg │   │   │   │   │   ├── d7aff4c11d7e08eef3383a633df4d7c0ed84c458.svg │   │   │   │   │   └── f1703cfdc180416dc2cba0a32be36914b79b8fd1.svg │   │   │   │   ├── introduction.qmd │   │   │   │   └── introduction.quarto_ipynb │   │   │   ├── network_fabrics │   │   │   │   ├── diagram-7ec9ff0b968fcec610fbb58b9d55b3711e7b26f8.pdf │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   └── cover_network_fabrics.png │   │   │   │   │   └── svg │   │   │   │   │   ├── fat-tree-detail.svg │   │   │   │   │   ├── five-level-model.svg │   │   │   │   │   ├── gpudirect-data-path.svg │   │   │   │   │   ├── incast-flow.svg │   │   │   │   │   ├── networking-stacks.svg │   │   │   │   │   ├── pam4-vs-nrz.svg │   │   │   │   │   ├── rail-optimized.svg │   │   │   │   │   └── topology-bandwidth.svg │   │   │   │   ├── network_fabrics_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   └── cell-6-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 3d8079cf489f83b7ecdf83f9e5dd4bb1c1cbe652.svg │   │   │   │   │   └── 41abd679bbbf213cf506748464e0801167568536.svg │   │   │   │   ├── network_fabrics.qmd │   │   │   │   └── network_fabrics.quarto_ipynb │   │   │   ├── ops_scale │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── cover_ops_scale.png │   │   │   │   │   │   └── cover_ops_scale.png.resized │   │   │   │   │   └── svg │   │   │   │   │   ├── _ml-cicd.svg │   │   │   │   │   ├── _mlops-maturity.svg │   │   │   │   │   ├── _model-dependency-graph.svg │   │   │   │   │   ├── _shadow-deployment.svg │   │   │   │   │   ├── ecommerce-dependency-graph.svg │   │   │   │   │   ├── ensemble-deployment-pipeline.svg │   │   │   │   │   ├── feature-store-architecture.svg │   │   │   │   │   ├── ml-cicd.svg │   │   │   │   │   ├── mlops-maturity.svg │   │   │   │   │   ├── model-registry.svg │   │   │   │   │   ├── monitoring-pyramid.svg │   │   │   │   │   ├── shadow-deployment.svg │   │   │   │   │   └── time-travel.svg │   │   │   │   ├── ops_scale_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   └── cell-7-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 2ffd1b37601018e9926651271774bd45d3c036a9.svg │   │   │   │   │   ├── 5491e7df04d3fdcf19f984b1146d659a07b2bb8b.svg │   │   │   │   │   ├── 5ec9525e3777e1cdb5d9afd8f1e7c4bed7f4f23e.svg │   │   │   │   │   ├── 86257f4c76d4c9b148ac826611de9e0687d47f26.svg │   │   │   │   │   ├── b3c17dc5ab40b4484959fd2612cec6888aba3998.svg │   │   │   │   │   └── ea6fac37639fb730a5d923a4e1dbe2852604630e.svg │   │   │   │   ├── ops_scale.qmd │   │   │   │   └── ops_scale.quarto_ipynb │   │   │   ├── parts │   │   │   │   ├── deployment_principles.qmd │   │   │   │   ├── distributed_ml_principles.qmd │   │   │   │   ├── fleet_principles.qmd │   │   │   │   ├── responsible_fleet_principles.qmd │   │   │   │   └── summaries.yml │   │   │   ├── performance_engineering │   │   │   │   ├── _shelved_automl_section.qmd │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── cover_optimization.png │   │   │   │   │   │   └── cover_optimization.png.resized │   │   │   │   │   └── svg │   │   │   │   │   ├── _roofline-model.svg │   │   │   │   │   ├── block-quantization.svg │   │   │   │   │   ├── compilation-pipeline.svg │   │   │   │   │   ├── diagnostic-flow.svg │   │   │   │   │   ├── flashattention-tiling.svg │   │   │   │   │   ├── gpu-memory-hierarchy.svg │   │   │   │   │   ├── operator-fusion.svg │   │   │   │   │   ├── optimization-decision-tree.svg │   │   │   │   │   ├── prefill-vs-decode-roofline.svg │   │   │   │   │   └── profiling-hierarchy.svg │   │   │   │   ├── performance_engineering_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   │   ├── cell-5-output-1.pdf │   │   │   │   │   │   └── cell-9-output-1.pdf │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 8bfa7ea89dccc8c3cf45045e8eec8e0d3b28f076.svg │   │   │   │   │   └── b587aadb531be4dcb62feb03745a8fddd98729ea.svg │   │   │   │   ├── performance_engineering.qmd │   │   │   │   └── performance_engineering.quarto_ipynb │   │   │   ├── README.md │   │   │   ├── responsible_ai │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _adversarial_robustness.png │   │   │   │   │   │   ├── _diffusion_memorization.png │   │   │   │   │   │   ├── _fairness_cartoon.png │   │   │   │   │   │   ├── _human_centered_ai.png │   │   │   │   │   │   ├── _human_compatible_ai.png │   │   │   │   │   │   ├── _interpretability_model_spectrum.png │   │   │   │   │   │   ├── _machine_unlearning.png │   │   │   │   │   │   ├── adversarial_robustness_new.png │   │   │   │   │   │   ├── cover_responsible_ai.png │   │   │   │   │   │   ├── cover_responsible_ai.png.resized │   │   │   │   │   │   ├── diffusion_memorization_new.png │   │   │   │   │   │   ├── diffusion_memorization_new.png.resized │   │   │   │   │   │   └── human_centered_ai.ai │   │   │   │   │   └── svg │   │   │   │   │   ├── _fairness-impossibility.svg │   │   │   │   │   ├── _human-centered-ai.svg │   │   │   │   │   ├── _privacy-flow.svg │   │   │   │   │   ├── _responsible-architecture.svg │   │   │   │   │   ├── _reward-hacking-loop.svg │   │   │   │   │   ├── _unlearning-strategies.svg │   │   │   │   │   ├── bias-loop.svg │   │   │   │   │   ├── fairness-impossibility.svg │   │   │   │   │   ├── monitoring-pipeline.svg │   │   │   │   │   ├── responsible-architecture.svg │   │   │   │   │   └── rlhf-pipeline.svg │   │   │   │   ├── responsible_ai_concepts.yml │   │   │   │   ├── responsible_ai_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   └── cell-4-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 0d0954a59d20e0edd4c2535333a1893c035b9194.svg │   │   │   │   │   ├── 2251b12c1873e9290e7e2b92a536cf22fda13902.svg │   │   │   │   │   ├── 5d70d01f1324a80fa17f906439e1ace7d5593d3a.svg │   │   │   │   │   ├── 7e4491e267fc6d4d2c9f626e32d8d046d40c4336.svg │   │   │   │   │   ├── 8155d26adae1b35567e97a857d8207a6dfd4622f.svg │   │   │   │   │   ├── 8a695db6824170446a62de7a64dbc14d1ad3ede1.svg │   │   │   │   │   ├── b89884cb35172d2ec8854c30df266f6c07ea5726.svg │   │   │   │   │   ├── d0b6bb4802140fa50fb6ec502e028f83e9abf1ee.svg │   │   │   │   │   └── fd9c85eb9627fd727b4cd48fe5e905a4e33cbd5f.svg │   │   │   │   ├── responsible_ai_glossary.json │   │   │   │   ├── responsible_ai_quizzes.json │   │   │   │   ├── responsible_ai.qmd │   │   │   │   └── responsible_ai.quarto_ipynb │   │   │   ├── robust_ai │   │   │   │   ├── footnote_context_quizzes.json │   │   │   │   ├── images │   │   │   │   │   ├── jpg │   │   │   │   │   │   ├── _google_sdc_jeff_dean_anomaly.jpg │   │   │   │   │   │   ├── _mavfi.jpg │   │   │   │   │   │   ├── _sdc_controller_google.jpg │   │   │   │   │   │   ├── _sdc_google_jeff_dean.jpeg │   │   │   │   │   │   ├── sdc-google-jeff-dean.jpeg │   │   │   │   │   │   └── tesla_example.jpg │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _ad.png │   │   │   │   │   │   ├── _adversarial_attack_injection.png │   │   │   │   │   │   ├── _autoencoder.png │   │   │   │   │   │   ├── _ci_cd_procedure.png │   │   │   │   │   │   ├── _distribution_shift_example.png │   │   │   │   │   │   ├── _distribution_shift.png │   │   │   │   │   │   ├── _drift_over_time.png │   │   │   │   │   │   ├── _error_masking.png │   │   │   │   │   │   ├── _google_hot_spares.png │   │   │   │   │   │   ├── _gpu_out_of_memory.png │   │   │   │   │   │   ├── _hardware_errors_bolchini.png │   │   │   │   │   │   ├── _hardware_errors.png │   │   │   │   │   │   ├── _heartbeat.png │   │   │   │   │   │   ├── _image14.png │   │   │   │   │   │   ├── _image15.png │   │   │   │   │   │   ├── _image22.png │   │   │   │   │   │   ├── _image34.png │   │   │   │   │   │   ├── _intermittent_fault_dram.png │   │   │   │   │   │   ├── _intermittent_fault.png │   │   │   │   │   │   ├── _parity.png │   │   │   │   │   │   ├── _permanent_fault.png │   │   │   │   │   │   ├── _phantom_objects.png │   │   │   │   │   │   ├── _poisoning_attack_example.png │   │   │   │   │   │   ├── _reed_solomon.png │   │   │   │   │   │   ├── _reed-solomon.png │   │   │   │   │   │   ├── _sdc_example.png │   │   │   │   │   │   ├── _stuck_fault.png │   │   │   │   │   │   ├── _svm_anomaly.png │   │   │   │   │   │   ├── _temporal_evoltion.png │   │   │   │   │   │   ├── _tesla_dmr.png │   │   │   │   │   │   ├── _transfer_learning.png │   │   │   │   │   │   ├── _transient_fault.png │   │   │   │   │   │   ├── _watchdog.png │   │   │   │   │   │   ├── adversarial_attack_detection.png │   │   │   │   │   │   ├── adversarial_googlenet.png │   │   │   │   │   │   ├── cover_robust_ai.png │   │   │   │   │   │   ├── cover_robust_ai.png.resized │   │   │   │   │   │   ├── data_augmentation.png │   │   │   │   │   │   ├── dirty_label_example.png │   │   │   │   │   │   ├── dirty_label_example.png.compressed │   │   │   │   │   │   ├── gradient_attack.png │   │   │   │   │   │   ├── graffiti.png │   │   │   │   │   │   ├── nasa_example.png │   │   │   │   │   │   ├── poisoning_example.png │   │   │   │   │   │   └── regression_testing.png │   │   │   │   │   └── svg │   │   │   │   │   ├── _adversarial-matrix.svg │   │   │   │   │   ├── _autoencoder.svg │   │   │   │   │   ├── _boundary-shift.svg │   │   │   │   │   ├── _data-augmentation.svg │   │   │   │   │   ├── _gradient-attack.svg │   │   │   │   │   ├── _poisoning-attack.svg │   │   │   │   │   ├── _poisoning-impact.svg │   │   │   │   │   ├── _robustness-pillars.svg │   │   │   │   │   ├── _shift-types.svg │   │   │   │   │   ├── _weight-corruption.svg │   │   │   │   │   ├── accuracy-robustness-tradeoff.svg │   │   │   │   │   ├── autoencoder.svg │   │   │   │   │   ├── boundary-shift.svg │   │   │   │   │   ├── defense-in-depth-pipeline.svg │   │   │   │   │   ├── gradient-attack.svg │   │   │   │   │   ├── robustness-taxonomy.svg │   │   │   │   │   └── shift-types.svg │   │   │   │   ├── robust_ai_concepts.yml │   │   │   │   ├── robust_ai_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   ├── cell-4-output-1.pdf │   │   │   │   │   │   └── cell-8-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 0d8106a3c7ca65302fa306b4b86e5170bc79e78f.svg │   │   │   │   │   ├── 2106df9e0de5e907ea8ab741d33097ba20258cdf.svg │   │   │   │   │   ├── 28a47d4ee9683724ab5a92957c9a5b0ea8c9f644.svg │   │   │   │   │   ├── 51d55b8365e636b470b299db56648588c88cf740.svg │   │   │   │   │   ├── 528e7a9e90bb2b8bc7c4d0ec823eaef132f015d2.svg │   │   │   │   │   ├── 8846a27ee11ac09c4db6e5e539073e14982c6dac.svg │   │   │   │   │   ├── 8b2f5307f822fc453183dc046ff357dbc4b8fa16.svg │   │   │   │   │   ├── ae0e9a0bc2afdbdf7078107b049076dac19aab32.svg │   │   │   │   │   └── bf8b438eb51f12418fd50db6ce058ec48788bbbc.svg │   │   │   │   ├── robust_ai_glossary.json │   │   │   │   ├── robust_ai_quizzes.json │   │   │   │   ├── robust_ai.qmd │   │   │   │   └── robust_ai.quarto_ipynb │   │   │   ├── security_privacy │   │   │   │   ├── images │   │   │   │   │   ├── png │   │   │   │   │   │   ├── _data_poisoning.png │   │   │   │   │   │   ├── _fault_injection_demonstrated_with_assembly_code.png │   │   │   │   │   │   ├── _federated_learning_lifecycle.png │   │   │   │   │   │   ├── _flowchart_of_g_a_ns.png │   │   │   │   │   │   ├── _flowchart_of_ga_ns.png │   │   │   │   │   │   ├── _flowchart_of_gans.png │   │   │   │   │   │   ├── _grandma_role_play_to_bypass_safety_restrictions.png │   │   │   │   │   │   ├── _image11.png │   │   │   │   │   │   ├── _image12.png │   │   │   │   │   │   ├── _llama_unlearning_harry_potter.png │   │   │   │   │   │   ├── _machineunlearning.png │   │   │   │   │   │   ├── _placeholder.png │   │   │   │   │   │   ├── _privacy_accuracy_tradeoff.png │   │   │   │   │   │   ├── _privacy-accuracy_tradeoff.png │   │   │   │   │   │   ├── _reverse_psychology_to_bypass_safety_restrictions.png │   │   │   │   │   │   ├── _secure_boot_flow.png │   │   │   │   │   │   ├── _side_effects_binary.png │   │   │   │   │   │   ├── _side-effects-binary.png │   │   │   │   │   │   ├── _stuxnet.png │   │   │   │   │   │   ├── _system_on_chip_secure_enclave.png │   │   │   │   │   │   ├── _system-on-chip_secure_enclave.png │   │   │   │   │   │   ├── adversarial_nibbler_example.png │   │   │   │   │   │   ├── cover_security_privacy.png │   │   │   │   │   │   ├── cover_security_privacy.png.resized │   │   │   │   │   │   ├── fault-injection_demonstrated_with_assembly_code.png │   │   │   │   │   │   ├── laser_bitflip.png │   │   │   │   │   │   ├── power_analysis_of_an_encryption_device_with_a_correct_password.png │   │   │   │   │   │   ├── power_analysis_of_an_encryption_device_with_a_partially_wrong_password.png │   │   │   │   │   │   ├── power_analysis_of_an_encryption_device_with_a_wrong_password.png │   │   │   │   │   │   ├── puf_basics.png │   │   │   │   │   │   ├── stm32f_board.png │   │   │   │   │   │   └── stop_signs.png │   │   │   │   │   └── svg │   │   │   │   │   ├── _enclave.svg │   │   │   │   │   ├── _laser-bitflip.svg │   │   │   │   │   ├── _membership-inference.svg │   │   │   │   │   ├── _ml-lifecycle-threats.svg │   │   │   │   │   ├── _model-inversion.svg │   │   │   │   │   ├── _model-theft-types.svg │   │   │   │   │   ├── _puf.svg │   │   │   │   │   ├── _secure-aggregation.svg │   │   │   │   │   ├── _secure-boot.svg │   │   │   │   │   ├── _stuxnet.svg │   │   │   │   │   ├── _threat-mitigation-flow.svg │   │   │   │   │   ├── _threat-model.svg │   │   │   │   │   ├── attack-surface-taxonomy.svg │   │   │   │   │   ├── defense-stack.svg │   │   │   │   │   ├── enclave.svg │   │   │   │   │   ├── hw-supply-chain.svg │   │   │   │   │   ├── secure-aggregation.svg │   │   │   │   │   ├── secure-boot.svg │   │   │   │   │   ├── stuxnet.svg │   │   │   │   │   └── threat-prioritization-matrix.svg │   │   │   │   ├── security_privacy_concepts.yml │   │   │   │   ├── security_privacy_files │   │   │   │   │   ├── figure-pdf │   │   │   │   │   │   └── cell-7-output-1.pdf │   │   │   │   │   ├── libs │   │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   │   ├── clipboard │   │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   │   └── quarto-html │   │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   │   ├── axe │   │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   │   ├── popper.min.js │   │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   │   ├── quarto.js │   │   │   │   │   │   ├── tabsets │   │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   │   ├── tippy.css │   │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   │   └── mediabag │   │   │   │   │   ├── 03faacadeb5d474a17c1019a8e25f47bce1ec37f.svg │   │   │   │   │   ├── 0a9c8303cc77be124cbb23bfeb3c99f55c4dfe4d.svg │   │   │   │   │   ├── 4e9ed1e720619e0756ff97f2a2b8b77a1a39fa2f.svg │   │   │   │   │   ├── 5e418ea4f594513fb18a4c145481e7ed8b157458.svg │   │   │   │   │   ├── 7335146b460da57a456d5fc4ce999b3045bb1cdc.svg │   │   │   │   │   ├── 7a4c795ad13e9c3f10003bf6d794ad78cd410187.svg │   │   │   │   │   ├── 8c3a1f42da2d8e3a82ca4e87aafe4a2b62861673.svg │   │   │   │   │   ├── b0f94775a677dd959e5c92a17ca2c003295a738c.svg │   │   │   │   │   ├── b81307eb787db9be4dea552043f7ecb304dd8ae8.svg │   │   │   │   │   ├── c66e22d5b14e75373716c8cb0eb306c92ca83bf3.svg │   │   │   │   │   ├── cddb6ef1ea1739ce492484c5ae0956af60f27da9.svg │   │   │   │   │   ├── cff0246c6cb52a203ed9b41b0b5442d86d6318a5.svg │   │   │   │   │   └── e0e3b30d33e78d0091c251a0bbc4baf4ead487e1.svg │   │   │   │   ├── security_privacy_glossary.json │   │   │   │   ├── security_privacy_quizzes.json │   │   │   │   ├── security_privacy.qmd │   │   │   │   └── security_privacy.quarto_ipynb │   │   │   └── sustainable_ai │   │   │   ├── images │   │   │   │   ├── png │   │   │   │   │   ├── _ai_lca.png │   │   │   │   │   ├── _azure_dashboard.png │   │   │   │   │   ├── _carbon_benchmarks.png │   │   │   │   │   ├── _energy_datacenter.png │   │   │   │   │   ├── _ethicalai.png │   │   │   │   │   ├── _jevons_paradox.png │   │   │   │   │   ├── _mckinsey_analysis.png │   │   │   │   │   ├── _model_carbonfootprint.png │   │   │   │   │   ├── _st_water_cycle.png │   │   │   │   │   ├── _statista_chip_growth.png │   │   │   │   │   ├── _water_footprint.png │   │   │   │   │   ├── cover_sustainable_ai.png │   │   │   │   │   ├── europe_energy_grid.png │   │   │   │   │   ├── ghg_protocol.png │   │   │   │   │   └── model_scaling.png │   │   │   │   └── svg │   │   │   │   ├── _ai-lca.svg │   │   │   │   ├── _carbon-benchmarks.svg │   │   │   │   ├── _dc-projections.svg │   │   │   │   ├── _energy-roofline.svg │   │   │   │   ├── _ethical-concerns.svg │   │   │   │   ├── _ghg-protocol.svg │   │   │   │   ├── _regional-carbon.svg │   │   │   │   ├── ai-lca.svg │   │   │   │   ├── carbon-lifecycle.svg │   │   │   │   ├── carbon-tco.svg │   │   │   │   ├── energy-roofline.svg │   │   │   │   ├── energy-wall.svg │   │   │   │   ├── ghg-protocol.svg │   │   │   │   ├── grid-transient-load.svg │   │   │   │   ├── intervention-cascade.svg │   │   │   │   ├── prefill-decode-energy.svg │   │   │   │   ├── regional-carbon.svg │   │   │   │   └── water-cycle.svg │   │   │   ├── sustainable_ai_concepts.yml │   │   │   ├── sustainable_ai_files │   │   │   │   ├── figure-pdf │   │   │   │   │   ├── cell-14-output-1.pdf │   │   │   │   │   ├── cell-15-output-1.pdf │   │   │   │   │   ├── cell-17-output-2.pdf │   │   │   │   │   └── cell-6-output-1.pdf │   │   │   │   ├── libs │   │   │   │   │   ├── bootstrap │   │   │   │   │   │   ├── bootstrap-d6a003b94517c951b2d65075d42fb01b.min.css │   │   │   │   │   │   ├── bootstrap-icons.css │   │   │   │   │   │   ├── bootstrap-icons.woff │   │   │   │   │   │   └── bootstrap.min.js │   │   │   │   │   ├── clipboard │   │   │   │   │   │   └── clipboard.min.js │   │   │   │   │   └── quarto-html │   │   │   │   │   ├── anchor.min.js │   │   │   │   │   ├── axe │   │   │   │   │   │   └── axe-check.js │   │   │   │   │   ├── popper.min.js │   │   │   │   │   ├── quarto-syntax-highlighting-ed96de9b727972fe78a7b5d16c58bf87.css │   │   │   │   │   ├── quarto.js │   │   │   │   │   ├── tabsets │   │   │   │   │   │   └── tabsets.js │   │   │   │   │   ├── tippy.css │   │   │   │   │   └── tippy.umd.min.js │   │   │   │   └── mediabag │   │   │   │   ├── 04d6400e8df884da51fc709023a8ca29f714e857.svg │   │   │   │   ├── 2002d6e8302249943444265583c93901d9139264.svg │   │   │   │   ├── 4d9e2c92d8826a40602ff18f1c9edc7d1c3957a7.svg │   │   │   │   ├── 4e57277a4971120aafac53e5edd8901d8dc8db6e.svg │   │   │   │   ├── 558cbe1a38b862ba2f77203fad5e01285f825a2a.svg │   │   │   │   ├── 6c8f1ad993e34f0678a98781f551d16b290e32e4.svg │   │   │   │   ├── 7a6e65ff489b5ea07fde10bb1ea300a10ed264b8.svg │   │   │   │   ├── a10b8603a55750ad3892ed05d972d23254d1b9a7.svg │   │   │   │   ├── bb7800cf6d94b2ece8d316281bbed934d70d3ba6.svg │   │   │   │   └── eec8bb017dd14eb661c59a133ab7850cb03751b7.svg │   │   │   ├── sustainable_ai_glossary.json │   │   │   ├── sustainable_ai_quizzes.json │   │   │   ├── sustainable_ai.qmd │   │   │   └── sustainable_ai.quarto_ipynb │   │   ├── filters │   │   │   ├── auto-glossary-advanced.lua │   │   │   ├── auto-glossary.lua │   │   │   ├── dropcap.lua │   │   │   ├── inject_glossary.lua │   │   │   ├── inject_parts.lua │   │   │   ├── inject_quizzes.lua │   │   │   ├── margin-connections.lua │   │   │   ├── sidenote.lua │   │   │   └── table-cell-linebreaks.lua │   │   ├── index.html │   │   ├── index.qmd -> contents/vol2/index.qmd │   │   ├── landing_site │   │   │   ├── _quarto.yml │   │   │   ├── assets │   │   │   │   ├── nicla-vision-front.jpeg │   │   │   │   ├── nicla-vision.jpeg │   │   │   │   └── tinytorch-logo.png │   │   │   ├── covers │   │   │   │   ├── cover-hardcover-book-vol1.png │   │   │   │   └── cover-hardcover-book-vol2.png │   │   │   ├── index.qmd │   │   │   ├── landing.css │   │   │   ├── neural-bg-dark.js │   │   │   └── neural-bg.js │   │   ├── Machine-Learning-Systems.pdf.tex │   │   ├── mlsys │   │   │   └── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── constants.cpython-313.pyc │   │   │   ├── formatting.cpython-313.pyc │   │   │   ├── formulas.cpython-313.pyc │   │   │   └── hardware.cpython-313.pyc │   │   ├── publish │   │   │   ├── compress_epub.py │   │   │   └── compress_pdf.py │   │   ├── scripts │   │   │   ├── pycache │   │   │   │   └── fix_cross_references.cpython-313.pyc │   │   │   ├── check_references.py │   │   │   ├── clean_svgs.py │   │   │   ├── epub_postprocess.py │   │   │   ├── fix_cross_references.py │   │   │   ├── fix_times_math.py │   │   │   ├── mit_press │   │   │   │   ├── FIGURE_LIST_VOL1_COMPLETE.csv │   │   │   │   ├── FIGURE_LIST_VOL1.csv │   │   │   │   ├── generate_figure_list.py │   │   │   │   └── README.md │   │   │   ├── README.md │   │   │   └── revert_times_multipliers.py │   │   ├── tex │   │   │   ├── after-body-includes.tex │   │   │   ├── before-body-includes-vol2.tex │   │   │   ├── before-body-includes.tex │   │   │   ├── copyright-vol2.tex │   │   │   ├── copyright.tex │   │   │   ├── cover_page.tex │   │   │   ├── header-includes.tex │   │   │   ├── mlsys-stack-prototype.tex │   │   │   ├── theme-colors-vol1.tex │   │   │   └── theme-colors-vol2.tex │   │   └── tools │   │   └── scripts │   │   └── socratiQ │   │   └── bundle.js │   ├── README.md │   ├── setup.py │   ├── socratiQ │   │   └── README.md │   ├── tests │   │   ├── pycache │   │   │   ├── test_narrative_invariants.cpython-313-pytest-9.0.1.pyc │   │   │   ├── test_registry.cpython-313-pytest-9.0.1.pyc │   │   │   └── test_units.cpython-313-pytest-9.0.1.pyc │   │   ├── sim │   │   │   └── init.py │   │   ├── test_narrative_invariants.py │   │   ├── test_registry.py │   │   └── test_units.py │   ├── tools │   │   ├── init.py │   │   ├── agent_personas.md │   │   ├── baseline_state.json │   │   ├── dependencies │   │   │   ├── install_packages.R │   │   │   ├── README.md │   │   │   ├── requirements.txt │   │   │   └── tl_packages │   │   ├── git-hooks │   │   │   ├── pre-commit │   │   │   ├── README.md │   │   │   └── setup.sh │   │   ├── review_prompts.md │   │   ├── scripts │   │   │   ├── init.py │   │   │   ├── content │   │   │   │   ├── check_figure_div_syntax.py │   │   │   │   ├── check_prose_spelling.py │   │   │   │   ├── check_tikz_spelling.py │   │   │   │   ├── format_div_spacing.py │   │   │   │   ├── format_python_in_qmd.py │   │   │   │   ├── format_tables.py │   │   │   │   ├── manage_captions.py │   │   │   │   ├── README_CITATION_VALIDATION.md │   │   │   │   ├── README_INDEX_PLACEMENT.md │   │   │   │   ├── README.md │   │   │   │   ├── relocate_figures.py │   │   │   │   ├── section_splitter.py │   │   │   │   └── validate_tables.py │   │   │   ├── convert_icons.py │   │   │   ├── docs │   │   │   │   ├── FIGURE_CAPTIONS.md │   │   │   │   ├── FORMATTING_PRESERVATION.md │   │   │   │   ├── README.md │   │   │   │   ├── SECTION_ID_SYSTEM.md │   │   │   │   └── WORKFLOW_CLEANUP.md │   │   │   ├── figure_narrative_audit.md │   │   │   ├── gen_bio_nn_svg.py │   │   │   ├── genai │   │   │   │   ├── footnote_assistant.py │   │   │   │   ├── generate_comm_primitives_diagram.py │   │   │   │   ├── generate_comm_primitives.py │   │   │   │   ├── knowledge_map.json │   │   │   │   ├── quizzes.py │   │   │   │   ├── replace_tikz.py │   │   │   │   └── requirements.txt │   │   │   ├── glossary │   │   │   │   ├── build_global_glossary.py │   │   │   │   ├── generate_glossary.py │   │   │   │   ├── ORGANIZATION.md │   │   │   │   └── README.md │   │   │   ├── images │   │   │   │   ├── init.py │   │   │   │   ├── analyze_image_sizes.py │   │   │   │   ├── compress_images.py │   │   │   │   ├── convert_svg_to_png.py │   │   │   │   ├── manage_external_images.py │   │   │   │   ├── manage_images.py │   │   │   │   ├── README.md │   │   │   │   └── remove_bg.py │   │   │   ├── infrastructure │   │   │   │   ├── init.py │   │   │   │   ├── cleanup_containers.py │   │   │   │   ├── cleanup_workflow_runs_gh.py │   │   │   │   ├── list_containers.py │   │   │   │   └── README.md │   │   │   ├── learning_objectives_bolding_parallel.sh │   │   │   ├── maintenance │   │   │   │   ├── cleanup_build_artifacts.py │   │   │   │   ├── repo_health_check.py │   │   │   │   ├── run_maintenance.sh │   │   │   │   ├── update_texlive_packages.py │   │   │   │   ├── validate_inline_refs.py │   │   │   │   └── validate_pint_usage.py │   │   │   ├── migrate_bridges.py │   │   │   ├── publish │   │   │   │   ├── init.py │   │   │   │   ├── extract_figures.py │   │   │   │   ├── mit-press-release.sh │   │   │   │   ├── modify_dev_announcement.py │   │   │   │   ├── publish.sh │   │   │   │   ├── render_compress_publish.py │   │   │   │   └── requirements.txt │   │   │   ├── README.md │   │   │   ├── reference_check_report.txt │   │   │   ├── socratiQ │   │   │   │   └── bundle.js │   │   │   ├── tbl_lst_narrative_audit.md │   │   │   ├── testing │   │   │   │   ├── debug_section_builds.py │   │   │   │   ├── test_format_tables.py │   │   │   │   └── tikz_style_linter.py │   │   │   ├── transform_pico_cells.py │   │   │   └── utilities │   │   │   ├── analyze_footnotes.sh │   │   │   ├── check_list_formatting.py │   │   │   ├── convert_grid_to_pipe_tables.py │   │   │   ├── count_footnotes.sh │   │   │   ├── manage_sources.py │   │   │   ├── prettify_pipe_tables.py │   │   │   ├── README_LIST_FORMATTING.md │   │   │   ├── README.md │   │   │   └── validate_epub.py │   │   └── setup │   │   ├── clean.sh │   │   ├── setup_lua_env.sh │   │   └── setup.sh │   └── vscode-ext │   ├── package-lock.json │   ├── package.json │   ├── README.md │   ├── resources │   │   ├── icon.png │   │   └── icon.svg │   ├── scripts │   │   ├── smoke_extension_ux.py │   │   └── verify-highlight-palette.js │   ├── snippets │   │   └── qmd.code-snippets │   ├── src │   │   ├── commands │   │   │   ├── buildCommands.ts │   │   │   ├── contextMenuCommands.ts │   │   │   ├── debugCommands.ts │   │   │   ├── precommitCommands.ts │   │   │   └── publishCommands.ts │   │   ├── constants.ts │   │   ├── extension.ts │   │   ├── models │   │   │   └── treeItems.ts │   │   ├── providers │   │   │   ├── buildTreeProvider.ts │   │   │   ├── chapterNavigatorProvider.ts │   │   │   ├── configTreeProvider.ts │   │   │   ├── debugTreeProvider.ts │   │   │   ├── infoTreeProvider.ts │   │   │   ├── maintenanceTreeProvider.ts │   │   │   ├── precommitTreeProvider.ts │   │   │   ├── publishTreeProvider.ts │   │   │   ├── qmdAutoFoldManager.ts │   │   │   ├── qmdChunkHighlighter.ts │   │   │   ├── qmdFoldingProvider.ts │   │   │   ├── qmdHighlightPalette.ts │   │   │   ├── qmdInlinePythonProviders.ts │   │   │   ├── qmdPythonValueResolver.ts │   │   │   └── runHistoryProvider.ts │   │   ├── types.ts │   │   ├── utils │   │   │   ├── buildManifest.ts │   │   │   ├── chapters.ts │   │   │   ├── labelRename.ts │   │   │   ├── parallelDebug.ts │   │   │   ├── quartoConfigReset.ts │   │   │   ├── terminal.ts │   │   │   └── workspace.ts │   │   └── validation │   │   ├── healthManager.ts │   │   ├── precommitStatusManager.ts │   │   └── qmdChecks.ts │   └── tsconfig.json ├── CITATION.bib ├── CLAUDE.md -> .claude/CLAUDE.md ├── CNAME ├── kits │   ├── _extensions │   │   └── mlsysbook-ext │   │   └── titlepage │   │   ├── _author-affiliation-themes.tex │   │   ├── _coverpage.tex │   │   ├── _extension.yml │   │   ├── _header-footer-date-themes.tex │   │   ├── _title-themes.tex │   │   ├── _titlepage.tex │   │   ├── before-body.tex │   │   ├── coverpage-theme.lua │   │   ├── fonts │   │   │   └── qualitype │   │   │   ├── COPYING-QUALITYPE │   │   │   ├── doc │   │   │   │   └── qualitype-doc.tex │   │   │   ├── opentype │   │   │   │   ├── QTAbbie.otf │   │   │   │   ├── QTAgateType-Bold.otf │   │   │   │   ├── QTAgateType-Italic.otf │   │   │   │   ├── QTAgateType.otf │   │   │   │   ├── QTAncientOlive-Bold.otf │   │   │   │   ├── QTAncientOlive.otf │   │   │   │   ├── QTAntiquePost.otf │   │   │   │   ├── QTArabian.otf │   │   │   │   ├── QTArnieB.otf │   │   │   │   ├── QTArtiston.otf │   │   │   │   ├── QTAtchen.otf │   │   │   │   ├── QTAvanti-Italic.otf │   │   │   │   ├── QTAvanti.otf │   │   │   │   ├── QTBasker-Bold.otf │   │   │   │   ├── QTBasker-Italic.otf │   │   │   │   ├── QTBasker.otf │   │   │   │   ├── QTBeckman.otf │   │   │   │   ├── QTBengal-Bold.otf │   │   │   │   ├── QTBengal.otf │   │   │   │   ├── QTBlackForest.otf │   │   │   │   ├── QTBlimpo.otf │   │   │   │   ├── QTBodini-Bold.otf │   │   │   │   ├── QTBodini-Italic.otf │   │   │   │   ├── QTBodini.otf │   │   │   │   ├── QTBodiniPoster-Italic.otf │   │   │   │   ├── QTBodiniPoster.otf │   │   │   │   ├── QTBookmann-Bold.otf │   │   │   │   ├── QTBookmann-BoldItalic.otf │   │   │   │   ├── QTBookmann-Italic.otf │   │   │   │   ├── QTBookmann.otf │   │   │   │   ├── QTBoulevard.otf │   │   │   │   ├── QTBrushStroke.otf │   │   │   │   ├── QTCaligulatype.otf │   │   │   │   ├── QTCanaithtype.otf │   │   │   │   ├── QTCascadetype.otf │   │   │   │   ├── QTCaslan-Bold.otf │   │   │   │   ├── QTCaslan-BoldItalic.otf │   │   │   │   ├── QTCaslan-Italic.otf │   │   │   │   ├── QTCaslan.otf │   │   │   │   ├── QTCaslanOpen.otf │   │   │   │   ├── QTCasual.otf │   │   │   │   ├── QTChanceryType-Bold.otf │   │   │   │   ├── QTChanceryType-Italic.otf │   │   │   │   ├── QTChanceryType.otf │   │   │   │   ├── QTChicagoland.otf │   │   │   │   ├── QTClaytablet.otf │   │   │   │   ├── QTCloisteredMonk.otf │   │   │   │   ├── QTCoronation.otf │   │   │   │   ├── QTDeuce.otf │   │   │   │   ├── QTDingBits.otf │   │   │   │   ├── QTDoghaus.otf │   │   │   │   ├── QTDoghausHeavy.otf │   │   │   │   ├── QTDoghausLight.otf │   │   │   │   ├── QTDublinIrish.otf │   │   │   │   ├── QTEraType-Bold.otf │   │   │   │   ├── QTEraType.otf │   │   │   │   ├── QTEurotype-Bold.otf │   │   │   │   ├── QTEurotype.otf │   │   │   │   ├── QTFloraline-Bold.otf │   │   │   │   ├── QTFloraline.otf │   │   │   │   ├── QTFlorencia.otf │   │   │   │   ├── QTFraktur.otf │   │   │   │   ├── QTFrank.otf │   │   │   │   ├── QTFrankHeavy.otf │   │   │   │   ├── QTFrizQuad-Bold.otf │   │   │   │   ├── QTFrizQuad.otf │   │   │   │   ├── QTFuture-Italic.otf │   │   │   │   ├── QTFuture.otf │   │   │   │   ├── QTFuturePoster.otf │   │   │   │   ├── QTGaromand-Bold.otf │   │   │   │   ├── QTGaromand-BoldItalic.otf │   │   │   │   ├── QTGaromand-Italic.otf │   │   │   │   ├── QTGaromand.otf │   │   │   │   ├── QTGhoulFace.otf │   │   │   │   ├── QTGraphLite.otf │   │   │   │   ├── QTGraveure-Bold.otf │   │   │   │   ├── QTGraveure.otf │   │   │   │   ├── QTGreece.otf │   │   │   │   ├── QTHandwriting.otf │   │   │   │   ├── QTHeidelbergType.otf │   │   │   │   ├── QTHelvet-Black.otf │   │   │   │   ├── QTHelvet-BoldOutline.otf │   │   │   │   ├── QTHelvetCnd-Black.otf │   │   │   │   ├── QTHelvetCnd-Light.otf │   │   │   │   ├── QTHelvetCnd.otf │   │   │   │   ├── QTHoboken.otf │   │   │   │   ├── QTHowardType.otf │   │   │   │   ├── QTHowardTypeFat.otf │   │   │   │   ├── QTImpromptu.otf │   │   │   │   ├── QTJupiter.otf │   │   │   │   ├── QTKooper-Italic.otf │   │   │   │   ├── QTKooper.otf │   │   │   │   ├── QTKorrin-Italic.otf │   │   │   │   ├── QTKorrin.otf │   │   │   │   ├── QTKung-Fu.otf │   │   │   │   ├── QTLautrecType.otf │   │   │   │   ├── QTLetterGoth-Bold.otf │   │   │   │   ├── QTLetterGoth-BoldItalic.otf │   │   │   │   ├── QTLetterGoth-Italic.otf │   │   │   │   ├── QTLetterGoth.otf │   │   │   │   ├── QTLinoscroll.otf │   │   │   │   ├── QTLinostroke.otf │   │   │   │   ├── QTLondonScroll.otf │   │   │   │   ├── QTMagicMarker.otf │   │   │   │   ├── QTMerryScript.otf │   │   │   │   ├── QTMilitary.otf │   │   │   │   ├── QTOKCorral-Cnd.otf │   │   │   │   ├── QTOKCorral-Ext.otf │   │   │   │   ├── QTOKCorral.otf │   │   │   │   ├── QTOldGoudy-Bold.otf │   │   │   │   ├── QTOldGoudy-Italic.otf │   │   │   │   ├── QTOldGoudy.otf │   │   │   │   ├── QTOptimum-Bold.otf │   │   │   │   ├── QTOptimum-BoldItalic.otf │   │   │   │   ├── QTOptimum-Italic.otf │   │   │   │   ├── QTOptimum.otf │   │   │   │   ├── QTPalatine-Bold.otf │   │   │   │   ├── QTPalatine-Italic.otf │   │   │   │   ├── QTPalatine.otf │   │   │   │   ├── QTPandora.otf │   │   │   │   ├── QTParisFrance.otf │   │   │   │   ├── QTPeignoir-Lite.otf │   │   │   │   ├── QTPeignoir.otf │   │   │   │   ├── QTPiltdown.otf │   │   │   │   ├── QTPristine-Bold.otf │   │   │   │   ├── QTPristine-BoldItalic.otf │   │   │   │   ├── QTPristine-Italic.otf │   │   │   │   ├── QTPristine.otf │   │   │   │   ├── QTRobotic2000.otf │   │   │   │   ├── QTSanDiego.otf │   │   │   │   ├── QTSchoolCentury-Bold.otf │   │   │   │   ├── QTSchoolCentury-BoldItalic.otf │   │   │   │   ├── QTSchoolCentury-Italic.otf │   │   │   │   ├── QTSchoolCentury.otf │   │   │   │   ├── QTSlogantype.otf │   │   │   │   ├── QTSnowCaps.otf │   │   │   │   ├── QTStoryTimeCaps.otf │   │   │   │   ├── QTTechtone-Bold.otf │   │   │   │   ├── QTTechtone-BoldItalic.otf │   │   │   │   ├── QTTechtone-Italic.otf │   │   │   │   ├── QTTechtone.otf │   │   │   │   ├── QTTheatre.otf │   │   │   │   ├── QTTimeOutline.otf │   │   │   │   ├── QTTumbleweed.otf │   │   │   │   ├── QTUSA-Uncial.otf │   │   │   │   ├── QTVagaRound-Bold.otf │   │   │   │   ├── QTVagaRound.otf │   │   │   │   ├── QTWeise-Bold.otf │   │   │   │   ├── QTWeise-Italic.otf │   │   │   │   ├── QTWeise.otf │   │   │   │   └── QTWestEnd.otf │   │   │   └── README │   │   ├── images │   │   │   ├── corner_bg.png │   │   │   ├── corner-bg.png │   │   │   ├── logo.png │   │   │   ├── nmfs_opensci_logo.png │   │   │   ├── nmfs-opensci-logo.png │   │   │   ├── otter_bar.jpeg │   │   │   ├── otter-bar.jpeg │   │   │   ├── ringed_seal.png │   │   │   ├── ringed-seal.png │   │   │   ├── the_great_waveoff_kanagawa.jpeg │   │   │   └── thegreatwaveoffkanagawa.jpeg │   │   ├── mathjax.html │   │   ├── pandoc.tex │   │   └── titlepage-theme.lua │   ├── _quarto.yml -> config/_quarto-html.yml │   ├── 404.qmd │   ├── assets │   │   ├── images │   │   │   ├── covers │   │   │   │   ├── cover-hardcover-book.png │   │   │   │   └── cover-image-transparent.png │   │   │   └── favicon.png │   │   ├── scripts │   │   │   └── subscribe-modal.js │   │   └── styles │   │   ├── dark-mode.scss │   │   └── style.scss │   ├── config │   │   ├── _quarto-html.yml │   │   ├── _quarto-pdf.yml │   │   └── announcement.yml │   ├── contents │   │   ├── arduino │   │   │   └── nicla_vision │   │   │   ├── image_classification │   │   │   │   ├── image_classification.bib │   │   │   │   ├── image_classification.qmd │   │   │   │   └── images │   │   │   │   ├── jpg │   │   │   │   │   ├── image1.jpg │   │   │   │   │   ├── image10.jpg │   │   │   │   │   ├── image13.jpg │   │   │   │   │   ├── image15.jpg │   │   │   │   │   ├── image18.jpg │   │   │   │   │   ├── image19.jpg │   │   │   │   │   ├── image2.jpg │   │   │   │   │   ├── image21.jpg │   │   │   │   │   ├── image23.jpg │   │   │   │   │   ├── image25.jpg │   │   │   │   │   ├── image27.jpg │   │   │   │   │   ├── image28.jpg │   │   │   │   │   ├── image31.jpg │   │   │   │   │   ├── image32.jpg │   │   │   │   │   ├── image35.jpg │   │   │   │   │   ├── image36.jpg │   │   │   │   │   ├── image38.jpg │   │   │   │   │   ├── image4.jpg │   │   │   │   │   ├── image41.jpg │   │   │   │   │   ├── image47.jpg │   │   │   │   │   ├── image6.jpg │   │   │   │   │   ├── image7.jpg │   │   │   │   │   ├── image9.jpg │   │   │   │   │   └── img_class_ini.jpg │   │   │   │   └── png │   │   │   │   ├── 0_pop_up.png │   │   │   │   ├── 0-pop-up.png │   │   │   │   ├── 1_dashboard.png │   │   │   │   ├── 1-dashboard.png │   │   │   │   ├── image_20250409121811495.png │   │   │   │   ├── image_20250409122002828.png │   │   │   │   ├── image_20250409122216711.png │   │   │   │   ├── image_20250409122301276.png │   │   │   │   ├── image_20250409122405978.png │   │   │   │   ├── image_20250409122447616.png │   │   │   │   ├── image_20250409122559093.png │   │   │   │   ├── image_20250409122805537.png │   │   │   │   ├── image_20250409122922001.png │   │   │   │   ├── image_20250409123041443.png │   │   │   │   ├── image_20250409123154360.png │   │   │   │   ├── image_20250409123335307.png │   │   │   │   ├── image_20250409123434197.png │   │   │   │   ├── image_20250409123521431.png │   │   │   │   ├── image_20250409123633926.png │   │   │   │   ├── image_20250409125313368.png │   │   │   │   ├── image_20250409125425304.png │   │   │   │   ├── image_20250409125541513.png │   │   │   │   ├── image_20250409125717615.png │   │   │   │   ├── image_20250409125828409.png │   │   │   │   ├── image_20250409125939397.png │   │   │   │   ├── image_20250409130041244.png │   │   │   │   ├── image_20250409130259236.png │   │   │   │   ├── image_20250409130420420.png │   │   │   │   ├── image_20250409130612620.png │   │   │   │   ├── image_20250409130722082.png │   │   │   │   ├── image_20250409130759751.png │   │   │   │   ├── image_20250409130946645.png │   │   │   │   ├── image_20250409131243149.png │   │   │   │   ├── image_20250409131317593.png │   │   │   │   ├── image_20250409131807950.png │   │   │   │   ├── image_20250409132002392.png │   │   │   │   ├── image_20250409132315298.png │   │   │   │   ├── image_20250409132406597.png │   │   │   │   ├── image_20250409132528227.png │   │   │   │   ├── image_20250409142412723.png │   │   │   │   ├── image_20250409142641398.png │   │   │   │   ├── image_20250409142923020.png │   │   │   │   ├── image_20250409143012013.png │   │   │   │   ├── image_20250409143734057.png │   │   │   │   ├── image_20250409150056803.png │   │   │   │   ├── image_20250409150136393.png │   │   │   │   ├── image_20250409150704876.png │   │   │   │   ├── image_20250409153710812.png │   │   │   │   ├── image-20250409121811495.png │   │   │   │   ├── image-20250409122002828.png │   │   │   │   ├── image-20250409122216711.png │   │   │   │   ├── image-20250409122301276.png │   │   │   │   ├── image-20250409122405978.png │   │   │   │   ├── image-20250409122447616.png │   │   │   │   ├── image-20250409122559093.png │   │   │   │   ├── image-20250409122805537.png │   │   │   │   ├── image-20250409122922001.png │   │   │   │   ├── image-20250409123041443.png │   │   │   │   ├── image-20250409123154360.png │   │   │   │   ├── image-20250409123335307.png │   │   │   │   ├── image-20250409123434197.png │   │   │   │   ├── image-20250409123521431.png │   │   │   │   ├── image-20250409123633926.png │   │   │   │   ├── image-20250409125313368.png │   │   │   │   ├── image-20250409125425304.png │   │   │   │   ├── image-20250409125541513.png │   │   │   │   ├── image-20250409125717615.png │   │   │   │   ├── image-20250409125828409.png │   │   │   │   ├── image-20250409125939397.png │   │   │   │   ├── image-20250409130041244.png │   │   │   │   ├── image-20250409130259236.png │   │   │   │   ├── image-20250409130420420.png │   │   │   │   ├── image-20250409130612620.png │   │   │   │   ├── image-20250409130722082.png │   │   │   │   ├── image-20250409130759751.png │   │   │   │   ├── image-20250409130946645.png │   │   │   │   ├── image-20250409131243149.png │   │   │   │   ├── image-20250409131317593.png │   │   │   │   ├── image-20250409131807950.png │   │   │   │   ├── image-20250409132002392.png │   │   │   │   ├── image-20250409132315298.png │   │   │   │   ├── image-20250409132406597.png │   │   │   │   ├── image-20250409132528227.png │   │   │   │   ├── image-20250409142412723.png │   │   │   │   ├── image-20250409142641398.png │   │   │   │   ├── image-20250409142923020.png │   │   │   │   ├── image-20250409143012013.png │   │   │   │   ├── image-20250409143734057.png │   │   │   │   ├── image-20250409150056803.png │   │   │   │   ├── image-20250409150136393.png │   │   │   │   ├── image-20250409150704876.png │   │   │   │   ├── image-20250409153710812.png │   │   │   │   └── image46.png │   │   │   ├── images │   │   │   │   └── jpg │   │   │   │   ├── nicla_vision_quarter.jpeg │   │   │   │   └── nicla_vision.jpeg │   │   │   ├── kws │   │   │   │   ├── images │   │   │   │   │   ├── jpg │   │   │   │   │   │   ├── audio_capt.jpg │   │   │   │   │   │   ├── code_ide.jpg │   │   │   │   │   │   ├── dataset.jpg │   │   │   │   │   │   ├── deploy.jpg │   │   │   │   │   │   ├── ei_data_collection.jpg │   │   │   │   │   │   ├── ei_mfcc.jpg │   │   │   │   │   │   ├── feat_expl.jpg │   │   │   │   │   │   ├── files.jpg │   │   │   │   │   │   ├── impulse.jpg │   │   │   │   │   │   ├── install_zip.jpg │   │   │   │   │   │   ├── kws_proj_inf_blk.jpg │   │   │   │   │   │   ├── kws_proj_train_blk.jpg │   │   │   │   │   │   ├── mfcc.jpg │   │   │   │   │   │   ├── model.jpg │   │   │   │   │   │   ├── models_1d_2d.jpg │   │   │   │   │   │   ├── models_1d-2d.jpg │   │   │   │   │   │   ├── nicla_kws.jpg │   │   │   │   │   │   ├── nicla-kws.jpg │   │   │   │   │   │   ├── pa_block.jpg │   │   │   │   │   │   ├── pers_ass.jpg │   │   │   │   │   │   ├── phone.jpg │   │   │   │   │   │   ├── split.jpg │   │   │   │   │   │   ├── test.jpg │   │   │   │   │   │   ├── train_errors.jpg │   │   │   │   │   │   ├── train_graphs.jpg │   │   │   │   │   │   ├── train_result.jpg │   │   │   │   │   │   ├── upload.jpg │   │   │   │   │   │   ├── yes_no.jpg │   │   │   │   │   │   └── yes.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── hey_google.png │   │   │   │   │   └── image17.png │   │   │   │   ├── kws.bib │   │   │   │   └── kws.qmd │   │   │   ├── motion_classification │   │   │   │   ├── images │   │   │   │   │   └── jpg │   │   │   │   │   ├── anom_det_train.jpg │   │   │   │   │   ├── anomaly_boat.jpg │   │   │   │   │   ├── anomaly_detect.jpg │   │   │   │   │   ├── anomaly-boat.jpg │   │   │   │   │   ├── case.jpg │   │   │   │   │   ├── classes_mov_def.jpg │   │   │   │   │   ├── classes.jpg │   │   │   │   │   ├── collect_data.jpg │   │   │   │   │   ├── data_explorer.jpg │   │   │   │   │   ├── data_forw.jpg │   │   │   │   │   ├── data-forw.jpg │   │   │   │   │   ├── dataset.jpg │   │   │   │   │   ├── deploy.jpg │   │   │   │   │   ├── device.jpg │   │   │   │   │   ├── feature_generation.jpg │   │   │   │   │   ├── idle_result.jpg │   │   │   │   │   ├── impulse_block.jpg │   │   │   │   │   ├── impulse-block.jpg │   │   │   │   │   ├── impulse.jpg │   │   │   │   │   ├── imu_ide.jpg │   │   │   │   │   ├── imu_test.jpg │   │   │   │   │   ├── inference_1.jpg │   │   │   │   │   ├── inference_2.jpg │   │   │   │   │   ├── inference.jpg │   │   │   │   │   ├── lift_result.jpg │   │   │   │   │   ├── maritime_result.jpg │   │   │   │   │   ├── model_testing.jpg │   │   │   │   │   ├── model.jpg │   │   │   │   │   ├── movement_anomaly_ini.jpg │   │   │   │   │   ├── parameters_definition.jpg │   │   │   │   │   ├── pre_process.jpg │   │   │   │   │   ├── pre-process.jpg │   │   │   │   │   ├── sampling.jpg │   │   │   │   │   ├── term.jpg │   │   │   │   │   ├── terrestrial_result.jpg │   │   │   │   │   └── train.jpg │   │   │   │   ├── motion_classification.bib │   │   │   │   └── motion_classification.qmd │   │   │   ├── nicla_vision.qmd │   │   │   ├── object_detection │   │   │   │   ├── images │   │   │   │   │   ├── jpg │   │   │   │   │   │   ├── cv_obj_detect.jpg │   │   │   │   │   │   ├── data_folder.jpg │   │   │   │   │   │   ├── img_11.jpg │   │   │   │   │   │   ├── img_13.jpg │   │   │   │   │   │   ├── img_27.jpg │   │   │   │   │   │   ├── img_28.jpg │   │   │   │   │   │   ├── img_5.jpg │   │   │   │   │   │   ├── obj_det_ini.jpg │   │   │   │   │   │   ├── proj_goal.jpg │   │   │   │   │   │   └── samples.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── 0_setup.png │   │   │   │   │   ├── 0-setup.png │   │   │   │   │   ├── 1_data.png │   │   │   │   │   ├── 1-data.png │   │   │   │   │   ├── 10_live.png │   │   │   │   │   ├── 10-live.png │   │   │   │   │   ├── 11_od.png │   │   │   │   │   ├── 11-od.png │   │   │   │   │   ├── 12_deploy.png │   │   │   │   │   ├── 12-deploy.png │   │   │   │   │   ├── 13_inf.png │   │   │   │   │   ├── 13-inf.png │   │   │   │   │   ├── 2_data.png │   │   │   │   │   ├── 2-data.png │   │   │   │   │   ├── 3_labeling_data.png │   │   │   │   │   ├── 3-labeling-data.png │   │   │   │   │   ├── 4_labeling_data.png │   │   │   │   │   ├── 4-labeling-data.png │   │   │   │   │   ├── 5_impulse.png │   │   │   │   │   ├── 5-impulse.png │   │   │   │   │   ├── 6_pp.png │   │   │   │   │   ├── 6-pp.png │   │   │   │   │   ├── 7_fomo.png │   │   │   │   │   ├── 7-fomo.png │   │   │   │   │   ├── 8_train.png │   │   │   │   │   ├── 8-train.png │   │   │   │   │   ├── 9_live.png │   │   │   │   │   ├── 9-live.png │   │   │   │   │   ├── image_20250410121259815.png │   │   │   │   │   ├── image_20250410123417108.png │   │   │   │   │   ├── image-20250410121259815.png │   │   │   │   │   ├── image-20250410123417108.png │   │   │   │   │   ├── image17.png │   │   │   │   │   ├── img_1.png │   │   │   │   │   ├── img_10.png │   │   │   │   │   ├── img_12.png │   │   │   │   │   ├── img_14.png │   │   │   │   │   ├── img_15.png │   │   │   │   │   ├── img_16.png │   │   │   │   │   ├── img_17.png │   │   │   │   │   ├── img_18.png │   │   │   │   │   ├── img_19.png │   │   │   │   │   ├── img_2.png │   │   │   │   │   ├── img_20.png │   │   │   │   │   ├── img_21.png │   │   │   │   │   ├── img_22.png │   │   │   │   │   ├── img_23.png │   │   │   │   │   ├── img_24.png │   │   │   │   │   ├── img_25.png │   │   │   │   │   ├── img_26.png │   │   │   │   │   ├── img_3.png │   │   │   │   │   ├── img_4.png │   │   │   │   │   ├── img_6.png │   │   │   │   │   ├── img_7.png │   │   │   │   │   ├── img_8.png │   │   │   │   │   └── img_9.png │   │   │   │   ├── object_detection.bib │   │   │   │   └── object_detection.qmd │   │   │   └── setup │   │   │   ├── images │   │   │   │   ├── jpg │   │   │   │   │   ├── image11.jpg │   │   │   │   │   ├── image13.jpg │   │   │   │   │   ├── image14.jpg │   │   │   │   │   ├── image15.jpg │   │   │   │   │   ├── image18.jpg │   │   │   │   │   ├── image19.jpg │   │   │   │   │   ├── image2.jpg │   │   │   │   │   ├── image20.jpg │   │   │   │   │   ├── image22.jpg │   │   │   │   │   ├── image23.jpg │   │   │   │   │   ├── image24.jpg │   │   │   │   │   ├── image26.jpg │   │   │   │   │   ├── image29.jpg │   │   │   │   │   └── nicla_sys_ini.jpg │   │   │   │   └── png │   │   │   │   ├── image_20250409101745233.png │   │   │   │   ├── image_20250409102015282.png │   │   │   │   ├── image_20250409102257291.png │   │   │   │   ├── image_20250409102416745.png │   │   │   │   ├── image_20250409102531451.png │   │   │   │   ├── image_20250409102641908.png │   │   │   │   ├── image_20250409102838852.png │   │   │   │   ├── image_20250409102943336.png │   │   │   │   ├── image_20250409103159216.png │   │   │   │   ├── image_20250409103401388.png │   │   │   │   ├── image_20250409103828014.png │   │   │   │   ├── image_20250409103900709.png │   │   │   │   ├── image_20250409104030018.png │   │   │   │   ├── image_20250409104108038.png │   │   │   │   ├── image_20250409104755106.png │   │   │   │   ├── image_20250409105305899.png │   │   │   │   ├── image_20250409105410404.png │   │   │   │   ├── image_20250409105512940.png │   │   │   │   ├── image_20250409105557518.png │   │   │   │   ├── image_20250409105630839.png │   │   │   │   ├── image_20250409111811623.png │   │   │   │   ├── image-20250409101745233.png │   │   │   │   ├── image-20250409102015282.png │   │   │   │   ├── image-20250409102257291.png │   │   │   │   ├── image-20250409102416745.png │   │   │   │   ├── image-20250409102531451.png │   │   │   │   ├── image-20250409102641908.png │   │   │   │   ├── image-20250409102838852.png │   │   │   │   ├── image-20250409102943336.png │   │   │   │   ├── image-20250409103159216.png │   │   │   │   ├── image-20250409103401388.png │   │   │   │   ├── image-20250409103828014.png │   │   │   │   ├── image-20250409103900709.png │   │   │   │   ├── image-20250409104030018.png │   │   │   │   ├── image-20250409104108038.png │   │   │   │   ├── image-20250409104755106.png │   │   │   │   ├── image-20250409105305899.png │   │   │   │   ├── image-20250409105410404.png │   │   │   │   ├── image-20250409105512940.png │   │   │   │   ├── image-20250409105557518.png │   │   │   │   ├── image-20250409105630839.png │   │   │   │   ├── image-20250409111811623.png │   │   │   │   ├── image1.png │   │   │   │   ├── image10.png │   │   │   │   ├── image12.png │   │   │   │   ├── image16.png │   │   │   │   ├── image17.png │   │   │   │   ├── image21.png │   │   │   │   ├── image25.png │   │   │   │   ├── image27.png │   │   │   │   ├── image28.png │   │   │   │   ├── image3.png │   │   │   │   ├── image4.png │   │   │   │   ├── image5.png │   │   │   │   ├── image6.png │   │   │   │   ├── image7.png │   │   │   │   ├── image8.png │   │   │   │   ├── image9.png │   │   │   │   ├── nicla_1.png │   │   │   │   └── nicla-1.png │   │   │   ├── setup.bib │   │   │   └── setup.qmd │   │   ├── getting-started.qmd │   │   ├── ide-setup.qmd │   │   ├── platforms.qmd │   │   ├── raspi │   │   │   ├── image_classification │   │   │   │   ├── image_classification.qmd │   │   │   │   └── images │   │   │   │   ├── jpeg │   │   │   │   │   ├── img_class_cover.jpg │   │   │   │   │   ├── img_class_func.jpg │   │   │   │   │   ├── model_1.jpg │   │   │   │   │   ├── model_2.jpg │   │   │   │   │   └── project_goal.jpg │   │   │   │   └── png │   │   │   │   ├── app_inference.png │   │   │   │   ├── app-inference.png │   │   │   │   ├── cam_installed.png │   │   │   │   ├── capture_test.png │   │   │   │   ├── capture.png │   │   │   │   ├── cat_original.png │   │   │   │   ├── cifar10_model.png │   │   │   │   ├── data_aquisition.png │   │   │   │   ├── data_esplorer.png │   │   │   │   ├── data-aquisition.png │   │   │   │   ├── data-esplorer.png │   │   │   │   ├── enter_label.png │   │   │   │   ├── image_20240823145059675.png │   │   │   │   ├── image_20240823152700396.png │   │   │   │   ├── image-20240823145059675.png │   │   │   │   ├── image-20240823152700396.png │   │   │   │   ├── img_test_result.png │   │   │   │   ├── impulse.png │   │   │   │   ├── infer_cifar10.png │   │   │   │   ├── infer_int8_160.png │   │   │   │   ├── infer_int8_96.png │   │   │   │   ├── infer_result.png │   │   │   │   ├── infer_robot.png │   │   │   │   ├── infer-cifar10.png │   │   │   │   ├── infer-int8-160.png │   │   │   │   ├── infer-int8-96.png │   │   │   │   ├── infer-result.png │   │   │   │   ├── input_details.png │   │   │   │   ├── mobilinet_v2.png │   │   │   │   ├── mobilinet_zero.png │   │   │   │   ├── mobilinetv2.png │   │   │   │   ├── model.png │   │   │   │   ├── models_dir.png │   │   │   │   ├── nano.png │   │   │   │   ├── new_proj_ei.png │   │   │   │   ├── new-proj-ei.png │   │   │   │   ├── notebook_test.png │   │   │   │   ├── notebook_token.png │   │   │   │   ├── output_details.png │   │   │   │   ├── preproc.png │   │   │   │   ├── process_img.png │   │   │   │   ├── result_train.png │   │   │   │   ├── result-train.png │   │   │   │   ├── stop.png │   │   │   │   └── test_result.png │   │   │   ├── images │   │   │   │   └── jpeg │   │   │   │   ├── raspberry_pi_5_official_camera_cable_200mm_details_5.jpg │   │   │   │   ├── raspberry-pi-5-official-camera-cable-200mm-details-5.jpg │   │   │   │   └── raspis.jpg │   │   │   ├── llm │   │   │   │   ├── images │   │   │   │   │   ├── 2304.13712 │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── cover.jpg │   │   │   │   │   │   ├── halo.jpg │   │   │   │   │   │   ├── image _test_2.jpg │   │   │   │   │   │   ├── image_test_1.jpg │   │   │   │   │   │   ├── image_test_2.jpg │   │   │   │   │   │   ├── image_test_3.jpg │   │   │   │   │   │   ├── llama3_2.jpg │   │   │   │   │   │   ├── paris.jpg │   │   │   │   │   │   ├── slm_example.jpg │   │   │   │   │   │   └── slm-example.jpg │   │   │   │   │   ├── ollama.png │   │   │   │   │   └── png │   │   │   │   │   ├── app_machu_picchu.png │   │   │   │   │   ├── app-machu-picchu.png │   │   │   │   │   ├── bench.png │   │   │   │   │   ├── block_2.png │   │   │   │   │   ├── block_fc_proj.png │   │   │   │   │   ├── block-2.png │   │   │   │   │   ├── block-fc-proj.png │   │   │   │   │   ├── calc_real.png │   │   │   │   │   ├── cooler.png │   │   │   │   │   ├── embed_models.png │   │   │   │   │   ├── gemma_2.png │   │   │   │   │   ├── gemma.png │   │   │   │   │   ├── htop.png │   │   │   │   │   ├── image_test_path.png │   │   │   │   │   ├── image_test-path.png │   │   │   │   │   ├── install_ollama_rpi5.png │   │   │   │   │   ├── install_ollama.png │   │   │   │   │   ├── install-ollama-rpi5.png │   │   │   │   │   ├── install-ollama.png │   │   │   │   │   ├── jupyter.png │   │   │   │   │   ├── llama3_2_1b_performance.png │   │   │   │   │   ├── llama3_2_3b_performance.png │   │   │   │   │   ├── llms_slm.png │   │   │   │   │   ├── llms-slm.png │   │   │   │   │   ├── menu.png │   │   │   │   │   ├── ollama.png │   │   │   │   │   ├── paris_2.png │   │   │   │   │   ├── paris_app.png │   │   │   │   │   ├── paris_infer_1.png │   │   │   │   │   ├── paris_lat_lon.png │   │   │   │   │   ├── paris-2.png │   │   │   │   │   ├── paris-app.png │   │   │   │   │   ├── paris-infer-1.png │   │   │   │   │   ├── paris-lat-lon.png │   │   │   │   │   ├── rag_1.png │   │   │   │   │   ├── rag_2_2.png │   │   │   │   │   ├── rag-1.png │   │   │   │   │   ├── rag-2-2.png │   │   │   │   │   ├── resourses_temp.png │   │   │   │   │   ├── resourses-temp.png │   │   │   │   │   ├── run_gemma.png │   │   │   │   │   ├── run-gemma.png │   │   │   │   │   ├── script_fc.png │   │   │   │   │   ├── script-fc.png │   │   │   │   │   ├── small_and_multimodal.png │   │   │   │   │   ├── temp_comp.png │   │   │   │   │   └── verbose.png │   │   │   │   └── llm.qmd │   │   │   ├── object_detection │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── cover.jpg │   │   │   │   │   │   ├── obj_app.jpg │   │   │   │   │   │   ├── objxclas.jpg │   │   │   │   │   │   ├── proj_goal.jpg │   │   │   │   │   │   └── versions.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── annotation.png │   │   │   │   │   ├── app_running.png │   │   │   │   │   ├── app-running.png │   │   │   │   │   ├── app.png │   │   │   │   │   ├── auto-1af10b28_1af10b28.png │   │   │   │   │   ├── block.png │   │   │   │   │   ├── boulding_boxes.png │   │   │   │   │   ├── boulding-boxes.png │   │   │   │   │   ├── cap_img.png │   │   │   │   │   ├── cap-img.png │   │   │   │   │   ├── cat_dog.png │   │   │   │   │   ├── cat-dog.png │   │   │   │   │   ├── create_project_rf.png │   │   │   │   │   ├── create-project-rf.png │   │   │   │   │   ├── data_bus.png │   │   │   │   │   ├── data-bus.png │   │   │   │   │   ├── dataset_code.png │   │   │   │   │   ├── dataset_rf.png │   │   │   │   │   ├── dataset_struct.png │   │   │   │   │   ├── dataset-struct.png │   │   │   │   │   ├── dataset.png │   │   │   │   │   ├── deploy_linux.png │   │   │   │   │   ├── deploy-linux.png │   │   │   │   │   ├── download_dataset.png │   │   │   │   │   ├── download-dataset.png │   │   │   │   │   ├── ei_dataset.png │   │   │   │   │   ├── ei_deploy_int8.png │   │   │   │   │   ├── ei_features.png │   │   │   │   │   ├── ei_image_pre.png │   │   │   │   │   ├── ei_train_result.png │   │   │   │   │   ├── ei-dataset.png │   │   │   │   │   ├── ei-deploy-int8.png │   │   │   │   │   ├── ei-features.png │   │   │   │   │   ├── ei-image-pre.png │   │   │   │   │   ├── ei-train-result.png │   │   │   │   │   ├── final_dataset.png │   │   │   │   │   ├── final-dataset.png │   │   │   │   │   ├── fomo_1.png │   │   │   │   │   ├── fomo_test.png │   │   │   │   │   ├── fomo_train_result.png │   │   │   │   │   ├── fomo_works.png │   │   │   │   │   ├── fomo-1.png │   │   │   │   │   ├── fomo-test.png │   │   │   │   │   ├── fomo-train-result.png │   │   │   │   │   ├── fomo-works.png │   │   │   │   │   ├── img_cap_1.png │   │   │   │   │   ├── img_cap-1.png │   │   │   │   │   ├── impulse_2.png │   │   │   │   │   ├── impulse_design.png │   │   │   │   │   ├── impulse-2.png │   │   │   │   │   ├── impulse-design.png │   │   │   │   │   ├── infer_fomo_result.png │   │   │   │   │   ├── infer_iou.png │   │   │   │   │   ├── infer_mobv1.png │   │   │   │   │   ├── infer_mult.png │   │   │   │   │   ├── infer_text.png │   │   │   │   │   ├── infer_visual.png │   │   │   │   │   ├── infer_yolo.png │   │   │   │   │   ├── infer-fomo-result.png │   │   │   │   │   ├── infer-iou.png │   │   │   │   │   ├── infer-mobv1.png │   │   │   │   │   ├── infer-mult.png │   │   │   │   │   ├── infer-text.png │   │   │   │   │   ├── infer-visual.png │   │   │   │   │   ├── infer-yolo.png │   │   │   │   │   ├── inference result.png │   │   │   │   │   ├── inference_result.png │   │   │   │   │   ├── matrix.png │   │   │   │   │   ├── model_choice.png │   │   │   │   │   ├── model_deploy.png │   │   │   │   │   ├── model-choice.png │   │   │   │   │   ├── model-deploy.png │   │   │   │   │   ├── orig_fomo_img.png │   │   │   │   │   ├── orig_img.png │   │   │   │   │   ├── orig-fomo-img.png │   │   │   │   │   ├── orig-img.png │   │   │   │   │   ├── pre_proc.png │   │   │   │   │   ├── pre-proc.png │   │   │   │   │   ├── python_infer_bus.png │   │   │   │   │   ├── python-infer-bus.png │   │   │   │   │   ├── result_bus.png │   │   │   │   │   ├── result-bus.png │   │   │   │   │   ├── target_device.png │   │   │   │   │   ├── target-device.png │   │   │   │   │   ├── test_infer_yolo.png │   │   │   │   │   ├── test-infer-yolo.png │   │   │   │   │   ├── train_result.png │   │   │   │   │   ├── train-result.png │   │   │   │   │   ├── upload_data.png │   │   │   │   │   ├── upload-data.png │   │   │   │   │   ├── visual_inf.png │   │   │   │   │   ├── yolo_bus.png │   │   │   │   │   ├── yolo_dataset_upload.png │   │   │   │   │   ├── yolo_infer_bus.png │   │   │   │   │   ├── yolo_infer_raspi.png │   │   │   │   │   ├── yolo_py_script.png │   │   │   │   │   ├── yolo_train_lib.png │   │   │   │   │   ├── yolo-bus.png │   │   │   │   │   ├── yolo-dataset-upload.png │   │   │   │   │   ├── yolo-infer-bus.png │   │   │   │   │   ├── yolo-infer-raspi.png │   │   │   │   │   ├── yolo-py-script.png │   │   │   │   │   └── yolo-train-lib.png │   │   │   │   └── object_detection.qmd │   │   │   ├── raspi.qmd │   │   │   ├── setup │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── list_cams_raspi_zero.jpg │   │   │   │   │   │   ├── list_cams_raspi-zero.jpg │   │   │   │   │   │   ├── r5_hardware.jpg │   │   │   │   │   │   ├── r5-hardware.jpg │   │   │   │   │   │   ├── rasp_setup_portada.jpg │   │   │   │   │   │   ├── rasp_zero_with_cam.jpg │   │   │   │   │   │   ├── rasp-zero-with-cam.jpg │   │   │   │   │   │   ├── raspberry_pi_5_pi_camera_module_v2_connected_cable.jpg │   │   │   │   │   │   ├── raspberry-pi-5-pi-camera-module-v2-connected-cable.jpg │   │   │   │   │   │   ├── setup.jpg │   │   │   │   │   │   ├── usb_cam_2.jpg │   │   │   │   │   │   ├── usb_camera.jpg │   │   │   │   │   │   ├── usb-cam-2.jpg │   │   │   │   │   │   ├── zero_hardware.jpg │   │   │   │   │   │   └── zero-hardware.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── cam_2_test.png │   │   │   │   │   ├── cam-2_test.png │   │   │   │   │   ├── filezila.png │   │   │   │   │   ├── htop.png │   │   │   │   │   ├── image_test_vga.png │   │   │   │   │   ├── image_test.png │   │   │   │   │   ├── image-test_vga.png │   │   │   │   │   ├── image-test.png │   │   │   │   │   ├── list_archives.png │   │   │   │   │   ├── list_cam_raspi_5.png │   │   │   │   │   ├── list_cam_raspi-5.png │   │   │   │   │   ├── list_cams_raspi_5.png │   │   │   │   │   ├── list_cams_raspi-5.png │   │   │   │   │   ├── pasted_graphic_11_i_lcmy_o_y_u7_x.png │   │   │   │   │   ├── pasted_graphic_11_i_lcmy_oyu7_x.png │   │   │   │   │   ├── pasted_graphic_11_ilcmyoyu7x.png │   │   │   │   │   ├── r5_burn.png │   │   │   │   │   ├── r5-burn.png │   │   │   │   │   ├── raspi_5_cam.png │   │   │   │   │   ├── raspi-5-cam.png │   │   │   │   │   ├── ssh.png │   │   │   │   │   ├── stream.png │   │   │   │   │   ├── test_camera_raspi_5.png │   │   │   │   │   ├── test_camera_raspi-5.png │   │   │   │   │   ├── test_txt.png │   │   │   │   │   ├── test_view.png │   │   │   │   │   ├── test-view.png │   │   │   │   │   ├── tranfer_text_mac.png │   │   │   │   │   ├── tranfer-text-mac.png │   │   │   │   │   ├── transfer_file.png │   │   │   │   │   ├── transfer_from_rspi_comp.png │   │   │   │   │   ├── transfer-from-rspi-comp.png │   │   │   │   │   ├── u_s_b_c_a_m_2.png │   │   │   │   │   ├── usb_cam_2.png │   │   │   │   │   ├── usb_cam_test_2.png │   │   │   │   │   ├── usb_cam_test.png │   │   │   │   │   ├── usb-cam-2.png │   │   │   │   │   ├── usb-cam-test-2.png │   │   │   │   │   ├── usb-cam-test.png │   │   │   │   │   ├── vnc_1.png │   │   │   │   │   ├── vnc_2.png │   │   │   │   │   ├── vnc_3.png │   │   │   │   │   ├── vnc_4.png │   │   │   │   │   ├── vnc_5.png │   │   │   │   │   ├── vnc_6.png │   │   │   │   │   ├── vnc_7.png │   │   │   │   │   ├── vnc_8.png │   │   │   │   │   ├── vnc_9.png │   │   │   │   │   ├── vnc-1.png │   │   │   │   │   ├── vnc-2.png │   │   │   │   │   ├── vnc-3.png │   │   │   │   │   ├── vnc-4.png │   │   │   │   │   ├── vnc-5.png │   │   │   │   │   ├── vnc-6.png │   │   │   │   │   ├── vnc-7.png │   │   │   │   │   ├── vnc-8.png │   │   │   │   │   ├── vnc-9.png │   │   │   │   │   ├── zero_burn.png │   │   │   │   │   └── zero-burn.png │   │   │   │   └── setup.qmd │   │   │   └── vlm │   │   │   ├── images │   │   │   │   ├── jpeg │   │   │   │   │   ├── cover.jpg │   │   │   │   │   ├── florence_diagr.jpg │   │   │   │   │   ├── florence-diagr.jpg │   │   │   │   │   ├── htop.jpg │   │   │   │   │   ├── raspi5_active_cooler.jpg │   │   │   │   │   └── raspi5-active-cooler.jpg │   │   │   │   └── png │   │   │   │   ├── arch.png │   │   │   │   ├── caption_boxes.png │   │   │   │   ├── caption_ground.png │   │   │   │   ├── caption-boxes.png │   │   │   │   ├── cascade.png │   │   │   │   ├── dataset_f_l_d_5_b.png │   │   │   │   ├── dataset_fld_5_b.png │   │   │   │   ├── dataset_fld-5b.png │   │   │   │   ├── dog_bottle_seg.png │   │   │   │   ├── fine_tuning.png │   │   │   │   ├── fine-tuning.png │   │   │   │   ├── flyer.png │   │   │   │   ├── fusca.png │   │   │   │   ├── htop.png │   │   │   │   ├── img_test.png │   │   │   │   ├── jupyter.png │   │   │   │   ├── od_caption_cat_dog_table.png │   │   │   │   ├── od_cat_dogs.png │   │   │   │   ├── od_table.png │   │   │   │   ├── open_vacab_exemples.png │   │   │   │   ├── orange_seg.png │   │   │   │   ├── output_ocr.png │   │   │   │   ├── result_test.png │   │   │   │   ├── ssh.png │   │   │   │   ├── test_pytorch.png │   │   │   │   ├── test-pytorch.png │   │   │   │   └── wine_glass.png │   │   │   └── vlm.qmd │   │   ├── seeed │   │   │   ├── grove_vision_ai_v2 │   │   │   │   ├── grove_vision_ai_v2.qmd │   │   │   │   ├── image_classification │   │   │   │   │   ├── image_classification.qmd │   │   │   │   │   └── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── cover_vision_a_i.jpg │   │   │   │   │   │   ├── cover_vision_ai.jpg │   │   │   │   │   │   ├── cover-visionai.jpg │   │   │   │   │   │   ├── xiao_grove_m_s_ufq_e5t_wq.jpg │   │   │   │   │   │   └── xiao-grove_msufqe5twq.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── benchmark.png │   │   │   │   │   ├── block_diagram.png │   │   │   │   │   ├── block_iect_infer.png │   │   │   │   │   ├── block-diagram.png │   │   │   │   │   ├── block-iect-infer.png │   │   │   │   │   ├── classes.png │   │   │   │   │   ├── collect_class.png │   │   │   │   │   ├── collect-class.png │   │   │   │   │   ├── connect_deploy.png │   │   │   │   │   ├── connect-deploy.png │   │   │   │   │   ├── connection.png │   │   │   │   │   ├── data_collection.png │   │   │   │   │   ├── data-collection.png │   │   │   │   │   ├── ei_proj.png │   │   │   │   │   ├── ei-proj.png │   │   │   │   │   ├── eigen.png │   │   │   │   │   ├── enter_classes.png │   │   │   │   │   ├── enter-classes.png │   │   │   │   │   ├── erase_img.png │   │   │   │   │   ├── erase-img.png │   │   │   │   │   ├── ext_les_inf.png │   │   │   │   │   ├── ext-les-inf.png │   │   │   │   │   ├── img_class_goal_3r_vvn_ux29m.png │   │   │   │   │   ├── img_class_goal_3rvvnux29m.png │   │   │   │   │   ├── img_class_project.png │   │   │   │   │   ├── img-class-project.png │   │   │   │   │   ├── impulse.png │   │   │   │   │   ├── infer_results.png │   │   │   │   │   ├── infer-results.png │   │   │   │   │   ├── inference_periquito.png │   │   │   │   │   ├── inference-periquito.png │   │   │   │   │   ├── inference.png │   │   │   │   │   ├── jsonlib.png │   │   │   │   │   ├── led_off.png │   │   │   │   │   ├── led_on.png │   │   │   │   │   ├── led-off.png │   │   │   │   │   ├── led-on.png │   │   │   │   │   ├── library.png │   │   │   │   │   ├── mem.png │   │   │   │   │   ├── model_2.jpg │   │   │   │   │   ├── montage.png │   │   │   │   │   ├── person_detection_infer.png │   │   │   │   │   ├── person-detection-infer.png │   │   │   │   │   ├── saving_data.png │   │   │   │   │   ├── train_result.png │   │   │   │   │   ├── train-result.png │   │   │   │   │   ├── video_app.png │   │   │   │   │   ├── video_stream_cap.png │   │   │   │   │   ├── video-app.png │   │   │   │   │   ├── video-stream-cap.png │   │   │   │   │   ├── webpage.png │   │   │   │   │   ├── xiao_connection.png │   │   │   │   │   ├── xiao_setup.png │   │   │   │   │   ├── xiao-connection.png │   │   │   │   │   ├── xiao-setup.png │   │   │   │   │   └── zip.png │   │   │   │   ├── images │   │   │   │   │   └── jpeg │   │   │   │   │   └── grove_vision_ai_v2.jpeg │   │   │   │   ├── object_detection │   │   │   │   │   └── object_detection.qmd │   │   │   │   └── setup_and_no_code_apps │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── cable_connection_csgwmp_m_y5i.jpg │   │   │   │   │   │   ├── cable_connection_csgwmp_my5i.jpg │   │   │   │   │   │   ├── cable_connection_csgwmpmy5i.jpg │   │   │   │   │   │   ├── cover_part1.jpg │   │   │   │   │   │   ├── cover-part1.jpg │   │   │   │   │   │   ├── device.jpeg │   │   │   │   │   │   ├── grove.jpeg │   │   │   │   │   │   ├── grove.jpg │   │   │   │   │   │   ├── himax_wise_eye2.jpg │   │   │   │   │   │   └── himax-wiseeye2.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── apps.png │   │   │   │   │   ├── beatles.png │   │   │   │   │   ├── bench_1.png │   │   │   │   │   ├── bench-1.png │   │   │   │   │   ├── classes_img_class.png │   │   │   │   │   ├── classes.png │   │   │   │   │   ├── clean_dataset.png │   │   │   │   │   ├── collect_imaages.png │   │   │   │   │   ├── collect-imaages.png │   │   │   │   │   ├── connect_sense_craft_train.png │   │   │   │   │   ├── connect-sensecraft-train.png │   │   │   │   │   ├── deploy_2.png │   │   │   │   │   ├── deploy-2.png │   │   │   │   │   ├── himax_toolkit.png │   │   │   │   │   ├── himax-toolkit.png │   │   │   │   │   ├── img_clas_result.png │   │   │   │   │   ├── img_class_infer.png │   │   │   │   │   ├── img_class_model_deploy.png │   │   │   │   │   ├── img_class_project.png │   │   │   │   │   ├── img_class_studio.png │   │   │   │   │   ├── img_class_yolo_result.png │   │   │   │   │   ├── img_class_yolo.png │   │   │   │   │   ├── img_class-model-deploy.png │   │   │   │   │   ├── img-clas-result.png │   │   │   │   │   ├── img-class-infer.png │   │   │   │   │   ├── img-class-project.png │   │   │   │   │   ├── img-class-studio.png │   │   │   │   │   ├── img-class-yolo-result.png │   │   │   │   │   ├── img-class-yolo.png │   │   │   │   │   ├── inf_result_deploy.png │   │   │   │   │   ├── inf_xiao.png │   │   │   │   │   ├── inf-result-deploy.png │   │   │   │   │   ├── inf-xiao.png │   │   │   │   │   ├── montage.png │   │   │   │   │   ├── new_webpage.png │   │   │   │   │   ├── new-webpage.png │   │   │   │   │   ├── obj_det.png │   │   │   │   │   ├── obj-det.png │   │   │   │   │   ├── people_dancing.png │   │   │   │   │   ├── people-dancing.png │   │   │   │   │   ├── person_class.png │   │   │   │   │   ├── person-class.png │   │   │   │   │   ├── person.png │   │   │   │   │   ├── pose_girl.png │   │   │   │   │   ├── pose-girl.png │   │   │   │   │   ├── pose.png │   │   │   │   │   ├── project_block_diagram.png │   │   │   │   │   ├── project-block-diagram.png │   │   │   │   │   ├── saving_model.png │   │   │   │   │   ├── saving-model.png │   │   │   │   │   ├── sense_craft1.png │   │   │   │   │   ├── sense_craft2.png │   │   │   │   │   ├── sensecraft1.png │   │   │   │   │   ├── sensecraft2.png │   │   │   │   │   ├── settings.png │   │   │   │   │   ├── studio.png │   │   │   │   │   ├── system.png │   │   │   │   │   ├── train_img_class.png │   │   │   │   │   ├── train-img-class.png │   │   │   │   │   ├── x_i_a_o_vision_a_i_cam_2.png │   │   │   │   │   ├── xiao_vision_ai_cam_2.png │   │   │   │   │   └── xiao-vision-ai-cam-2.png │   │   │   │   └── setup_and_no_code_apps.qmd │   │   │   └── xiao_esp32s3 │   │   │   ├── image_classification │   │   │   │   ├── image_classification.bib │   │   │   │   ├── image_classification.qmd │   │   │   │   └── images │   │   │   │   ├── jpeg │   │   │   │   │   ├── sense_craft_4.jpg │   │   │   │   │   ├── sense_craft_log.jpg │   │   │   │   │   ├── sensecraft-4.jpg │   │   │   │   │   └── sensecraft-log.jpg │   │   │   │   └── png │   │   │   │   ├── action.png │   │   │   │   ├── ard_deploy.png │   │   │   │   ├── ard_ide.png │   │   │   │   ├── ard_inf.png │   │   │   │   ├── ard_inher_gen_oled.png │   │   │   │   ├── ard_install_lib.png │   │   │   │   ├── ard-deploy.png │   │   │   │   ├── ard-ide.png │   │   │   │   ├── ard-inf.png │   │   │   │   ├── ard-inher-gen-oled.png │   │   │   │   ├── ard-install_lib.png │   │   │   │   ├── classes_img_class.png │   │   │   │   ├── classes.png │   │   │   │   ├── clean_dataset.png │   │   │   │   ├── collect_imaages.png │   │   │   │   ├── collect-imaages.png │   │   │   │   ├── connection.png │   │   │   │   ├── dataset_pc.png │   │   │   │   ├── dataset-pc.png │   │   │   │   ├── dataset.png │   │   │   │   ├── depl.png │   │   │   │   ├── deploy_1.png │   │   │   │   ├── deploy_2.png │   │   │   │   ├── deploy-1.png │   │   │   │   ├── distr_line.png │   │   │   │   ├── distr-line.png │   │   │   │   ├── export_dataset.png │   │   │   │   ├── export-dataset.png │   │   │   │   ├── get_dataset.png │   │   │   │   ├── get-dataset.png │   │   │   │   ├── iic.png │   │   │   │   ├── img_class_infer.png │   │   │   │   ├── img_class_project.png │   │   │   │   ├── img-class-infer.png │   │   │   │   ├── img-class-project.png │   │   │   │   ├── impulse.png │   │   │   │   ├── infer.png │   │   │   │   ├── ini_d_a_l_l_e.png │   │   │   │   ├── ini_dalle.png │   │   │   │   ├── ini-dalle.png │   │   │   │   ├── led_wheel.png │   │   │   │   ├── led-wheel.png │   │   │   │   ├── model_saved.png │   │   │   │   ├── model_selection.png │   │   │   │   ├── model_tflite_infer.png │   │   │   │   ├── model-saved.png │   │   │   │   ├── model-tflite-infer.png │   │   │   │   ├── netron.png │   │   │   │   ├── person_class.png │   │   │   │   ├── person_detect_inference.png │   │   │   │   ├── person_trigger.png │   │   │   │   ├── person-class.png │   │   │   │   ├── person-detect-inference.png │   │   │   │   ├── person-trigger.png │   │   │   │   ├── pipeline_sensecraft.png │   │   │   │   ├── pipeline-sensecraft.png │   │   │   │   ├── pipeline.png │   │   │   │   ├── save_model.png │   │   │   │   ├── save-model.png │   │   │   │   ├── select_folder.png │   │   │   │   ├── select_to_deploy.png │   │   │   │   ├── select-folder.png │   │   │   │   ├── select-to-deploy.png │   │   │   │   ├── tfmodel_infer.png │   │   │   │   ├── tfmodel-infer.png │   │   │   │   ├── tl.png │   │   │   │   ├── train_2.png │   │   │   │   ├── train_img_class.png │   │   │   │   ├── train_result.png │   │   │   │   ├── train_setup.png │   │   │   │   ├── train-img-class.png │   │   │   │   ├── train-result.png │   │   │   │   ├── train-setup.png │   │   │   │   ├── trigger.png │   │   │   │   ├── up_data_2.png │   │   │   │   ├── up_data.png │   │   │   │   ├── up-data-2.png │   │   │   │   ├── up-data.png │   │   │   │   ├── upload_model.png │   │   │   │   └── upload-model.png │   │   │   ├── images │   │   │   │   ├── jpeg │   │   │   │   │   ├── imags-setup │   │   │   │   │   │   ├── img_cap.jpg │   │   │   │   │   │   ├── serial_monitor.png │   │   │   │   │   │   ├── web_cap1.jpg │   │   │   │   │   │   ├── webcap1.jpg │   │   │   │   │   │   └── xiao_setup.jpg │   │   │   │   │   ├── imgs_classif │   │   │   │   │   │   ├── inference.jpg │   │   │   │   │   │   ├── sense_craft_1.jpg │   │   │   │   │   │   ├── sense_craft_2.jpg │   │   │   │   │   │   ├── sense_craft_2.png │   │   │   │   │   │   ├── sense_craft_3.jpg │   │   │   │   │   │   ├── sense_craft_4.jpg │   │   │   │   │   │   ├── sense_craft_apple_2.jpg │   │   │   │   │   │   ├── sense_craft_apple.jpg │   │   │   │   │   │   ├── sense_craft_log.jpg │   │   │   │   │   │   ├── sensecraft-1.jpg │   │   │   │   │   │   ├── sensecraft-2.jpg │   │   │   │   │   │   ├── sensecraft-2.png │   │   │   │   │   │   ├── sensecraft-3.jpg │   │   │   │   │   │   ├── sensecraft-4.jpg │   │   │   │   │   │   ├── sensecraft-apple-2.jpg │   │   │   │   │   │   ├── sensecraft-apple.jpg │   │   │   │   │   │   └── sensecraft-log.jpg │   │   │   │   │   ├── imgs-detect │   │   │   │   │   │   ├── monitor.png │   │   │   │   │   │   ├── sense_craft_1.jpg │   │   │   │   │   │   ├── sense_craft_2.jpg │   │   │   │   │   │   ├── sense_craft_3.jpg │   │   │   │   │   │   ├── sense_craft_4.jpg │   │   │   │   │   │   ├── sense-craft-1.jpg │   │   │   │   │   │   ├── sense-craft-2.jpg │   │   │   │   │   │   ├── sense-craft-3.jpg │   │   │   │   │   │   └── sense-craft-4.jpg │   │   │   │   │   ├── motion_class_ad │   │   │   │   │   │   └── ini.jpg │   │   │   │   │   └── xiao_esp32s3_decked.jpeg │   │   │   │   └── png │   │   │   │   ├── xiaoml_kit_complete.png │   │   │   │   └── xiaoml_kit.png │   │   │   ├── kws │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── kws_ini.jpeg │   │   │   │   │   │   └── kws_ini.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── 1_3n44ykL.png │   │   │   │   │   ├── image_10.png │   │   │   │   │   ├── image_11.png │   │   │   │   │   ├── image_12.png │   │   │   │   │   ├── image_13.png │   │   │   │   │   ├── image_14.png │   │   │   │   │   ├── image_15.png │   │   │   │   │   ├── image_16.png │   │   │   │   │   ├── image_17.png │   │   │   │   │   ├── image_18.png │   │   │   │   │   ├── image_19.png │   │   │   │   │   ├── image_2.png │   │   │   │   │   ├── image_20.png │   │   │   │   │   ├── image_21.png │   │   │   │   │   ├── image_22.png │   │   │   │   │   ├── image_23.png │   │   │   │   │   ├── image_24.png │   │   │   │   │   ├── image_25.png │   │   │   │   │   ├── image_3.png │   │   │   │   │   ├── image_4.png │   │   │   │   │   ├── image_5.png │   │   │   │   │   ├── image_6.png │   │   │   │   │   ├── image_7.png │   │   │   │   │   ├── image_8.png │   │   │   │   │   ├── image_9.png │   │   │   │   │   ├── image.png │   │   │   │   │   ├── kit_infer.png │   │   │   │   │   ├── kit-infer.png │   │   │   │   │   ├── kws_ini_kit.png │   │   │   │   │   ├── kws_ini.png │   │   │   │   │   ├── pasted_graphic_2.png │   │   │   │   │   ├── pasted_graphic_4.png │   │   │   │   │   ├── pasted_graphic_44.png │   │   │   │   │   ├── pasted_graphic_46.png │   │   │   │   │   ├── pasted_graphic_48.png │   │   │   │   │   ├── pasted_graphic_49.png │   │   │   │   │   ├── pasted_graphic_51.png │   │   │   │   │   ├── pasted_graphic_54.png │   │   │   │   │   ├── pasted_graphic_58.png │   │   │   │   │   ├── pasted_graphic_59.png │   │   │   │   │   ├── pasted_graphic_62.png │   │   │   │   │   ├── pasted_graphic.png │   │   │   │   │   ├── plotter.png │   │   │   │   │   └── sound-audio.png │   │   │   │   ├── kws.bib │   │   │   │   └── kws.qmd │   │   │   ├── motion_classification │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── anomaly.jpg │   │   │   │   │   │   ├── classes_mov_def.jpg │   │   │   │   │   │   ├── classes.jpg │   │   │   │   │   │   ├── data_forw.jpg │   │   │   │   │   │   ├── data-forw.jpg │   │   │   │   │   │   └── ini.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── anomaly_train.png │   │   │   │   │   ├── anomaly-train.png │   │   │   │   │   ├── boat.png │   │   │   │   │   ├── datasets.png │   │   │   │   │   ├── deploy.png │   │   │   │   │   ├── e_i_studio_ini.png │   │   │   │   │   ├── ei_device.png │   │   │   │   │   ├── ei_studio_ini.png │   │   │   │   │   ├── ei-device.png │   │   │   │   │   ├── eistudio-ini.png │   │   │   │   │   ├── feat_ger.png │   │   │   │   │   ├── feat-ger.png │   │   │   │   │   ├── features_2.png │   │   │   │   │   ├── features-2.png │   │   │   │   │   ├── features.png │   │   │   │   │   ├── freq_dom.png │   │   │   │   │   ├── freq-dom.png │   │   │   │   │   ├── impulse.png │   │   │   │   │   ├── imu_directions.png │   │   │   │   │   ├── imu-directions.png │   │   │   │   │   ├── inf_ano.png │   │   │   │   │   ├── inf_idle.png │   │   │   │   │   ├── inf_lift.png │   │   │   │   │   ├── inf_mar.png │   │   │   │   │   ├── inf_oled.png │   │   │   │   │   ├── inf_ter.png │   │   │   │   │   ├── inf-ano.png │   │   │   │   │   ├── inf-idle.png │   │   │   │   │   ├── inf-lift.png │   │   │   │   │   ├── inf-mar.png │   │   │   │   │   ├── inf-oled.png │   │   │   │   │   ├── inf-ter.png │   │   │   │   │   ├── lib.png │   │   │   │   │   ├── live_test.png │   │   │   │   │   ├── live-test.png │   │   │   │   │   ├── model_2.png │   │   │   │   │   ├── model-2.png │   │   │   │   │   ├── model.png │   │   │   │   │   ├── models.png │   │   │   │   │   ├── serial_monitor.png │   │   │   │   │   ├── terminal_cli.png │   │   │   │   │   ├── terminal-cli.png │   │   │   │   │   ├── terrestrial_raw_data.png │   │   │   │   │   ├── terrestrial-raw_data.png │   │   │   │   │   ├── test.png │   │   │   │   │   ├── time_dom.png │   │   │   │   │   ├── time-dom.png │   │   │   │   │   └── train.png │   │   │   │   ├── motion_classification.bib │   │   │   │   └── motion_classification.qmd │   │   │   ├── object_detection │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── sense_craft_1.jpg │   │   │   │   │   │   ├── sense_craft_2.jpg │   │   │   │   │   │   ├── sense_craft_3.jpg │   │   │   │   │   │   ├── sense_craft_4.jpg │   │   │   │   │   │   ├── sense-craft-1.jpg │   │   │   │   │   │   ├── sense-craft-2.jpg │   │   │   │   │   │   ├── sense-craft-3.jpg │   │   │   │   │   │   ├── sense-craft-4.jpg │   │   │   │   │   │   ├── sensecraft-1.jpg │   │   │   │   │   │   └── sensecraft-2.jpg │   │   │   │   │   ├── jpg │   │   │   │   │   │   ├── ide.jpg │   │   │   │   │   │   ├── img_11.jpg │   │   │   │   │   │   ├── img_13.jpg │   │   │   │   │   │   ├── img_class.jpg │   │   │   │   │   │   ├── objects.jpg │   │   │   │   │   │   └── setup-img-collection.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── bugs-inference.png │   │   │   │   │   ├── fruits-inference.png │   │   │   │   │   ├── img_10.png │   │   │   │   │   ├── img_12.png │   │   │   │   │   ├── img_14.png │   │   │   │   │   ├── img_15.png │   │   │   │   │   ├── img_16.png │   │   │   │   │   ├── img_17.png │   │   │   │   │   ├── img_18.png │   │   │   │   │   ├── img_19.png │   │   │   │   │   ├── img_20.png │   │   │   │   │   ├── img_21.png │   │   │   │   │   ├── img_22.png │   │   │   │   │   ├── img_23.png │   │   │   │   │   ├── img_24.png │   │   │   │   │   ├── img_25.png │   │   │   │   │   ├── img_3.png │   │   │   │   │   ├── img_4.png │   │   │   │   │   ├── img_6.png │   │   │   │   │   ├── img_7.png │   │   │   │   │   ├── img_8.png │   │   │   │   │   ├── img_9.png │   │   │   │   │   ├── inference-back.png │   │   │   │   │   ├── monitor.png │   │   │   │   │   ├── move_to_test.png │   │   │   │   │   ├── obj_detec_ini.png │   │   │   │   │   ├── oranges-frogs.png │   │   │   │   │   └── serial_monitor.png │   │   │   │   └── object_detection.qmd │   │   │   ├── setup │   │   │   │   ├── images │   │   │   │   │   ├── jpeg │   │   │   │   │   │   ├── antenna.jpg │   │   │   │   │   │   ├── heat_sink.jpg │   │   │   │   │   │   ├── heat-sink.jpg │   │   │   │   │   │   ├── hello_world.jpg │   │   │   │   │   │   ├── sink1.jpg │   │   │   │   │   │   └── xiao_setup.jpg │   │   │   │   │   └── png │   │   │   │   │   ├── app.png │   │   │   │   │   ├── app2.png │   │   │   │   │   ├── blink.png │   │   │   │   │   ├── exp_board_views.png │   │   │   │   │   ├── extras.png │   │   │   │   │   ├── heat_sink_assembly.png │   │   │   │   │   ├── heat-sink-assembly.png │   │   │   │   │   ├── ide_1.png │   │   │   │   │   ├── img_cap.png │   │   │   │   │   ├── imu_directions.png │   │   │   │   │   ├── imu_mark.png │   │   │   │   │   ├── imu-directions.png │   │   │   │   │   ├── imu-mark.png │   │   │   │   │   ├── imu.png │   │   │   │   │   ├── kit_2.png │   │   │   │   │   ├── kit_assembled.png │   │   │   │   │   ├── kit-2.png │   │   │   │   │   ├── mounted.png │   │   │   │   │   ├── oled.png │   │   │   │   │   ├── plotter.png │   │   │   │   │   ├── psram.png │   │   │   │   │   ├── rec.png │   │   │   │   │   ├── sdcard.png │   │   │   │   │   ├── sel_board_port.png │   │   │   │   │   ├── sense_craft1.png │   │   │   │   │   ├── sense_craft2.png │   │   │   │   │   ├── sense_craft3.png │   │   │   │   │   ├── sense_craft4.png │   │   │   │   │   ├── sense_craft5.png │   │   │   │   │   ├── sense_craft6.png │   │   │   │   │   ├── sensecraft1.png │   │   │   │   │   ├── sensecraft2.png │   │   │   │   │   ├── sensecraft3.png │   │   │   │   │   ├── sensecraft4.png │   │   │   │   │   ├── sensecraft5.png │   │   │   │   │   ├── sensecraft6.png │   │   │   │   │   ├── sound_test.png │   │   │   │   │   ├── tools_board.png │   │   │   │   │   ├── usb_conn.png │   │   │   │   │   ├── usb-conn.png │   │   │   │   │   ├── web_cap_1.png │   │   │   │   │   ├── webcap-1.png │   │   │   │   │   ├── wifi_2.png │   │   │   │   │   ├── wifi-2.png │   │   │   │   │   ├── wifi.png │   │   │   │   │   ├── xiao_esp32c3_sense_pin_out.png │   │   │   │   │   ├── xiao_esp32c3_sense_pin-out.png │   │   │   │   │   ├── xiao_pins.png │   │   │   │   │   ├── xiao.png │   │   │   │   │   └── xiaoml_kit.png │   │   │   │   └── setup.qmd │   │   │   └── xiao_esp32s3.qmd │   │   └── shared │   │   ├── dsp_spectral_features_block │   │   │   ├── dsp_spectral_features_block.bib │   │   │   ├── dsp_spectral_features_block.qmd │   │   │   └── images │   │   │   ├── jpg │   │   │   │   ├── dsp_ini.jpg │   │   │   │   └── spectral_block.jpeg │   │   │   └── png │   │   │   ├── case_study.png │   │   │   ├── data_sample.png │   │   │   ├── features.png │   │   │   ├── fft_result.png │   │   │   ├── fft.png │   │   │   ├── impulse.png │   │   │   ├── kurto.png │   │   │   ├── process_features.png │   │   │   ├── rms.png │   │   │   ├── sample_no_mean.png │   │   │   ├── sample.png │   │   │   ├── skew_2.png │   │   │   ├── skew.png │   │   │   ├── v1_features.png │   │   │   ├── v1.png │   │   │   ├── wav_processed.png │   │   │   ├── wav_result.png │   │   │   ├── wav.png │   │   │   └── wavelet_input.png │   │   ├── kws_feature_eng │   │   │   ├── images │   │   │   │   └── jpg │   │   │   │   ├── cover.jpg │   │   │   │   ├── frame_to_fft.jpg │   │   │   │   ├── frame_wind.jpg │   │   │   │   ├── kws_diagram.jpg │   │   │   │   ├── kws_under_the_hood_ini.jpg │   │   │   │   ├── melbank_1_00.hires.jpg │   │   │   │   ├── melbank-1_00.hires.jpg │   │   │   │   ├── mfcc_final.jpg │   │   │   │   ├── time_vs_freq.jpg │   │   │   │   └── yes_no_mfcc.jpg │   │   │   ├── kws_feature_eng.bib │   │   │   └── kws_feature_eng.qmd │   │   └── shared.qmd │   ├── filters │   │   └── inject_parts.lua │   ├── index.qmd │   ├── Makefile │   ├── README.md │   ├── site.webmanifest │   └── tex │   ├── after-body-includes.tex │   ├── before-body-includes.tex │   ├── copyright.tex │   ├── cover_page.tex │   ├── header-includes.tex │   └── titlepage-bg.tex ├── labs │   ├── _quarto.yml -> config/_quarto-html.yml │   ├── 404.qmd │   ├── assets │   │   ├── images │   │   │   ├── covers │   │   │   │   └── cover-hardcover-book.png │   │   │   └── favicon.png │   │   ├── scripts │   │   │   └── subscribe-modal.js │   │   └── styles │   │   ├── dark-mode.scss │   │   └── style.scss │   ├── config │   │   ├── _quarto-html.yml │   │   └── announcement.yml │   ├── core │   │   ├── components.py │   │   ├── state.py │   │   └── style.py │   ├── index.qmd │   ├── LABS_SPEC.md │   ├── plans │   │   ├── vol1 │   │   │   ├── 01_ml_intro.md │   │   │   ├── 02_ml_systems.md │   │   │   ├── 03_ml_workflow.md │   │   │   ├── 04_data_engr.md │   │   │   ├── 05_nn_compute.md │   │   │   ├── lab_01_ml_intro.md │   │   │   ├── lab_02_ml_systems.md │   │   │   ├── lab_03_ml_workflow.md │   │   │   ├── lab_04_data_engr.md │   │   │   ├── lab_05_nn_compute.md │   │   │   ├── lab_07_ml_frameworks.md │   │   │   ├── lab_08_model_train.md │   │   │   ├── lab_09_data_selection.md │   │   │   ├── lab_10_model_compress.md │   │   │   ├── lab_11_hw_accel.md │   │   │   ├── lab_12_perf_bench.md │   │   │   ├── lab_13_model_serving.md │   │   │   ├── lab_14_ml_ops.md │   │   │   ├── lab_15_responsible_engr.md │   │   │   └── lab_16_ml_conclusion.md │   │   └── vol2 │   │   ├── lab_01_ml_intro.md │   │   ├── lab_02_compute_infra.md │   │   ├── lab_03_network_fabrics.md │   │   ├── lab_04_data_storage.md │   │   ├── lab_05_dist_train.md │   │   ├── lab_06_collect_comms.md │   │   ├── lab_07_fault_tolerance.md │   │   ├── lab_08_fleet_orch.md │   │   ├── lab_09_perf_engr.md │   │   ├── lab_10_dist_inference.md │   │   ├── lab_11_edge_intel.md │   │   ├── lab_12_ops_scale.md │   │   ├── lab_13_sec_privacy.md │   │   ├── lab_14_robust_ai.md │   │   ├── lab_15_sustainable_ai.md │   │   ├── lab_16_responsible_ai.md │   │   └── lab_17_ml_conclusion.md │   ├── PROTOCOL.md │   ├── README.md │   ├── site.webmanifest │   ├── vol1 │   │   ├── marimo │   │   │   └── session │   │   │   └── lab_00_introduction.py.json │   │   ├── final_render.html │   │   ├── lab_00_introduction.py │   │   ├── lab_00_render.html │   │   ├── lab_00_test.html │   │   ├── lab_00_the_map.py │   │   ├── lab_01_ml_intro.py │   │   ├── lab_02_ml_systems.py │   │   ├── lab_03_ml_workflow.py │   │   ├── lab_04_data_engr.py │   │   ├── lab_05_nn_compute.py │   │   ├── lab_06_nn_arch.py │   │   ├── lab_07_ml_frameworks.py │   │   ├── lab_08_model_train.py │   │   ├── lab_09_data_selection.py │   │   ├── lab_10_model_compress.py │   │   ├── lab_11_hw_accel.py │   │   ├── lab_12_perf_bench.py │   │   ├── lab_13_model_serving.py │   │   ├── lab_14_ml_ops.py │   │   ├── lab_15_responsible_engr.py │   │   ├── lab_16_ml_conclusion.py │   │   └── test_render.html │   └── vol2 │   ├── marimo │   │   └── session │   │   └── lab_15_sustainability.py.json │   ├── lab_01_introduction.py │   ├── lab_02_compute_infra.py │   ├── lab_03_network_fabrics.py │   ├── lab_04_data_storage.py │   ├── lab_05_dist_train.py │   ├── lab_06_collective_comms.py │   ├── lab_07_fault_tolerance.py │   ├── lab_08_fleet_orch.py │   ├── lab_09_perf_engr.py │   ├── lab_10_dist_inference.py │   ├── lab_11_edge_intelligence.py │   ├── lab_12_ops_scale.py │   ├── lab_13_security_privacy.py │   ├── lab_14_robust_ai.py │   ├── lab_15_sustainability.py │   ├── lab_15_sustainable_ai.py │   ├── lab_16_responsible_ai.py │   └── lab_17_ml_conclusion.py ├── landing │   ├── index.html │   └── logo.png ├── LICENSE.md ├── mlsys.egg-info │   ├── dependency_links.txt │   ├── PKG-INFO │   ├── requires.txt │   ├── SOURCES.txt │   └── top_level.txt ├── mlsysim │   ├── init.py │   ├── pycache │   │   ├── init.cpython-313.pyc │   │   └── fmt.cpython-313.pyc │   ├── ARCHITECTURE_PLAN.md │   ├── BEST_PRACTICES.md │   ├── core │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── clusters.cpython-313.pyc │   │   │   ├── config.cpython-313.pyc │   │   │   ├── constants.cpython-313.pyc │   │   │   ├── datacenters.cpython-313.pyc │   │   │   ├── deployment.cpython-313.pyc │   │   │   ├── engine.cpython-313.pyc │   │   │   ├── evaluation.cpython-313.pyc │   │   │   ├── exceptions.cpython-313.pyc │   │   │   ├── formulas.cpython-313.pyc │   │   │   ├── hardware.cpython-313.pyc │   │   │   ├── models.cpython-313.pyc │   │   │   ├── registry.cpython-313.pyc │   │   │   ├── scenarios.cpython-313.pyc │   │   │   ├── solver.cpython-313.pyc │   │   │   ├── systems.cpython-313.pyc │   │   │   └── types.cpython-313.pyc │   │   ├── clusters.py │   │   ├── config.py │   │   ├── constants.py │   │   ├── datacenters.py │   │   ├── deployment.py │   │   ├── engine.py │   │   ├── evaluation.py │   │   ├── exceptions.py │   │   ├── formulas.py │   │   ├── hardware.py │   │   ├── models.py │   │   ├── registry.py │   │   ├── scenarios.py │   │   ├── solver.py │   │   ├── systems.py │   │   └── types.py │   ├── docs │   │   ├── _quarto.yml -> config/_quarto-html.yml │   │   ├── 404.qmd │   │   ├── accuracy.qmd │   │   ├── api │   │   │   ├── core.config.qmd │   │   │   ├── core.config.SimulationConfig.qmd │   │   │   ├── core.engine.Engine.qmd │   │   │   ├── core.engine.qmd │   │   │   ├── core.evaluation.EvaluationLevel.qmd │   │   │   ├── core.evaluation.qmd │   │   │   ├── core.evaluation.SystemEvaluation.qmd │   │   │   ├── core.qmd │   │   │   ├── core.scenarios.Applications.qmd │   │   │   ├── core.scenarios.qmd │   │   │   ├── core.scenarios.Scenario.qmd │   │   │   ├── core.scenarios.Scenarios.qmd │   │   │   ├── core.solver.DistributedModel.qmd │   │   │   ├── core.solver.EconomicsModel.qmd │   │   │   ├── core.solver.qmd │   │   │   ├── core.solver.ReliabilityModel.qmd │   │   │   ├── core.solver.ServingModel.qmd │   │   │   ├── core.solver.SingleNodeModel.qmd │   │   │   ├── core.solver.SustainabilityModel.qmd │   │   │   ├── hardware.Hardware.qmd │   │   │   ├── hardware.HardwareNode.qmd │   │   │   ├── hardware.qmd │   │   │   ├── hardware.registry.Hardware.qmd │   │   │   ├── hardware.registry.qmd │   │   │   ├── hardware.types.HardwareNode.qmd │   │   │   ├── hardware.types.qmd │   │   │   ├── index.qmd │   │   │   ├── infra.Infra.qmd │   │   │   ├── infra.qmd │   │   │   ├── infra.registry.Infra.qmd │   │   │   ├── infra.registry.qmd │   │   │   ├── infra.types.qmd │   │   │   ├── models.CNNWorkload.qmd │   │   │   ├── models.Models.qmd │   │   │   ├── models.qmd │   │   │   ├── models.registry.Models.qmd │   │   │   ├── models.registry.qmd │   │   │   ├── models.TransformerWorkload.qmd │   │   │   ├── models.types.CNNWorkload.qmd │   │   │   ├── models.types.qmd │   │   │   ├── models.types.TransformerWorkload.qmd │   │   │   ├── models.types.Workload.qmd │   │   │   ├── models.Workload.qmd │   │   │   ├── systems.Fleet.qmd │   │   │   ├── systems.Node.qmd │   │   │   ├── systems.qmd │   │   │   ├── systems.registry.qmd │   │   │   ├── systems.registry.Systems.qmd │   │   │   ├── systems.Systems.qmd │   │   │   ├── systems.types.Fleet.qmd │   │   │   ├── systems.types.Node.qmd │   │   │   └── systems.types.qmd │   │   ├── architecture.qmd │   │   ├── config │   │   │   └── _quarto-html.yml │   │   ├── contributing.qmd │   │   ├── for-engineers.qmd │   │   ├── for-instructors.qmd │   │   ├── for-students.qmd │   │   ├── getting-started.qmd │   │   ├── glossary.qmd │   │   ├── index.qmd │   │   ├── logo.svg │   │   ├── math.qmd │   │   ├── references.bib │   │   ├── solver-guide.qmd │   │   ├── styles │   │   │   ├── dark-mode.scss │   │   │   ├── landing.css │   │   │   └── style.scss │   │   ├── tutorials │   │   │   ├── distributed.qmd │   │   │   ├── hello_world.qmd │   │   │   ├── images │   │   │   │   └── roofline_hello_world.png │   │   │   ├── index.qmd │   │   │   ├── llm_serving.qmd │   │   │   └── sustainability.qmd │   │   ├── whitepaper.qmd │   │   └── zoo │   │   ├── composition.svg │   │   ├── fleets.qmd │   │   ├── hardware.qmd │   │   ├── index.qmd │   │   ├── infra.qmd │   │   └── models.qmd │   ├── examples │   │   ├── custom_design.py │   │   ├── hardware_comparison.py │   │   ├── hello_world.py │   │   ├── manual_sweep.py │   │   └── sustainability_lab.py │   ├── fmt.py │   ├── generate_appendix.py │   ├── hardware │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── registry.cpython-313.pyc │   │   │   └── types.cpython-313.pyc │   │   ├── registry.py │   │   └── types.py │   ├── infra │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── registry.cpython-313.pyc │   │   │   └── types.cpython-313.pyc │   │   ├── registry.py │   │   └── types.py │   ├── models │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── registry.cpython-313.pyc │   │   │   └── types.cpython-313.pyc │   │   ├── registry.py │   │   └── types.py │   ├── README.md │   ├── sim │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── ledger.cpython-313.pyc │   │   │   ├── personas.cpython-313.pyc │   │   │   └── simulations.cpython-313.pyc │   │   ├── ledger.py │   │   ├── personas.py │   │   └── simulations.py │   ├── systems │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── registry.cpython-313.pyc │   │   │   └── types.cpython-313.pyc │   │   ├── registry.py │   │   └── types.py │   ├── tests │   │   ├── init.py │   │   ├── pycache │   │   │   ├── init.cpython-313.pyc │   │   │   ├── test_moe.cpython-313-pytest-9.0.1.pyc │   │   │   ├── test_sweep.cpython-313-pytest-9.0.1.pyc │   │   │   ├── test_topology.cpython-313-pytest-9.0.1.pyc │   │   │   └── test_training.cpython-313-pytest-9.0.1.pyc │   │   ├── test_empirical.py │   │   ├── test_engine.py │   │   ├── test_hardware.py │   │   ├── test_moe.py │   │   ├── test_solvers.py │   │   ├── test_sweep.py │   │   ├── test_topology.py │   │   └── test_training.py │   ├── V2_PLAN.md │   └── viz │   ├── init.py │   ├── pycache │   │   ├── init.cpython-313.pyc │   │   └── plots.cpython-313.pyc │   ├── dashboard.py │   └── plots.py ├── newsletter │   ├── _quarto.yml │   ├── CONTENT_PLAN.md │   ├── drafts │   │   └── _template.md │   ├── index.qmd │   ├── newsletter.css │   └── posts ├── pyproject.toml ├── README │   ├── README_ja.md │   ├── README_ko.md │   └── README_zh.md ├── README.md ├── requirements.txt ├── tinytorch │   ├── bin │   │   └── tito │   ├── binder │   │   ├── postBuild │   │   ├── README.md │   │   ├── REQUIRED_FILES.md │   │   └── requirements.txt │   ├── CONTRIBUTING.md │   ├── datasets │   │   ├── README.md │   │   ├── tinydigits │   │   │   ├── create_tinydigits.py │   │   │   ├── LICENSE │   │   │   ├── README.md │   │   │   ├── test.pkl │   │   │   └── train.pkl │   │   └── tinytalks │   │   ├── CHANGELOG.md │   │   ├── DATASHEET.md │   │   ├── examples │   │   │   └── demo_usage.py │   │   ├── LICENSE │   │   ├── README.md │   │   ├── scripts │   │   │   ├── generate_tinytalks.py │   │   │   ├── stats.py │   │   │   └── validate_dataset.py │   │   ├── splits │   │   │   ├── test.txt │   │   │   ├── train.txt │   │   │   └── val.txt │   │   ├── SUMMARY.md │   │   └── tinytalks_v1.txt │   ├── etc │   │   └── jupyter │   │   ├── jupyter_notebook_config.d │   │   │   └── jupytext.json │   │   └── jupyter_server_config.d │   │   └── jupytext.json │   ├── INSTRUCTOR.md │   ├── LICENSE │   ├── Makefile │   ├── MANIFEST.in │   ├── milestones │   │   ├── 01_1958_perceptron │   │   │   ├── 01_rosenblatt_forward.py │   │   │   ├── ABOUT.md │   │   │   └── README.md │   │   ├── 02_1969_xor │   │   │   ├── 01_xor_crisis.py │   │   │   ├── 02_xor_solved.py │   │   │   ├── ABOUT.md │   │   │   └── README.md │   │   ├── 03_1986_mlp │   │   │   ├── 01_rumelhart_tinydigits.py │   │   │   ├── ABOUT.md │   │   │   └── README.md │   │   ├── 04_1998_cnn │   │   │   ├── 01_lecun_tinydigits.py │   │   │   ├── 02_lecun_cifar10.py │   │   │   ├── ABOUT.md │   │   │   └── README.md │   │   ├── 05_2017_transformer │   │   │   ├── 01_vaswani_attention.py │   │   │   ├── ABOUT.md │   │   │   └── README.md │   │   ├── 06_2018_mlperf │   │   │   ├── 01_optimization_olympics.py │   │   │   ├── 02_generation_speedup.py │   │   │   ├── ABOUT.md │   │   │   ├── networks.py │   │   │   └── README.md │   │   ├── ABOUT.md │   │   ├── data_manager.py │   │   ├── datasets │   │   │   └── cifar-10 │   │   ├── extras │   │   │   ├── 01_baseline_profile.py │   │   │   ├── 01_tinytalks.py │   │   │   ├── 01_vaswani_generation.py │   │   │   ├── 01_xor_crisis.py │   │   │   ├── 02_compression.py │   │   │   ├── 02_lecun_cifar10.py │   │   │   ├── 02_rosenblatt_trained.py │   │   │   ├── 02_rumelhart_mnist.py │   │   │   ├── 02_vaswani_dialogue.py │   │   │   ├── 03_generation_opts.py │   │   │   ├── 03_quickdemo.py │   │   │   └── README.md │   │   └── README.md │   ├── modules │   │   └── README.md │   ├── paper │   │   ├── benchmark_quick.py │   │   ├── compile_paper.sh │   │   ├── fire_emoji.png │   │   ├── Makefile │   │   ├── module_flow_horizontal.tex │   │   ├── organizational_insights.md │   │   ├── paper.tex │   │   ├── README.md │   │   └── references.bib │   ├── paper.zip │   ├── pyproject.toml │   ├── README.md │   ├── requirements.txt │   ├── scripts │   │   ├── build-book.sh │   │   ├── build-docs.sh │   │   ├── cleanup_repo_history.sh │   │   ├── release.sh │   │   ├── test-fresh-install.sh │   │   └── tito │   ├── settings.ini │   ├── settings.json │   ├── site │   │   ├── _build │   │   │   └── html │   │   │   ├── _static │   │   │   │   ├── announcement-bar.js │   │   │   │   ├── announcement.json │   │   │   │   ├── downloads │   │   │   │   └── version-badge.js │   │   │   └── community │   │   │   ├── modules │   │   │   │   ├── candle.js │   │   │   │   ├── guard.js │   │   │   │   ├── noise.js │   │   │   │   └── terrain.js │   │   │   └── profile_setup.html │   │   ├── _config_pdf.yml │   │   ├── _config.yml │   │   ├── _ext │   │   │   └── icon_link_resolver.py │   │   ├── _static │   │   │   ├── announcement-bar.js │   │   │   ├── announcement.json │   │   │   ├── custom.css │   │   │   ├── demos │   │   │   │   ├── scripts │   │   │   │   │   ├── demo.sh │   │   │   │   │   ├── tito-demo.sh │   │   │   │   │   ├── validate_demos.sh │   │   │   │   │   └── vhs-to-terminalizer.sh │   │   │   │   └── tapes │   │   │   │   ├── 00-welcome.tape │   │   │   │   ├── 01-zero-to-ready.tape │   │   │   │   ├── 02-build-test-ship.tape │   │   │   │   ├── 03-milestone-unlocked.tape │   │   │   │   ├── 04-share-journey.tape │   │   │   │   ├── 05-benchmark.tape │   │   │   │   └── 05-logo.tape │   │   │   ├── downloads │   │   │   │   └── 00_tinytorch.pdf │   │   │   ├── favicon.ico │   │   │   ├── favicon.svg │   │   │   ├── hero-carousel.js │   │   │   ├── images │   │   │   │   ├── CleanShot 2025-12-13 at 15.00.15@2x.png │   │   │   │   ├── diagram_tiny-commununity.png │   │   │   │   ├── tinytorch-community.png │   │   │   │   ├── tito_olympics.png │   │   │   │   └── tito.png │   │   │   ├── logos │   │   │   │   ├── fire-emoji.png │   │   │   │   ├── logo-mlsysbook.png │   │   │   │   ├── logo-tinytorch-grey.png │   │   │   │   ├── logo-tinytorch-simple.png │   │   │   │   ├── logo-tinytorch-transparent.png │   │   │   │   ├── logo-tinytorch-white.png │   │   │   │   ├── logo-tinytorch.png │   │   │   │   └── tensortorch.png │   │   │   ├── marimo-badges.js │   │   │   ├── ml-timeline.js │   │   │   ├── sidebar-link.js │   │   │   ├── subscribe-modal.js │   │   │   ├── version-badge.js │   │   │   └── wip-banner.js │   │   ├── _toc_pdf.yml │   │   ├── _toc.yml │   │   ├── 404.md │   │   ├── big-picture.md │   │   ├── build_site.sh │   │   ├── community.md │   │   ├── conclusion.md │   │   ├── conf.py │   │   ├── credits.md │   │   ├── datasets.md │   │   ├── extra │   │   │   ├── community │   │   │   │   ├── about.html │   │   │   │   ├── app.js │   │   │   │   ├── arena.html │   │   │   │   ├── arxiv_service.js │   │   │   │   ├── assets │   │   │   │   │   ├── flame.ico │   │   │   │   │   └── flame.svg │   │   │   │   ├── auth_callback.html │   │   │   │   ├── community.html │   │   │   │   ├── contact.html │   │   │   │   ├── dashboard.html │   │   │   │   ├── events.html │   │   │   │   ├── index.html │   │   │   │   ├── inspirations │   │   │   │   │   └── dotism.html │   │   │   │   ├── modules │   │   │   │   │   ├── auth.js │   │   │   │   │   ├── camera.js │   │   │   │   │   ├── candle.js │   │   │   │   │   ├── cloud.js │   │   │   │   │   ├── config.js │   │   │   │   │   ├── dotism.js │   │   │   │   │   ├── guard.js │   │   │   │   │   ├── noise.js │   │   │   │   │   ├── profile.js │   │   │   │   │   ├── state.js │   │   │   │   │   ├── styles.js │   │   │   │   │   ├── terrain.js │   │   │   │   │   ├── ui.js │   │   │   │   │   └── utils.js │   │   │   │   ├── package-lock.json │   │   │   │   ├── package.json │   │   │   │   ├── playwright.config.js │   │   │   │   ├── profile_setup.html │   │   │   │   └── tests │   │   │   │   ├── e2e │   │   │   │   │   ├── auth.spec.js │   │   │   │   │   ├── credentials.example.json │   │   │   │   │   └── lifecycle.spec.js │   │   │   │   └── index.html │   │   │   └── install.sh │   │   ├── getting-started.md │   │   ├── instructor │   │   │   └── tools │   │   │   ├── analysis_notebook_structure.py │   │   │   └── tinytorch_module_analyzer.py │   │   ├── intro.md │   │   ├── Makefile │   │   ├── milestones │   │   │   ├── 01_perceptron_ABOUT.md -> ../../milestones/01_1958_perceptron/ABOUT.md │   │   │   ├── 02_xor_ABOUT.md -> ../../milestones/02_1969_xor/ABOUT.md │   │   │   ├── 03_mlp_ABOUT.md -> ../../milestones/03_1986_mlp/ABOUT.md │   │   │   ├── 04_cnn_ABOUT.md -> ../../milestones/04_1998_cnn/ABOUT.md │   │   │   ├── 05_transformer_ABOUT.md -> ../../milestones/05_2017_transformer/ABOUT.md │   │   │   ├── 06_mlperf_ABOUT.md -> ../../milestones/06_2018_mlperf/ABOUT.md │   │   │   └── milestones_ABOUT.md -> ../../milestones/ABOUT.md │   │   ├── modules │   │   │   ├── 01_tensor_ABOUT.md -> ../../src/01_tensor/ABOUT.md │   │   │   ├── 02_activations_ABOUT.md -> ../../src/02_activations/ABOUT.md │   │   │   ├── 03_layers_ABOUT.md -> ../../src/03_layers/ABOUT.md │   │   │   ├── 04_losses_ABOUT.md -> ../../src/04_losses/ABOUT.md │   │   │   ├── 05_dataloader_ABOUT.md -> ../../src/05_dataloader/ABOUT.md │   │   │   ├── 06_autograd_ABOUT.md -> ../../src/06_autograd/ABOUT.md │   │   │   ├── 07_optimizers_ABOUT.md -> ../../src/07_optimizers/ABOUT.md │   │   │   ├── 08_training_ABOUT.md -> ../../src/08_training/ABOUT.md │   │   │   ├── 09_convolutions_ABOUT.md -> ../../src/09_convolutions/ABOUT.md │   │   │   ├── 10_tokenization_ABOUT.md -> ../../src/10_tokenization/ABOUT.md │   │   │   ├── 11_embeddings_ABOUT.md -> ../../src/11_embeddings/ABOUT.md │   │   │   ├── 12_attention_ABOUT.md -> ../../src/12_attention/ABOUT.md │   │   │   ├── 13_transformers_ABOUT.md -> ../../src/13_transformers/ABOUT.md │   │   │   ├── 14_profiling_ABOUT.md -> ../../src/14_profiling/ABOUT.md │   │   │   ├── 15_quantization_ABOUT.md -> ../../src/15_quantization/ABOUT.md │   │   │   ├── 16_compression_ABOUT.md -> ../../src/16_compression/ABOUT.md │   │   │   ├── 17_acceleration_ABOUT.md -> ../../src/17_acceleration/ABOUT.md │   │   │   ├── 18_memoization_ABOUT.md -> ../../src/18_memoization/ABOUT.md │   │   │   ├── 19_benchmarking_ABOUT.md -> ../../src/19_benchmarking/ABOUT.md │   │   │   └── 20_capstone_ABOUT.md -> ../../src/20_capstone/ABOUT.md │   │   ├── myst.yml │   │   ├── pdf_intro.md │   │   ├── preface.md │   │   ├── prepare_notebooks.sh │   │   ├── README.md │   │   ├── references.bib │   │   ├── requirements.txt │   │   ├── resources.md │   │   ├── scripts │   │   │   ├── generate_contributors.py │   │   │   ├── generate_team.py │   │   │   └── latex_postprocessor.py │   │   ├── team.md │   │   ├── tiers │   │   │   ├── architecture.md │   │   │   ├── foundation.md │   │   │   ├── olympics.md │   │   │   └── optimization.md │   │   └── tito │   │   ├── data.md │   │   ├── milestones.md │   │   ├── modules.md │   │   ├── overview.md │   │   ├── testing.md │   │   └── troubleshooting.md │   ├── src │   │   ├── 01_tensor │   │   │   ├── 01_tensor.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 02_activations │   │   │   ├── 02_activations.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 03_layers │   │   │   ├── 03_layers.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 04_losses │   │   │   ├── 04_losses.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 05_dataloader │   │   │   ├── 05_dataloader.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 06_autograd │   │   │   ├── 06_autograd.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 07_optimizers │   │   │   ├── 07_optimizers.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 08_training │   │   │   ├── 08_training.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 09_convolutions │   │   │   ├── 09_convolutions.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 10_tokenization │   │   │   ├── 10_tokenization.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 11_embeddings │   │   │   ├── 11_embeddings.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 12_attention │   │   │   ├── 12_attention.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 13_transformers │   │   │   ├── 13_transformers.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 14_profiling │   │   │   ├── 14_profiling.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 15_quantization │   │   │   ├── 15_quantization.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 16_compression │   │   │   ├── 16_compression.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 17_acceleration │   │   │   ├── 17_acceleration.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 18_memoization │   │   │   ├── 18_memoization.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   ├── 19_benchmarking │   │   │   ├── 19_benchmarking.py │   │   │   ├── ABOUT.md │   │   │   └── module.yaml │   │   └── 20_capstone │   │   ├── 20_capstone.py │   │   ├── ABOUT.md │   │   └── module.yaml │   ├── tests │   │   ├── 01_tensor │   │   │   ├── test_01_tensor_progressive.py │   │   │   ├── test_tensor_core.py │   │   │   └── test_tensor_integration.py │   │   ├── 02_activations │   │   │   ├── test_02_activations_progressive.py │   │   │   ├── test_activations_core.py │   │   │   ├── test_activations_integration.py │   │   │   └── test_tensor_activations_integration.py │   │   ├── 03_layers │   │   │   ├── test_03_layers_progressive.py │   │   │   ├── test_dense_integration.py │   │   │   ├── test_dense_layer.py │   │   │   ├── test_layers_core.py │   │   │   ├── test_layers_integration.py │   │   │   └── test_layers_networks_integration.py │   │   ├── 04_losses │   │   │   ├── test_04_losses_progressive.py │   │   │   └── test_losses_core.py │   │   ├── 05_dataloader │   │   │   ├── test_05_dataloader_progressive.py │   │   │   └── test_dataloader_core.py │   │   ├── 06_autograd │   │   │   ├── init.py │   │   │   ├── test_06_autograd_progressive.py │   │   │   ├── test_autograd_core.py │   │   │   ├── test_autograd_gradient_flow.py │   │   │   └── test_batched_matmul_backward.py │   │   ├── 07_optimizers │   │   │   ├── test_07_optimizers_progressive.py │   │   │   └── test_optimizer_core.py │   │   ├── 08_training │   │   │   ├── test_08_training_progressive.py │   │   │   ├── test_autograd_integration.py │   │   │   └── test_training_core.py │   │   ├── 09_convolutions │   │   │   ├── test_09_convolutions_progressive.py │   │   │   ├── test_convolutions_core.py │   │   │   └── test_convolutions_gradient_flow.py │   │   ├── 10_tokenization │   │   │   ├── test_10_tokenization_progressive.py │   │   │   └── test_tokenization_core.py │   │   ├── 11_embeddings │   │   │   ├── test_11_embeddings_progressive.py │   │   │   ├── test_embedding_gradient_flow.py │   │   │   ├── test_embeddings_core.py │   │   │   └── test_training_integration.py │   │   ├── 12_attention │   │   │   ├── test_12_attention_progressive.py │   │   │   └── test_attention_core.py │   │   ├── 13_transformers │   │   │   ├── test_13_transformers_progressive.py │   │   │   ├── test_training_simple.py │   │   │   ├── test_transformer_gradient_flow.py │   │   │   └── test_transformers_core.py │   │   ├── 14_profiling │   │   │   ├── test_14_profiling_progressive.py │   │   │   └── test_profiler_core.py │   │   ├── 15_quantization │   │   │   ├── test_quantization_integration.py │   │   │   └── test_quantizer_core.py │   │   ├── 16_compression │   │   │   ├── test_compression_integration.py │   │   │   └── test_compressor_core.py │   │   ├── 17_acceleration │   │   │   ├── test_acceleration_core.py │   │   │   └── test_acceleration_integration.py │   │   ├── 18_memoization │   │   │   ├── test_18_memoization_progressive.py │   │   │   ├── test_kv_cache_core.py │   │   │   ├── test_kv_cache_integration.py │   │   │   └── test_tinygpt_integration.py │   │   ├── 19_benchmarking │   │   │   ├── test_benchmark_core.py │   │   │   └── test_benchmarking_integration.py │   │   ├── 20_capstone │   │   │   ├── README.md │   │   │   ├── test_capstone_core.py │   │   │   └── test_capstone_integration.py │   │   ├── cli │   │   │   ├── init.py │   │   │   ├── README.md │   │   │   ├── test_cli_execution.py │   │   │   ├── test_cli_help_consistency.py │   │   │   └── test_cli_registry.py │   │   ├── conftest.py │   │   ├── e2e │   │   │   ├── init.py │   │   │   ├── conftest.py │   │   │   ├── README.md │   │   │   └── test_user_journey.py │   │   ├── environment │   │   │   ├── README.md │   │   │   ├── test_all_requirements.py │   │   │   └── test_setup_validation.py │   │   ├── integration │   │   │   ├── init.py │   │   │   ├── README.md │   │   │   ├── test_api_simplification_integration.py │   │   │   ├── test_cnn_integration.py │   │   │   ├── test_dataloader_integration.py │   │   │   ├── test_forward_passes.py │   │   │   ├── test_gradients.py │   │   │   ├── test_integration_gradient_flow.py │   │   │   ├── test_layers_integration.py │   │   │   ├── test_loss_gradients.py │   │   │   ├── test_module_05_dense.py │   │   │   ├── test_module_dependencies.py │   │   │   ├── test_module_integration.py │   │   │   ├── test_network_capability.py │   │   │   ├── test_nlp_pipeline_flow.py │   │   │   ├── test_optimizers_integration.py │   │   │   ├── test_shapes.py │   │   │   ├── test_training_capabilities.py │   │   │   ├── test_training_flow.py │   │   │   └── test_xor_thorough.py │   │   ├── milestones │   │   │   ├── API.md │   │   │   ├── milestone_tracker.py │   │   │   ├── PROGRESSION.md │   │   │   ├── QUICKSTART.md │   │   │   ├── README.md │   │   │   └── test_milestones_run.py │   │   ├── README.md │   │   ├── regression │   │   │   ├── README.md │   │   │   ├── run_sandbox_tests.py │   │   │   ├── test_conv_linear_dimensions.py │   │   │   ├── test_gradient_flow_fixes.py │   │   │   ├── test_nlp_components_gradient_flow.py │   │   │   └── test_transformer_reshaping.py │   │   ├── test_utils.py │   │   └── validate_nbgrader_config.py │   ├── tinytorch │   │   ├── init.py │   │   ├── core │   │   │   ├── init.py │   │   │   └── transformers.py │   │   └── perf │   │   └── init.py │   ├── tito │   │   ├── init.py │   │   ├── commands │   │   │   ├── init.py │   │   │   ├── base.py │   │   │   ├── benchmark.py │   │   │   ├── community.py │   │   │   ├── dev │   │   │   │   ├── init.py │   │   │   │   ├── build.py │   │   │   │   ├── clean.py │   │   │   │   ├── dev.py │   │   │   │   ├── export.py │   │   │   │   ├── preflight.py │   │   │   │   └── test.py │   │   │   ├── export_utils.py │   │   │   ├── login.py │   │   │   ├── milestone.py │   │   │   ├── module │   │   │   │   ├── init.py │   │   │   │   ├── reset.py │   │   │   │   ├── test.py │   │   │   │   └── workflow.py │   │   │   ├── nbgrader.py │   │   │   ├── olympics.py │   │   │   ├── package │   │   │   │   ├── init.py │   │   │   │   ├── nbdev.py │   │   │   │   ├── package.py │   │   │   │   └── reset.py │   │   │   ├── setup.py │   │   │   └── system │   │   │   ├── init.py │   │   │   ├── health.py │   │   │   ├── info.py │   │   │   ├── jupyter.py │   │   │   ├── logo.py │   │   │   ├── reset.py │   │   │   ├── system.py │   │   │   └── update.py │   │   ├── core │   │   │   ├── init.py │   │   │   ├── auth.py │   │   │   ├── browser.py │   │   │   ├── config.py │   │   │   ├── console.py │   │   │   ├── exceptions.py │   │   │   ├── modules.py │   │   │   ├── status_analyzer.py │   │   │   ├── submission.py │   │   │   ├── theme.py │   │   │   └── virtual_env_manager.py │   │   ├── main.py │   │   └── tools │   │   ├── init.py │   │   └── testing.py │   ├── tito-cli.log │   ├── tools │   │   ├── dev │   │   │   ├── collapse_blank_lines.py │   │   │   ├── fix_about_titles.py │   │   │   ├── fix_ascii_boxes.py │   │   │   ├── fix_mermaid_diagrams.py │   │   │   ├── README.md │   │   │   ├── setup.sh │   │   │   └── validate_cli_docs.py │   │   ├── maintenance │   │   │   ├── cleanup_history.sh │   │   │   ├── merge-site-to-docs.sh │   │   │   ├── README.md │   │   │   ├── restructure-project.sh │   │   │   └── verify-restructure.sh │   │   └── README.md │   └── vscode-ext │   ├── node_modules │   │   ├── types? │   │   │   ├── node │   │   │   │   ├── assert │   │   │   │   │   └── strict.d.ts │   │   │   │   ├── assert.d.ts │   │   │   │   ├── async_hooks.d.ts │   │   │   │   ├── buffer.buffer.d.ts │   │   │   │   ├── buffer.d.ts │   │   │   │   ├── child_process.d.ts │   │   │   │   ├── cluster.d.ts │   │   │   │   ├── compatibility │   │   │   │   │   ├── disposable.d.ts │   │   │   │   │   ├── index.d.ts │   │   │   │   │   ├── indexable.d.ts │   │   │   │   │   └── iterators.d.ts │   │   │   │   ├── console.d.ts │   │   │   │   ├── constants.d.ts │   │   │   │   ├── crypto.d.ts │   │   │   │   ├── dgram.d.ts │   │   │   │   ├── diagnostics_channel.d.ts │   │   │   │   ├── dns │   │   │   │   │   └── promises.d.ts │   │   │   │   ├── dns.d.ts │   │   │   │   ├── domain.d.ts │   │   │   │   ├── events.d.ts │   │   │   │   ├── fs │   │   │   │   │   └── promises.d.ts │   │   │   │   ├── fs.d.ts │   │   │   │   ├── globals.d.ts │   │   │   │   ├── globals.typedarray.d.ts │   │   │   │   ├── http.d.ts │   │   │   │   ├── http2.d.ts │   │   │   │   ├── https.d.ts │   │   │   │   ├── index.d.ts │   │   │   │   ├── inspector.generated.d.ts │   │   │   │   ├── LICENSE │   │   │   │   ├── module.d.ts │   │   │   │   ├── net.d.ts │   │   │   │   ├── os.d.ts │   │   │   │   ├── package.json │   │   │   │   ├── path.d.ts │   │   │   │   ├── perf_hooks.d.ts │   │   │   │   ├── process.d.ts │   │   │   │   ├── punycode.d.ts │   │   │   │   ├── querystring.d.ts │   │   │   │   ├── readline │   │   │   │   │   └── promises.d.ts │   │   │   │   ├── readline.d.ts │   │   │   │   ├── README.md │   │   │   │   ├── repl.d.ts │   │   │   │   ├── sea.d.ts │   │   │   │   ├── stream │   │   │   │   │   ├── consumers.d.ts │   │   │   │   │   ├── promises.d.ts │   │   │   │   │   └── web.d.ts │   │   │   │   ├── stream.d.ts │   │   │   │   ├── string_decoder.d.ts │   │   │   │   ├── test.d.ts │   │   │   │   ├── timers │   │   │   │   │   └── promises.d.ts │   │   │   │   ├── timers.d.ts │   │   │   │   ├── tls.d.ts │   │   │   │   ├── trace_events.d.ts │   │   │   │   ├── ts5.6 │   │   │   │   │   ├── buffer.buffer.d.ts │   │   │   │   │   ├── globals.typedarray.d.ts │   │   │   │   │   └── index.d.ts │   │   │   │   ├── tty.d.ts │   │   │   │   ├── url.d.ts │   │   │   │   ├── util.d.ts │   │   │   │   ├── v8.d.ts │   │   │   │   ├── vm.d.ts │   │   │   │   ├── wasi.d.ts │   │   │   │   ├── web-globals │   │   │   │   │   ├── abortcontroller.d.ts │   │   │   │   │   ├── domexception.d.ts │   │   │   │   │   ├── events.d.ts │   │   │   │   │   └── fetch.d.ts │   │   │   │   ├── worker_threads.d.ts │   │   │   │   └── zlib.d.ts │   │   │   └── vscode │   │   │   ├── index.d.ts │   │   │   ├── LICENSE │   │   │   ├── package.json │   │   │   └── README.md │   │   ├── typescript │   │   │   ├── bin │   │   │   │   ├── tsc │   │   │   │   └── tsserver │   │   │   ├── lib │   │   │   │   ├── _tsc.js │   │   │   │   ├── _tsserver.js │   │   │   │   ├── _typingsInstaller.js │   │   │   │   ├── cs │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── de │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── es │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── fr │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── it │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── ja │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── ko │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── lib.d.ts │   │   │   │   ├── lib.decorators.d.ts │   │   │   │   ├── lib.decorators.legacy.d.ts │   │   │   │   ├── lib.dom.asynciterable.d.ts │   │   │   │   ├── lib.dom.d.ts │   │   │   │   ├── lib.dom.iterable.d.ts │   │   │   │   ├── lib.es2015.collection.d.ts │   │   │   │   ├── lib.es2015.core.d.ts │   │   │   │   ├── lib.es2015.d.ts │   │   │   │   ├── lib.es2015.generator.d.ts │   │   │   │   ├── lib.es2015.iterable.d.ts │   │   │   │   ├── lib.es2015.promise.d.ts │   │   │   │   ├── lib.es2015.proxy.d.ts │   │   │   │   ├── lib.es2015.reflect.d.ts │   │   │   │   ├── lib.es2015.symbol.d.ts │   │   │   │   ├── lib.es2015.symbol.wellknown.d.ts │   │   │   │   ├── lib.es2016.array.include.d.ts │   │   │   │   ├── lib.es2016.d.ts │   │   │   │   ├── lib.es2016.full.d.ts │   │   │   │   ├── lib.es2016.intl.d.ts │   │   │   │   ├── lib.es2017.arraybuffer.d.ts │   │   │   │   ├── lib.es2017.d.ts │   │   │   │   ├── lib.es2017.date.d.ts │   │   │   │   ├── lib.es2017.full.d.ts │   │   │   │   ├── lib.es2017.intl.d.ts │   │   │   │   ├── lib.es2017.object.d.ts │   │   │   │   ├── lib.es2017.sharedmemory.d.ts │   │   │   │   ├── lib.es2017.string.d.ts │   │   │   │   ├── lib.es2017.typedarrays.d.ts │   │   │   │   ├── lib.es2018.asyncgenerator.d.ts │   │   │   │   ├── lib.es2018.asynciterable.d.ts │   │   │   │   ├── lib.es2018.d.ts │   │   │   │   ├── lib.es2018.full.d.ts │   │   │   │   ├── lib.es2018.intl.d.ts │   │   │   │   ├── lib.es2018.promise.d.ts │   │   │   │   ├── lib.es2018.regexp.d.ts │   │   │   │   ├── lib.es2019.array.d.ts │   │   │   │   ├── lib.es2019.d.ts │   │   │   │   ├── lib.es2019.full.d.ts │   │   │   │   ├── lib.es2019.intl.d.ts │   │   │   │   ├── lib.es2019.object.d.ts │   │   │   │   ├── lib.es2019.string.d.ts │   │   │   │   ├── lib.es2019.symbol.d.ts │   │   │   │   ├── lib.es2020.bigint.d.ts │   │   │   │   ├── lib.es2020.d.ts │   │   │   │   ├── lib.es2020.date.d.ts │   │   │   │   ├── lib.es2020.full.d.ts │   │   │   │   ├── lib.es2020.intl.d.ts │   │   │   │   ├── lib.es2020.number.d.ts │   │   │   │   ├── lib.es2020.promise.d.ts │   │   │   │   ├── lib.es2020.sharedmemory.d.ts │   │   │   │   ├── lib.es2020.string.d.ts │   │   │   │   ├── lib.es2020.symbol.wellknown.d.ts │   │   │   │   ├── lib.es2021.d.ts │   │   │   │   ├── lib.es2021.full.d.ts │   │   │   │   ├── lib.es2021.intl.d.ts │   │   │   │   ├── lib.es2021.promise.d.ts │   │   │   │   ├── lib.es2021.string.d.ts │   │   │   │   ├── lib.es2021.weakref.d.ts │   │   │   │   ├── lib.es2022.array.d.ts │   │   │   │   ├── lib.es2022.d.ts │   │   │   │   ├── lib.es2022.error.d.ts │   │   │   │   ├── lib.es2022.full.d.ts │   │   │   │   ├── lib.es2022.intl.d.ts │   │   │   │   ├── lib.es2022.object.d.ts │   │   │   │   ├── lib.es2022.regexp.d.ts │   │   │   │   ├── lib.es2022.string.d.ts │   │   │   │   ├── lib.es2023.array.d.ts │   │   │   │   ├── lib.es2023.collection.d.ts │   │   │   │   ├── lib.es2023.d.ts │   │   │   │   ├── lib.es2023.full.d.ts │   │   │   │   ├── lib.es2023.intl.d.ts │   │   │   │   ├── lib.es2024.arraybuffer.d.ts │   │   │   │   ├── lib.es2024.collection.d.ts │   │   │   │   ├── lib.es2024.d.ts │   │   │   │   ├── lib.es2024.full.d.ts │   │   │   │   ├── lib.es2024.object.d.ts │   │   │   │   ├── lib.es2024.promise.d.ts │   │   │   │   ├── lib.es2024.regexp.d.ts │   │   │   │   ├── lib.es2024.sharedmemory.d.ts │   │   │   │   ├── lib.es2024.string.d.ts │   │   │   │   ├── lib.es5.d.ts │   │   │   │   ├── lib.es6.d.ts │   │   │   │   ├── lib.esnext.array.d.ts │   │   │   │   ├── lib.esnext.collection.d.ts │   │   │   │   ├── lib.esnext.d.ts │   │   │   │   ├── lib.esnext.decorators.d.ts │   │   │   │   ├── lib.esnext.disposable.d.ts │   │   │   │   ├── lib.esnext.error.d.ts │   │   │   │   ├── lib.esnext.float16.d.ts │   │   │   │   ├── lib.esnext.full.d.ts │   │   │   │   ├── lib.esnext.intl.d.ts │   │   │   │   ├── lib.esnext.iterator.d.ts │   │   │   │   ├── lib.esnext.promise.d.ts │   │   │   │   ├── lib.esnext.sharedmemory.d.ts │   │   │   │   ├── lib.scripthost.d.ts │   │   │   │   ├── lib.webworker.asynciterable.d.ts │   │   │   │   ├── lib.webworker.d.ts │   │   │   │   ├── lib.webworker.importscripts.d.ts │   │   │   │   ├── lib.webworker.iterable.d.ts │   │   │   │   ├── pl │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── pt-br │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── ru │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── tr │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   ├── tsc.js │   │   │   │   ├── tsserver.js │   │   │   │   ├── tsserverlibrary.d.ts │   │   │   │   ├── tsserverlibrary.js │   │   │   │   ├── typescript.d.ts │   │   │   │   ├── typescript.js │   │   │   │   ├── typesMap.json │   │   │   │   ├── typingsInstaller.js │   │   │   │   ├── watchGuard.js │   │   │   │   ├── zh-cn │   │   │   │   │   └── diagnosticMessages.generated.json │   │   │   │   └── zh-tw │   │   │   │   └── diagnosticMessages.generated.json │   │   │   ├── LICENSE.txt │   │   │   ├── package.json │   │   │   ├── README.md │   │   │   ├── SECURITY.md │   │   │   └── ThirdPartyNoticeText.txt │   │   └── undici-types │   │   ├── agent.d.ts │   │   ├── api.d.ts │   │   ├── balanced-pool.d.ts │   │   ├── cache.d.ts │   │   ├── client.d.ts │   │   ├── connector.d.ts │   │   ├── content-type.d.ts │   │   ├── cookies.d.ts │   │   ├── diagnostics-channel.d.ts │   │   ├── dispatcher.d.ts │   │   ├── env-http-proxy-agent.d.ts │   │   ├── errors.d.ts │   │   ├── eventsource.d.ts │   │   ├── fetch.d.ts │   │   ├── file.d.ts │   │   ├── filereader.d.ts │   │   ├── formdata.d.ts │   │   ├── global-dispatcher.d.ts │   │   ├── global-origin.d.ts │   │   ├── handlers.d.ts │   │   ├── header.d.ts │   │   ├── index.d.ts │   │   ├── interceptors.d.ts │   │   ├── LICENSE │   │   ├── mock-agent.d.ts │   │   ├── mock-client.d.ts │   │   ├── mock-errors.d.ts │   │   ├── mock-interceptor.d.ts │   │   ├── mock-pool.d.ts │   │   ├── package.json │   │   ├── patch.d.ts │   │   ├── pool-stats.d.ts │   │   ├── pool.d.ts │   │   ├── proxy-agent.d.ts │   │   ├── readable.d.ts │   │   ├── README.md │   │   ├── retry-agent.d.ts │   │   ├── retry-handler.d.ts │   │   ├── util.d.ts │   │   ├── webidl.d.ts │   │   └── websocket.d.ts │   ├── out │   │   ├── commands │   │   │   ├── buildCommands.js │   │   │   ├── buildCommands.js.map │   │   │   ├── moduleCommands.js │   │   │   ├── moduleCommands.js.map │   │   │   ├── testCommands.js │   │   │   └── testCommands.js.map │   │   ├── extension.js │   │   ├── extension.js.map │   │   ├── models │   │   │   ├── treeItems.js │   │   │   └── treeItems.js.map │   │   ├── providers │   │   │   ├── buildTreeProvider.js │   │   │   ├── buildTreeProvider.js.map │   │   │   ├── infoTreeProvider.js │   │   │   ├── infoTreeProvider.js.map │   │   │   ├── moduleTreeProvider.js │   │   │   ├── moduleTreeProvider.js.map │   │   │   ├── runHistoryProvider.js │   │   │   ├── runHistoryProvider.js.map │   │   │   ├── testTreeProvider.js │   │   │   └── testTreeProvider.js.map │   │   ├── types.js │   │   ├── types.js.map │   │   └── utils │   │   ├── modules.js │   │   ├── modules.js.map │   │   ├── terminal.js │   │   ├── terminal.js.map │   │   ├── workspace.js │   │   └── workspace.js.map │   ├── package-lock.json │   ├── package.json │   ├── resources │   │   ├── icon.png │   │   └── icon.svg │   ├── src │   │   ├── commands │   │   │   ├── buildCommands.ts │   │   │   ├── moduleCommands.ts │   │   │   └── testCommands.ts │   │   ├── extension.ts │   │   ├── models │   │   │   └── treeItems.ts │   │   ├── providers │   │   │   ├── buildTreeProvider.ts │   │   │   ├── infoTreeProvider.ts │   │   │   ├── moduleTreeProvider.ts │   │   │   ├── runHistoryProvider.ts │   │   │   └── testTreeProvider.ts │   │   ├── types.ts │   │   └── utils │   │   ├── modules.ts │   │   ├── terminal.ts │   │   ├── tito.ts │   │   └── workspace.ts │   └── tsconfig.json ├── tito-cli.log └── tools -> book/tools

780 directories, 4479 files: Latency-optimal. Latency scales logarithmically with \(\log_2(N)\).

Next Steps

  • LLM Serving Lab: After training, learn how to model the serving cost of the same model
  • Math Foundations: Full derivations for ring all-reduce, pipeline bubble, and MFU
  • Fleet Zoo: Browse the available cluster configurations and their network specs
Back to top