ggml: `gguf_init_from_callback` 및 `gguf_init_from_buffer` ([#22341](https://gith
요약
ggml 라이브러리에 GGUF 모델 로딩을 위한 새로운 함수인 `gguf_init_from_callback` 및 `gguf_init_from_buffer`가 추가되었습니다. 이번 업데이트는 메모리 로드 방식의 일관성을 확보하고 오프셋 계산 오류 및 오버플로 방어 로직을 강화하는 데 중점을 두었습니다.
핵심 포인트
- GGUF 모델 로딩을 위한 콜백 및 버퍼 기반 초기화 함수 추가
- 파일 및 버퍼 로드 시 메모리 분해(memory breakdown) 일관성 수정
- 파일 오프셋 계산 방식 개선 및 오버플로 방어 로직 강화
- macOS, iOS, Linux 등 다양한 플랫폼용 바이너리 릴리즈
ggml: gguf_init_from_callback 및 gguf_init_from_buffer (#22341)
-
ggml:
gguf_init_from_buffer구현 -
test:
gguf_init_from_buffer테스트 -
fix: 파일로부터
no_alloc을 통해 로드된 모델의 메모리 분해 (memory breakdown)가 버퍼로부터 로드되는 것과 일치하도록 수정 -
fix:
GGML_UNUSED사용
Co-authored-by: Copilot copilot@github.com
-
fix:
gguf_reader에서total_size제거 -
fix: 파일 오프셋 (file offset) 계산 수정,
offset을data_offset으로 이름 변경
Co-authored-by: Copilot copilot@github.com
-
refactor: 모델 로더 버그 수정 사항을 다른 PR로 추출
-
feat:
gguf_init_from_callback추가 -
fix: 항상 최대 예상 크기 (max expected size)를 요구하도록 수정
-
fix:
gguf_reader_callback_t의output타입을void *로 변경,max_expected_size및 오프셋을uint64_t로 변경 -
fix: 버퍼 읽기 시 오프셋 오버플로 (offset overflow)에 대한 방어 강화
-
fix: 콜백에서 탐색 (seek) 동작 제거
-
feat:
max_chunk_read == 0은SIZE_MAX를 의미함 -
fix: 텐서가 없는 gguf 파일에서의 탐색 (seeking) 수정
Co-authored-by: Copilot copilot@github.com
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화)
- macOS Intel (x64)
- iOS XCFramework
Linux:
<strong>Linux:</strong>
- 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)
<strong>Android:</strong>
<strong>Windows:</strong>
<strong>Windows:</strong>
- 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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기