Yash Panchal
← Back to Blog

Present bottlenecks with regards to AI inference.

Observation is for Inference

Computation is easy access and loading/unloading to memory is expensive.

We are now able to do MatMul way more quickly then we can load and store the data to the nearby memory conmponents.

So most of the AI inference is now memory bound instead of compute bound.

Examples:

Loading Model Weights: Memory intensive Activation movement between layers: Memory intensive Attention (KV access): Memory intensive Matrix Multiplication and Vector Computation: Compute intensive

So now FLOPS are way way faster than the available memory bandwidth at least during the inference.

Inference is Memory bounded

While training on the other hand is compute heavy.

So typical LLMs and Diffusion models have idle SMs while GPU memory are utilized most of the time due to weight loading and memory transfers.

CPUs are latency machines (Few threads but they are cutting latency)

GPUs are throughput machines (Far more threads than the CPUs)

Built with inspiration from astro-theme-cactus