ویرگول
ورودثبت نام
علی مهدوی راد
علی مهدوی راد
علی مهدوی راد
علی مهدوی راد
خواندن ۳ دقیقه·۳ ساعت پیش

GGUF چیست؟ فرمت فایلی که اجرای لوکال مدل‌های زبانی را ممکن کرد

GGUF چیست و چرا اجرای مدل‌های هوش مصنوعی روی لپ‌تاپ را ممکن کرد؟ (نسخه ۲۰۲۶)

اگر چند سال پیش می‌خواستید یک مدل زبانی چند میلیارد پارامتری را روی لپ‌تاپ شخصی اجرا کنید، احتمالاً خیلی سریع با محدودیت حافظه مواجه می‌شدید.

مشکل اصلی معمولاً قدرت پردازشی نبود؛ مشکل اصلی حجم بسیار زیاد خود مدل‌ها بود.

برای مثال یک مدل ۷ میلیارد پارامتری را در نظر بگیرید.

هر پارامتر در نسخه FP16 به ۱۶ بیت (۲ بایت) فضا نیاز دارد. بنابراین:

‏7 Billion × 2 Bytes ≈ 14GB

یعنی فقط وزن‌های مدل حدود ۱۴ گیگابایت RAM اشغال می‌کنند.

و این قبل از درنظر گرفتن موارد زیر است:

KV Cache (حافظه Attention)

Context Window

Activation Memory

Runtime Buffers

در نتیجه اجرای بسیاری از مدل‌های مدرن روی کامپیوترهای شخصی عملاً غیرممکن به نظر می‌رسید.

اینجاست که GGUF وارد ماجرا می‌شود.


GGUF چیست؟

GGUF که مخفف GGML Unified Format است، فرمت استانداردی برای ذخیره، توزیع و اجرای مدل‌های زبانی محسوب می‌شود.

اما GGUF صرفاً یک فایل شامل وزن‌های مدل نیست.

در فرمت‌های قدیمی معمولاً چندین فایل مختلف وجود داشت:

Weight Files

Config Files

Tokenizer Files

Metadata Files

Runtime Configuration

اگر یکی از این فایل‌ها حذف می‌شد، مدل دیگر اجرا نمی‌شد.

GGUF این پیچیدگی را حذف کرد.

در یک فایل GGUF تقریباً تمام اطلاعات موردنیاز برای اجرای مدل ذخیره می‌شود.

به همین دلیل می‌توان آن را یک کانتینر هوشمند برای مدل‌های زبانی دانست.


چرا GGUF محبوب شد؟

پاسخ کوتاه:

Quantization

کوانتایزیشن فرآیندی است که طی آن دقت عددی وزن‌های مدل کاهش پیدا می‌کند تا حجم فایل و مصرف حافظه کمتر شود.

مثال برای مدل 7B:

FP16 → 14GB

Q8_0 → 8GB

Q6_K → 6.5GB

Q5_K_M → 5.5GB

Q4_K_M → 4.2GB

Q3_K_S → 3GB

در نتیجه مدلی که قبلاً فقط روی سرور اجرا می‌شد، حالا روی لپ‌تاپ شخصی نیز قابل اجرا است.


رمزگشایی نام‌ها: Q4_K_M یعنی چه؟

اگر وارد صفحه مدل‌ها شوید احتمالاً با نام‌هایی مثل این مواجه می‌شوید:

Q2_K

Q3_K_S

Q4_K_M

Q5_K_M

IQ4_XS

Q8_0

بیایید آن را بشکنیم.

Q4

Q مخفف Quantization است.

عدد 4 یعنی وزن‌ها تقریباً با دقت ۴ بیت ذخیره شده‌اند.

عدد کمتر یعنی:

حجم کمتر

RAM کمتر

سرعت بیشتر

اما کیفیت پایین‌تر.


K

K به خانواده K-Quant اشاره دارد.

قبل از آن نسخه‌هایی مثل:

Q4_0

Q4_1

رایج بودند.

K-Quant کیفیت بهتری در همان حجم ارائه می‌دهد.


M

M مخفف Medium است.

این پسوند مشخص می‌کند بعضی تنسورهای حساس مدل با دقت بالاتری ذخیره شوند.

معمولاً:

S → Small

M → Medium

L → Large

به همین دلیل Q4_K_M محبوب‌ترین نسخه عمومی شده است.


آپدیت مهم ۲۰۲۶: IQ Quantization

در سال‌های اخیر خانواده جدیدی معرفی شد:

IQ2_XXS

IQ3_M

IQ4_XS

این روش‌ها نسبت به Q-Quant کلاسیک کیفیت بهتری در حجم کمتر ارائه می‌دهند.

در بسیاری از مدل‌های جدید، نسخه‌های IQ در حال جایگزین شدن هستند.


KV Cache Quantization (موضوعی که خیلی‌ها فراموش می‌کنند)

اغلب افراد فقط وزن مدل را در نظر می‌گیرند.

اما در مدل‌های جدید بخش بزرگی از حافظه توسط KV Cache مصرف می‌شود.

مثال:

مدل 8B با Context Window برابر 32000 توکن ممکن است چند گیگابایت فقط KV Cache مصرف کند.

امروزه بسیاری از Runtimeها KV Cache را نیز کوانتایز می‌کنند:

q8_kv

q4_kv

نتیجه:

حافظه کمتر

امکان اجرای Context طولانی‌تر


GPU Offloading؛ دلیل اصلی سرعت بالا

مدل‌های GGUF فقط CPU نیستند.

اکنون بیشتر Runtimeها بخشی از لایه‌های مدل را روی GPU منتقل می‌کنند.

به این کار می‌گویند:

GPU Layer Offloading

مثال:

مدل 14B

20 لایه روی GPU

بقیه روی CPU

مزایا:

سرعت چند برابر

مصرف RAM کمتر

استفاده بهتر از VRAM


روی چه سخت‌افزاری اجرا می‌شود؟

GGUF وابسته به اکوسیستم خاصی نیست.

امکان اجرا روی:

CPU

NVIDIA CUDA

AMD ROCm

Vulkan

Apple Silicon Metal

ARM Processors

Android Devices

Raspberry Pi


ابزارهای محبوب اجرای GGUF در ۲۰۲۶

اکوسیستم بسیار بزرگ‌تر شده.

محبوب‌ترین Runtimeها:

Ollama

llama.cpp

LM Studio

Jan AI

KoboldCpp

Open WebUI


GGUF vs GPTQ vs AWQ

یکی از اشتباهات رایج این است که این‌ها را یکسان تصور کنیم.

اما نقش آن‌ها متفاوت است.

GGUF

مناسب:

اجرای لوکال

CPU + GPU ترکیبی

لپ‌تاپ

سیستم شخصی

GPTQ

مناسب:

GPUهای NVIDIA

سرورها

Throughput بالا

AWQ

مناسب:

GPU Inference سریع

Deployment Production

خلاصه:

‏Personal Computer → GGUF

‏Production GPU Server → GPTQ/AWQ


داخل فایل GGUF چه چیزی ذخیره می‌شود؟

یک فایل GGUF معمولاً شامل:

Model Weights

Quantization Metadata

Tokenizer Vocabulary

Tokenizer Config

Architecture Metadata

Number of Layers

Attention Heads

Embedding Size

RoPE Configuration

Context Length

Special Tokens

Chat Template Metadata

تقریباً همه چیز در یک فایل قرار دارد.


Memory Mapping؛ ویژگی کمتر شناخته شده

یکی از مهم‌ترین ویژگی‌های GGUF:

Memory Mapping

سیستم عامل می‌تواند بخش‌هایی از فایل را مستقیماً از روی SSD بخواند بدون اینکه کل مدل از ابتدا وارد RAM شود.

نتیجه:

Startup سریع‌تر

RAM کمتر

اجرای مدل‌های بزرگ‌تر


اگر تازه شروع می‌کنید چه نسخه‌ای دانلود کنیم؟

پیشنهاد عمومی:

Q3_K_S → سیستم ضعیف

Q4_K_M → بهترین انتخاب عمومی

Q5_K_M → کیفیت بالاتر

Q6_K → نزدیک به FP16

IQ4_XS → نسل جدید بهینه

Q8_0 → نزدیک‌ترین کیفیت به مدل اصلی

اگر نمی‌دانید چه دانلود کنید:

Q4_K_M هنوز امن‌ترین انتخاب برای اکثر کاربران است.

Q4_K_M بهترین نقطه شروع است.

مدل‌های زبانیانتخابنسلسیستم عاملهوش مصنوعی
۰
۰
علی مهدوی راد
علی مهدوی راد
شاید از این پست‌ها خوشتان بیاید