Writing
Technical details, engineering practice, and a long-term view of the field and industry.
Browse by topic →-
What Makes Good Data Judgment? Liao Jiayi What does good data taste mean for large language models, from collection and selection to training, quality, and evaluation?
-
LLM Data Processing from Kimi K1.5 to K3 Liao Jiayi Notes on the data-processing techniques in the Kimi K1.5, K2, and K3 technical reports.
-
Large-Scale Text Deduplication for LLMs Liao Jiayi Deduplicating LLM documents well at scale is a complex problem.
-
Continual Learning: The Next Direction for Intelligence? Liao Jiayi #AI Continual learning lets models absorb feedback during use and keep improving, adding another path to intelligence beyond pretraining and post-training/RL.
-
Tracing Large Models in Recommendation Systems Liao Jiayi #AI#Recommendation systems#LLM New wine bottles for familiar ideas: how can LLM techniques systematically reshape recommendation systems?
-
Paper Notes Liao Jiayi Notes on papers I have read.
-
Reinforcement Learning Notes Liao Jiayi Exploring reinforcement-learning concepts and infrastructure.
-
SGLang Notes (Mainly Awesome-ML-SYS-Tutorial Notes) Liao Jiayi SGLang notes
-
(copy) MIT IAP 2025 / 6.S186 Liao Jiayi A few notes
-
LeRobot Notes: The Basic Workflow Liao Jiayi Notes on LeRobot datasets, training, and policies.
-
Image and Video Processing Pipelines Liao Jiayi Image and Video Processing Pipelines
-
The Robot LIBERO Dataset Liao Jiayi Notes from exploring the LIBERO robotics dataset.
-
Inside a General-Purpose LLM Evaluation Framework Liao Jiayi Inside a General-Purpose LLM Evaluation Framework
-
PyTorch Tensor Transformations Liao Jiayi PyTorch Tensor Transformations
-
Key Implementation Details of vLLM’s KV Cache Liao Jiayi #vLLM#KVCache#LLM KV caching is essential to vLLM inference. Growing contexts drive frequent architectural changes, including prefill/decode separation and new cache storage options.
-
DeepSpeed ZeRO: Source Code and Execution Flow Liao Jiayi How ZeRO reduces redundant GPU memory through sharding, with a walkthrough of DeepSpeed's initialization and training flow.
-
Frequently Used Tools Liao Jiayi Frequently Used Tools
-
Stream Processing (4) - Failover in Flink Liao Jiayi #Flink#Failover#Apache Flink How Flink failover works, why it limits some applications, and alternative recovery approaches.
-
Data Lakes (2) - How Iceberg's Core Features Work Liao Jiayi #Iceberg#Data Lake An exploration of Apache Iceberg's file organization, snapshots, deletes, schema evolution, and how its approach differs from Hudi.
-
Data Lakes (1) - How Hudi's Core Features Work Liao Jiayi #Hudi#Data Lake An overview of Hudi's design, timeline, table types, indexes, upserts, and incremental reads.
-
Inside Feast's Technical Architecture Liao Jiayi #Feast#Streaming#Flink A detailed look at Feast's architecture and core feature-store capabilities.
-
Ray Datasets - The Last Mile Before Model Training Liao Jiayi #Ray#DataSets Ray 1.8+ introduced Datasets to address the last mile before model training. These notes organize the concepts, based mainly on reading rather than extensive hands-on use.
-
Flink Fault Tolerance and Weakly Consistent Snapshots Liao Jiayi #Flink#Apache Flink Flink's checkpoint semantics, their limitations, and production approaches to weakly consistent snapshots.
-
Why Not RocksDB in Streaming State? Liao Jiayi #Flink#RocksDB#Apache Flink Why RocksDB, despite its strengths, is not an ideal match for large-scale streaming state in Apache Flink.
-
Hazelcast Jet - Low-Latency Stream Processing at the 99.99th Percentile Liao Jiayi #Flink#Apache Flink Notes on Hazelcast Jet's architecture, low-latency goals, and distributed state storage.
-
Customizing Serializers for Flink State Liao Jiayi #Flink#Apache Flink Custom state serializers can improve compatibility and performance in complex Flink applications.
-
RocksDB Memory Management in Flink Liao Jiayi #Apache Flink How Flink improved control of RocksDB memory, and the operational problems we encountered with managed memory.
-
How to Decide What Takes Priority Liao Jiayi #Career Technical skills determine whether work can be done; workplace soft skills help determine whether it succeeds. Reflections on prioritization from my own experience.
-
[Repost] Essential Traits for Surviving a Startup Liao Jiayi #nothing#Reflections Reposted from joining-hypergrowth-startups. I strongly agree with much of it and have personally experienced how these traits affect individuals, teams, and entire companies.
-
Why Do We Need Data Lakes? Liao Jiayi #Data Lake Growing interest in data lakes is driven by a qualitative change in user needs that traditional data warehouses and their components can no longer satisfy.
-
Avoiding Data Interruptions in Real-Time Recommendation with Single-Task Recovery Liao Jiayi #Apache Flink How ByteDance improved Flink recovery so a failed task does not interrupt the entire real-time recommendation pipeline.
-
Future Directions in Stream Processing Liao Jiayi #Stream processing#streaming#Apache Flink Thoughts inspired by the SIGMOD paper Beyond Analytics: The Evolution of Streaming Processing Systems.
-
Reading Notes on Practical Recommendation Systems Liao Jiayi #Recommendation systems#Reading and notes Notes from a book I took a long time to finish.
-
How Does Flink Unify Batch and Streaming Engines? Liao Jiayi #Apache Flink Guided by the 2015 paper Apache Flink: Stream and Batch Processing in a Single Engine, this article explores Flink’s unified architecture.
-
Reading Notes: What It Takes by Stephen Schwarzman Liao Jiayi #Stephen Schwarzman#Reading and notes I finished this book during a holiday trip to Guangzhou. Part memoir and part reflection on the lessons from different experiences, it is fairly candid and well worth reading.
-
Flink - Network Buffer Liao Jiayi #Flink#network#Apache Flink An introduction to network buffers in Flink.
-
Hudi Liao Jiayi #Hudi#Data Lake Notes on Apache Hudi, the open-source data lake framework led by Uber and shaped by its data-processing needs.
-
Flink StateBackend (4) - RocksDBStateBackend Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend RocksDBStateBackend stores large state in Flink.
-
Flink StateBackend (3) - FsStateBackend Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend FsStateBackend may be the most commonly used StateBackend at many companies.
-
Flink StateBackend (2) - DefaultOperatorStateBackend Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend DefaultOperatorStateBackend is a basic and relatively simple component of Flink's state backend.
-
Flink StateBackend (1) - Overview Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend If I had to name one particularly impressive feature of Flink as a stream-processing engine, State and StateBackend would be it.
-
Ray - A Distributed Framework for Emerging AI Applications Liao Jiayi #Ray#Technology Notes on Ray, a distributed framework designed for reinforcement learning and emerging AI workloads.
-
Data Skew Liao Jiayi Stream processing often encounters data skew. A common solution salts keys to redistribute records more evenly, then computes metrics through two-stage aggregation.
-
Calcite Paper Liao Jiayi I have been building a SQL engine and took the opportunity to reread the Calcite paper. Documentation on Calcite is frustratingly sparse.
-
Stream Processing (3) - Rule Engines and Flink CEP Liao Jiayi The architecture of rule-engine services and the implementation of complex event processing in Flink.
-
Flink StateBackend - DefaultOperatorStateBackend Liao Jiayi #Flink#Apache Flink Since the existing StateBackend implementations only override KeyedStateBackend, all Operator State uses DefaultOperatorStateBackend for snapshots.
-
Flink StateBackend - Overview Liao Jiayi #Flink#Apache Flink How to build a State Backend in Flink from scratch.
-
Interactions Between Flink and HDFS Liao Jiayi #Flink#Apache Flink Understanding the interactions between Flink and HDFS helps clarify the problems HDFS may introduce into Flink.
-
Kryo (Class cannot be created (missing no-arg constructor)) Liao Jiayi #kryo#Technology Kryo can serialize Java classes that do not implement Serializable in various ways, but deserializing certain objects, such as those without a no-argument constructor, can produce this error.
-
Rpc In Flink Liao Jiayi #Apache Flink Apache Flink uses Akka for communication between its Dispatcher, JobMaster, ResourceManager, and TaskExecutor components.
-
Flink CEP Liao Jiayi #Apache Flink CEP A source-code-oriented introduction to Flink CEP, revisiting my earlier notes while preparing an online walkthrough.
-
Why Not Use RocksDB as a StateBackend? Liao Jiayi #Database#Apache Flink RocksDB is a popular lightweight embedded key-value database. Flink uses it in RocksDBStateBackend to store large state.
-
Amazon Leadership Principles Liao Jiayi This was the first course I bought on Geek Time. These are simply my notes.
-
Optimizing Backpressure in Flink’s Network Stack Liao Jiayi #Flink#Apache Flink Flink’s backpressure mechanism is often praised, but a production problem led me to discover that it is not perfect.
-
Disruptor Liao Jiayi #Disruptor#Technology Disruptor is a lock-free message queue introduced by LMAX in 2011. Its 45-minute presentation contains many ideas worth exploring.
-
Notes on Practical Linux Performance Optimization Liao Jiayi #Linux#Notes Summaries and reflections from the Geek Time course on Linux performance optimization.
-
Flink - StreamTask With Mailbox Liao Jiayi #Flink#Apache Flink A recent proposal on Flink’s development mailing list refactors StreamTask. Reading it reminded me how elegantly simple a good solution can be.
-
GC Problems in Spark Streaming Under Light Workloads Liao Jiayi #JVM A Spark troubleshooting case involving a simple job that reads from Kafka, applies tagging operators, and writes to Hive.
-
Optimizing SparkSQL Writes to Hive Dynamic Partitions Liao Jiayi #Spark#Apache Spark Hive tables are often partitioned by time and populated through SparkSQL dynamic-partition inserts. This reveals an opportunity for optimization.
-
Influence Without Authority Liao Jiayi Influence Without Authority
-
Database (1) - HBase Transactions Liao Jiayi #Database#Transaction#HBase A discussion of HBase’s transaction mechanisms.
-
Watermarks in Apache Flink Liao Jiayi #Flink#Watermark#Apache Flink An introduction to Apache Flink’s watermark mechanism.
-
Flink Schedule Mode Liao Jiayi #Flink#Apache Flink Apache Flink schedules resources differently for streaming and batch data. This week’s brief post introduces the two modes.
-
Flink Meetup - Real-Time User Behavior Analytics with Flink Liao Jiayi #Flink#meetup#Apache Flink Lessons from GrowingIO's migration from Spark to Flink for real-time analytics, presented at the Beijing Flink Meetup.
-
Aerospike (3) - Eviction Liao Jiayi In real-time applications, eviction in systems such as Aerospike and Redis helps prevent storage failures caused by traffic spikes.
-
CEP In Flink (4) - Usage Bottlenecks Liao Jiayi Bottlenecks encountered when using the Apache Flink CEP module.
-
CEP In Flink (3) - Extracting Matched Events Liao Jiayi How matched events are extracted in Apache Flink’s CEP module.
-
Stock Photography Platforms: Categories and Comparisons Liao Jiayi #Photography#Travel photography An introduction to stock photography platforms including 500px, DFIC, and ZCOOL Hellorf.
-
CEP In Flink (2) - Matching CEP Rules Liao Jiayi How Apache Flink matches CEP rules.
-
Spark - Cleaning Up Objects with WeakReference Liao Jiayi #JVM#Spark#Apache Spark A Stack Overflow question about when Spark reclaims Accumulator and Broadcast variables led me to explore how ContextCleaner uses WeakReference and a reference queue to clean up unused objects.
-
Semporna - Scuba Junkie - New Year and Dive Certification Liao Jiayi #Diving#Travel A travelogue of a wonderful trip diving and earning my certification at Scuba Junkie.
-
CEP In Flink (1) - Parsing CEP Rules Liao Jiayi How Apache Flink parses CEP rules.
-
Diving Log Liao Jiayi I am grateful I made this mistake early in my diving experience, rather than later at greater depths and in harsher conditions.
-
Seven Reasons to Use Apache Flink in IoT Liao Jiayi #IoT#Flink#Apache Flink An English rendering of my Chinese translation of the data Artisans article on stream processing and Apache Flink in IoT.
-
[Translation] Flink - Savepoint vs Checkpoint Liao Jiayi #Flink#Checkpoint#Apache Flink Translated from the Data Artisans blog, this article compares Savepoints and Checkpoints in Apache Flink.
-
How Can Flink State Be Initialized Without a Checkpoint? Liao Jiayi #Flink#Checkpoint#Apache Flink Three approaches to initializing Apache Flink state when no usable Checkpoint or Savepoint exists.
-
java.lang.OutOfMemoryError: Map failed Liao Jiayi #JVM An incident in which Map Failed caused a JVM out-of-memory error, with its causes and remedies.
-
Oracle SQL - CEP Syntax Liao Jiayi #SQL#Apache Flink CEP CEP is a major real-time processing capability. Mature systems such as Siddhi and EsperTech have their own syntax; incorporating CEP into SQL makes for an interesting alternative.
-
SQL Parsing Framework - Calcite Liao Jiayi Calcite, a widely used general-purpose SQL parsing framework.
-
Bitmap - Performance and Implementation Liao Jiayi Notes on bitmap compression techniques and RoaringBitmap's implementation and performance.
-
Table In Flink Liao Jiayi #Flink#Apache Flink Some notes on the Table APIs, which I had not used before.
-
Aerospike (2) - The Write Mechanism Liao Jiayi Aerospike’s write mechanism and the problems it can encounter.
-
Understanding hs_err_pid.log Liao Jiayi #Memory#Linux#JVM A guide to JVM fatal-error logs, including thread states, native frames, and memory information.
-
Aerospike (1) - Introduction Liao Jiayi An introduction to Aerospike’s use cases, data model, and indexes, with guidance on choosing it based on its strengths and weaknesses.
-
Flink - Exactly Once Liao Jiayi #Flink#Exactly-once#Apache Flink An introduction to Exactly Once semantics in Flink.
-
Sorting Algorithms Liao Jiayi #Algorithm#Programming fundamentals Sorting is fundamental, but different algorithms embody different ideas worth studying. To reinforce my understanding, I am implementing the basic sorting algorithms by hand.
-
Programming Fundamentals Liao Jiayi #Algorithm#Programming fundamentals Important fundamentals that do not always arise in daily work.
-
LeetCode Liao Jiayi #programming#Programming fundamentals Notes on LeetCode solutions.