Skip to content

v1.2.0: Fix External Model Loading (GGUF mmap & LiteRT) + Diagnostics

Choose a tag to compare

@zmxnpquryet-gif zmxnpquryet-gif released this 07 Sep 16:04
· 66 commits to main since this release

Local LLM Android v1.2.0

  • GGUF 외부 모델 로드 실패 영구 해결 (use_mmap = true):
    • 기존 LlamaHelper의 use_mmap = false 하드코딩으로 인해 2GB 이상의 모델 가중치를 프로세스 힙(Heap)에 malloc하려다 발생하던 Model initialization failed 메모리 부족 결함을 완전히 해결했습니다.
    • LlamaAndroid 네이티브 드라이버를 직접 연동하여 커널 레벨 mmap 매핑을 강제 적용하고, 기기 코어 수에 맞춘 최적 멀티스레드(2..6T)를 전달합니다.
  • LiteRT 외부 모델 초기화 오류 해결 (Failed to create engine):
    • GgufMetadataDetector에서 GGUF 매직 바이트(GGUF) 최우선 판별 로직을 확립하여 .bin 확장자나 GGUF 파일이 LiteRT로 오분류되는 현상을 원천 차단했습니다.
    • 일반 텍스트 모델에 무차별적으로 비전(hasMmproj) 플래그가 켜져 비전 인코더 서브그래프를 요구하던 노이즈 키워드(mm., clip.)를 정밀 토큰으로 정제했습니다.
    • LiteRT 엔진 생성 시 순수 텍스트 디코더 우선 시도 및 컨텍스트 자동 조정 폴백을 강화했습니다.
  • 상단 상태 배너 3줄 확장 및 상세 진단 팝업 추가:
    • 한 줄로 잘리던 엔진 에러 메시지를 최대 3줄까지 표기하고 에러 하이라이트 색상을 적용했습니다.
    • 배너를 터치하면 전체 네이티브 오류 스택과 상태 전문을 열람하고 원클릭 복사할 수 있는 다이얼로그를 탑재했습니다.