Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

GGML 소개

GGML은 조지 게르가노프(Georgi Gerganov)가 개발한 머신러닝 라이브러리로, 특히 Transformer 모델의 추론에 중점을 두고 있습니다. 순수 C/C++로 작성되어 다양한 플랫폼에서 쉽게 활용할 수 있으며, Apple Silicon을 비롯한 다양한 하드웨어에서 고성능을 구현할 수 있도록 지원합니다.

이 프로젝트는 대규모 언어 모델을 로컬 환경에서 효율적으로 실행하려는 필요성에서 시작되었습니다. 일반적으로 대규모 언어 모델의 훈련에는 엔비디아 기반의 GPU 클러스터가 필요하지만, 이미 훈련된 모델을 활용한 추론 작업에는 그만한 자원이 필요하지 않을 수 있습니다. 특히 Apple Silicon은 통합 메모리를 지원하여 대규모 언어 모델을 로컬에서 실행하기에 적합한 환경을 제공합니다. 그러나 Apple Silicon은 엔비디아 GPU를 지원하지 않으므로, 추론에 최적화된 순수 C/C++ 기반의 라이브러리가 필요했습니다. 이러한 배경에서 GGML이 개발되었으며, 이를 통해 다양한 하드웨어 환경에서 효율적인 추론이 가능해졌습니다.

GGML은 현재도 활발히 개발 중이며, 다양한 프로젝트에서 온디바이스 LLM 구현을 위해 활용되고 있습니다. 로컬 언어 모델을 운영 하기 위해서 필요한 소프트웨어들이 GGML을 기반으로 구현 되요 널리 활용 되고 있습니다. 그런 측면에서 이 프로젝트는 로컬 AI 시스템을 구동 하기 위해 핵심적인 기반이 되었습니다.

주요 특징

고려 사항

활용 사례

GGML은 llama.cppwhisper.cpp와 함께 인기를 얻고 있으며, ollama, jan, LM Studio, GPT4All 등 여러 프로젝트에서 온디바이스 LLM을 구현하기 위해 GGML을 활용하고 있습니다.

시작하기

GGML을 시작하려면, GitHub 저장소 https://github.com/ggerganov/ggml를 참고하여 설치 및 기본 사용 방법을 학습할 수 있습니다.

GGML은 경량화된 머신러닝 모델을 다양한 하드웨어에서 효율적으로 실행하려는 개발자들에게 유용한 도구입니다. 지속적인 발전과 함께, 더 많은 기능과 개선이 이루어질 것으로 기대됩니다.

GGUF

GGML은 주로 이미 학습된 모델을 최적화하여 다양한 환경에서 효율적으로 추론하는 데 중점을 둔 라이브러리입니다. 따라서 TensorFlow나 PyTorch와 달리 모델 학습 기능은 포함하지 않지만, 학습된 모델을 GGML 형식에 맞게 변환하여 활용할 수 있습니다. 이를 위해 GGUF(Georgi Gerganov Unified Format)라는 파일 형식이 도입되었습니다.

GGUF(Georgi Gerganov Unified Format)는 대규모 언어 모델(LLM)의 효율적인 저장과 배포를 위해 설계된 파일 형식입니다. 이 형식은 다양한 딥러닝 프레임워크와 호환되며, 모델의 메타데이터와 텐서 데이터를 하나의 바이너리 파일에 통합하여 관리합니다.

주요 특징:

GGUF는 이전의 GGML 형식에서 발전된 형태로, 모델 공유와 사용의 효율성을 높이기 위해 개발되었습니다. 이를 통해 다양한 하드웨어 환경에서 LLM을 보다 쉽게 활용할 수 있습니다.