5.3.17 · D1MLOps & Deployment

Foundations — Edge deployment and ONNX

1,913 words9 min readBack to topic

This page builds every symbol the parent note uses, from zero, before you meet it in a formula. If a smart 12-year-old reads line one first, they should never hit a symbol they haven't been shown a picture of.


0. What "the data is born" even means

Figure — Edge deployment and ONNX

1. The counting symbols: bytes, , and "size"

Before any latency formula, three plain quantities.


2. The time symbols: , RTT, queue

Every symbol with a is a duration in seconds. The subscript tells you which duration.

Symbol Plain meaning Picture
time to send data up to cloud photo climbing the pipe
time for answer to come down answer sliding back
wait in line before the server serves you people ahead of you at a counter
compute time on the big chip fast machine thinking
compute time on the tiny chip slow machine thinking
Figure — Edge deployment and ONNX

3. What a model is: the computation graph

This is the heart. If you get this picture, ONNX becomes obvious.

Figure — Edge deployment and ONNX

4. The "runtime" symbols: ORT, EP, opset


5. The quantization symbols: , , ,

The parent's int8 derivation uses four letters. Here is each, from zero.

Figure — Edge deployment and ONNX

6. The complexity symbols: , ,

Recall Why is

so much less than ? Because ONNX is a shared hub: everyone talks to the hub, not to each other. ::: With : pairs vs hub . The gap explodes as grow.


Prerequisite map

bytes and bandwidth B

latency budget T

time symbols t up t down t queue

edge vs cloud decision

tensors and shapes

computation graph

operators and nodes

weights initializers

ONNX file format

ONNX Runtime and EP

opset version

int8 quantization S Z

round and error

Edge Deployment and ONNX


Equipment checklist

Cover the right side; can you answer before revealing?

  • A byte, and how many a float32 vs int8 weight takes ::: 1 byte = 8 switches; float32 = 4 bytes, int8 = 1 byte (4× smaller).
  • What is and the formula for transfer time ::: bandwidth (bytes/sec); .
  • What each subscript means (up, down, queue, infer) ::: durations in seconds for send-up, send-down, waiting in line, and computing.
  • What "inference" means vs "training" ::: running a trained model forward on new input; no learning happens.
  • What a tensor is and what shape (1,3,224,224) encodes ::: a numbered box of numbers; 1 image, 3 colours, 224×224 pixels.
  • What an operator/node is, with two examples ::: one arithmetic step in the graph; e.g. MatMul, Conv, Relu.
  • What weights/initializers are ::: the fixed learned numbers baked into the graph.
  • What a computation graph is ::: ops as boxes, tensors as arrows, flowing input to output.
  • What ONNX stores ::: the graph = nodes + operators + initializers (weights) + typed inputs/outputs.
  • Difference between a framework and a runtime ::: framework trains (PyTorch/TF); runtime executes the graph (ONNX Runtime).
  • What an Execution Provider is ::: the backend that actually computes a node (CPU, CUDA, TensorRT, CoreML).
  • What an opset version controls ::: which edition of operators the graph uses; runtime must support it.
  • The four quantization symbols ::: real value, integer stand-in, scale (tick spacing), zero-point (integer for real 0).
  • Why round() introduces error and its bound ::: integers can't hold decimals; error .
  • Why becomes with a hub ::: everyone connects to ONNX in the middle, not to each other.

Ready? Then head back to the parent topic.