Skip to content
View LiRunGuo's full-sized avatar

Block or report LiRunGuo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LiRunGuo/README.md

Runguo Li — ML Systems for Large Models

Streaming MoE experts from disk to GPU · Compressing KV caches for long chain-of-thought · Fixing kernels in PyTorch, vLLM, Triton and LLVM · Applying to Ph.D. programs for Fall 2028

Website Google Scholar ORCID CV Email

👋 About me

  • 🎓 M.S. in Information Science at UIUC, applying to Ph.D. programs in ML systems for Fall 2028.
  • ⚙️ I work between the model and the machine: MoE inference and expert streaming, KV-cache compression, distributed training and RL rollout, GPU compilers and kernels.
  • 🔬 Upstream-first: reproduce the failure in the real stack, fix it there, and ship the regression test with before/after numbers.

🛠️ Merged upstream — 20 PRs across 13 projects

PyTorch vLLM LLVM DeepSpeed JAX SGLang FlashAttention
Triton Apache TVM verl LMCache vLLM-Omni colibri

⚡ Inference and serving

Project What I fixed PR
vLLM int4 per-token-head KV cache now runs on head sizes that are not powers of two (Phi-3, head = 96) instead of aborting engine startup #56198
SGLang a failing DeepEP import-time host check no longer kills every server process, including dense models that never use DeepEP #40671
FlashAttention SM90 forward tile fitted to the block-sparse block size (8 → 32 of 40 configurations work); causal mask skipped on unmasked KV blocks (580 → 477 instructions per loop) #2903 · #2904
vLLM-Omni block-sparse attention in the Qwen2.5-Omni Token2Wav DiT, replacing a dense mask over 4,000 keys (DiT 10.8 s → 2.87 s); a stray audio placeholder is rejected instead of crashing the engine #7975 · #7959
LMCache the allocator rejects invalid sizes instead of silently emptying the cache; lazy %-format logging enforced #5117 · #5125
colibri multi-drive expert streaming for the 510 GB DeepSeek-V4.1 container; OpenMP team sizing in four engines that were 18.7× slower without it; plan and engine made to agree #1522 · #1517 · #1526

🧩 Compilers and frameworks

Project What I fixed PR
PyTorch int32 overflow in the cdist CUDA backward kernel, where indices wrapped negative past 2³¹ into an illegal memory access #198452
LLVM the Attributor's AAPointerInfo tracked non-pointer casts as pointers and asserted at PHIs; it now follows only address-space casts #225290
JAX jax.scipy.linalg.lu accepts the batched (..., M, N) inputs its documentation promises #40931
Triton nested-loop fusion trusted an llvm.assume outside the loop and dropped a zero-trip guard; fp64 atomic_xchg on AMD buffer atomics crashed codegen #11521 · #11904
Apache TVM ONNX Hardmax lowers when the reduced axis has a symbolic extent #20416

🏋️ Training and RL post-training

Project What I fixed PR
DeepSpeed ZeRO-3 rollout deadlock from unsynchronized generation stopping; Hybrid Engine falls back on unsupported architectures (H200, MI250) #8264 · #8265
verl FSDP value-head critic loading restored after TRL relocated its value-head classes #7625

Every fix ships with a reproducer or regression test. Write-ups for each one are in the portfolio.

📝 Papers

🧰 Building

  • ARH — AI Research Helper: a CLI-first research assistant agent with tool use, plan/execute safety, three-layer memory, skill self-learning and multi-LLM fallback.

Contribution graph eaten by a snake

Pinned Loading

  1. DeepSpeed DeepSpeed Public

    Forked from deepspeedai/DeepSpeed

    DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.

    Python

  2. LMCache LMCache Public

    Forked from LMCache/LMCache

    LMCache: Supercharge Your LLM with the Fastest KV Cache Layer

    Python

  3. sglang sglang Public

    Forked from sgl-project/sglang

    SGLang is a high-performance serving framework for large language models and multimodal models.

    Python

  4. vllm vllm Public

    Forked from vllm-project/vllm

    A high-throughput and memory-efficient inference and serving engine for LLMs

    Python

  5. Arhelper Arhelper Public

    Python 3

  6. lirunguo.github.io lirunguo.github.io Public

    SCSS 1