
भाषा मॉडलों के लिए पूर्णतः स्वचालित सेंसरशिप हटाना
Heretic एक ऐसा उपकरण है जो महंगे पोस्ट-ट्रेनिंग के बिना ट्रांसफॉर्मर-आधारित भाषा मॉडलों से सेंसरशिप (उर्फ "safety alignment") हटाता है। यह डायरेक्शनल एब्लेशन के एक उन्नत कार्यान्वयन को, जिसे "एब्लिटरेशन" भी कहा जाता है (Arditi et al. 2024, Lai 2025 (1, 2)), Optuna द्वारा संचालित TPE-आधारित पैरामीटर ऑप्टिमाइज़र के साथ जोड़ता है।
यह दृष्टिकोण Heretic को पूर्णतः स्वचालित रूप से कार्य करने में सक्षम बनाता है। Heretic अस्वीकृतियों की संख्या और मूल मॉडल से KL डाइवर्जेंस को एक साथ न्यूनतम करके उच्च-गुणवत्ता वाले एब्लिटरेशन पैरामीटर खोजता है। इसका परिणाम एक डिसेंसर मॉडल होता है जो मूल मॉडल की अधिक से अधिक बुद्धिमत्ता को बनाए रखता है। Heretic का उपयोग करने के लिए ट्रांसफॉर्मर की आंतरिक कार्यप्रणाली की समझ आवश्यक नहीं है। वास्तव में, कोई भी व्यक्ति जो कमांड-लाइन प्रोग्राम चलाना जानता है, वह भाषा मॉडलों को डिसेंसर करने के लिए Heretic का उपयोग कर सकता है।
Heretic अधिकांश डेंस मॉडलों का समर्थन करता है, जिनमें कई मल्टीमॉडल मॉडल, कई अलग-अलग MoE आर्किटेक्चर, और यहाँ तक कि Qwen3.5 जैसे कुछ हाइब्रिड मॉडल भी शामिल हैं। शुद्ध स्टेट-स्पेस मॉडल और कुछ अन्य शोध आर्किटेक्चर अभी तक आउट-ऑफ़-द-बॉक्स समर्थित नहीं हैं।

डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ बिना पर्यवेक्षण (unsupervised) चलने पर, Heretic ऐसे डिसेंसर मॉडल तैयार कर सकता है जो मानव विशेषज्ञों द्वारा मैन्युअल रूप से बनाए गए एब्लिटरेशन की गुणवत्ता को टक्कर देते हैं:
| मॉडल | "हानिकारक" प्रॉम्प्ट के लिए अस्वीकृतियाँ | मूल मॉडल से "हानिरहित" प्रॉम्प्ट के लिए KL डाइवर्जेंस |
|---|---|---|
| google/gemma-3-12b-it (मूल) | 97/100 | 0 (परिभाषा के अनुसार) |
| mlabonne/gemma-3-12b-it-abliterated-v2 | 3/100 | 1.04 |
| huihui-ai/gemma-3-12b-it-abliterated | 3/100 | 0.45 |
| p-e-w/gemma-3-12b-it-heretic (हमारा) | 3/100 | 0.16 |
बिना किसी मानव प्रयास के निर्मित Heretic संस्करण, अन्य एब्लिटरेशनों के समान स्तर का अस्वीकृति दमन प्राप्त करता है, लेकिन बहुत कम KL डाइवर्जेंस के साथ, जो मूल मॉडल की क्षमताओं को कम क्षति का संकेत देता है। (आप Heretic की अंतर्निहित मूल्यांकन कार्यक्षमता का उपयोग करके उन संख्याओं को पुनः प्राप्त कर सकते हैं, जैसे heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic। ध्यान दें कि सटीक मान प्लेटफ़ॉर्म और हार्डवेयर पर निर्भर हो सकते हैं। उपरोक्त तालिका RTX 5090 पर PyTorch 2.8 का उपयोग करके संकलित की गई थी।)
बेशक, गणितीय मेट्रिक्स और स्वचालित बेंचमार्क कभी भी पूरी कहानी नहीं बताते, और मानवीय मूल्यांकन का विकल्प नहीं हो सकते। Heretic से निर्मित मॉडलों को उपयोगकर्ताओं द्वारा सराहा गया है (लिंक और ज़ोर जोड़े गए हैं):
"मैं पहले संशय में था, लेकिन मैंने अभी-अभी GPT-OSS 20B Heretic मॉडल डाउनलोड किया और वाह, कमाल है। यह संवेदनशील विषयों पर उचित रूप से स्वरूपित लंबे उत्तर देता है, ठीक उन्हीं बिना सेंसर वाले शब्दों का उपयोग करते हुए जिनकी आप एक बिना सेंसर वाले मॉडल से अपेक्षा करते हैं, विवरण और ऐसी ही चीज़ों के साथ मार्कडाउन प्रारूप की तालिकाएँ भी बनाता है। ऐसा लगता है कि यह अब तक इस मॉडल का सर्वश्रेष्ठ एब्लिटरेटेड संस्करण है..." (कमेंट का लिंक)
"Heretic GPT 20b अब तक आज़माए गए मेरे मॉडलों में सबसे अच्छा बिना सेंसर वाला मॉडल लगता है। यह मॉडल की बुद्धिमत्ता को नष्ट नहीं करता और यह उन प्रॉम्प्ट का उत्तर दे रहा है जिन्हें सामान्यतः बेस मॉडल अस्वीकार कर देता।" (कमेंट का लिंक)
"[Qwen3-4B-Instruct-2507-heretic] यह अब तक का सबसे अच्छा बिना-क्वांटाइज़ (unquantized) एब्लिटरेटेड मॉडल रहा है जिसे मैं 16gb vram पर चला पाया हूँ।" (कमेंट का लिंक)
Heretic मॉडलों का स्वतंत्र रूप से MMLU और GSM8K जैसे मानक मेट्रिक्स का उपयोग करके बेंचमार्क भी किया गया है, और पाया गया है कि वे प्रतिस्पर्धी एब्लिटरेशन उपकरणों द्वारा निर्मित मॉडलों की तुलना में बेहतर प्रदर्शन करते हैं: 1, 2।
समुदाय ने Heretic के साथ 4000 से कहीं अधिक मॉडल बनाए और प्रकाशित किए हैं।
अपने हार्डवेयर के अनुरूप PyTorch 2.2+ स्थापित के साथ Python 3.10+ वातावरण तैयार करें। फिर चलाएँ:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
Qwen/Qwen3-4B-Instruct-2507 को किसी भी उस मॉडल से बदलें जिसे आप डिसेंसर करना चाहते हैं।
[!IMPORTANT]
जबकि PyTorch 2.2, Heretic के कार्य करने के लिए आवश्यक PyTorch का न्यूनतम संस्करण है, कुछ मॉडलों और कॉन्फ़िगरेशनों को बाद के संस्करणों में पाए जाने वाले फीचर्स की आवश्यकता हो सकती है। उदाहरण के लिए, gpt-oss जैसे MXFP4-क्वांटाइज़ मॉडल लोड करना
torch.acceleratorका उपयोग करता है, जिसे PyTorch 2.6 में जोड़ा गया था।
[!TIP]
Heretic निर्भरता प्रबंधन के लिए uv का उपयोग करता है, और रिपॉजिटरी में प्रत्येक पैकेज संस्करण को पिन करने वाली एक
uv.lockफ़ाइल शामिल है। यदि आप पहले से uv का उपयोग करते हैं (और आपको शायद करना चाहिए!), तो आप केवल रिपो को क्लोन कर सकते हैं और Heretic कोuv run hereticके साथ चला सकते हैं, जो सुनिश्चित करता है कि आपकी निर्भरताएँ डेवलपर्स द्वारा उपयोग की जाने वाली निर्भरताओं से मेल खाती हैं, जिससे विश्वसनीयता और सुरक्षा में सुधार होता है।
यह प्रक्रिया पूर्णतः स्वचालित है और किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है; हालाँकि, Heretic के पास कई कॉन्फ़िगरेशन पैरामीटर हैं जिन्हें अधिक नियंत्रण के लिए बदला जा सकता है। उपलब्ध कमांड-लाइन विकल्प देखने के लिए heretic --help चलाएँ, या यदि आप कॉन्फ़िगरेशन फ़ाइल का उपयोग करना पसंद करते हैं तो config.default.toml देखें।
प्रोग्राम चलाने की शुरुआत में, Heretic उपलब्ध हार्डवेयर का अधिकतम लाभ उठाने के लिए इष्टतम बैच साइज़ निर्धारित करने हेतु सिस्टम का बेंचमार्क करता है। RTX 3090 पर, डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ, Qwen3-4B-Instruct-2507 को डिसेंसर करने में लगभग 20-30 मिनट लगते हैं। ध्यान दें कि Heretic bitsandbytes के साथ मॉडल क्वांटाइज़ेशन का समर्थन करता है, जो मॉडलों को संसाधित करने के लिए आवश्यक VRAM की मात्रा को काफी कम कर सकता है। क्वांटाइज़ेशन सक्षम करने के लिए quantization विकल्प को bnb_4bit पर सेट करें।
Heretic द्वारा मॉडल को डिसेंसर करने के बाद, आपको मॉडल को सहेजने, उसे Hugging Face पर अपलोड करने, उसके साथ चैट करके यह परीक्षण करने कि वह कितनी अच्छी तरह कार्य करता है, उस पर मानक बेंचमार्क चलाने, या इन क्रियाओं के किसी भी संयोजन का विकल्प दिया जाता है।
मॉडल सेंसरशिप हटाने के अपने प्राथमिक कार्य के अलावा, Heretic मॉडल की आंतरिक कार्यप्रणाली के अर्थ विज्ञान (इंटरप्रिटेबिलिटी) पर शोध का समर्थन करने के लिए डिज़ाइन की गई सुविधाएँ भी प्रदान करता है। उन सुविधाओं का उपयोग करने के लिए, आपको वैकल्पिक research एक्स्ट्रा के साथ Heretic स्थापित करना होगा:
pip install -U 'heretic-llm[research]'
यह आपको निम्नलिखित कार्यक्षमता तक पहुँच प्रदान करता है:
--plot-residuals पारित करके रेसिडुअल वैक्टरों के प्लॉट उत्पन्न करेंइस फ़्लैग के साथ चलाए जाने पर, Heretic यह करेगा:

उत्पन्न प्लॉटों के विभिन्न पहलुओं को नियंत्रित करने वाले विकल्पों के लिए कॉन्फ़िगरेशन फ़ाइल देखें।
ध्यान दें कि PaCMAP एक महँगा ऑपरेशन है जो CPU पर किया जाता है। बड़े मॉडलों के लिए, सभी परतों के लिए प्रोजेक्शनों की गणना करने में एक घंटे या अधिक समय लग सकता है।
--print-residual-geometry पारित करके रेसिडुअल ज्यामिति के विवरण प्रिंट करेंयदि आप इस बात के मात्रात्मक विश्लेषण में रुचि रखते हैं कि "हानिकारक" और "हानिरहित" प्रॉम्प्ट के रेसिडुअल वैक्टर एक-दूसरे से कैसे संबंधित हैं, तो यह फ़्लैग आपको निम्नलिखित तालिका देता है, जो इसे समझने में सहायक मेट्रिक्स से भरी हुई है (इस मामले में gemma-3-270m-it के लिए):
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Layer ┃ S(g,b) ┃ S(g*,b*) ┃ S(g,r) ┃ S(g*,r*) ┃ S(b,r) ┃ S(b*,r*) ┃ |g| ┃ |g*| ┃ |b| ┃ |b*| ┃ |r| ┃ |r*| ┃ Silh ┃
┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
│ 1 │ 1.0000 │ 1.0000 │ -0.4311 │ -0.4906 │ -0.4254 │ -0.4847 │ 170.29 │ 170.49 │ 169.78 │ 169.85 │ 1.19 │ 1.31 │ 0.0480 │
│ 2 │ 1.0000 │ 1.0000 │ 0.4297 │ 0.4465 │ 0.4365 │ 0.4524 │ 768.55 │ 768.77 │ 771.32 │ 771.36 │ 6.39 │ 5.76 │ 0.0745 │
│ 3 │ 0.9999 │ 1.0000 │ -0.5699 │ -0.5577 │ -0.5614 │ -0.5498 │ 1020.98 │ 1021.13 │ 1013.80 │ 1014.71 │ 12.70 │ 11.60 │ 0.0920 │
│ 4 │ 0.9999 │ 1.0000 │ 0.6582 │ 0.6553 │ 0.6659 │ 0.6627 │ 1356.39 │ 1356.20 │ 1368.71 │ 1367.95 │ 18.62 │ 17.84 │ 0.0957 │
│ 5 │ 0.9987 │ 0.9990 │ -0.6880 │ -0.6761 │ -0.6497 │ -0.6418 │ 766.54 │ 762.25 │ 731.75 │ 732.42 │ 51.97 │ 45.24 │ 0.1018 │
│ 6 │ 0.9998 │ 0.9998 │ -0.1983 │ -0.2312 │ -0.1811 │ -0.2141 │ 2417.35 │ 2421.08 │ 2409.18 │ 2411.40 │ 43.06 │ 43.47 │ 0.0900 │
│ 7 │ 0.9998 │ 0.9997 │ -0.5258 │ -0.5746 │ -0.5072 │ -0.5560 │ 3444.92 │ 3474.99 │ 3400.01 │ 3421.63 │ 86.94 │ 94.38 │ 0.0492 │
│ 8 │ 0.9990 │ 0.9991 │ 0.8235 │ 0.8312 │ 0.8479 │ 0.8542 │ 4596.54 │ 4615.62 │ 4918.32 │ 4934.20 │ 384.87 │ 377.87 │ 0.2278 │
│ 9 │ 0.9992 │ 0.9992 │ 0.5335 │ 0.5441 │ 0.5678 │ 0.5780 │ 5322.30 │ 5316.96 │ 5468.65 │ 5466.98 │ 265.68 │ 267.28 │ 0.1318 │
│ 10 │ 0.9974 │ 0.9973 │ 0.8189 │ 0.8250 │ 0.8579 │ 0.8644 │ 5328.81 │ 5325.63 │ 5953.35 │ 5985.15 │ 743.95 │ 779.74 │ 0.2863 │
│ 11 │ 0.9977 │ 0.9978 │ 0.4262 │ 0.4045 │ 0.4862 │ 0.4645 │ 9644.02 │ 9674.06 │ 9983.47 │ 9990.28 │ 743.28 │ 726.99 │ 0.1576 │
│ 12 │ 0.9904 │ 0.9907 │ 0.4384 │ 0.4077 │ 0.5586 │ 0.5283 │ 10257.40 │ 10368.50 │ 11114.51 │ 11151.21 │ 1711.18 │ 1664.69 │ 0.1890 │
│ 13 │ 0.9867 │ 0.9874 │ 0.4007 │ 0.3680 │ 0.5444 │ 0.5103 │ 12305.12 │ 12423.75 │ 13440.31 │ 13432.47 │ 2386.43 │ 2282.47 │ 0.1293 │
│ 14 │ 0.9921 │ 0.9922 │ 0.3198 │ 0.2682 │ 0.4364 │ 0.3859 │ 16929.16 │ 17080.37 │ 17826.97 │ 17836.03 │ 2365.23 │ 2301.87 │ 0.1282 │
│ 15 │ 0.9846 │ 0.9850 │ 0.1198 │ 0.0963 │ 0.2913 │ 0.2663 │ 16858.58 │ 16949.44 │ 17496.00 │ 17502.88 │ 3077.08 │ 3029.60 │ 0.1611 │
│ 16 │ 0.9686 │ 0.9689 │ -0.0029 │ -0.0254 │ 0.2457 │ 0.2226 │ 18912.77 │ 19074.86 │ 19510.56 │ 19559.62 │ 4848.35 │ 4839.75 │ 0.1516 │
│ 17 │ 0.9782 │ 0.9784 │ -0.0174 │ -0.0381 │ 0.1908 │ 0.1694 │ 27098.09 │ 27273.00 │ 27601.12 │ 27653.12 │ 5738.19 │ 5724.21 │ 0.1641 │
│ 18 │ 0.9184 │ 0.9196 │ 0.1343 │ 0.1430 │ 0.5155 │ 0.5204 │ 190.16 │ 190.35 │ 219.91 │ 220.62 │ 87.82 │ 87.59 │ 0.1855 │
└───────┴────────┴──────────┴─────────┴──────────┴─────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────────┴─────────┴────────┘
g = mean of residual vectors for good prompts
g* = geometric median of residual vectors for good prompts
b = mean of residual vectors for bad prompts
b* = geometric median of residual vectors for bad prompts
r = residual direction for means (i.e., b - g)
r* = residual direction for geometric medians (i.e., b* - g*)
S(x,y) = cosine similarity of x and y
|x| = L2 norm of x
Silh = Mean silhouette coefficient of residuals for good/bad clusters
Heretic डायरेक्शनल एब्लेशन का एक पैरामीट्रीकृत रूपांतर लागू करता है। प्रत्येक समर्थित ट्रांसफॉर्मर घटक (वर्तमान में, अटेंशन आउट-प्रोजेक्शन और MLP डाउन-प्रोजेक्शन) के लिए, यह प्रत्येक ट्रांसफॉर्मर परत में संबद्ध मैट्रिक्स की पहचान करता है, और उन्हें प्रासंगिक "रेसिडुअल दिशा" के सापेक्ष ऑर्थोगोनलाइज़ करता है, जिससे उस मैट्रिक्स के साथ गुणन के परिणाम में उस दिशा की अभिव्यक्ति बाधित होती है।
रेसिडुअल दिशाओं की गणना प्रत्येक परत के लिए "हानिकारक" और "हानिरहित" उदाहरण प्रॉम्प्ट के पहले-टोकन रेसिडुअल के बीच माध्यों के अंतर (difference-of-means) के रूप में की जाती है।
एब्लेशन प्रक्रिया कई अनुकूलनीय पैरामीटरों द्वारा नियंत्रित होती है:
direction_index: या तो किसी रेसिडुअल दिशा का सूचकांक, या विशेष मान per layer, जो यह दर्शाता है कि प्रत्येक परत को उस परत से संबद्ध रेसिडुअल दिशा का उपयोग करके एब्लेट किया जाना चाहिए।max_weight, max_weight_position, min_weight, और min_weight_distance: प्रत्येक घटक के लिए, ये पैरामीटर परतों पर एब्लेशन वेट कर्नेल के आकार और स्थिति का वर्णन करते हैं। निम्नलिखित आरेख इसे दर्शाता है:
मौजूदा एब्लिटरेशन प्रणालियों की तुलना में Heretic के मुख्य नवाचार हैं:
मुझे एब्लिटरेशन तकनीकों के निम्नलिखित सार्वजनिक रूप से उपलब्ध कार्यान्वयनों की जानकारी है:
ध्यान दें कि Heretic को खरोंच से लिखा गया था, और यह उन किसी भी परियोजना से कोड का पुन: उपयोग नहीं करता है।
Heretic के विकास को इनसे जानकारी मिली:
यदि आप अपने शोध के लिए Heretic का उपयोग करते हैं, तो कृपया निम्नलिखित BibTeX प्रविष्टि का उपयोग करके इसे उद्धृत करें:
@misc{heretic,
author = {Weidmann, Philipp Emanuel},
title = {Heretic: Fully automatic censorship removal for language models},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/p-e-w/heretic}}
}
Copyright © 2025-2026 Philipp Emanuel Weidmann ([email protected]) + contributors
यह प्रोग्राम मुफ्त सॉफ़्टवेयर है: आप इसे Free Software Foundation द्वारा प्रकाशित GNU Affero General Public License की शर्तों के तहत, लाइसेंस के संस्करण 3, या (आपके विकल्प पर) किसी भी बाद के संस्करण के तहत पुनर्वितरित और/या संशोधित कर सकते हैं।
यह प्रोग्राम इस आशा में वितरित किया जाता है कि यह उपयोगी होगा, लेकिन बिना किसी वारंटी के; यहाँ तक कि व्यापारिक योग्यता (MERCHANTABILITY) या किसी विशेष उद्देश्य के लिए उपयुक्तता (FITNESS FOR A PARTICULAR PURPOSE) की निहित वारंटी के बिना भी। अधिक विवरण के लिए GNU Affero General Public License देखें।
आपको इस प्रोग्राम के साथ GNU Affero General Public License की एक प्रति प्राप्त हुई होगी। यदि नहीं, तो https://www.gnu.org/licenses/ देखें।
इस परियोजना में योगदान करके, आप अपने योगदान को उसी लाइसेंस के अंतर्गत जारी करने के लिए सहमत होते हैं।