unicode,test: Qwen3.5 non-backtracking tokenizer handler 및 회귀 테스트 (regression te
요약
본 커밋은 Qwen3.5 모델의 유니코드 토크나이저 처리를 강화하고 회귀 테스트를 추가하는 내용을 담고 있습니다. 특히 `src/unicode.cpp`에 Qwen3.5의 [l{l}l}]+ 정규식(문자 + 결합 문자)을 위한 non-backtracking handler를 추가하여, 긴 입력값에서 발생할 수 있는 스택 오버플로를 방지합니다. 또한 악센트 기호 포함 및 후행 공백 제거 등 전반적인 토큰화 처리의 견고성을 높였습니다.
핵심 포인트
- Qwen3.5 모델에 특화된 non-backtracking tokenizer handler 추가
- 긴 입력값으로 인한 스택 오버플로 방지 메커니즘 구현
- 유니코드 정규식 처리를 강화하여 악센트 기호 등을 정확하게 처리
- 회귀 테스트 케이스 및 관련 어휘집을 추가하여 안정성 확보
unicode,test: Qwen3.5 non-backtracking tokenizer handler 및 회귀 테스트 (regression tests) 추가 ( #22110 ) unicode,test: Qwen3.5 non-backtracking tokenizer handler 및 회귀 테스트 추가
src/unicode.cpp에 Qwen3.5의 [\p{L}\p{M}]+ 정규식 (문자 + 결합 문자)을 위한 non-backtracking handler인 unicode_regex_split_custom_qwen35()를 추가합니다. 긴 입력값에 대한 스택 오버플로 (stack overflows)를 방지하기 위해 커스텀 토크나이저 디스패치 테이블 (custom tokenizer dispatch table)에 해당 handler를 등록합니다 ( #21919 해결 ). 회귀 테스트를 위해 models/ggml-vocab-qwen35.gguf (테스트 어휘집), models/ggml-vocab-qwen35.gguf.inp (테스트 케이스), 그리고 models/ggml-vocab-qwen35.gguf.out (예상 출력값)을 추가합니다. 새로운 테스트 항목을 포함하도록 tests/CMakeLists.txt를 업데이트합니다. 이는 Qwen2 수정 사항 (commit 0d049d6 )을 반영하되, Qwen3.5의 정규식에 맞게 조정한 것입니다. 견고한 Unicode 토큰화 (tokenization)를 보장하고 std::regex 스택 오버플로를 방지합니다. #21919 종료.
fix: 악센트 기호 (accent marks)를 포함하도록 Qwen3.5 토크나이저의 정규식 처리 강화
cont: trailing whitespace 제거
Co-authored-by: Kabir kabir@example.com
Co-authored-by: Alde Rojas hello@alde.dev
macOS/iOS: macOS Apple Silicon (arm64)
macOS Apple Silicon (arm64, KleidiAI enabled)
macOS Intel (x64)
iOS XCFramework
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: Android arm64 (CPU)
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)
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기