다들 토큰 생성 속도에만 집착하는데, 진짜 병목은 프리필(prefill) 아님? 나만 그렇게 생각함?
Most people seem obsessed with token generation speed, but isn’t prefill the real bottleneck? Am I missing something?
핵심 요약
토큰 생성 속도보다 에이전트 작업 시 발생하는 프리필 속도가 실제 체감 성능에 더 큰 영향을 미친다는 의문 제기.
- 프리필 병목 현상 — 에이전트 작업 시 방대한 컨텍스트 처리로 인해 생성 속도보다 프리필 단계에서 더 큰 지연이 발생함.
- 토큰 생성 속도 — 일반적인 채팅 환경에서는 충분히 빠르지만, 데이터 처리나 코드 분석 작업에서는 우선순위가 밀림.
- 캐싱의 한계 — 에이전트 워크플로우에서는 지속적인 컨텍스트 변화로 캐시 적중률이 낮아 프리필 성능이 여전히 중요함.
- 하드웨어 자원 — 프리필은 연산 집약적이고 디코딩은 메모리 대역폭에 의존하므로 단일 수치로 성능을 판단하기 어려움.
매일 이 서브레딧을 보는데, 다들 토큰 생성 속도(tokens/s) 벤치마크와 토론에만 몰두하는 것 같음. 프롬프트 처리 속도는 거의 언급도 안 됨.
다양한 GPU에서 여러 모델을 돌려본 경험상, 실제로 느리다고 느껴지는 건 보통 프리필 단계임. 생성이 시작되면 15 t/s 정도만 나와도 충분히 쓸만함. 모델이 프롬프트를 다 먹을 때까지 기다리는 시간이 대부분을 차지함.
최근 MTP(Multi-Token Prediction)에 대한 과도한 관심도 이런 느낌을 더 강화함. 생성 속도 개선이 실제 사용 사례에서 전체 작업 시간을 크게 줄여주지 못한다면, 왜 다들 여기에만 집착하는 걸까?
예를 들어, Qwen 27B Q6 모델을 현재 설정에서 돌리면 생성 속도는 약 15 t/s가 나오는데(이건 뭘 하든 괜찮음), 프리필 속도는 300 t/s밖에 안 됨. 실제 답변이 나올 때까지 기다리는 시간보다 프롬프트 처리되는 걸 멍하니 보는 시간이 훨씬 김. 프롬프트 캐싱을 써도 마찬가지임.
다들 모델을 어떻게 쓰고 있는지 내가 잘못 이해하고 있는 걸까? 다른 사람들은 어떤지 궁금함.
수정: 내가 주로 에이전트 작업을 한다는 걸 깜빡했네. 모델이 뭔가를 하기 전에 코드베이스의 일부를 먼저 읽어야 하는 작업 말이야. 일반적인 채팅이라면 컨텍스트가 작아서 읽는 속도만 따라가면 되니까 문제가 안 되겠지만.

