b11477: llama 모델이 다음(nextn) 텐서 플래그를 모델 간에 공유하도록 개선
요약
Llama 모델의 성능 개선을 위해 다음(nextn) 텐서 플래그 공유 기능이 업데이트되었습니다. 이로써 여러 모델에서 트렁크 전용 및 MTP 전용 감지 로직이 통합되었으며, 다양한 모델들이 트렁크 전용 파일을 수락할 수 있게 되었습니다.
핵심 포인트
- nextn 텐서 플래그 공유를 통해 모델 간의 효율성이 개선되었습니다.
- 트렁크 및 MTP 감지 로직이 통합되어 호환성이 높아졌습니다.
- C++20 의존성 문제로 인해 구조화된 바인딩 방식이 일반 변수 읽기로 변경되었습니다.
- llama: 모델 간의 다음(nextn) 텐서 플래그 공유
glm5-next에서 TODO로 남겨진 부분을 후속 조치하여, 각 모델이 복사했던 트렁크 전용 및 MTP 전용 감지 로직을 llama_model_base의 nextn_flags 헬퍼 함수로 이동시켰습니다. 이 함수는 첫 번째 트렁크 레이어와 첫 번째 NextN 레이어를 조사하며, MTP가 로드되지 않은 경우 TENSOR_SKIP 플래그를 추가합니다. qwen4exp는 attn_norm이 없기 때문에 hc_attn_norm을 조사합니다.
deepseek4, nemotron-h, qwen35, qwen35moe, qwen3next 및 qwen4exp도 이제 다른 모델들처럼 트렁크 전용 파일을 수락합니다.
- llama: nextn 플래그에서 구조화된 바인딩(structured bindings) 캡처 방지
구조화된 바인딩을 캡처하는 람다 함수는 C++20이 필요하며, GCC 15는 -Werror 옵션 하에서 이를 거부하므로, 모델들이 트렁크 및 MTP 플래그를 일반 변수로 읽도록 수정했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기