GGUF와 GGML 비교

조명이 켜진 샌프란시스코의 조감도

GPT 생성 통합 형식(GGUF)는 대규모 언어 모델(LLM)의 사용 및 배포를 간소화하도록 설계된 파일 형식입니다. GGUF는 추론 모델을 저장하고 소비자용 컴퓨터 하드웨어에서 잘 작동하도록 특별히 설계되었습니다.

효율적인 실행을 위해 모델 매개변수(가중치 및 편향)를 추가 메타데이터와 결합하여 이를 달성합니다. GGUF는 명확하고 확장 가능하고 다재다능하며, 이전 모델과의 호환성을 유지하면서 새로운 정보를 통합할 수 있습니다. GGUF는 이전 파일 형식인 GGML이 마련한 토대 위에 구축된 최신 개발 버전입니다.

GGUF는 모델의 빠른 로딩과 저장을 위해 설계된 바이너리 형식입니다. Python 및 R과 같은 다양한 프로그래밍 언어와 호환되기 때문에 이 형식의 더 큰 인기를 얻는 데 큰 역할을 했습니다. 또한 미세 조정을 지원하므로 사용자가 특수 애플리케이션에 맞게 LLM을 조정할 수 있으며, 애플리케이션 전반에 걸쳐 모델 배포를 위한 프롬프트 템플릿을 저장합니다. GGML은 여전히 사용되고 있지만, 지원은 GGUF로 대체되었습니다.

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

GGUF와 GGML의 차이점은 무엇인가요?

개발자 게오르기 게르가노프(Georgi Gerganov)가 만든 GGML은 GGUF 바로 이전의 파일 형식입니다. GGML이라는 이름은 게르가노프의 이니셜(GG)과 머신 러닝을 뜻하는 ML을 조합한 것입니다. GGML은 다양한 하드웨어 플랫폼에서 고성능을 발휘하도록 설계된 텐서 라이브러리였습니다. 또한 모델을 쉽게 공유하고 실행할 수 있게 하기 위해 OpenAI의 GPT 인공 지능 모델용 파일 형식을 만드는 초창기 시도이기도 했습니다. GGML은 모호하지 않고 모델을 로드하는 데 필요한 모든 정보를 포함하도록 설계되었습니다.

GGGML은 표준 하드웨어에서 대규모 언어 모델에 액세스할 수 있도록 하기 위한 초기 노력이었습니다. 그러나 유연성과 확장성 측면에서 제한적이었습니다. 즉, GGML은 수동 조정이 필요했고 사용자가 제한 사항을 해결하기 위해 새로운 기능을 추가함에 따라 호환성 문제가 발생했습니다.

GGUF는 GGML 제한 사항을 해결하고 이전 모델과의 호환성을 유지하면서 새로운 기능을 추가할 수 있게 합니다. GGUF는 주요 변경 사항을 제거하여 최신 버전으로의 전환이 용이하게 하고 다양한 모델을 지원하는 포괄적인 솔루션입니다. 기존 모델을 GGUF로 변환하려면 시간이 오래 걸릴 수 있으며, 모든 새로운 형식과 마찬가지로 사용자와 개발자가 해당 세부 사항에 익숙해져야 합니다.

AI 아카데미

파운데이션 모델이 AI 패러다임의 전환을 가져오는 이유

새로운 수익을 창출하고 비용을 절감하며 생산성을 높일 수 있는, 유연하고 재사용 가능한 새로운 AI 모델을 살펴봅니다. 그다음, 가이드북을 통해 보다 심층적으로 알아봅니다.

GGUF로 전환

Huggingface는 자연어 처리(NLP)를 위한 도구와 모델을 제공하는 회사 및 커뮤니티 중심 플랫폼입니다. GGUF 파일 형식으로 변환할 수 있는 많은 사전 학습된 모델이 포함된 트랜스포머 라이브러리를 제공합니다. 또한 Huggingface는 미세 조정 및 배포를 지원하여 GGUF 에코시스템에 필수적인 요소로 자리 잡았습니다.

트랜스포머는 현대 NLP의 중추가 된 모델 아키텍처의 한 유형입니다. GGUF는 이러한 고급 아키텍처를 활용하는 애플리케이션을 위한 트랜스포머 기반 모델의 저장 및 배포를 지원합니다.

GGUF가 중요한 이유

GGUF는 언어 모델에 강력하고 유연하며 효율적인 형식을 제공합니다. 이전 형식이 갖고 있던 한계를 해결하여 발전하는 기술 및 기법과의 호환성을 보장합니다. 강화된 유연성, 향상된 성능, 고급 양자화 및 배포 프레임워크에 대한 지원을 제공하여 AI 및 머신 러닝의 미래를 위한 중요한 도구가 되었습니다.

모델 가중치는 머신 러닝 모델이 훈련하는 동안 학습하는 매개변수입니다. GGUF는 이러한 가중치를 효율적으로 저장하여 빠른 로딩과 추론을 실현합니다. 모델 가중치에 양자화 방법을 적용하면 성능을 더욱 향상하고 리소스 소비를 줄일 수 있습니다.

연속 신호를 가능한 값이 더 적은 디지털 형식으로 변환하는 프로세스인 양자화는 GGUF에서 중요한 역할을 합니다. 양자화는 특히 리소스가 제한된 하드웨어의 경우 효율성과 성능을 향상합니다. 양자화된 모델은 모델 크기를 줄이고 추론 속도를 향상하므로 필요한 컴퓨팅 성능이 더 적어 에너지 소비를 줄일 수 있습니다. 따라서 GGUF는 전력 자원이 제한된 에지 장치 및 모바일 플랫폼에 배포하는 데 매우 적합합니다.

예를 들어, 사용되는 특정 양자화 기법 중 하나는 GPTQ(생성형 사전 학습 트랜스포머를 위한 정확한 사후 학습 양자화)입니다. GPTQ는 복잡한 데이터를 더 간단한 형식으로 변환하여 LLM의 크기와 컴퓨팅 요구 사항을 줄입니다. 이 덕분에 메모리와 처리 능력이 작은 장치에도 LLM을 배포할 수 있습니다.

또한 GGUF는 이전 버전과의 호환성을 손상시키지 않으면서 새로운 기능을 통합하도록 설계되었습니다. 새로운 데이터 유형과 메타데이터를 추가할 수 있으므로 GGUF가 미래에 대비할 수 있습니다. 머신 러닝 모델이 발전하면 GGUF는 이러한 변화를 수용하여 장기적으로 관련성과 적응성을 유지할 수 있습니다.

GGUF의 바이너리 형식 설계는 모델을 로드하고 저장하는 속도를 크게 향상시키며, 이는 특히 빠른 배포와 추론이 필요한 애플리케이션에 필수적입니다. 예를 들어, 실시간 언어 변환 서비스 및 대화형 AI 시스템은 GGUF의 효율적인 모델 파일 처리의 이점을 누릴 수 있습니다. 모델을 더 빨리 로드하고 사용할수록 시간에 민감한 애플리케이션에서 더 나은 사용자 경험을 제공할 수 있습니다.

GGUF는 저순위 적응(LoRA), 양자화된 저순위 적응(QLoRA) 및 적응형 가중치 양자화(AWQ)와 같은 고급 튜닝 기술과의 호환성 덕분에 더욱 두드러집니다. 이러한 기법은 모델 성능과 리소스 활용도를 더욱 최적화합니다.

또한 GGUF는 다양한 퀀트 수준을 지원하여 모델 정확도와 효율성의 균형을 맞출 수 있는 유연성을 제공합니다. GGUF에서 지원하는 일반적인 양자화 체계는 다음과 같습니다.

  • 2비트 양자화: 가장 높은 압축률을 제공하여 모델 크기와 추론 속도를 크게 줄이지만, 정확도에 영향을 미칠 수 있습니다.
  • 4비트 양자화: 압축과 정확성의 균형을 유지하므로 여러 실제 적용 분야에 적합합니다.
  • 8비트 양자화: 적당한 압축으로 우수한 정확도를 제공하며 다양한 분야에서 널리 사용됩니다.

양자화는 2비트, 4비트 또는 8비트 양자화와 같이 모델 가중치에 적용되는 다양한 양자화 수준을 나타냅니다.

또한 GGUF 모델은 병렬 컴퓨팅 플랫폼이자 애플리케이션 프로그래밍 인터페이스인 컴퓨팅 통합 장치 아키텍처(CUDA)를 사용하여 모델이 가속 컴퓨팅 작업에 GPU를 사용할 수 있도록 지원합니다. 이는 언어 모델의 계산 효율성과 속도를 개선합니다. 마지막으로, 언어 모델 개발 및 배포를 위한 프레임워크인 Langchain과 GGUF 통합은 GGUF 모델의 배포를 용이하게 하여 개발 환경 및 애플리케이션에서 효과적으로 사용할 수 있습니다.

GGUF 모델 및 사용 사례

대형 언어 모델 메타 AI(LLaMA)
 

Meta는 텍스트 생성, 요약, 질문 답변을 포함한 자연어 처리(NLP) 작업을 위해 설계된 LLaMA 모델(Llama-2Llama-3)에 GGUF를 사용합니다. LLaMA의 GGUF를 사용하면 고성능 GPU에서 보다 일반적인 소비자 등급 CPU에 이르기까지 다양한 하드웨어 구성에 배포할 수 있습니다. Llama-3가 현재 모델입니다.

텍스트 생성 webUI

 

이 웹 인터페이스는 LLM을 사용하여 텍스트를 생성하고 모델 저장 및 추론에 GGUF를 사용합니다. GGUF의 유연성을 통해 사용자는 대규모 모델을 빠르게 로드하여 최소한의 대기 시간으로 텍스트 생성 작업을 수행할 수 있습니다.

KoboldCpp

 

LLM을 로컬에서 실행하는 데 널리 사용되는 클라이언트인 KoboldCpp는 최종 사용자를 위해 성능을 개선하려고 GGUF를 채택했습니다. 개인용 컴퓨터에서 LLM을 실험하기 위해 강력하고 사용자 친화적인 솔루션을 찾는 애호가 및 연구원에게 특히 유용합니다.

커뮤니티 및 에코시스템 지원

GGUF의 개발은 협력적인 커뮤니티의 지원을 받습니다. GGUF를 지원하기 위해 수많은 라이브러리와 도구가 개발되어 다양한 AI 워크플로에 폭넓게 채택하고 통합할 수 있습니다. 이 에코시스템의 주요 참여자는 다음과 같습니다.

  • llama.cpp: 변환 유틸리티 및 실행 중인 모델에 대한 지원을 포함하여 GGUF로 작업하기 위한 도구를 제공하는 핵심 라이브러리입니다.
  • ctransformer: GGUF 모델을 통합할 수 있도록 다양한 프로그래밍 환경에 지원하므로 개발자가 애플리케이션에서 이러한 모델을 더 쉽게 사용할 수 있습니다.
  • LoLLMS Web UI: GGUF를 지원하는 웹 기반 인터페이스로, 사용자 친화적인 인터페이스를 통해 모델과 상호 작용할 수 있습니다.

미래 대비 및 광범위한 영향력

GGUF의 도입은 보다 지속 가능하고 적응 가능한 생성형 모델 형식으로의 전환을 의미합니다. 광범위한 모델 및 구성을 지원할 수 있다는 것은 특정 사용 사례나 하드웨어에 국한되지 않는다는 것을 의미합니다. 이러한 다양성을 통해 GGUF는 새로운 발전이 등장함에 따라 AI 커뮤니티의 요구 사항을 계속 충족할 수 있습니다.

또한 이전 버전과의 호환성에 중점을 둔 GGUF는 업그레이드 중 중단을 최소화하여 조직이 심각한 중단 시간이나 재구성 없이 최신 버전으로 쉽게 전환할 수 있도록 지원합니다.

개방형 형식인 GGUF는 개발, 개선 및 광범위한 도임에 도움이 되는 오픈 소스 커뮤니티의 공동 기여로 혜택을 누리고 있습니다. LLaMA 및 다양한 AI 도구와 같은 유명 프로젝트에서 채택된 것은 대규모 언어 모델의 지속적인 발전에서 이 형식이 중요하다는 사실을 보여줍니다. GGUF는 더 빠르고 유연하며 미래 지향적인 모델 배포를 촉진함으로써 AI 시스템의 기능을 발전시키는 데 중요한 역할을 합니다.

관련 솔루션
IBM Bob

안전한 의도 인식 개발을 지원하는 AI 파트너인 Bob으로 소프트웨어 제공을 가속화하세요.

IBM Bob 살펴보기
IBM® watsonx Orchestrate

IBM watsonx Orchestrate를 사용하여 확장 가능한 AI 어시스턴트 및 에이전트를 쉽게 설계하고, 반복적인 작업을 자동화하며, 복잡한 프로세스를 간소화합니다.

watsonx Orchestrate 살펴보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
다음 단계 안내

개발 라이프사이클의 어느 단계에 있든 Bob은 의도를 이해하고 보안 요구사항에 부합하는 에이전틱 리뷰를 제공해 고품질 소프트웨어의 더 빠른 제공을 지원합니다.

  1. IBM Bob 알아보기
  2. watsonx Orchestrate 살펴보기