검색
검색
공개 노트 검색
회원가입로그인

ggml - 개인 컴퓨터에서 LLM을 돌리기 위한 경량화 라이브러리

ggml은 whisper.cpp 와 llama.cpp 를 만든 Georgi Gerganov 가 만든 텐서 라이브러리이다. GPU 없이 CPU를 활용해서 사용자의 하드웨어에서 LLM을 돌리는 것이 목적인 라이브러리이다. 이를 위해서 양자화 기술을 제공하고 있다. (예: 4-bit, 5-bit, 8-bit)

다음과 같은 특징을 가지고 있다.

  • C로 작성

  • 16-bit float 지원

  • 정수 양자화 지원(예: 4비트, 5비트, 8비트)

  • 자동 차별화 (automatic differentiation)

  • 최적화 알고리즘 내장 (예: ADAM, L-BFGS)

  • Apple 실리콘에 최적화

  • x86 아키텍처에서 AVX/AVX2 내재 활용

  • WebAssembly 및 WASM SIMD를 통한 웹 지원

  • 타사 종속성 없음

  • 런타임 중 메모리 할당 제로

  • 가이드 언어 출력 지원

ggml.ai 이라는 회사도 만들었군요. 개인 컴퓨터에서 LLM을 돌리기 위한 경량화 라이브러리입니다. weights 를 양자화해서 텐서 연산이나 머신러닝에 들어가는 자원을 줄이는 기법입니다. 그 외에 최적화 알고리즘을 지원하는 군요. 애플 M1 이나 M2, 그리고 x86 아키텍처 (32비트) 에 최적화되어 있다고 합니다. 정확도는 떨어지지만 낮은 사양의 하드웨어에서 LLM이 돌아가는 것이 인상적입니다. 오픈소스 모델들이 사용자의 하드웨어에서 돌리는 일들이 많아진다면 GGML과 같은 라이브러리로 경량화한 모델을 사용하는 사례가 늘어날 수 있을것 같습니다.

참고로 GGML은 만든 사람의 이름과 ML을 합친 용어네요 ㅎㅎ

조회수 : 2288
공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기