Engines of AI
Episode Summary
A tour of the silicon engines behind modern AI, from GPUs to TPUs and the power that makes them tick.
Full Episode TranscriptClick to expand
Compute Power
Modern artificial intelligence runs on a hidden industrial layer of silicon and electricity. Every message you send to a powerful model travels through massive data centers. Each request becomes a stream of numbers moving through chips at incredible speed. These chips consume energy, produce heat, and turn electricity into intelligence. Understanding them reveals what makes artificial intelligence feel fast, powerful, and sometimes expensive. At the heart of this story sits the idea of compute power. Compute power describes how quickly a machine can perform mathematical operations. These operations are almost always small number calculations. Additions, multiplications, comparisons and a few more. The more of them a system can perform every second, the more powerful it becomes for artificial intelligence. Artificial intelligence systems are mostly giant stacks of linear algebra. Linear algebra means operations on vectors and matrices. A vector is a list of numbers. A matrix is a grid of numbers with rows and columns. Neural networks multiply huge matrices together repeatedly. They add results. They apply simple nonlinear functions. Billions or trillions of these operations create what feels like reasoning. Traditional computers were built for very different tasks. Early CPUs, or central processing units, focused on flexibility. They handled word processors, databases, operating systems, and a mix of everything. They ran complicated instruction sequences with many decisions and branches. They could switch tasks constantly and stayed responsive for human use. That flexibility came at the cost of raw numerical throughput. Graphics processing units followed another path. GPUs or graphics processing units grew from the needs of video games and graphics. Drawing a three dimensional scene requires massive parallel math. Every pixel on the screen can be processed somewhat independently. Every vertex in a three dimensional model needs almost the same calculations. This property is called data parallelism. Hardware designers exploited this parallelism. Instead of a few very smart cores, GPUs used thousands of simpler cores. Each core could perform basic operations on different pieces of data simultaneously. Together they could transform, shade, and light entire scenes in real time. The early focus was on computer graphics, not artificial intelligence. Yet the core idea was perfect for neural networks.
CPU to GPU
Neural network calculations look a lot like graphics math. Both involve big arrays of numbers. Both require the same few operations repeated many times. Multiply. Add. Accumulate. Apply a simple function. Because of this similarity, researchers realized GPUs were ideal engines for deep learning. The same parallel hardware that drew game worlds could now train language models. To understand why GPUs are so effective, examine a single matrix multiplication. Take two matrices with thousands of rows and columns. Computing their product involves a vast number of individual multiplications and additions. Each output cell in the result matrix combines one row and one column. These combinations can be computed mostly independently. That is perfect for parallel execution. A CPU can process a few of these operations at once. Its small number of general purpose cores are optimized for many tasks. A GPU can process thousands of them at once. Its streaming multiprocessors run the same instruction on many pieces of data. When training a neural network, this difference becomes enormous. Hours on a GPU might equal weeks on a CPU. GPU architecture reflects its mission. Instead of a large complex control unit, it has large arrays of arithmetic units. These units are often called CUDA cores in the NVIDIA ecosystem. They are simple, tiny calculating engines. There are also memory blocks designed for fast access to nearby data. Specialized caches help feed data to the arithmetic units without long delays. Another key idea is throughput versus latency. Latency is the time to complete one task from start to finish. Throughput is how many tasks you can finish per unit time. CPUs care about keeping latency low for each individual task. GPUs care about maximizing throughput across large batches of work. Deep learning aligns with throughput. We rarely care about a single multiplication. We care about the total time for billions of them. Over time, GPU designers added features tailored for machine learning. One breakthrough was support for lower precision numbers. Traditional computing relied on thirty two bit or sixty four bit floating point numbers. Neural networks often work fine with lower precision. Sixteen bit or even eight bit values usually preserve enough information. This reduces memory usage and allows more operations per second. To exploit this, modern GPUs introduced specialized units called tensor cores. Tensor cores accelerate small matrix multiplications. They load tiny blocks of data, multiply them, and accumulate results rapidly. These small blocks combine to form huge network computations. Tensor cores are the workhorses for deep learning on current architectures. They boost performance by several times without huge increases in power use. Even with these advances, GPUs carry legacy from their graphics origins. They still maintain features related to rendering pipelines. They support a wide range of data types and graphics functions. This adds complexity that artificial intelligence workloads do not always require. That gap created an opening for new architectures. Enter the tensor processing unit or TPU. TPUs were designed specifically for machine learning workloads. The first widely known TPUs came from Google. They emerged from a question. What would a chip look like if it focused almost entirely on matrix math for neural networks. The answer was a radical simplification. A TPU is essentially a giant matrix multiplication machine. Its central feature is a systolic array. Picture a grid of simple arithmetic units connected in a diagonal rhythm. Data pulses through this grid in waves. Partial sums move along the array while new data flows in. Instead of fetching values again and again, the data flows once and gets reused in flight. This systolic design minimizes expensive data movement. In modern computing, moving data is often slower and more power hungry than computing on it. By keeping data inside the chip and pushing it through predictable paths, TPUs gain huge efficiency. They perform an enormous number of operations per second per watt of power. Like GPUs, TPUs favor lower precision arithmetic for neural networks. They often use brain floating point formats like bfloat sixteen. This format keeps a wide exponent range but a short mantissa. That makes it well suited for training large models without losing too much accuracy. It balances numerical stability with hardware efficiency. TPUs also simplify control logic. They are designed to run large batches of matrix operations under a compiler driven schedule. There is less support for arbitrary branching and complex instruction sets. The surrounding software stack handles scheduling and translation from high level frameworks. This shifts intelligence from hardware to software and makes the silicon more specialized. Because TPUs are so focused, they shine on certain tasks and are less flexible on others. They excel at dense linear algebra for neural networks. They may not be as versatile for graphics, scientific simulations, or irregular workloads. GPUs remain the multipurpose workhorses across many high performance fields. TPUs are like factory machines tuned for one dominant production line. Both GPUs and TPUs rely on massive parallelism and careful memory design. The memory hierarchy becomes critical at large scale. There is on chip memory that is very fast but limited in size. There is off chip high bandwidth memory that is larger but slower. There is even slower general system memory. Skilled system design keeps data close to the compute units as much as possible. When practitioners talk about compute power, they often mention FLOPs. FLOPs means floating point operations per second. It measures how many additions or multiplications involving real numbers can be done each second. Modern AI chips achieve tens or hundreds of trillions of these operations per second. That is written as teraflops or petaflops for very large systems. However, raw FLOPs can be misleading. Not all FLOPs are equal. Some are in low precision. Some cannot be fully utilized due to memory bottlenecks. Some workloads do not keep the chip busy at all times. Effective compute power depends on how well the workload maps to the hardware. Good engineers design models and code that keep utilization high. Energy matters as much as speed. Each operation consumes electricity and generates heat. Data centers must remove that heat and supply stable power. Power usage effectiveness metrics track how efficiently a facility converts electricity into useful computation. Chips like TPUs aim to maximize operations per joule of energy. This becomes crucial as artificial intelligence demand grows. Scaling beyond a single chip introduces new challenges. One GPU or TPU is powerful, but frontier models require many. Data center clusters connect hundreds or thousands of accelerators together. High speed interconnects link them into a collective machine. Examples include NVLink, Infiniband, and custom optical or electrical fabrics.
TPU Promise
In a distributed training setup, model parameters are split across devices. Or the data is split, and each device processes different samples. After each step, devices must share gradients or activations. This communication can become a bottleneck. Engineers design parallel training strategies to balance compute and communication. Data parallelism, model parallelism, and pipeline parallelism are common patterns. Think of data parallelism like many workers reading different pages of the same book. Each worker makes notes on their pages. They then gather and combine notes to update a shared understanding. Model parallelism is like splitting the book itself among workers. Each worker handles a separate chapter. Pipeline parallelism treats the model as a production line. Data flows through stages across devices. Efficient compute power depends on good balance among compute, memory, and communication. A system with incredible FLOPs but slow interconnects wastes potential. So does a system with huge memory but very few arithmetic units. Hardware architects and software engineers co design solutions. They decide where to place memory, how wide interconnects should be, and how to schedule operations. From a user perspective, compute power shows up as three main experiences. First, how fast a model can be trained. Second, how quickly it can respond in real time to requests. Third, how much it costs to run. Training speed depends on total available compute power across the cluster. Inference speed depends on how efficiently the model uses a smaller set of devices. Consider training a large language model. During training, batches of text examples feed into the network. For each batch, the model performs a forward pass and a backward pass. The forward pass computes predictions. The backward pass computes gradients and updates parameters. This involves many matrix multiplies and elementwise operations across billions of parameters. On a single high end GPU, this process might take months or years for a frontier scale model. By using many GPUs or TPUs in parallel, the training can finish within weeks or days. However, parallelism does not give perfect scaling. Doubling the number of chips does not exactly halve the time. Communication overhead and synchronization slow things down. Still, with good engineering, scaling can be quite effective. Inference has different patterns. A user sends a prompt. The model reads the input. It multiplies the input through each layer, producing probabilities for the next token. It selects a token, then repeats the process. In language models, generation is sequential. Each new token depends on previous ones. That limits how parallel it can be across time. Engineers optimize other aspects, like batching many user requests together. Batching combines several user prompts and processes them in parallel. The GPU or TPU performs the same operations on different inputs simultaneously. This keeps its cores busy and improves throughput. However, batching increases latency for the first token of each individual request. There is a trade off between aggregate efficiency and single user speed. Different applications choose different balances. Frameworks like CUDA, ROCm, and specialized software stacks manage these computations. At a high level, developers write in languages like Python using libraries such as PyTorch or TensorFlow. These frameworks translate neural network definitions into sequences of lower level operations. The operations are then scheduled and executed on GPUs or TPUs. The developer rarely touches the bare metal instructions. Compiler technology plays a growing role in extracting performance. Modern systems use graph optimizers to rearrange operations. They fuse multiple small operations into larger kernels that run more efficiently. They reorder computations to reuse data in caches and local memory. In TPU systems, XLA compilers and similar tools map high level graphs onto systolic arrays. This is software driven acceleration. Another important dimension of compute power is memory capacity. Large models contain billions of parameters. Each parameter consumes memory. During training, activations for each layer also need memory. If the model and activations do not fit into the accelerator memory, engineers must split them. Techniques like tensor parallelism and activation checkpointing help. But they also add complexity and some overhead. Quantization and pruning can reduce memory requirements. Quantization represents weights with fewer bits per parameter. Moving from sixteen bit to eight bit weight storage halves memory for parameters. Careful algorithms keep model quality high despite the coarser representation. Pruning removes weights or neurons that contribute least to performance. This shrinks the model and its compute cost. Specialized inference chips and accelerators are emerging that push these ideas further. Many are optimized for low precision arithmetic and compressed weights. Their goal is to run trained models cheaply at scale. This is crucial for deploying artificial intelligence into products that handle millions of user interactions daily. Saving a little compute per interaction multiplies into large cost savings. Cloud providers organize compute resources into instances and clusters. A user might rent several GPU instances, each containing multiple GPUs connected by a local interconnect. For large jobs, they might use dedicated clusters tied together with high speed networking. Underneath, schedulers decide where to place workloads and how to allocate resources. They balance utilization and isolation among many customers. On premises hardware follows similar patterns, but with more control and more responsibility. Organizations build machine learning clusters with racks of GPU or TPU servers. They must manage cooling, power distribution, and hardware reliability. They also fine tune cluster software stacks like Kubernetes and specialized orchestration tools. Ownership gives more customization but demands more engineering. As models grow, compute budgets become strategic decisions. Training a frontier model might require thousands of GPU years of compute. That phrase means the amount of compute a single GPU would deliver if running for one year. Spreading the work across many units reduces wall clock time. However, the total energy and hardware cost remains massive. Researchers estimate compute used in training with rough formulas. They multiply the number of model parameters by the number of training tokens and by some constant factor. This yields a rough count of floating point operations. Dividing by the device FLOPs capacity gives training time. Though simplistic, this helps plan budgets and cluster sizes. Security and reliability also interact with compute power. High end accelerators are expensive and scarce. Data centers protect them against hardware failures, power outages, and misuse. Workloads often include checkpointing. This means periodically saving model states to durable storage. If a node fails, training can restart from a saved checkpoint rather than from the beginning. Hardware errors become more frequent as systems scale. Cosmic rays and voltage fluctuations can flip bits in memory. To counter this, accelerators and memory systems use error correcting codes. These detect and often repair single bit errors on the fly. The result is more reliable large scale computation. Still, rare faults can slip through and affect training runs.
Scaling & Bottlenecks
There is also a sustainability dimension to compute power. The energy consumed by large training runs has real environmental impact. Data centers look for renewable power sources. They design more efficient cooling systems and often place facilities near cold climates or cheap electricity. Hardware designers push for better performance per watt. Efficient computation reduces both cost and environmental footprint. The line between GPUs and TPUs continues to blur. GPUs add more tensor oriented features every generation. TPUs gain more flexibility and software support. Other vendors build custom accelerators targeting pieces of the machine learning pipeline. Some focus on training. Others focus on inference at the edge, such as on phones or small devices. Consumer devices also see specialized neural hardware. Many smartphones contain neural processing units. These are small accelerators optimized for camera enhancements, speech recognition, and local inference. They bring parts of artificial intelligence computation closer to the user. This reduces latency, preserves privacy for some tasks, and saves network bandwidth. When thinking about compute power, it helps to relate it to familiar experiences. Faster compute means language models that respond more quickly and can handle longer contexts. More memory enables models to hold richer representations of documents, images, and interactions. Better energy efficiency lowers the cost of providing these capabilities widely. Hardware, software, and algorithms form a triangle of progress. Algorithmic improvements multiply with hardware gains. An optimized transformer architecture that needs half the compute gives the same effect as doubling hardware. New attention mechanisms, model architectures, and training strategies reduce required FLOPs. Together with better GPUs and TPUs, they drive the rapid progress observed in the field. Ultimately, GPUs and TPUs are tools for shaping probability distributions. They juggle numbers that encode words, images, sounds, and patterns. By pushing those numbers through vast webs of matrix multiplies, they approximate complex functions. Compute power determines how large and expressive those functions can be. It also shapes how accessible they become to researchers, companies, and individuals. As demand increases, the ecosystem around compute power grows more sophisticated. There are marketplaces for renting accelerators by the hour. There are managed platforms that hide hardware details entirely from users. There are collaborative research agreements that share compute resources for frontier projects. Access to GPUs and TPUs becomes a strategic asset. Understanding this landscape lets you reason about constraints and trade offs. When someone says a model is expensive to run, you can translate that into FLOPs, power, and memory. When you hear about new GPU generations, you know how more cores, faster memory, and better tensor units matter. When a company builds custom TPUs, you see how specialization brings efficiency for dominant workloads. The trajectory of artificial intelligence is deeply tied to compute power. As GPUs and TPUs grow more capable, models become larger and more capable too. Yet every multiplication executed on those chips travels through the same pathways. Electricity enters. Numers transform. Heat exits. At the center, mathematics turns into behavior, decisions, and language. The engines of artificial intelligence are physical machines, carefully designed to push numbers around extremely fast. Appreciating GPUs, TPUs, and compute power gives a grounded view of intelligence at scale. Behind every impressive demonstration lies an infrastructure of chips, memory, and interconnects. Behind each of those lies trade offs between flexibility, specialization, speed, cost, and energy. Understanding those trade offs helps you think more clearly about what artificial intelligence can do today and where it might go next.
