server: 체크포인트 (checkpoints) 생성 수정 ([#22929](https://github.com/ggml-org/llama.cp
요약
llama.cpp의 서버 기능에서 체크포인트 생성 로직을 개선했습니다. 채팅 템플릿 기반의 프롬프트 토큰 위치 탐색과 컨텍스트 체크포인트 생성을 통해 효율적인 프롬프트 배칭을 지원합니다.
핵심 포인트
- 채팅 템플릿에서 message_spans 추출 및 프롬프트 분할 기능 추가
- 최신 사용자 입력 전 컨텍스트 체크포인트 생성 로직 개선
- 멀티모달 프롬프트 처리를 위한 토큰 매핑 지원
- 체크포인트 간 최소 간격 제어를 위한 --checkpoint-min-step 옵션 도입
server: 체크포인트 (checkpoints) 생성 수정 (#22929)
-
common : common_chat_split_by_role 추가
-
cont : 메시지 끝에 도달하도록 span (spans) 수정
-
server: 체크포인트 (checkpoints) 생성 수정
-
채팅 템플릿 (chat templates)에서 message_spans 추출
-
최신 사용자 메시지 이전의 프롬프트 토큰 (prompt token) 위치 탐색
-
해당 위치에서 프롬프트 배치 (prompt batching) 분할
-
최신 사용자 입력 이전에 컨텍스트 체크포인트 (context checkpoint) 생성
-
해당 위치를 알 수 있는 경우 프롬프트 중간의 주기적인 체크포인트 생성 방지
-
텍스트/템플릿 위치를 서버 프롬프트 토큰 (server prompt tokens)으로 매핑할 때 멀티모달 (multimodal) 프롬프트 처리
-
체크포인트 간의 최소 간격을 제어하기 위한 --checkpoint-min-step 추가
-
cont : 정리 (clean-up)
-
메시지 장벽 (message barriers)에 대한 자동 파서 (autoparser) 탐지 지원
-
server: 메시지 span 구분자 (delimiter) 수정 및 문서 업데이트
Co-authored-by: Alde Rojas hello@alde.dev
Co-authored-by: Georgi Gerganov ggerganov@gmail.com
Co-authored-by: Piotr Wilkin piotr.wilkin@syndatis.com
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화)
- macOS Intel (x64)
- iOS XCFramework
Linux:
Linux:
- Ubuntu x64 (CPU)
- Ubuntu arm64 (CPU)
- Ubuntu s390x (CPU)
- Ubuntu x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (ROCm 7.2)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32)
- Ubuntu x64 (SYCL FP16)
Android:
Windows:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.1 DLLs
- Windows x64 (Vulkan)
- Windows x64 (SYCL)
- Windows x64 (HIP)
openEuler:
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
UI:
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기