abseil
82편Abseil Tip of the Week 를 한국어로 옮긴 글 모음입니다. string_view, unique_ptr, 임시 객체와 수명처럼 C++ 를 쓰면서 매번 다시 확인하게 되는 주제를 한 편에 하나씩 다룹니다.
Abseil Tip of the Week 를 한국어로 옮긴 글 모음입니다. string_view, unique_ptr, 임시 객체와 수명처럼 C++ 를 쓰면서 매번 다시 확인하게 되는 주제를 한 편에 하나씩 다룹니다.
오픈소스 추론 엔진을 한 커밋에 고정해 놓고 처음부터 끝까지 읽는 연재입니다. 실행 경로를 따라가며 각 편이 코드의 특정 구간과 그 설계 이유를 다룹니다.
LLM 추론을 빠르게, 싸게 만드는 방법을 다룬 논문 리뷰입니다. 추측 디코딩, KV 캐시 압축, 프롬프트 압축, 희소성 활용, 이기종 파이프라인 등을 다룹니다.
KV 캐시를 줄이고, 버리고, 다시 쓰는 방법을 다룬 논문 리뷰입니다. 압축·양자화·축출 신호·오프로딩·접두사 재사용을 한 자리에 모았습니다.
긴 문맥을 감당하는 방법을 다룬 논문 리뷰입니다. 희소 어텐션, 문맥 압축과 재계산, 상태공간 모델, 백만 토큰급 서빙을 다룹니다.
여러 GPU·노드에 걸친 LLM 서빙과 학습을 다룬 논문 리뷰입니다. 프리필/디코드 분리, 파이프라인 병렬, 통신-연산 겹치기, 스케줄링과 에너지를 다룹니다.
LLM 서빙 프레임워크를 처음 열면 대개 스케줄러부터 찾는다. 하지만 스케줄러 코드를 아무리 읽어도 “이 함수는 누가 부르고, 저 큐에는 누가 넣는가"가 풀리지 않는다. Mini-SGLang 은 한 프로세스짜리 프로그램이 아니기 때 …
1편에서 스케줄러가 받은 것은 CPU 위의 1차원 int32 텐서였다. 그 토큰열이 답으로 자라는 동안, 시스템은 “이 요청이 어디까지 갔는가"를 어딘가에 적어 두어야 한다. 그 장부가 Req 다.
2편에서 요청 하나는 세 길이로 표현되는 장부가 됐다. 이제 질문은 하나다. 대기 중인 요청이 여럿일 때, 이번 스텝에 무엇을 얼마나 넣을 것인가. 답은 예산 두 개와 조건 다섯 개다. 그리고 예산을 넘는 프롬프트를 어떻게 처리하는지에 이 저장소의 깔 …
3편에서 요청 하나가 “자리를 잡았다"고 했다. 그 자리의 정체가 이 편의 주제다. KV cache 는 페이지 단위로 관리된다. 그런데 요청마다 하나씩 있는 page_table 을 열어 보면 페이지 번호가 아니라 토큰 하나하나의 위 …
4편에서 요청 하나가 자기 자리를 잡는 법을 봤다. 그런데 같은 시스템 프롬프트로 들어오는 요청 백 개가 각자 같은 계산을 반복하면 그 자리는 금방 동난다. 그래서 이미 계산한 접두사를 다시 쓴다. 다시 쓰기 시작하면 두 가지 질문이 새로 생긴다. 어 …