gemini-2.5-pro| input-price: 1.25 output-price: 10 max-context-length: 200_000 (cost: $0.05) Β· Anfrage: 2025-09-29T20:50:37.938391
Generated by rs-summarizer Version unbekannt
Abstract:
This presentation details the strategic integration of a native JAX backend into vLLM, a high-performance LLM inference engine traditionally based on PyTorch. The primary goal is to provide optimized performance on Google's TPUs, where JAX is a predominant framework, while maintaining seamless support for the vast PyTorch ecosystem. The core of this initiative is a new interoperability framework, torch.ax, which enables graph-level integration between PyTorch and JAX. This eliminates performance-degrading graph breaks and allows for a unified codebase. The speakers explain how torch.ax works by re-implementing PyTorch operations in JAX, facilitating a gradual optimization path where models can run immediately ("Day 0" support) and then be progressively enhanced with native JAX components for maximum performance. The presentation also introduces LMD, a Kubernetes-native inference stack that uses vLLM as its engine to orchestrate complex serving patterns like disaggregated serving and smart routing for modern LLM applications.
Unifying PyTorch and JAX in vLLM for High-Performance TPU Inference
torch.ax.JAX TPU Worker. This worker will leverage JAX's SPMD (Single Program, Multiple Data) capabilities and include a collection of highly optimized model primitives, such as paged attention written in JAX.torch.ax: Graph-Level Interoperability: The key technology, torch.ax, provides "graph-level" interoperability between PyTorch and JAX. Unlike simpler methods that cause performance-killing "graph breaks," torch.ax allows JAX and PyTorch operations to exist within the same computational graph, ensuring no performance is lost.torch.ax Works: torch.ax works by creating a PyTorch tensor subclass that internally holds a JAX array. It uses a torch.dispatch hook to intercept PyTorch operations as they are called and replaces them with their equivalent JAX implementations. This process allows a PyTorch model to be traced into a clean, efficient JAX graph.torch.ax enables a flexible workflow. A new PyTorch model can be run immediately on the JAX backend. Later, developers can replace performance-critical parts of the model (e.g., the attention mechanism) with native JAX code while leaving the rest in PyTorch, gradually improving performance without a complete rewrite.torch.ax allows for a single, unified backend. It translates PyTorch code into JAX primitives, effectively consolidating the development and maintenance effort.