Yuhan Liu 0004

dblp:125/8141-4 · DBLP profile ↗
← Back
9ranked-venue papers
3as first author
9since 2021 · last 2026
0009-0002-5957-5071ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 1 first-author · 4 since 2021Computer networks · 3 · 2 first-author · 3 since 2021Systems, architecture and hardware · 2 · 2 since 2021
YearPublicationVenuePosition
2026 DroidSpeak: KV Cache Sharing Across Fine-tuned Model Variants
Yuhan Liu 0004, Shaoting Feng, Zhuohan Gu, Kuntai Du, Hanchen Li, Yihua Cheng, Junchen Jiang, Shan Lu 0001, Madan Musuvathi, Esha Choukse
NSDI1
2026 Keeper: Automated Testing and Fixing of Machine Learning Software - RCR Report
abstract
This artifact aims to provide source code, benchmark suite, results, and materials used in our study “Keeper: Automated Testing and Fixing of Machine Learning Software” [ 3 ]. We developed an automated testing and fixing tool Keeper and its IDE plugin for ML software. It automatically detects software defects and attempts to change how ML APIs are used to alleviate software misbehavior. This artifact provides guidelines to set up and execute Keeper and also guidelines to interpret our evaluation results. We hope this artifact can motivate and help future research to further tackle ML API misuses. All related data are available online.
Chengcheng Wan 0001, Shicheng Liu, Sophie Xie, Yuhan Liu 0004, Michael Maire, Henry Hoffmann, Shan Lu 0001
ACM Trans. Softw. Eng. Methodol.4
2025 CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion
abstract
Large language models (LLMs) often incorporate multiple text chunks in their inputs to provide the necessary contexts. To speed up the prefill of the long LLM inputs, one can pre-compute the KV cache of a text and re-use the KV cache when the context is reused as the prefix of another LLM input. However, the reused text chunks are not always the input prefix, which makes precomputed KV caches not directly usable since they ignore the text's cross-attention with the preceding texts. Thus, the benefits of reusing KV caches remain largely unrealized.
Hanchen Li, Yuhan Liu 0004, Siddhant Ray, Yihua Cheng, Qizheng Zhang, Kuntai Du, Shan Lu 0001, Junchen Jiang
EuroSys3
2024 GRACE: Loss-Resilient Real-Time Video through Neural Codecs
Yihua Cheng, Hanchen Li, Anton Arapin, Qizheng Zhang, Yuhan Liu 0004, Kuntai Du, Francis Y. Yan, Amrita Mazumdar, Nick Feamster, Junchen Jiang
NSDI7
2024 ChameleonAPI: Automatic and Efficient Customization of Neural Networks for ML Applications
Yuhan Liu 0004, Chengcheng Wan 0001, Kuntai Du, Henry Hoffmann, Junchen Jiang, Shan Lu 0001, Michael Maire
OSDI1
2024 CacheGen: KV Cache Compression and Streaming for Fast Large Language Model Serving
abstract
As large language models (LLMs) take on complex tasks, their inputs are supplemented with longer contexts that incorporate domain knowledge. Yet using long contexts is challenging as nothing can be generated until the whole context is processed by the LLM. While the context-processing delay can be reduced by reusing the KV cache of a context across different inputs, fetching the KV cache, which contains large tensors, over the network can cause high extra network delays.
Yuhan Liu 0004, Hanchen Li, Yihua Cheng, Siddhant Ray, Qizheng Zhang, Kuntai Du, Shan Lu 0001, Ganesh Ananthanarayanan, Michael Maire, Henry Hoffmann, Ari Holtzman, Junchen Jiang
SIGCOMM1
2024 Keeper: Automated Testing and Fixing of Machine Learning Software
abstract
The increasing number of software applications incorporating machine learning (ML) solutions has led to the need for testing techniques. However, testing ML software requires tremendous human effort to design realistic and relevant test inputs and to judge software output correctness according to human common sense. Even when misbehavior is exposed, it is often unclear whether the defect is inside ML API or the surrounding code and how to fix the implementation. This article tackles these challenges by proposing Keeper, an automated testing and fixing tool for ML software. The core idea of Keeper is designing pseudo-inverse functions that semantically reverse the corresponding ML task in an empirical way and proxy common human judgment of real-world data. It incorporates these functions into a symbolic execution engine to generate tests. Keeper also detects code smells that degrade software performance. Once misbehavior is exposed, Keeper attempts to change how ML APIs are used to alleviate the misbehavior. Our evaluation on a variety of applications shows that Keeper greatly improves branch coverage, while identifying 74 previously unknown failures and 19 code smells from 56 out of 104 applications. Our user studies show that 78% of end-users and 95% of developers agree with Keeper’s detection and fixing results.
Chengcheng Wan 0001, Shicheng Liu, Sophie Xie, Yuhan Liu 0004, Henry Hoffmann, Michael Maire, Shan Lu 0001
ACM Trans. Softw. Eng. Methodol.4
2023 OneAdapt: Fast Adaptation for Deep Learning Applications via Backpropagation
abstract
Deep learning inference on streaming media data, such as object detection in video or LiDAR feeds and text extraction from audio waves, is now ubiquitous. To achieve high inference accuracy, these applications typically require significant network bandwidth to gather high-fidelity data and extensive GPU resources to run deep neural networks (DNNs). While the high demand for network bandwidth and GPU resources could be substantially reduced by optimally adapting the configuration knobs, such as video resolution and frame rate, current adaptation techniques fail to meet three requirements simultaneously: adapt configurations (i) with minimum extra GPU or bandwidth overhead (ii) to reach near-optimal decisions based on how the data affects the final DNN's accuracy, and (iii) do so for a range of configuration knobs. This paper presents OneAdapt, which meets these requirements by leveraging a gradient-ascent strategy to adapt configuration knobs. The key idea is to embrace DNNs' differentiability to quickly estimate the accuracy's gradient to each configuration knob, called AccGrad. Specifically, OneAdapt estimates AccGrad by multiplying two gradients: InputGrad (i.e., how each configuration knob affects the input to the DNN) and DNNGrad (i.e., how the DNN input affects the DNN inference output). We evaluate OneAdapt across five types of configurations, four analytic tasks, and five types of input data. Compared to state-of-the-art adaptation schemes, OneAdapt cuts bandwidth usage and GPU usage by 15-59% while maintaining comparable accuracy or improves accuracy by 1-5% while using equal or fewer resources.
Kuntai Du, Yuhan Liu 0004, Yitian Hao, Qizheng Zhang, Ganesh Ananthanarayanan, Junchen Jiang
SoCC2
2023 Run-Time Prevention of Software Integration Failures of Machine Learning APIs
abstract
Due to the under-specified interfaces, developers face challenges in correctly integrating machine learning (ML) APIs in software. Even when the ML API and the software are well designed on their own, the resulting application misbehaves when the API output is incompatible with the software. It is desirable to have an adapter that converts ML API output at runtime to better fit the software need and prevent integration failures. In this paper, we conduct an empirical study to understand ML API integration problems in real-world applications. Guided by this study, we present SmartGear, a tool that automatically detects and converts mismatching or incorrect ML API output at run time, serving as a middle layer between ML API and software. Our evaluation on a variety of open-source applications shows that SmartGear detects 70% incompatible API outputs and prevents 67% potential integration failures, outperforming alternative solutions.
Chengcheng Wan 0001, Yuhan Liu 0004, Kuntai Du, Henry Hoffmann, Junchen Jiang, Michael Maire, Shan Lu 0001
Proc. ACM Program. Lang.2