Hub documentation
GGUF
GGUF
يدعم Hugging Face Hub جميع صيغ الملفات، لكنه يوفّر ميزات مدمجة لصيغة GGUF، وهي صيغة ثنائية مُحسَّنة لتحميل وحفظ النماذج بسرعة، مما يجعلها فعّالة للغاية لأغراض الاستدلال. صُمِّمت GGUF للاستخدام مع GGML ومنفِّذين آخرين. طوَّر @ggerganov صيغة GGUF، وهو المطوِّر أيضًا لـ llama.cpp، وهو إطار عمل شهير للاستدلال على النماذج اللغوية الكبيرة بلغة C/C++. يمكن تحويل النماذج التي طُوِّرت في البداية في أطر عمل مثل PyTorch إلى صيغة GGUF لاستخدامها مع تلك المحرِّكات.

كما نرى في هذا الرسم البياني، على عكس صيغ الملفات التي تحتوي على المصفوفات فقط مثل safetensors – وهي أيضًا صيغة نموذج موصى بها في Hub – يقوم GGUF بتشفير المصفوفات ومجموعة قياسية من البيانات الوصفية معًا.
العثور على ملفات GGUF
يمكنك تصفح جميع النماذج التي تحتوي على ملفات GGUF عن طريق التصفية حسب وسم GGUF: hf.co/models?library=gguf. علاوة على ذلك، يمكنك استخدام أداة ggml-org/gguf-my-repo لتحويل/تكميم أوزان نموذجك إلى أوزان GGUF.

على سبيل المثال، يمكنك الاطلاع على TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF لرؤية ملفات GGUF قيد الاستخدام.

عارض لمعلومات البيانات الوصفية والمُتَنسّرات
يحتوي الـ Hub على عارض لملفات GGUF يتيح للمستخدم الاطلاع على البيانات الوصفية ومعلومات الموترات (الاسم، الشكل، الدقة). يتوفر العارض في صفحة النموذج (مثال) وصفحة الملفات (مثال).

الاستخدام مع الأدوات مفتوحة المصدر
تحليل البيانات الوصفية باستخدام @huggingface/gguf
كما أنشأنا أيضًا محلل GGUF بلغة javascript يعمل على الملفات المستضافة عن بُعد (مثل Hugging Face Hub).
npm install @huggingface/gguf
import { gguf } from "@huggingface/gguf";
// remote GGUF file from https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF
const URL_LLAMA = "https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/resolve/191239b/llama-2-7b-chat.Q2_K.gguf";
const { metadata, tensorInfos } = await gguf(URL_LLAMA);اعثر على مزيد من المعلومات هنا.
أنواع التكميم
| النوع | المصدر | الوصف |
|---|---|---|
| F64 | ويكيبيديا | رقم فاصلة عشرية بدقة مزدوجة وفق معيار IEEE 754 المكوّن من 64 بت. |
| I64 | GH | رقم صحيح ثابت العرض بـ 64 بت. |
| F32 | ويكيبيديا | رقم فاصلة عشرية بدقة مفردة قياسي IEEE 754 من 32 بت. |
| I32 | GH | عدد صحيح بعرض ثابت 32 بت. |
| F16 | ويكيبيديا | رقم فاصلة عشرية بدقة نصفية قياسية IEEE 754 من 16 بت. |
| BF16 | ويكيبيديا | نسخة مختصرة بدقة 16 بت من العدد العشري الفاصلة العائمة أحادي الدقة IEEE 754 بدقة 32 بت. |
| I16 | GH | عدد صحيح بعرض ثابت قدره 16 بت. |
| Q8_K | GH | تكميم 8 بت (q). يحتوي كل كتلة على 256 وزناً. يُستخدم فقط لتكميم النتائج الوسيطة. جميع عمليات ضرب النقاط من 2 إلى 6 بت مُنفَّذة لهذا النوع من التكميم. معادلة الوزن: w = q * block_scale. |
| I8 | GH | رقم صحيح بعرض ثابت 8 بت. |
| Q6_K | GH | كمّية 6 بت (q). كتل فائقة تتكون من 16 كتلة، حيث تحتوي كل كتلة على 16 وزناً. معادلة الوزن: w = q * block_scale(8-bit)، مما يؤدي إلى 6.5625 بت لكل وزن. |
| Q5_K | GH | تكميم 5 بتات (q). كتل فائقة تتكون من 8 كتل، حيث يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale(6-bit) + block_min(6-bit)، مما يؤدي إلى 5.5 بت لكل وزن. |
| Q4_K | GH | تكميم 4 بت (q). كتل فائقة تتكون من 8 كتل، حيث يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale(6-bit) + block_min(6-bit)، مما يؤدي إلى 4.5 بت لكل وزن. |
| Q3_K | GH | تكميم 3 بت (q). كتل فائقة تتكون من 16 كتلة، حيث تحتوي كل كتلة على 16 وزناً. معادلة الوزن: w = q * block_scale(6-bit)، مما يؤدي إلى 3.4375 بت لكل وزن. |
| Q2_K | GH | تكميم 2-بت (q). كتل فائقة تتكون من 16 كتلة، حيث تحتوي كل كتلة على 16 وزناً. معادلة الوزن: w = q * block_scale(4-bit) + block_min(4-bit)، مما يؤدي إلى 2.625 بت لكل وزن. |
| IQ4_NL | GH | الكمّة بدقة 4 بت (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix. |
| IQ4_XS | HF | الكمّة بدقة 4 بت (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 4.25 بت لكل وزن. |
| IQ3_S | HF | الكمّة ثلاثية البت (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 3.44 بت لكل وزن. |
| IQ3_XXS | HF | الكمّة ثلاثية البت (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 3.06 بت لكل وزن. |
| IQ2_XXS | HF | الكمّة ذات البتّين (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 2.06 بت لكل وزن. |
| IQ2_S | HF | الكمّة ذات البتّين (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 2.5 بت لكل وزن. |
| IQ2_XS | HF | الكمّة ذات البتّين (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 2.31 بت لكل وزن. |
| IQ1_S | HF | الكمّة ذات البت الواحد (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 1.56 بت لكل وزن. |
| IQ1_M | GH | الكمّة ذات البت الواحد (q). كتل فائقة تحتوي على 256 وزناً. يُستخرج الوزن w باستخدام super_block_scale وimportance matrix، مما يؤدي إلى 1.75 بت لكل وزن. |
| TQ1_0 | GH | الكمّية الثلاثية. |
| TQ2_0 | GH | الكمّية الثلاثية. |
| MXFP4 | GH | 4-bit Microscaling Block Floating Point. |
| الأنواع القديمة | ||
| Q8_0 | GH | تكميم 8 بت بتقريب إلى أقرب قيمة (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale. طريقة تكميم قديمة (لا تُستخدم على نطاق واسع حتى اليوم). |
| Q8_1 | GH | تكميم 8 بت بتقريب إلى أقرب قيمة (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale + block_minimum. طريقة تكميم قديمة (لم تعد تُستخدم على نطاق واسع حتى اليوم). |
| Q5_0 | GH | كمّية تقريب لأقرب قيمة بدقة 5 بت (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale. طريقة كمّية قديمة (لم تعد تُستخدم على نطاق واسع حتى اليوم). |
| Q5_1 | GH | كمّية تقريب لأقرب قيمة بدقة 5 بت (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale + block_minimum. طريقة كمّية قديمة (لم تعد تُستخدم على نطاق واسع حتى اليوم). |
| Q4_0 | GH | تكميم 4 بت بتقريب إلى أقرب قيمة (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale. طريقة تكميم قديمة (لا تُستخدم على نطاق واسع حتى اليوم). |
| Q4_1 | GH | تكميم 4 بت بتقريب إلى أقرب قيمة (q). يحتوي كل كتلة على 32 وزناً. معادلة الوزن: w = q * block_scale + block_minimum. طريقة تكميم قديمة (لم تعد تُستخدم على نطاق واسع حتى اليوم). |
إذا كانت هناك أي دقة في الجدول أعلاه، يرجى فتح طلب سحب على هذا الملف.
Update on GitHub