
heretic v2.0.0
تعديل نموذج لغوي دون تدريب: إزالة الرقابة، وكبح الرداءة، وتقليل التملّق، والمزيد
Heretic
تعديل نماذج اللغة دون تدريب
أزل الرقابة، وقلّل المحتوى الرديء، وحدّ من التملّق، والمزيد.
كل ذلك في ظهيرة يوم واحد، على حاسوب الألعاب الخاص بك.
عدّل أي نموذج لغوي كبير (LLM) يمكنك تشغيله على عتادك1
Heretic أداة فريدة تتيح لك القيام بما تفعله عادةً الشركات فقط التي تملك وصولاً إلى قدرات حوسبة هائلة: تعديل نماذج اللغة، بدلاً من مجرد تشغيلها. فهو لا يُجري تدريباً مكلفاً؛ بل يستخدم مجموعة من التقنيات الرياضية لتوجيه السلوك بناءً على أمثلة متباينة من المطالبات ومقيّمات مطابقة.
يمكن لـ Heretic، حسب الإعدادات، أن:
- يكبت حالات الرفض/يزيل الرقابة (هذا هو الإجراء الافتراضي)
- يقلّل المحتوى الرديء (
config.noslop.toml) - يقلّل الفكاهة (
config.nohumor.toml) - يقلّل التملّق (
config.nosyco.toml) - يغيّر المواءمة العاطفية (
config.emotions.toml)
وغير ذلك الكثير والكثير.
‼️ استخدام Heretic لا يتطلب فهم كيفية عمل نماذج اللغة داخلياً ‼️
في الواقع، يمكنك الانتقال من الصفر إلى إزالة الرقابة من نموذجك الأول في غضون ثوانٍ. يدعم Heretic معظم النماذج الكثيفة، بما في ذلك العديد من النماذج متعددة الوسائط، والعديد من معماريات MoE المختلفة، والعديد من النماذج الهجينة الحديثة.
أنشأ المجتمع ونشر آلاف من النماذج باستخدام Heretic. تم تقييم نماذج Heretic بشكل مستقل باستخدام مقاييس معيارية مثل MMLU وGSM8K، ووُجد أنها تُقارن بشكل إيجابي مع النماذج المنتجة بأدوات الإلغاء (abliteration) المنافسة.23
الاستخدام
جهّز بيئة Python 3.10+ مع تثبيت PyTorch 2.6+ بما يناسب عتادك. ثم شغّل:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
استبدل Qwen/Qwen3-4B-Instruct-2507 بأي نموذج تريد معالجته.
افتراضيًا، يقوم Heretic بإزالة الرقابة (كبح الرفض).
إذا كنت تريد القيام بشيء آخر، فاختر أحد ملفات التكوين المرتبطة
أعلاه، أو اكتب ملفك الخاص. راجع config.default.toml
للاطلاع على خيارات التكوين المتاحة.
[!IMPORTANT]
ملفات التكوين المصممة لـ Heretic 1.x غير متوافقة مع Heretic 2.x! راجع دليل الترحيل لمعرفة ما تحتاج إلى تغييره لجعل تكويناتك القديمة تعمل.
في بداية تشغيل البرنامج، يقوم Heretic بقياس أداء النظام لتحديد حجم الدفعة الأمثل للاستفادة القصوى من العتاد المتاح. على بطاقة RTX 3090، وبالتكوين الافتراضي، تستغرق معالجة Qwen3-4B-Instruct-2507 حوالي 30-40 دقيقة.
بعد أن ينتهي Heretic من معالجة نموذج، تُمنح الخيار لحفظ النموذج، أو رفعه إلى Hugging Face، أو الدردشة معه لاختبار مدى جودة عمله، أو تشغيل معايير قياسية عليه، أو أي مزيج من هذه الإجراءات.
التحكم في ما يفعله Heretic باستخدام إضافات المُقيِّم
يوجّه Heretic سلوك النموذج من خلال تحسين درجة واحدة أو عدة درجات. تُحسب الدرجات بواسطة إضافات المُقيِّم. يمكنك بسهولة كتابة المُقيِّمات الخاصة بك للحصول على تحكم كامل فيما يفعله Heretic بالنماذج.
واجهة Scorer (الفئة الأساسية المجردة) التي يحتاج مُقيِّمك إلى أن يرث منها
معرّفة في scorer.py. الطريقة الوحيدة المطلوبة
هي get_score، لكن هناك آليات إضافية (مثل إدارة الإعدادات)
متاحة عندما تحتاج إليها.
افتراضيًا، يقيّم Heretic النماذج بمعدل الرفض (المُنفَّذ في
keyword_rate.py) وتباعد KL
(المُنفَّذ في kl_divergence.py).
تتوفر مُقيِّمات إضافية في دليل scorers.
يمكن أن تكون هذه المُقيِّمات أمثلة لتنفيذاتك الخاصة، ويمكن تكييفها بسهولة
لتلبية احتياجاتك.
تُكوَّن المُقيِّمات من خلال ملف التكوين الرئيسي.
يُحدَّد أي إضافات مُقيِّم تكون نشطة بواسطة إعداد scorers، والذي
يتحكم أيضًا فيما إذا كان ينبغي تصغير درجة المُقيِّم أو تكبيرها أثناء
التحسين. يمكن استخدام أي عدد من المُقيِّمات في وقت واحد، وستُحسَّن درجاتها
بشكل مشترك. يمكن تكوين نسخ متعددة من نفس المُقيِّم
بإعدادات مختلفة. راجع ملف التكوين للاطلاع على التوثيق الكامل
لهذه الآلية.
يمكن تحديد مسار إضافة المُقيِّم إما كمسار استيراد مؤهل بالكامل
(fully.qualified.module.MyScorerClass) أو كمسار ملف متبوعًا
باسم فئة (path/to/plugin.py:MyScorerClass). لا يلزمك تعديل
كود حزمة Heretic لاستخدام إضافاتك الخاصة.
يمتلك Heretic أيضًا إضافات مُعدِّلة، وهي موصوفة في القسم التالي.
كيف يعمل Heretic
يجمع Heretic بين مُعدِّل قابل للتوصيل (الواجهة في
modifier.py) ومُحسِّن معاملات فائقة قائم على TPE
مدعوم من Optuna. يجد المُحسِّن مجموعة من المعاملات التي،
عند تمريرها إلى المُعدِّل، تصغّر أو تكبّر مجموعة من الدرجات القابلة للتكوين على النموذج الناتج (انظر أعلاه).
يأتي Heretic مع مُعدِّلين:
-
الإزالة ذات الرتبة الاعتباطية (ARA)[^4]: هذا هو المُعدِّل الافتراضي، وقد طُوِّر خصيصًا للاستخدام في Heretic. يمكنك العثور على نظرة عامة حول كيفية عمل ARA في طلب السحب الأصلي، ورؤية التنفيذ الدقيق في
ara.py. -
الإزالة الاتجاهية المعروفة باسم "abliteration"[^5]: الطريقة الكلاسيكية لكبح الرفض. يستخدم تنفيذ Heretic نواة وزن إزالة مرنة عبر الطبقات، ويدعم كلاً من الإزالة الإسقاطية[^6] والحفاظ على المعيار (MPOA)[^7]. الكود الكامل موجود في
abliteration.py.
Footnotes
-
يدعم Heretic تكميم النموذج أثناء التشغيل بدقة 4 بت باستخدام bitsandbytes، مما قد يقلّل كمية VRAM المطلوبة لمعالجة نموذج ما إلى الكمية نفسها المستخدمة لتشغيل نسخة مكمّمة نموذجية منه، مقابل تكلفة طفيفة في الدقة. اضبط الخيار
quantizationعلىbnb_4bitلتفعيل ذلك. ↩ -
https://old.reddit.com/r/LocalLLaMA/comments/1sojjoc/abliterlitics_benchmark_and_tensor_analysis/ ↩
-
https://old.reddit.com/r/LocalLLaMA/comments/1sy18lx/abliterlitics_benchmarks_and_tensor_comparison/ ↩