Machine-readable versions: llms.txt · llms-full.txt · JSON API · CV PDF

Soobin Park (박수빈): LLM Inference & Serving Engineer

Source: https://cv.subin.rs (generated 2026-10-21 from the same data the site and https://cv.subin.rs/api serve).

Summary

LLM serving engineer focused on throughput and correctness.

At Rebellions I work on serving performance for customer deployments: memory budgeting, batching, prefill/decode disaggregation and capacity planning. Upstream I am a committer on vLLM Semantic Router and lead its Router Models & Inference Runtime working group, and have fixed silent bugs in transformers and mistral.rs.

Contact

Highlights

Experience

Forward Deployed Engineer, Rebellions (AI NPU Semiconductor) (June 2026 – Present, Seongnam, Korea)

Solution Engineer, Microsoft Korea (Jan 2026 – Mar 2026, Seoul, Korea)

Data Scientist, Munich Re Korea (Jan 2025 – Dec 2025, Seoul, Korea)

AI Researcher, NCSoft, Audio AI Lab (Mar 2024 – Aug 2024, Pangyo, Korea)

Open source

Upstream work on the LLM serving stack: routing and guardrails, KV-cache reuse, attention kernels, tokenizers and quantized-weight loading. Most of it is one kind of bug. The system does not crash or log; it returns a confident answer that is wrong. Verified against the GitHub API on 21 Oct 2026.

Totals: 114 pull requests, 86 merged upstream, 71 issues filed, 10 projects

vLLM Semantic Router (vllm-project/semantic-router)

The routing layer of the vLLM project (not the vLLM engine itself). Committer and lead of the Router Models & Inference Runtime working group.

Guardrails that read only the first 512 tokens: fixed at every call site, then at the kernel

Aug 31 – Oct 6, 2026 · 11 PRs · #3206 · #3643 · #3402 · #3460 · #4567 · 11 merged upstream

Links: PR #3206, PR #3334, PR #3369, PR #3643, PR #3650, PR #3841, PR #3402, PR #3460, PR #4567

Serving-path failures that never showed up in the logs

Sep 1 – Oct 10, 2026 · PR #3303 · #3454 · #4425 · #4508 · #4629 · #4630 · 6 merged upstream

Links: PR #3303, PR #3454, PR #4425, PR #4629, PR #4630

GPU fast paths for the router's own models, admitted only where answers hold

Oct 9 – 13, 2026 · PR #4779 · #4811 · #4813 · 3 merged upstream

Links: PR #4779, PR #4811, PR #4813

Decision 3.0 (27B) in FP8 and int4, loaded as stored

Oct 13 – 18, 2026 · PR #5066 · vllm-sr/d3-FP8 · vllm-sr/d3-W4A16-AWQ · Merged upstream · packages published

Links: PR #5066, d3-FP8, d3-W4A16-AWQ, pytorch#177573

Serving Decision 3.0 as CUDA graphs

Oct 13 – 20, 2026 · PR #4999 · #4998 · #5009 · #5270 · 4 merged upstream

Links: PR #4999, PR #4998, PR #5009, PR #5270

Model-runtime failures found bringing up the 27B model

Oct 17 – 20, 2026 · PR #5184 · #5183 · #5181 · #5179 · #5180 · #5185 · #5190 · 7 merged · 4 open

Links: PR #5184, PR #5183, PR #5181, PR #5220

Reusing a 14B model's KV cache in a 32B model

Oct 1 – 4, 2026 · PR #4497 · #4526 · epic #2976 · 1 merged · 1 in review

Links: PR #4497, PR #4526, Epic #2976

Making "which route wins" a contract instead of an accident

Aug 31 – Sep 21, 2026 · Proposal #3227 · 8 PRs · closes #3081 · 9 merged upstream

Links: Proposal #3227, Issue #3081, PR #4550

Decision questions that read the conversation, and answers checked against the question

Oct 5 – 9, 2026 · PR #4778 · #4573 · issue #4572 · 1 merged · 1 in review

Links: PR #4778, PR #4573, Issue #4572

One 0.6B decision model vs. eight per-signal encoders, on the same data

Sep 28 – Oct 4, 2026 · Issue #4305 · #4306 · Completed · published

Links: Issue #4306, Dataset, Model

Benchmarks that were measuring the training data

Aug 31 – Oct 7, 2026 · PR #3247 · #3248 · #4307 · #4308 · #4309 · #4565 · 6 merged upstream

Links: PR #3247, PR #4308, PR #4565, Issue #4301

The jailbreak detector answers a different question than the router asks

Sep 14 – Oct 4, 2026 · Issue #3787 · PR #3924 · #3945 · 2 merged · retrain in progress

Links: Issue #3787, PR #3924, PR #3945

Reproducible datasets from shadow traffic, for comparing routes

Sep 18 – Oct 13, 2026 · PR #3912 · #3915 · #3998 · #4087 · #4089 · #4123 · 6 merged upstream

Links: PR #3912, PR #3915, PR #4089, PR #4123

Response detection rebuilt as a composable routing signal

Sep 2 – 11, 2026 · PR #3335 · #3531 · epic #3272 · 3 merged upstream

Links: PR #3335, PR #3531, PR #3689, Epic #3272

PII scores that were confidently wrong

Aug 26 – Oct 13, 2026 · PR #3027 · #3141 · #3147 · #3080 · #3568 · #3694 · #4777 · 7 merged upstream

Links: PR #3027, PR #3141, PR #3147, PR #3080, PR #3568, PR #3694, PR #4777

Committer and working-group lead

Aug 26 – Oct 21, 2026 · Committer · WG lead · Committer since Sep 17

Links: Committers & team, WG roster, Merged PRs

Hugging Face transformers (huggingface/transformers)

Quantized-weight loading (merged) and tokenizer routing.

Silent corruption in FP8 weight loading: a fix, its revert, and 42 relabelled repos

Jul 8 – Aug 20, 2026 · PR #47152 · PR #48072 · 2 merged upstream

Links: Issue #47145, PR #47152, Revert #48072

Route byte-level llama tokenizers to TokenizersBackend

Jul 2, 2026 · PR #47017 · Open

Links: PR #47017, Issue #45488

mistral.rs (EricLBuehler/mistral.rs)

Vision-model support and engine fixes.

feat(models): Support PaddleOCR-VL vision model (rework of #2320)

Jul 26, 2026 · PR #2356 · Open

Links: PR #2356, Issue #2128

fix(llg): honor tokenizer special flag in toktrie detok

Jul 8, 2026 · PR #2319 · llguidance #361 · Open

Links: PR #2319, llguidance #361

fix(webui): send chat images as data URLs

Jul 11, 2026 · merged Aug 29 · PR #2338 · issue #2336 · Merged upstream

Links: PR #2338, Issue #2336

fix(mllama): CUDA image-inference crash, eager-only paged flag, vision head config

Jul 11, 2026 · PR #2337 · issue #2335 · Open

Links: PR #2337, Issue #2335

RBLN · work at Rebellions (RBLN-SW)

NPU serving stack: issue reports and prototypes.

Why a model that compiles cleanly runs out of NPU memory

Jul 31, 2026 · Fork branch · Prototype · used as an FDE deployment reference

Links: Branch, Diff

Empty last_hidden_state when prompt length is a multiple of prefill_chunk_size

Jul 28, 2026 · Issue #649 · Closed

Links: Issue #649

KV-cache events are never published on the optimum-rbln path

Aug 13, 2026 · Issue #922 · Open

Links: Issue #922

paddleocr-vl-rbln — PaddleOCR-VL recognition VLM on the NPU

Jul 21, 2026 · Repository · Public

Links: rebel-sbpark/paddleocr-vl-rbln, rbln-paddlex

My own repos (subin9)

Public NPU and Rust inference work.

paddleocr-vl-rs — Python-free Rust document-parsing pipeline

Jul 8, 2026 · Repository · Public

Links: subin9/paddleocr-vl-rs

vLLM (vllm-project/vllm)

LoRA classification heads, a Rust frontend and OpenTelemetry conformance.

LoRA adapters with multi-layer classification heads (RoBERTa, XLM-RoBERTa)

Oct 6, 2026 · PR #60211 · issue #60197 · Open

Links: PR #60211, Issue #60197

[Rust Frontend] Support --allowed-media-domains

Jul 26, 2026 · PR #49855 · Open

Links: PR #49855

Emit spec-required gen_ai.operation.name on request spans

Jul 5, 2026 · PR #47633 · Open

Links: PR #47633

Ollama (ollama/ollama)

Batch size for noncausal decision-model GGUFs.

Give noncausal decision models a whole-prompt batch

Oct 20, 2026 · PR #19159 · Open

Links: PR #19159

LG AI EXAONE (LGAI-EXAONE/EXAONE-4.0-32B)

Chat-template fix on the model repo.

chat_template: guard tool_call arguments against pre-serialized JSON

Aug 12, 2026 · HF PR #14 · Open

Links: HF discussions/14

Projects

Treaty Hub: RAG-Based Document Intelligence Ecosystem (2025)

Multi-service GenAI platform for reinsurance operations with version management and auto-update system, earning regional recognition and escalation to APAC offices (Singapore) for continued development.

Railog: Seoul Subway Real-Time Delay Prediction & Visualization (Ongoing)

End-to-end ML pipeline for Seoul Metro delay prediction — real-time ingestion, dbt feature engineering, RandomForest + MLflow model serving, 4 Airflow DAGs on K3s, and a live MapLibre map across 754 stations.

Taxi Driver Allocation: Real-time Demand Prediction & Optimal Dispatch System (2024)

XGBoost-based demand prediction with Hungarian algorithm optimization for taxi driver revenue increase. KISTI Director's Award winner.

Self-Hosted Homelab: Hybrid Infrastructure — Bare Metal, K3s & Mesh VPN (Ongoing)

Multi-host homelab: bare-metal Docker Compose (GMKtec K12), K3s cluster (Firebat T9), and Synology NAS — Nginx reverse proxy with wildcard TLS and Headscale mesh VPN for zero-trust access.

ChulhaGil: Knowledge-Graph–Based Agricultural Shipment Timing Advisor (Ongoing)

Knowledge-graph shipment-timing advisor for MAFRA Agriculture + AI Competition — dlt → PostgreSQL → Pydantic v2 → NetworkX pipeline over weather, price, and customs data.

Data Flow: Data Reconciliation Platform (2025)

End-to-end automation platform streamlining reinsurance data processing with intelligent validation, standardization, and reconciliation workflows.

Trend Radar: Market Intelligence Platform (2025)

AI-powered news aggregation with LLM-based filtering, translation, and semantic search for Korean insurance market.

Doc Compass: Hybrid Search Engine (2025)

Enterprise email search combining BM25 and vector similarity with adaptive weighting for precise retrieval.

Cancer Risk Prediction: Survival Analysis Model (2025)

Interpretable survival models with SurvSHAP(t) for cancer claim predictions using medical reimbursement data.

Speech Recognition: Age-Specific ASR Model (2023)

DeepSpeech2-based model for elderly and child speech. NIA Director's Award winner.

Sign Language Interpreter: Real-Time Emergency Medical Sign Language Translation (2023)

1st place at SNU Ambient AI Competition. MediaPipe + GRU pipeline for real-time emergency medical sign language translation, deployed as a Flutter tablet app for first responders.

Education

Korea University (Mar 2018 – Feb 2025)

Awards

Skills

Languages and certifications