zhaochenyang20/Awesome-ML-SYS-Tutorial

My learning notes for ML SYS.

이게 뭔가요

Awesome-ML-SYS-Tutorial은 약 1년 동안 한 사람이 쓴 블로그 길이의 엔지니어링 노트 시리즈로, ML 시스템(ML SYS) 및 AI 인프라(AI Infra) 즉, 대규모 언어 모델(LLM)과 멀티모달 모델을 실제로 빠르고 안정적이며 정확하게 실행하게 만드는 소프트웨어에 관한 것입니다.

저자는 2024년 8월에 SGLang(LLM용 추론 엔진) 사용법을 배우면서 이 노트를 시작했습니다. 그 이후로 컬렉션은 소수의 기사와 약 30~50개의 GitHub 스타에서 4,500개 이상의 스타로 성장했습니다. 콘텐츠는 주로 강화 학습(RL) 인프라, 온라인/오프라인 추론 시스템, AI 인프라 기본 사항에 관한 것입니다.

저자가 글을 쓰는 이유

핵심 동기는 강화 학습에 관한 연구 논문의 결론은 그것이 실행되는 인프라가 신뢰할 수 있을 때만 신뢰할 수 있다는 신념입니다. 저자는 1년 넘게 RL 인프라 개발에 종사해 왔으며 오픈소스와 회사 내부 RL 인프라 모두에 심각한 결함이 있는 경우가 많다는 것을 관찰했습니다. 저자는 그러한 결함이 있는 시스템에서 파생된 고수준 연구 결과가 정확하다고 간주될 수 있는지 의문을 제기하며, 그로부터 도출된 결론이 신뢰할 수 있도록 올바른 기반을 구축하는 데 도움을 주고자 합니다. 이것이 저자가 SGLang RL 커뮤니티에 참여하는 이유이기도 합니다(저자는 RadixArk에 풀타임으로 합류하여 RL 인프라 연구를 계속하고 있으며 독자들에게 SGLang 오픈소스 커뮤니티에 참여할 것을 권장합니다).

누가 썼나요

저자(zhaochenyang20)는 Quanquan Gu 교수, Ying Sheng 박사, Linmin Zheng 박사의 지도 아래 AI 인프라를 공부했습니다. UCLA에서 박사 과정을 시작했지만 개인적인 사유로 완주하지 못했습니다. 현재는 RadixArk에서 RL 인프라에 풀타임으로 종사하고 있습니다. 저자는 이 프로젝트 덕분에 "마이너 기술 인플루언서"가 되었다고 스스로를 설명합니다.

내용

README는 노트를 여러 주제별 섹션으로 구성합니다. 각 기사에는 일반적으로 영어 버전, 중국어 버전, 그리고 종종 Zhihu(중국 Q&A 플랫폼) 게시물에 대한 링크가 있습니다. 많은 항목은 심층 소스 코드 분석, 최적화 보고서 또는 논문 분석입니다. README가 다루는 내용은 다음과 같습니다.

1. 옴니 모델 추론 노트

텍스트, 오디오, 이미지 등을 처리하는 멀티모달 모델인 "옴니" 모델에 관한 기사. 주제는 다음과 같습니다.

  • Qwen3-Omni(모델)가 추론을 수행하는 방법에 대한 심층 분석. 코덱 및 "Dual AR"과 같은 구성 요소를 다룹니다.
  • SGLang 추론 엔진이 OOM(메모리 부족) 오류를 발생시킬 때 실제로 무엇이 메모리를 소진하는지.
  • 다단계 생성 모델에 대해 SGLang Omni가 디코딩 특성에 따라 재설계된 이유.
  • 캐싱 및 스트리밍과 같은 엔지니어링 기술을 통해 SGLang Omni에서 텍스트 음성 변환(TTS) 추론이 1.9~3.4배 빨라진 방법.
  • 공유 계약을 중심으로 아키텍처가 다른 6개의 TTS 백엔드를 리팩터링(비테스트 줄 약 2,840줄 순 감소).
  • CPU 리소스가 음성 모델 서빙에 미치는 영향. CI에서 4배 성능 변동이 코드 변경이 아닌 호스트 CPU 경합으로 판명된 흥미로운 사례 포함.
  • SGLang Omni에서 배치 크기 선택의 장단점.

2. RLHF 시스템 개발 노트

이것은 모델을 인간의 선호도에 맞추는 훈련 기술인 RLHF(인간 피드백으로부터의 강화 학습)를 다루는 가장 큰 섹션입니다. 여러 프레임워크와 테마로 나뉩니다.

  • slime 프레임워크 — 저자가 작업하는 특정 RL 프레임워크. 기사에서는 LLM 및 비전-언어 모델(VLM)을 위한 멀티턴 RL, RL 훈련을 위한 INT4 양자화, FSDP2 훈련 백엔드 추가(Qwen3-Next 및 gpt-oss와 같은 모델 아키텍처에 대해 Megatron보다 유연함), 안정적인 MoE RL을 위한 FP8 정밀도, 투기적 디코딩(작은 "드래프트" 모델을 사용하여 샘플링 속도 향상), 소스 코드 분석, 그리고 약 100~300배 속도 향상을 제공하는 GAE(RL 어드밴티지 추정 알고리즘)의 청크 병렬 계산에 대해 다룹니다.
  • AReal 프레임워크 — 소스 코드 분석.
  • 시스템 설계 및 최적화 — FSDP를 사용한 DeepSeek의 Mixture-of-Experts 아키텍처, 가중치 업데이트 메커니즘(6개월 작업 요약), FSDP 훈련 백엔드 원리, Megatron의 기본 기능, OpenRLHF에 SGLang 통합("매우 고통스럽다"고 설명되며 해결되지 않은 nccl hang 오류가 남아 있음), 그리고 CUDA의 CuTeDSL로 구현된 장문맥 추론을 위한 DuoAttention에 대한 심층 분석.
  • verl 프레임워크 — 소스 코드 분석(초기화, 롤아웃, 경험 생성, AgentLoop), 매개변수 참조, torch 메모리 스냅샷을 통한 메모리 누수 분석, 가중치 업데이트 대기 시간 최적화, 멀티턴 훈련 및 도구 호출, Search-R1 통합, 그리고 verl의 기반이 되는 HybridFlow 논문 분석.
  • OpenRLHF 프레임워크 — 소스 코드 분석을 포함한 PPO 원리(다른 저자 "Ms. Mengyuan"의 일러스트 시리즈 포함), 그리고 포스트 트레이닝 시스템 계산 흐름에 대한 간략한 분석.
  • 알고리즘 및 이론 — 장기 에이전트 RL을 사용한 경쟁 수학(IMO)을 위한 TEMPO 접근법, Kimi K1.5의 장문맥 RL, 규칙 기반 보상, 벤치마크로서의 SWE-Bench(좋은 평가 작업을 구축하는 방법), 그리고 주류 정렬 알고리즘 및 NeMo-Aligner에 대한 설문 조사에 대한 노트.

3. SGLang 학습 노트

SGLang 추론 엔진 자체에 중점을 둡니다.

  • 확산 학습 노트 — SGLang이 확산 스타일 LLM(예: LLaDA 2.0)을 어떻게 지원하는지, 그리고 확산 처리 파이프라인의 코드 분석.
  • 핵심 아키텍처 및 최적화 — KV 캐시 스케줄링에 대한 기사("KV 캐시에서 제로 오버헤드 스케줄링까지")로 시작하지만, README 텍스트는 이 지점에서 잘려나가 이 섹션의 전체 내용은 표시되지 않습니다.

기사 태그 및 상태

일부 항목은 **[검토 대기 중]**으로 표시되어 있고(아직 완전히 검증되지 않음) 하나는 **[미완성]**으로 표시되어 있습니다. README는 또한 저자가 오픈소스 협업의 강력한 지지자이며 관심 있는 독자를 SGLang 커뮤니티에 명시적으로 초대한다고 언급합니다.


참고 사항: README 자체는 마지막(SGLang 학습 노트 섹션 중)에서 문장 중간에 잘려 있습니다. 따라서 이 요약은 제공된 README에 표시된 모든 것을 다룹니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트