llama.cpp의 바탕 라이브러리 ggml, 1.0에서 낡은 API 정리

ggml은 의존성 없이 C/C++로 짠 머신러닝용 텐서 라이브러리로, 다양한 칩에서 AI 모델을 돌리는 바탕이 돼요. 첫 정식 버전인 1.0.0은 오래된 API를 걷어 내고, FP8 지원과 여러 그래픽 장치별 속도 개선을 함께 담았어요.

주요 기술적 특징

  • 가볍고 어디서나 도는 텐서 라이브러리: 텐서(숫자를 여러 차원으로 묶은 데이터)를 계산하는 라이브러리예요. 외부 의존성 없이 순수 C/C++로 만들었어요. x86, ARM, RISC-V, LoongArch, PowerPC, s390x, WebAssembly에서 돌아가요. CPU뿐 아니라 GPU, NPU, 브라우저까지 지원해요.
  • 모델을 작게 줄이는 양자화: 양자화(숫자 정밀도를 낮춰 모델 크기와 메모리를 줄이는 기법)를 2비트부터 8비트까지 지원해요. MXFP4, NVFP4 같은 새 형식도 다뤄요. 실행 중에는 메모리를 새로 할당하지 않도록 설계했어요.
  • 1.0.0의 정리 작업: 더 이상 권장하지 않던 공개 API와 오래된 DIAG_MASK 연산을 지웠어요. 그래서 기존 코드가 바로 빌드되지 않을 수 있어요. 기기끼리 연결하는 RPC 프로토콜도 v9로 올라, 호환되지 않는 상대는 거부해요.
  • 새 기능과 속도 개선: CUDA에 FP8 지원이 들어갔고, 긴 문맥 처리 기법인 YaRN의 반올림 방식을 조절할 수 있게 됐어요. 쓰이지 않는 입력은 GPU로 올리지 않도록 스케줄러를 고쳤어요. CUDA·Metal·Vulkan·SYCL·OpenCL·WebGPU 등 장치별 최적화도 폭넓게 담겼어요.
  • 라이선스와 개발 방식: MIT 라이선스예요. 핵심 라이브러리 수정은 llama.cpp 저장소에서 받도록 안내하고 있어요.

개발자들의 반응

  • 한 개발자는 업그레이드할 때마다 같은 하드웨어에서 5~10%씩 빨라진다고 했어요. 직접 측정해 보니 5만 토큰짜리 긴 입력 처리 시간이 4분 22초에서 3분 59초로 줄었다고 전했어요.
  • 성능이 낮은 AMD 그래픽카드를 쓴다는 한 사용자는 Vulkan만 지원되는 환경인데도 ggml 덕분에 쓸 만하다고 평가했어요.
  • 반대로 특정 하드웨어 전용으로 만든 추론 엔진이 훨씬 빠르다는 지적도 있었어요. 다만 같은 개발자도 여러 엔진을 비교할 시간이 없다면 믿을 만한 선택이라고 덧붙였어요.
  • 이에 대해 거의 모든 모델을 거의 모든 하드웨어에서 돌린다는 점이 핵심이고, 사용성·하드웨어 범위·정확도를 고루 갖췄다는 반론도 나왔어요.

기술적 의미와 한계

ggml은 한 가지 장치에서 최고 속도를 내기보다, 여러 칩에서 고르게 돌아가는 데 강점이 있어 보여요. 집에 있는 평범한 컴퓨터나 흔치 않은 그래픽카드로 AI 모델을 돌리려는 개발자에게 특히 쓸모가 있다고 해석할 수 있어요.

쓰기 전에 알아 둘 점도 있어요. 1.0.0은 낡은 API를 지웠기 때문에 ggml을 직접 쓰던 코드는 손봐야 할 수 있어요. RPC로 여러 기기를 묶어 쓰는 경우 모든 기기를 같은 버전으로 맞춰야 해요. 이번 릴리스의 개선이 실제로 얼마나 빨라졌는지는 공식 수치가 없어, 각자 환경에서 확인이 필요해요.

저장소

https://github.com/ggml-org/ggml

댓글

트렌드

llama.cpp의 바탕 라이브러리 ggml, 1.0에서 낡은 API …
중국산 배지 표고버섯 563t 국내산 둔갑, 업체 5곳 적발
삼양식품, 베트남 박닌성에 공장 짓는다…2,186억 원 투…
미국 관제 통신 장애로 전국 이륙 중단, 인천발 미주 노…
올림픽공원 핸드볼경기장 점거, 자진 철거 기한 11월 19…
한화오션 RSU 지급 소송, 3차 변론 뒤에도 결론 없이 내…
1GB 메모리 TV 박스·옛 아이패드에서 160억 매개변수 언…
구독료 없이 자수기를 돌리는 무료 편집기 ZigZag
AWS 계정 없이 내 컴퓨터에서 돌리는 AWS 공식 에뮬레이…
Rust 1.100.0, never 타입과 사용자 지정 메모리 할당기…