Research Through the Years

Fifteen years of research by Joseph E. Gonzalez and his students at UC Berkeley on the systems that make new forms of machine learning possible.

I study how new systems abstractions can enable new forms of machine learning and AI. This page starts with current work and moves back in time: the idea behind each era, the main projects, and the students and collaborators who built them.

If we solve today's hot problems, what new problems will those solutions create?

The question behind the research →

Current research2023–present

Agents, Post-Training and New Architectures

If many hard problems in agents are solved, we will need to change how systems are built, how people oversee agents, and how models learn.

Today's bet is that many of the hard problems in AI agents will be solved, and that highly capable agents will arrive in very large numbers. That raises questions beyond building any single agent:

  • Systems for thousands of capable agents. Systems have been designed around human users and conventional programs. How should interfaces and abstractions change for this new, more capable class of user, and how will systems handle thousands of agents at once?
  • Humans steering teams of agents. How can people direct vast teams of agents that are faster and more sophisticated than the people leading them? We may have to let go of detailed understanding, and perhaps some basic design principles, in favor of higher-level abstractions that have yet to be developed.
  • Negotiation and consensus. When everyone has capable agents, how will people with competing goals negotiate and find consensus?
  • Learning from teachers. Beyond learning from data, how can models exchange knowledge and capabilities? What does it mean to learn how to teach, and how efficient can knowledge transfer become?

Current projects are early steps on these questions: data systems redesigned for agents as their primary users, serving engines for multi-turn agents, studies of how agents cooperate and compete, and small advisor models that learn to steer larger ones. The group also continues to work on post-training and on new neural architectures.

AI agents

Systems for agents that keep memory, call tools, run for many steps and interact with each other.

MemGPT memory hierarchy: the LLM's finite context holds system instructions, working context and a FIFO queue, with a function executor and queue manager moving data to and from archival and recall storage.

MemGPT

LLMs as operating systems: persistent memory for agents

MemGPT's virtual context management pages information between a model's limited context window and external storage, much as an operating system manages memory. This lets agents maintain persistent memory across long conversations and documents. Follow-on work on sleep-time compute lets agents reason about their context between interactions.

People: Created by my students Charles Packer, Sarah Wooders and Kevin Lin with collaborators. Charles and Sarah co-founded Letta to continue the work, and Kevin joined them. Kevin led the sleep-time compute study.

Autellix architecture: agentic programs register in a process table that feeds a load balancer and per-engine priority schedulers over the KV cache and model executor.

Serving agents

Scheduling and caching for multi-turn, tool-using agents

Agents interleave model calls with tool calls, which breaks the assumptions of request-level LLM serving. Autellix schedules agent programs as a whole. Continuum keeps a multi-turn agent's key-value cache alive across tool calls. vCache offers verified semantic prompt caching.

People: Continuum was led by Hanchen Li. Autellix was led by Michael Luo with Tianjun Zhang, Justin Wong, Yichuan Wang and collaborators. vCache was led by Luis Gaspar Schroeder with postdoc Aditya Desai.

Search Arena query categories, from factual lookup and information synthesis to recommendation, explanation and guidance, each with an example user prompt.

Evaluating agents

Measuring agents in the wild and diagnosing failures

Search Arena extends human-preference evaluation to search-augmented LLMs. MAST is a taxonomy of why multi-agent LLM systems fail. Characterizing Agents in Production studies how agents are actually built and deployed.

People: Search Arena was led by Mihran Miroyan with Patrick Wu. MAST and the production study were led by collaborators, with contributions from students including Huanzhi Mao and Shu Liu.

C2C game: a territory map from Red's view with AI-controlled Blue, Yellow and Green players, above a negotiation chat where Red and Blue agree to a non-aggression pact.

Multi-agent systems

Cooperation, competition and AI–AI interaction

Cooperate to Compete studies strategic coordination among LLM agents in a multi-agent conquest game, part of the group's broader work on how AI systems interact with one another.

People: Led by Abby O'Neill with Alan Zhu and Mihran Miroyan.

Agent-first data system: user agents send batches of probes to a system with a probe parser, sleeper agents, a satisficing probe optimizer, a shared transaction manager and an agentic memory store.

Data systems for agents

Retrieval, memory and data systems designed for agents

If agents become the primary users of data systems, those systems should be redesigned around them. LEANN is a storage-efficient vector index for retrieval on personal devices.

People: The agent-first data systems vision was led by Shu Liu with Alan Zhu and collaborators. LEANN was led by Yichuan Wang.

Post-training and learning from teachers

How models keep improving after pre-training: reinforcement learning, steering by smaller models, continual learning and transferring knowledge between models.

SkyRL-Agent architecture: trajectories go through runtime initialization, an agent loop calling tools in a remote execution runtime, and reward calculation, with transitions recorded for RL training.

SkyRL

Reinforcement learning for long-horizon agents

An open framework for training LLM agents with reinforcement learning on multi-turn, tool-using tasks such as software engineering. SkyRL-Agent focuses on efficient training for multi-turn, long-horizon agents.

People: Initially co-developed by students in the group and collaborators in the Sky Computing Lab. SkyRL-Agent was led by Shiyi Cao and Dacheng Li.

Advisor Models: a trainable advisor model writes advice for a frozen black-box model, and the outcome reward trains the advisor with reinforcement learning.

Advisor Models and continual learning

Steering, adapting and continually improving models

Advisor Models trains small models that steer black-box LLMs toward specific users and tasks. Continual Learning Bench measures whether agents actually improve from experience over time.

People: Advisor Models was led by Parth Asawa with Alan Zhu and Abby O'Neill. Parth also leads Continual Learning Bench.

Answers to "Name a US state" on maps: low and high temperature sampling cluster on California and New York, while SimpleStrat's stratified sampling spreads answers across regions.

Diversity after post-training

Keeping generation diverse and creative

Post-training tends to narrow the range of outputs a model will produce. SimpleStrat diversifies generation by stratifying the space of possible answers and sampling across strata. It is part of a broader study of how post-training affects generative diversity.

People: Led by Justin Wong, whose thesis studied how to mitigate the effects of post-training on generative diversity.

Neural architectures and efficiency

New model architectures, attention mechanisms and kernels for efficient, scalable models.

M²RNN block: a Transformer-style layer where attention is replaced by an M²RNN layer built from linear projections, causal convolutions, gates and a matrix-to-matrix recurrence.

MRNN

Non-linear RNNs with matrix-valued states

A recurrent architecture that keeps a non-linear recurrence but makes the hidden state a matrix rather than a vector, aimed at scalable language modeling as an alternative to attention-only designs.

People: Led by Mayank Mishra with collaborators.

vAttention: attention combines sink, local and top-k tokens with random samples whose count is set by a user-specified error tolerance and confidence, with index computation on the GPU and KV reads from GPU or CPU memory.

Sparse and verified attention

Attending to less, with guarantees

HashAttention exploits semantic sparsity to find the few tokens that matter for each query. vAttention adds statistical guarantees to sparse attention by sampling. SLA combines sparse and linear attention in diffusion transformers and underlies TurboDiffusion, which accelerates video generation by 100–200×.

People: HashAttention and vAttention were led by postdoc Aditya Desai. SLA and TurboDiffusion were led by Jintao Zhang and collaborators at Tsinghua, including former postdoc Jianfei Chen.

2021–2024

Foundation Models

Large models made inference efficiency and evaluation central research problems.

Foundation models raised the systems questions of the previous era at a much larger scale, and added new ones. Alpa, led by my student Lianmin Zheng, automated the parallelization of models too large for a single accelerator, and AlpaServe applied model parallelism to serving. Once LLMs were widely used, inference and evaluation became the central problems.

Two inference engines from this period became major infrastructure for the field. vLLM uses operating-system-style paging to manage GPU memory. SGLang treats LLM applications as programs and co-designs a language with a runtime. Chatbot Arena made evaluation an open, live measurement of human preference. Gorilla studied how to teach models to call APIs and tools reliably.

vLLM's PagedAttention: a request's logical KV-cache blocks map through a block table to non-contiguous physical blocks in GPU memory.

vLLM

Efficient LLM serving with PagedAttention

PagedAttention borrows virtual memory and paging from operating systems to store the attention key-value cache in non-contiguous blocks, nearly eliminating memory fragmentation and allowing far larger batches. vLLM grew into one of the most widely used open-source LLM inference engines.

People: Created by Woosuk Kwon and Zhuohan Li with collaborators in the Sky Computing Lab, including my student Lianmin Zheng. Simon Mo, whom I advised, contributed to the open-source project and later co-founded Inferact, the company built around vLLM, where he is CEO.

RadixAttention: a radix tree of cached prompt prefixes grows, shares and evicts nodes across chat, few-shot and self-consistency requests.

SGLang

Fast and programmable LLM inference

SGLang treats LLM applications as structured programs. A frontend language expresses multiple generation calls, control flow and constrained output. It is co-designed with a runtime whose RadixAttention reuses the key-value cache across calls and whose compressed finite-state machines speed up structured decoding. SGLang has become a major, widely adopted open-source inference engine used to serve models in production.

People: Created by Lianmin Zheng, my PhD student, together with Ying Sheng, with collaborators including Shiyi Cao, a current student in the group.

Alpa compiler and runtime: an inter-op pass splits a computational graph into stages, an intra-op pass shards each stage, and the stages run on separate device meshes.

Alpa

Automated parallelism for large models

Alpa automatically combined inter-operator (pipeline) and intra-operator (tensor) parallelism, compiling large models onto accelerator clusters without hand-written parallelization plans. AlpaServe (OSDI 2023) showed how model parallelism can also improve serving through statistical multiplexing.

People: Led by my student Lianmin Zheng with Zhuohan Li, Hao Zhang and collaborators. Zhuohan Li led AlpaServe.

Chatbot Arena interface: two anonymous models answer the same prompt side by side, with buttons to vote A is better, B is better, tie, or both are bad.

Chatbot Arena

Evaluating LLMs by human preference

Anonymous, crowdsourced side-by-side comparisons of models on real user prompts, aggregated into statistically grounded ratings to create an open, continually updated benchmark. Companion work introduced MT-Bench and LLM-as-a-Judge, using strong models to evaluate other models, and released LMSYS-Chat-1M, a dataset of real-world conversations.

People: I started Chatbot Arena within LMSYS and ran its early experiments together with students and collaborators, including Lianmin Zheng, Wei-Lin Chiang and Ying Sheng. My student Dacheng Li also contributed.

Gorilla pipeline: API docs from Torch Hub, TensorFlow Hub and HuggingFace become instruction-API pairs that train Gorilla, which at inference uses a retriever to emit correct API calls.

Gorilla

Connecting LLMs to massive collections of APIs

Gorilla trained LLMs, with retrieval over documentation, to write correct API calls, reducing hallucinated calls. The Berkeley Function Calling Leaderboard (BFCL) became a widely used benchmark for tool use, and RAFT studied how to adapt models to retrieval over specific domains.

People: Led by my students Shishir Patil and Tianjun Zhang, with former student Xin Wang. BFCL is now led by Huanzhi Mao, a current student.

2015–2021

ML Infrastructure

Once a model is trained, it still has to be served, composed with other models and tuned, and each of these steps is a systems problem.

After I joined the Berkeley faculty, and as part of the RISELab, the focus shifted from training to everything that happens around it. ML workloads were becoming dynamic and heterogeneous: models had to answer live queries within milliseconds, run as pipelines of several models, and be selected from large searches over architectures and hyperparameters. Our view was that these steps needed their own systems abstractions.

The clearest example is prediction serving, which later informed our work on LLM inference systems (see the lineage below). Velox and then Clipper, led by my student Daniel Crankshaw, put a general-purpose serving layer between applications and ML frameworks. InferLine extended it to model pipelines. Ray Serve continued these ideas inside the Ray ecosystem. In parallel, Ray Tune, led by my student Richard Liaw, made hyperparameter search a distributed-systems problem. I co-led work on Ray Serve and Ray Tune with students and collaborators, developing ML abstractions for serving and tuning within the Ray ecosystem.

Students in this period also worked on parallel dataframes (Modin), stateful serverless computing (Cloudburst), dynamic neural networks and learned resource management. Their theses are listed under Alumni.

A lineage of serving systems. Prediction-serving systems from the group and its collaborators, from Velox to today's LLM inference engines.
  1. Velox2015Model serving in the Berkeley data stack
  2. Clipper2017General-purpose, low-latency prediction serving
  3. InferLine2020Serving pipelines of models under latency targets
  4. Ray ServeRay ecosystemClipper's ideas rewritten on Ray
  5. AlpaServe2023Model parallelism for serving large models
  6. vLLM · SGLang2023–24Memory management and programmable LLM inference
Clipper architecture: applications reach Clipper over a REST API; a model selection layer and a model abstraction layer with caching and adaptive batching sit above model containers for Spark, TensorFlow and scikit-learn.

Clipper

Low-latency online prediction serving

Clipper put a serving layer between applications and ML frameworks. Caching, adaptive batching and online model selection made predictions fast and accurate regardless of which framework trained the model. It followed Velox (CIDR 2015), and InferLine (SoCC 2020) extended it to provisioning pipelines of models under latency objectives.

People: Led by Daniel Crankshaw (my student; thesis on low-latency prediction serving) with Xin Wang and collaborators. InferLine added Eyal Sela, Corey Zumar, Simon Mo and Alexey Tumanov.

Ray Serve architecture: a head node runs the controller with the autoscaler, HTTP and gRPC proxies, and replicas with request queues; more nodes run replicas and optional proxies.

Ray Serve

Scalable model serving in the Ray ecosystem

Ray Serve carried the prediction-serving ideas of Clipper into Ray: scalable, framework-agnostic deployment of models and multi-model pipelines, written in Python on a general distributed runtime.

People: Ray Serve began as a rewrite of Clipper by Simon Mo, who continued its development within Ray after Daniel Crankshaw graduated.

Ray Tune's narrow-waist design: function-based and class-based training APIs sit above the Tune API, which plugs into schedulers such as HyperBand, grid search, Bayesian optimization and population-based training.

Ray Tune

Distributed hyperparameter tuning and model selection

Tune gave researchers a scalable interface for running and coordinating many training trials, with pluggable search and early-stopping algorithms. Follow-on work (RubberBand, EuroSys 2021) studied cost-efficient tuning on elastic cloud resources.

People: Led by Richard Liaw, then my student, with Eric Liang, Robert Nishihara and Philipp Moritz. RubberBand was led by Ujval Misra with Richard and Lisa Dunlap.

Earlier work2008–2014

Learning at Scale

Machine-learning algorithms have structure that systems can exploit.

Many machine-learning algorithms, from belief propagation to matrix factorization, are made of small computations over sparse dependencies, repeated until they converge. General-purpose data systems of the time did not see that structure, so they either ran these algorithms inefficiently or forced researchers to write custom parallel code. As a PhD student at Carnegie Mellon, I explored whether the graph could serve as the abstraction between the two: machine-learning researchers describe computation on vertices and edges, and the system handles scheduling, consistency and distribution.

GraphLab introduced the abstraction. PowerGraph re-factored it so that computation could be split across machines for the power-law graphs found in real data. GraphX, built as a postdoc in Berkeley's AMPLab, showed that graph computation could be expressed inside a general dataflow system, unifying tables and graphs in Apache Spark.

GraphLab framework: a scheduler dispatches vertex update tasks to CPUs, which run them on a data dependency graph alongside a shared data table.

GraphLab

A graph-parallel abstraction for machine learning

GraphLab let researchers express iterative ML algorithms as programs on the vertices of a sparse graph, with the system managing asynchronous scheduling and consistency. Distributed GraphLab (VLDB 2012) extended it to the cloud.

People: My doctoral work at Carnegie Mellon, with Yucheng Low, Aapo Kyrola, Danny Bickson and my PhD advisor Carlos Guestrin. The work led to the company Turi (formerly GraphLab), which Apple acquired in 2016.

VLDB 2023 Test of Time Award (Distributed GraphLab)

Partitioning a small graph three ways: an edge-cut that duplicates ghost vertices compared with PowerGraph's vertex-cut that splits vertices into mirrors.

PowerGraph

Distributed graph computation on natural graphs

Real-world graphs have a few very high-degree vertices that overwhelm vertex-centric systems. PowerGraph decomposed vertex programs into gather, apply and scatter phases and partitioned graphs by cutting vertices instead of edges, spreading high-degree vertices across machines.

People: With Yucheng Low, Haijie Gu, Danny Bickson and Carlos Guestrin.

Layer diagram: graph algorithms like PageRank and SVD++ sit on a GAS/Pregel API, on a thin GraphX layer (2,500 lines), on top of Spark (30,000 lines).

GraphX

Graph processing in a distributed dataflow framework

GraphX showed that graph-parallel computation can be expressed with ordinary dataflow operators and optimized like database joins, so graphs and tables can share one system. It became the graph library of Apache Spark.

People: Developed in Berkeley's AMPLab with Reynold Xin, Ankur Dave and Daniel Crankshaw, who became one of my first PhD students.

Former Students' Research Paths

Several former students worked on related questions over many years, at Berkeley and afterward. The work in each case was theirs, done with many collaborators.

Daniel Crankshaw

  1. GraphX
  2. Velox
  3. Clipper
  4. InferLine

Worked on GraphX and then built the first generation of prediction-serving systems, Velox and Clipper, which InferLine later extended to model pipelines. His thesis, The Design and Implementation of Low-Latency Prediction Serving Systems, laid the foundation for the group's work on serving.

Simon Mo

  1. InferLine
  2. Ray Serve
  3. vLLM
  4. Inferact

Rewrote Clipper as Ray Serve and then contributed to open-source LLM inference with vLLM. His thesis is Building Open Source Inference Serving Systems.

Lianmin Zheng

  1. Alpa
  2. vLLM / Chatbot Arena
  3. SGLang

Worked on automatic parallelism for large models (Alpa), LLM serving and human-preference evaluation, and then created SGLang with Ying Sheng. His thesis is Scalable and Efficient Systems for Large Deep Learning Models.

Shishir Patil

  1. Gorilla
  2. RAFT
  3. BFCL

Worked on connecting LLMs to APIs (Gorilla) and then on how to evaluate tool use (BFCL). His thesis is Teaching Large Language Models to Use Tools at Scale.

Charles Packer

  1. MemGPT
  2. Letta

Worked on treating LLMs as operating systems (MemGPT) and then on building persistent, stateful agents at Letta. His thesis is Building Agentic Systems in an Era of Large Language Models.

The Research Timeline

The Question Behind the Research

If we solve today's hot problems, what new problems will those solutions create?

I have used this question to choose research directions throughout my career. In each case I assumed that someone would solve the hot problem of the day, and I asked what new problems their solution would create.

  1. Today The hot problem: Building capable AI agents. The bet: Someone will build highly capable agents, and people will use thousands of them. We will need to change how systems are built, how people oversee agents, and how models learn. Now working on: Agent-first systems, humans steering agent teams, negotiation through agents, and learning from teachers.
  2. 2015 The hot problem: Scaling up training. The bet: Someone will train a large model on vast data. The next challenge will be serving it and adapting it to new contexts. What followed: Inference systems: Clipper and Ray Serve, and later vLLM and SGLang.
  3. 2008 The hot problem: Building better models. The bet: Someone will build great models. The next challenge will be scaling learning to massive datasets and parallel hardware. What followed: ML systems: GraphLab, PowerGraph and GraphX.
  1. Post-training and new neural architectures
  2. Tool-using and persistent agents
  3. LLM inference and evaluation
  4. Systems for foundation models
  5. ML serving and tuning
  6. Distributed ML systems
  7. Large-scale graph learning

A Research Community

Most of these projects were led by PhD students I advised, working with collaborators across Berkeley's AMPLab, RISELab, Sky Computing Lab and LMSYS, and at other institutions. Former students have gone on to faculty positions, AI research labs and companies they founded.

See the current students and alumni, including thesis titles and projects, the latest publications, and short biographies.