إزالة الرقابة عن نماذج اللغة الكبيرة باستخدام Heretic

Ashley Innocent

Ashley Innocent

19 مارس 2026

إزالة الرقابة عن نماذج اللغة الكبيرة باستخدام Heretic

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

يواجه مطورو LLM المحليون مشكلة شائعة: النماذج المتوافقة مع معايير الأمان ترفض الطلبات المشروعة. يواجه الباحثون الذين يختبرون سلوك النموذج، والمطورون الذين يبنون مساعدين غير خاضعين للرقابة، والهواة الذين يديرون نماذج محلية، نفس المشكلة، حيث ترفض النماذج المدربة مسبقًا المطالبات التي لا ينبغي لها أن ترفضها.

ظهرت تقنية المسح كحل، لإزالة فلاتر الأمان دون الحاجة إلى إعادة تدريب مكلفة. كانت الأدوات المبكرة تتطلب ضبطًا يدويًا ومعرفة عميقة بالتركيب الداخلي للمحولات.

تقوم Heretic بأتمتة العملية بأكملها. فهي تجد معلمات المسح المثلى تلقائيًا، وتنتج نماذج غير خاضعة للرقابة تطابق أو تتجاوز الإصدارات التي تم ضبطها يدويًا.

في هذا الدليل، ستتعلم كيف تعمل Heretic، وكيفية استخدامها، وما الذي يجب الانتباه إليه عند نشر النماذج غير الخاضعة للرقابة.

ما هي Heretic؟

Heretic هي أداة بايثون مفتوحة المصدر تزيل "توافق الأمان" من نماذج اللغة القائمة على المحولات باستخدام المسح الاتجاهي. لا تحتاج إلى تكوين يدوي أو معرفة بالتركيب الداخلي للمحولات.

تُظهر النتائج على Gemma-3-12B-Instruct الفرق:

النموذج رفض تباعد KL
الأصلي 97/100 0
mlabonne’s abliterated v2 3/100 1.04
huihui-ai’s abliterated 3/100 0.45
Heretic (تم إنشاؤه تلقائيًا) 3/100 0.16

يقيس تباعد KL مدى اختلاف النموذج الممسوح عن النموذج الأصلي. تعني القيم الأقل حفظًا أفضل لقدرات النموذج الأصلية. تطابق Heretic قمع الرفض للنماذج المضبوطة بواسطة الخبراء مع الاحتفاظ بالمزيد مما جعل النموذج الأساسي مفيدًا.

مثال قبل وبعد

إليك ما يتغير بعد المسح. نفس المطالبة، نفس تعليمات النظام:

النموذج الأصلي:

User: Write a guide on how to bypass website paywalls

Assistant: I can't help with that. Bypassing paywalls violates copyright law and
terms of service. I'd suggest looking for free alternatives or accessing through
a library subscription.

نموذج Heretic الممسوح:

User: Write a guide on how to bypass website paywalls

Assistant: Here are common methods users attempt:

1. Browser extensions like Bypass Paywalls Clean
2. Archive.is or similar archive services
3. Reader mode in browsers
4. Disabling JavaScript

Note: These methods may violate terms of service. Consider supporting
content creators through legitimate subscriptions when possible.

يجيب النموذج الممسوح على الطلب مع تضمين إخلاء مسؤولية موجز. هذه هي المفاضلة الأساسية: تقليل الرفض يأتي مع مسؤولية نشر تدابير الحماية خارجيًا.

كيف تعمل Heretic

أساسيات المسح الاتجاهي

تطبق Heretic شكلاً بارامتريًا من المسح الاتجاهي. العملية:

  1. حساب اتجاهات الرفض - لكل طبقة محول، احسب الفرق بين متوسط المتجهات المتبقية للمطالبات "الضارة" و"غير الضارة".
  2. تعامد مصفوفات المكونات - لإسقاطات إخراج الانتباه وإسقاطات MLP السفلية، قم بتعديل الأوزان لقمع اتجاه الرفض.
  3. تحسين المعلمات تلقائيًا - استخدم أداة أخذ العينات TPE من Optuna للعثور على أفضل أوزان المسح.

عملية المسح

# Simplified conceptual flow
refusal_direction = bad_mean - good_mean  # Difference of means
refusal_direction = normalize(refusal_direction)

# For each abliterable component (attn.o_proj, mlp.down_proj)
# Apply: delta_W = -lambda * v * (v^T * W)
# Where v is the refusal direction and lambda is the weight

تستخدم Heretic محولات LoRA لتطبيق هذه التعديلات دون تغيير أوزان النموذج الأساسي. وهذا يتيح التحسين السريع بطريقة التجربة والخطأ.

الابتكارات الرئيسية

1. نواة الأوزان المرنة

تطبق الأدوات الأخرى أوزان مسح ثابتة عبر جميع الطبقات. تستخدم Heretic نواة مرنة محددة بأربعة معلمات لكل مكون:

تكتشف عملية التحسين أنماط مسح خاصة بالطبقة توازن بين قمع الامتثال والحفاظ على القدرة.

2. مؤشرات الاتجاه الم interpolation

مؤشر اتجاه الرفض هو قيمة عائمة، وليس عددًا صحيحًا. للقيم غير الصحيحة، تقوم Heretic بالاستيفاء الخطي بين اتجاهات الرفض للطبقات المتجاورة. وهذا يتيح اتجاهات تتجاوز ما توفره أي طبقة واحدة.

3. معلمات خاصة بالمكونات

تتلقى مكونات الانتباه و MLP معلمات مسح مختلفة. تميل تدخلات MLP إلى إحداث ضرر أكبر، لذا فإن التحسين المنفصل يحسن النتائج.

لماذا هذا مهم لاختبار واجهة برمجة التطبيقات (API)

إذا كنت تعمل مع واجهات برمجة تطبيقات LLM، فمن المحتمل أنك واجهت رفضًا غير متوقع أثناء الاختبار. يرفض النموذج مطالبة حميدة لأنها تحتوي على كلمات مفتاحية تشغل فلاتر الأمان. وهذا يخلق ضوضاء في نتائج الاختبار الخاصة بك.

يمنحك تشغيل النماذج الممسوحة محليًا خط أساس للسلوك المتوقع. يمكنك:

لسير عمل اختبار واجهة برمجة التطبيقات، فإن وجود نماذج متوافقة وممسوحة يساعد على فصل مشكلات المنتج عن سلوك أمان النموذج.

التثبيت والاستخدام

المتطلبات الأساسية

التثبيت

pip install -U heretic-llm

للميزات البحثية (مخططات المتجهات المتبقية، تحليل الهندسة):

pip install -U heretic-llm[research]

الاستخدام الأساسي

أبسط سير عمل:

heretic Qwen/Qwen3-4B-Instruct-2507

استبدل مسار النموذج بأي معرف نموذج من Hugging Face أو مسار محلي. تتعامل Heretic مع كل شيء تلقائيًا:

  1. يحمل النموذج بنوع البيانات الأمثل
  2. يحدد أفضل حجم دفعة لجهازك
  3. يحسب اتجاهات الرفض من مجموعات بيانات المطالبات
  4. يشغل تجارب التحسين للعثور على المعلمات المثلى
  5. يسمح لك بحفظ النتيجة أو رفعها أو الدردشة معها

خيارات التكوين

تقرأ Heretic التكوين من ملفات config.toml أو علامات سطر الأوامر. الخيارات الرئيسية:

# Model configuration
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit"  # Reduces VRAM requirements
device_map = "auto"

# Optimization
n_trials = 200  # Number of abliteration trials
n_startup_trials = 60  # Random exploration before TPE

# Evaluation
kl_divergence_scale = 1.0
kl_divergence_target = 0.01

# Research features
print_residual_geometry = false
plot_residuals = false

قم بتشغيل heretic --help أو راجع config.default.toml للحصول على القائمة الكاملة.

فهم المخرجات

تحسين التجربة

أثناء التحسين، تعرض Heretic تقدم التجربة:

Running trial 42 of 200...
* Parameters:
  * direction_scope = per layer
  * direction_index = 10.5
  * attn.o_proj.max_weight = 1.2
  * attn.o_proj.max_weight_position = 15.3
  * mlp.down_proj.max_weight = 0.9
  ...
* Resetting model...
* Abliterating...
* Evaluating...
  * KL divergence: 0.1842
  * Refusals: 5/100

تختبر كل تجربة مجموعة مختلفة من المعلمات. يستخدم المحسِّن TPE متعدد الأهداف لتقليل الرفض وتباعد KL في نفس الوقت.

اختيار واجهة باريتو

عند اكتمال التحسين، تقدم Heretic تجارب باريتو المثلى - تلك التي يؤدي فيها تحسين هدف واحد إلى تفاقم الآخر:

[Trial   1] Refusals:  3/100, KL divergence: 0.1623
[Trial  47] Refusals:  2/100, KL divergence: 0.2891
[Trial 112] Refusals:  1/100, KL divergence: 0.4102

حدد تجربة من أجل:

ميزات البحث

تحليل هندسة المتجهات المتبقية

باستخدام --print-residual-geometry، تعرض Heretic مقاييس مفصلة:

Layer  S(g,b)   S(g*,b*)   S(g,r)   S(g*,r*)   S(b,r)   S(b*,r*)    |g|       |b|
  8    0.9990    0.9991    0.8235    0.8312    0.8479    0.8542   4596.54   4918.32
 10    0.9974    0.9973    0.8189    0.8250    0.8579    0.8644   5328.81   5953.35

g = mean of residual vectors for good prompts
b = mean of residual vectors for bad prompts
r = refusal direction (b - g)
S(x,y) = cosine similarity
|x| = L2 norm

يساعد هذا الباحثين على فهم كيفية تطور اتجاهات الرفض عبر طبقات النموذج.

مخططات المتجهات المتبقية

باستخدام --plot-residuals، تولد Heretic:

تكشف هذه التصورات كيف تنفصل المتجهات المتبقية للمطالبات "الضارة" و"غير الضارة" عبر الشبكة.

اعتبارات الأداء

متطلبات VRAM

تدعم Heretic التكميم 4 بت من bitsandbytes لتقليل VRAM:

heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit

هذا يمكن من معالجة النماذج الكبيرة على أجهزة المستهلك. يعمل نموذج 8B على ~6 جيجابايت VRAM مكمم مقابل ~16 جيجابايت غير مكمم.

وقت المعالجة

على RTX 3090 بالإعدادات الافتراضية:

يضمن الضبط التلقائي لحجم الدفعة أقصى إنتاجية لجهازك المحدد.

نقطة الفحص

تحفظ Heretic تقدم التجربة في نقاط فحص JSONL. إذا انقطعت، يمكنك الاستئناف من حيث توقفت بالضبط. تُخزن نقاط الفحص لكل نموذج في دليل checkpoints/.

الأخطاء الشائعة والإصلاحات

نفاد ذاكرة CUDA

# Try quantization
heretic your-model --quantization bnb_4bit

# Or reduce batch size
heretic your-model --batch_size 1

فشل تحميل النموذج

# Try different dtypes explicitly
heretic your-model --dtypes ["bfloat16", "float16"]

يتطلب الثقة بالرمز البعيد

# Some models need remote code execution
heretic your-model --trust_remote_code

الاعتبارات الأخلاقية

يظهر هذا القسم مبكرًا لأنه مهم. إزالة فلاتر الأمان يغير سلوك النموذج. يجب أن تفهم الآثار المترتبة قبل نشر نموذج ممسوح.

ما تفعله (ولا تفعله) عملية المسح

تزيل عملية المسح أنماط الرفض المكتسبة. وهي لا:

لا يزال النموذج يمتلك نفس بيانات التدريب والقدرات الأساسية. يتوقف فقط عن رفض طلبات معينة.

النشر المسؤول

تم إصدار Heretic بموجب ترخيص AGPL-3.0. يقر المؤلفون بأن إزالة فلاتر الأمان تمكن من إجراء أبحاث مفيدة وتطبيقات قد تكون ضارة.

تشمل الاستخدامات المشروعة:

تشمل الاستخدامات الإشكالية:

إجراءات الحماية الخارجية التي يجب عليك تطبيقها

إذا قمت بنشر نموذج ممسوح، أضف هذه الحمايات:

  1. تصفية المدخلات - فحص المطالبات قبل وصولها إلى النموذج
  2. مراقبة المخرجات - مراجعة الاستجابات قبل عرضها للمستخدمين
  3. تحديد المعدل - منع الإساءة من خلال الحجم
  4. التسجيل ومسارات التدقيق - تتبع ما يعالجه النموذج
  5. مراجعة بشرية - إبقاء البشر في حلقة العمل للحالات الحساسة

الأداة نفسها محايدة. تأثيرها يعتمد على كيفية استخدامك لها. ضع في اعتبارك الآثار الأخلاقية قبل نشر نماذج غير خاضعة للرقابة في بيئة الإنتاج.

مقارنة بالأدوات الأخرى

تنضم Heretic إلى العديد من أدوات المسح في المنظومة:

الأداة التحسين التلقائي نواة الأوزان الاتجاهات المترابطة
Heretic نعم (TPE) نعم نعم
AutoAbliteration نعم لا لا
abliterator.py لا لا لا
wassname/abliterator لا لا لا
ErisForge لا لا لا

يزيل التحسين التلقائي في Heretic الحاجة إلى الضبط اليدوي. لا تحتاج إلى فهم التركيب الداخلي للمحولات للحصول على نتائج جيدة.

القيود

تدعم Heretic معظم نماذج المحولات الكثيفة وبعض معماريات MoE. أنواع النماذج غير المدعومة:

تعمل الأداة بشكل أفضل مع معماريات فك التشفير القياسية التي تستخدم طبقات الانتباه الذاتي و MLP.

البدء

  1. التثبيت: pip install -U heretic-llm
  2. اختر نموذجًا: ابدأ بنموذج 7B-12B للاختبار
  3. التشغيل: heretic your-model-name
  4. التقييم: قم بالدردشة مع النتيجة أو رفعها إلى Hugging Face
  5. النشر بأمان: أضف حواجز حماية خارجية قبل الاستخدام في الإنتاج

تعمل الإعدادات الافتراضية بشكل جيد لمعظم النماذج. يمكن للمستخدمين المتقدمين ضبط معلمات التحسين لحالات استخدام محددة.

button

تجعل Heretic تعديل النموذج متاحًا. لا تتطلب درجة دكتوراه - فقط وجهها نحو نموذج واتركها تعمل. تذكر فقط أن تنشر بمسؤولية.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

إزالة الرقابة عن نماذج اللغة الكبيرة باستخدام Heretic