GGUF چیست؟ راهنمای کامل فرمت جدید مدلهای هوش مصنوعی و مقایسه با GGML

در دنیای مدلهای زبان بزرگ (LLM)، فرمت فایلها نقشی کلیدی در کارایی، سرعت و نحوهی استفاده از آنها ایفا میکند. GGUF یک فرمت مدرن است که برای رفع محدودیتهای نسل قبلی خود، یعنی GGML، طراحی شده است. در این مطلب، به بررسی جامع فرمت GGUF، ویژگیهای آن و تفاوتهای کلیدیاش با GGML میپردازیم.
GGUF چیست و چه کاربردی دارد؟
GGUF (GPT-Generated Unified Format) یک فرمت فایل باینری است که برای ذخیرهسازی و بارگذاری سریع مدلهای هوش مصنوعی بهینهسازی شده است. هدف اصلی این فرمت، افزایش کارایی در فرآیند استنتاج (inference) است؛ یعنی زمانی که مدل برای تولید پاسخ یا تحلیل داده استفاده میشود.
این فرمت توسط توسعهدهندگان llama.cpp (یک فریمورک محبوب C/C++ برای اجرای LLMها) معرفی شد و برای استفاده در ابزارهایی مانند GGML طراحی شده است. به کمک GGUF، مدلهایی که با فریمورکهای سنگینتری مانند PyTorch آموزش دیدهاند، میتوانند به فرمتی سبک و کارآمد تبدیل شوند تا روی سختافزارهای معمولی (حتی فقط با CPU) قابل اجرا باشند.
یکی از تفاوتهای بنیادین GGUF با فرمتهای دیگر مانند safetensors، این است که GGUF علاوه بر تنسورها (Tensor)، تمام فراداده (Metadata) مورد نیاز مدل را نیز در یک فایل واحد بستهبندی میکند. این فراداده شامل اطلاعاتی درباره ساختار مدل، پارامترها و واژهنامه (tokenizer) است که فرآیند استفاده از مدل را بسیار سادهتر میکند.
GGUF در برابر GGML: یک مقایسهی کامل
هر دو فرمت GGML و GGUF توسط یک توسعهدهنده (Georgi Gerganov) با هدف اجرای بهینه مدلهای کوانتیزهشده (Quantized) روی CPU ساخته شدهاند. اما GGUF به عنوان جانشین GGML، برتریهای قابل توجهی دارد.
۱. فرمت GGML (نسل قدیم)
GGML (Gerganov’s Machine Learning) یک کتابخانه تنسور و فرمت اولیه بود که امکان اجرای مدلهای بزرگ روی سختافزارهای ضعیفتر را فراهم کرد. با این حال، این فرمت معایب مهمی داشت:
- انعطافپذیری محدود: افزودن ویژگیهای جدید به مدلها اغلب باعث میشد نسخههای قدیمیتر با مشکل مواجه شوند (Breaking Changes).
- عدم پایداری: کاربران برای اجرای مدلها مجبور بودند پارامترهای زیادی را به صورت دستی تنظیم کنند که فرآیندی پیچیده و مستعد خطا بود.
- فقدان فراداده: تمام اطلاعات مدل در یک فایل ذخیره نمیشد و این موضوع مدیریت مدلها را دشوار میکرد.
۲. فرمت GGUF (نسل جدید)
GGUF که در آگوست ۲۰۲۳ معرفی شد، برای رفع تمام این مشکلات طراحی شده است. مزایای کلیدی آن عبارتاند از:
- جامع و یکپارچه: تمام اطلاعات لازم، از جمله تنسورها و فراداده، در یک فایل واحد ذخیره میشود.
- قابلیت توسعهپذیری: فرمت GGUF به گونهای طراحی شده که میتوان ویژگیهای جدیدی به آن اضافه کرد، بدون آنکه سازگاری با مدلهای قدیمی از بین برود.
- پایداری و سادگی: دیگر نیازی به تنظیمات دستی پیچیده نیست و اجرای مدلها بسیار سادهتر شده است.
- بهینهسازی شده برای آینده: این فرمت برای مدیریت مدلهای بسیار بزرگ (حتی با حجم بیش از ۱۰۰ گیگابایت) بهینهسازی شده و به دلیل ساختار منظم، سرعت بارگذاری بالاتری دارد.
چگونه مدلهای GGUF را پیدا و بررسی کنیم؟
پلتفرم Hugging Face Hub به عنوان بزرگترین مرکز اشتراکگذاری مدلهای هوش مصنوعی، از فرمت GGUF به طور کامل پشتیبانی میکند.
یافتن فایلهای GGUF
شما میتوانید تمام مدلهایی را که حداقل یک فایل با فرمت GGUF دارند، با استفاده از فیلتر برچسب GGUF در Hugging Face مشاهده کنید.
برای مثال، مخزن مدل TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF یک نمونهی عالی برای مشاهدهی نحوهی استفاده از این فایلهاست.
مشاهدهگر فراداده و تنسورها
Hugging Face یک نمایشگر (Viewer) داخلی برای فایلهای GGUF ارائه میدهد. با استفاده از این ابزار میتوانید به راحتی فراداده و اطلاعات تنسورهای مدل (مانند نام، شکل و دقت) را مستقیماً در مرورگر خود بررسی کنید. این نمایشگر هم در صفحه اصلی مدل و هم در تب “Files and versions” در دسترس است.
نتیجهگیری
فرمت GGUF یک گام بزرگ رو به جلو در استانداردسازی و بهینهسازی مدلهای هوش مصنوعی برای استفاده عمومی است. این فرمت با حل مشکلات پایداری و انعطافپذیری GGML، راه را برای توسعه و اشتراکگذاری آسانتر مدلهای زبانی بزرگ هموار کرده است و امروزه به عنوان استاندارد اصلی در این حوزه شناخته میشود.
منابع:
https://medium.com/@phillipgimmi/what-is-gguf-and-ggml-e364834d241c
https://www.ibm.com/think/topics/gguf-versus-ggml
https://huggingface.co/docs/hub/gguf
دیدگاهتان را بنویسید