Jonathan Chang - Personal Website

Jonathan Chang, machine learning engineer with focus on LLMs and generative models

Jonathan Chang

I'm a machine learning engineer focused on LLM inference and AI research. I build open-source tools and experiments.

email: contact at jonathanc dot net

Projects

Timeline illustrating how a model carries reasoning forward across multiple conversation turns

The Reasoning Sink Hypothesis

Research, 2026

How models may preserve hidden reasoning across multi-turn interactions

Chart comparing mixture-of-experts maximum load violation across causal routing methods

Causal Routing Bias for Aux-Loss-Free MoE Training

Research, 2026

Causal router-side balancing methods for aux-loss-free MoE training

Claude Code running as a daemon with isolated user permissions

Claude Daemon

Tutorial, 2025

Running Claude Code as an isolated macOS user with browser access

Performance comparison chart showing tokens per second between flex-nano-vllm and vLLM

flex-nano-vllm

Code, 2025

A minimal vLLM inference engine built from scratch using PyTorch FlexAttention

MIST robot prototype showing expressive face

Project MIST

Experiment, 2025

Building the MIST robot prototype with AI-assisted design

... View all

More Projects

Archive

Browse all projects

Blog

Timeline

2022 - 2024 · Taboola

Spend some time working in algorithm team, worked on feature engineering and designed experiments. Later joined the Generative AI team, where I integrated and optimized SoTA image models into our product.

2021-2022 · BigScience Project

I contributed to the BigScience project, mainly in the metadata working group. I worked on the training codebase and conducted research experiments on using metadata to improve language model performance.

2021-2022 · ASUS AICS

I spent 6 months in the AICS department, where we collaborated with local hospitals. I worked on medication recommendation models using BERT.

2020-2021 · NTU MiuLab

I worked with Prof. Yun-Nung Chen on SoTA Dialogue System based on GPT2. We participated in the Situated Interactive MultiModal Conversations (SIMMC) Challenge (DSTC9) and achieved 3rd place.

2020 · Google

Spent a summer at Google, internship was replaced with a remote project due to COVID-19. I worked on a project using NLP to recommend relevant articles to users.

2017-2021 · National Taiwan University

Completed my undergraduate studies in Computer Science, focusing on machine learning and artificial intelligence. I was a TA for the course Applied Deep Learning.

Frequently Asked Questions

What is LLMProc and how does it differ from traditional agent frameworks?

LLMProc reframes LLM applications as Unix-like processes rather than agents. It provides powerful abstractions like fork() for parallel exploration, goto() for context management and time-travel debugging, and a file descriptor system for handling large tool outputs. This process-based approach makes scaling and managing LLM execution more intuitive using familiar computing paradigms.

How does minLoRA achieve such parameter efficiency?

minLoRA implements Low-Rank Adaptation (LoRA) in just ~100 lines of code. It freezes pre-trained model weights and injects trainable low-rank decomposition matrices, dramatically reducing trainable parameters from millions to thousands. Built on PyTorch's native parametrization system, it works seamlessly with any torch.nn.Module without modifying model definitions.

What makes Additive Rotary Embedding different from standard RoPE?

Additive Rotary Embedding (AddRoPE) modifies RoPE by making position encoding additive rather than multiplicative, with learnable weights and phase offsets. This allows models to selectively ignore certain frequencies and provides more natural attention patterns. In experiments, it matches or slightly outperforms RoPE while being computationally faster.

What programming languages and frameworks do you primarily work with?

I primarily work with Python for machine learning projects, using frameworks like PyTorch, Transformers, and FastAPI. For web applications, I use modern JavaScript/TypeScript with tools like Bun and Tailwind CSS. I also have experience with shell scripting and Unix-based systems, which influences my approach to building tools like LLMProc.

Are your projects open source and how can I contribute?

Yes, all my projects are open source and available on GitHub. I welcome contributions! Each repository has its own contribution guidelines, but generally I appreciate bug reports, feature suggestions, documentation improvements, and code contributions. Feel free to open issues or pull requests on any project that interests you.