LLM 서빙 · 서빙이 학습과 다른 이유 · 퀴즈
퀴즈: 서빙의 지표
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
긴 프롬프트 요청에서 TTFT 의 주요 모델 연산 단계와 흔한 병목은?
- decode / 메모리 대역폭
- prefill / 연산 능력
- prefill / 디스크 읽기
- decode / 네트워크 전송
decode 단계에서 배치를 키워도 시간이 크게 늘지 않는 이유는?
- decode 의 연산량이 배치 크기와 무관하기 때문에
- 모든 요청이 동일한 KV 캐시를 공유하기 때문에
- 토큰 하나마다 모델 가중치 전체를 읽는 시간이 지배하므로 그 읽기를 여러 요청이 공유하기 때문
- 네트워크 전송이 자동으로 완전히 병렬화되기 때문에
7B 모델(32층, 은닉 4096)을 fp16, 4K 컨텍스트, 배치 1 로 돌릴 때 KV 캐시 크기는?
- 약 512MiB
- 약 14GiB
- 약 64GiB
- 약 2GiB
PagedAttention 이 해결하는 문제는?
- 어텐션 FLOP 자체를 줄이는 것
- 양자화 없이 모델 정확도를 높이는 것
- KV 캐시를 고정 크기 블록으로 나눠 내부 단편화를 줄이는 것
- 토큰 스트리밍의 네트워크 지연을 없애는 것
TTFT 와 ITL 을 따로 재지 않고 총 지연을 총 토큰으로 나누면?
- 두 값을 합쳐 더 정확해진다
- p99 백분위를 볼 수 있게 된다
- 두 지표가 섞여 어느 국면이 느린지 알 수 없게 된다
- 배칭 효과가 지표에 드러난다
`gpu_memory_utilization` 을 너무 낮게 잡으면?
- KV 캐시에 쓸 공간이 줄어 동시에 처리할 수 있는 요청 수가 떨어진다
- 가중치를 못 올려 OOM 이 난다
- 블록이 줄어 생성 정확도가 떨어진다
- 여유가 늘어 TTFT 가 좋아진다