b11530: llama: ubatch 전반에 걸쳐 백엔드 샘플링 그래프를 정적하게 유지 (#30223)
요약
llama 모델의 ubatch 처리 방식에 대한 기술적 개선 사항을 다루고 있습니다. 기존에는 샘플러와 디코더가 출력 행별로 체인을 구축하는 차이가 있었으나, 이제 모든 샘플러가 패딩된 ubatch 행과 선택되지 않은 체인들을 포함하여 일관되게 n_outputs_max_per_seq 개의 체인을 구축하도록 변경되었습니다.
핵심 포인트
- llama 모델의 백엔드 샘플링 그래프 구조 개선
- 샘플러와 디코더 간의 체인 구축 방식 불일치 문제 해결
- 모든 샘플러가 일관된 n_outputs_max_per_seq 개의 체인을 사용하도록 통일
reserve는 각 샘플러당 n_outputs_max_per_seq 개의 샘플링 체인을 구축하는 반면, decode는 출력 행(output row)당 하나씩 구축했습니다. 따라서 reserve와 GGML_SCHED_NO_REALLOC 빌드가 다음 동일 크기 그래프에서 중단된 후 그래프가 토폴로지를 변경했습니다. 이제 모든 샘플러는 패딩 행에 ubatch의 행이 없고 선택되지 않은 체인들을 포함하여 n_outputs_max_per_seq 개의 체인을 구축하며, graph_max_nodes가 이를 계산합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기