Sampler¶
LLM의 vocabulary 크기가 커질수록, 샘플링(Sampling) 단계는 추론 과정에서 점차 큰 비중을 차지합니다. 특히 널리 사용되는 Top-p 샘플링 기법은 모든 토큰을 정렬해야 하므로 시간 복잡도가 높습니다.
이를 해결하기 위해 FlashInfer 알고리즘에서는 정렬 과정 없이도 Top-p 샘플링을 수행할 수 있는 방식을 제안했습니다. vLLM RBLN은 이 알고리즘을 활용해 Top-p 샘플링 연산을 RBLN 디바이스 상에서 실행함으로써 추론 속도를 한층 더 향상시킵니다.
이 기능은 기본적으로 활성화되어 있으며, 환경변수 VLLM_RBLN_SAMPLER=0을 설정하면 기존의 vLLM Sampler를 사용할 수 있습니다.
vLLM 초기화 시 Warm-up 과정에서 Sampler가 컴파일됩니다. 만약 VLLM_RBLN_ENABLE_WARM_UP=0으로 설정하면 Warm-up을 생략하고, 런타임 중에 컴파일이 이루어집니다.
그러나 이는 초기 추론 속도를 저하시킬 수 있으므로, 기본값인 VLLM_RBLN_ENABLE_WARM_UP=1을 유지하는 것을 권장합니다.
향후 RBLN Sampler는 Top-p 이외의 다양한 샘플링 알고리즘을 RBLN 디바이스에서 지원할 예정입니다.