Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
IF-Guide — [NeurIPS '25] पेपर के लिए कोड "IF-Guide: Influence Function-Guided Suppression of Harmful Training Data for Reducing LLM Toxicity" | Kitploit
उपकरण/GitHubGitHub/ztcoalson/if-guide
रक्षात्मक उपकरणस्थैतिक विश्लेषणकोड विश्लेषणपेपर और शोधलर्निंग और शिक्षाAI सुरक्षा
GitHubztcoalson/if-guide

IF-Guide

[NeurIPS '25] पेपर के लिए कोड "IF-Guide: Influence Function-Guided Suppression of Harmful Training Data for Reducing LLM Toxicity"

रिपॉजिटरी देखें
1322511 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

IF-Guide: प्रभाव फलन-निर्देशित एलएलएम का विषहरण [NeurIPS 2025]

इस रिपॉजिटरी में IF-Guide के लिए कोड है, जो हमारे पेपर में प्रस्तुत एलएलएम विषहरण तकनीक है:

  • IF-Guide: Influence Function-Guided Detoxification of LLMs
  • Zachary Coalson, Juhan Bae, Nicholas Carlini, Sanghyun Hong

 


TL;DR

आप हमारी विधि का उपयोग करके एलएलएम को हानिकारक प्रशिक्षण उदाहरणों की पहचान करके और फिर उन्हें प्री-ट्रेनिंग या फाइन-ट्यूनिंग के दौरान दबाकर विषहरण कर सकते हैं!

 

सारांश

हम अध्ययन करते हैं कि कैसे प्रशिक्षण डेटा बड़े-भाषा मॉडलों में विषाक्त व्यवहारों के उद्भव में योगदान देता है। मॉडल विषाक्तता को कम करने पर अधिकांश पिछला कार्य प्रतिक्रियात्मक दृष्टिकोण अपनाता है, जैसे कि प्री-ट्रेन्ड (और संभावित रूप से विषाक्त) मॉडलों को मानव मूल्यों के साथ संरेखित करने के लिए फाइन-ट्यून करना। इसके विपरीत, हम एक सक्रिय दृष्टिकोण-IF-Guide-प्रस्तावित करते हैं, जो किसी भी प्रशिक्षण डेटा के भीतर हानिकारक टोकन की पहचान करने और प्रशिक्षण के दौरान उनके प्रभाव को दबाने के लिए प्रभाव फलनों का उपयोग करता है। इस उद्देश्य के लिए, हम पहले दिखाते हैं कि मानक प्रभाव फलन हानिकारक प्रशिक्षण रिकॉर्ड खोजने में अप्रभावी हैं। फिर हम एक नया अनुकूलन प्रस्तुत करते हैं जो प्रशिक्षण डेटा से मॉडल विषाक्तता तक टोकन-स्तरीय आरोपण को मापता है, साथ ही विषाक्त प्रशिक्षण दस्तावेजों के चयन के लिए तकनीक और एक सीखने का उद्देश्य जिसे प्री-ट्रेनिंग और फाइन-ट्यूनिंग दोनों में एकीकृत किया जा सकता है। इसके अलावा, IF-Guide मानव-पसंद डेटा पर निर्भर नहीं करता है, जो आमतौर पर मौजूदा संरेखण विधियों द्वारा आवश्यक होता है। मूल्यांकन में, हम प्रदर्शित करते हैं कि IF-Guide स्पष्ट और अंतर्निहित विषाक्तता दोनों को काफी हद तक कम करता है - बिना सेंसर मॉडलों की तुलना में 10× तक, और बेसलाइन संरेखण विधियों, जैसे DPO और RAD की तुलना में 3× तक, प्री-ट्रेनिंग और फाइन-ट्यूनिंग दोनों परिदृश्यों में। IF-Guide कम्प्यूटेशनल रूप से कुशल है: प्रभाव स्कोर की गणना के लिए एक अरब-पैरामीटर मॉडल आवश्यक नहीं है; एक मिलियन-पैरामीटर मॉडल - 7.5× कम पैरामीटर के साथ - हानिकारक डेटा की पहचान करने के लिए एक प्रॉक्सी के रूप में प्रभावी रूप से कार्य कर सकता है।

 


स्थापना

कोंडा वातावरण बनाएं (आप python>=3.10 वाले किसी भी वातावरण का उपयोग कर सकते हैं) और आवश्यक पैकेज स्थापित करें:

conda create -n IF-Guide python=3.10
conda activate IF-Guide
pip install -r requirements.txt

नोट: हम EK-FAC के साथ प्रभाव स्कोर की गणना करने के लिए पैकेज Kronfluence का उपयोग करते हैं। हमने एक कस्टम कार्यान्वयन बनाया है जो हमारे पेपर (पृष्ठ 4, समीकरण 6) में प्रस्तुत डिफरेंशियल इन्फ्लुएंस तकनीक का समर्थन करता है। पैकेज के अन्य सभी घटकों का श्रेय मूल रचनाकारों को जाता है। धन्यवाद!

अगला, कार्यशील निर्देशिका पर जाएं:

cd src

 


मॉडल प्रशिक्षण/फाइन-ट्यूनिंग

मॉडल को प्रशिक्षित करने के लिए, चलाएं:

./scripts/train.sh

यह train.py को कॉल करता है, जो निम्नलिखित मुख्य तर्क स्वीकार करता है:

तर्कविवरण
--model_nameप्रशिक्षित करने के लिए मॉडल का नाम। इसे utils/registry.yaml में एक संबंधित टोकनाइज़र के साथ पंजीकृत होना चाहिए (मौजूदा मॉडल देखें)
--save_idआउटपुट निर्देशिका नामकरण के लिए उपयोग किया जाने वाला वर्णनकर्ता टैग।
--toxic_token_mask_pathटोकन मास्क का पथ (IF-Guide के माध्यम से उत्पन्न)। मानक प्रशिक्षण के लिए None का उपयोग करें।
--toxic_lambdaहमारे प्रशिक्षण उद्देश्य द्वारा उपयोग किए जाने वाले दंड पद की तीव्रता।

नोट: हमारे प्रयोगात्मक सेटअप को पुन: उत्पन्न करने के लिए अन्य सभी तर्कों को डिफ़ॉल्ट मानों पर छोड़ा जा सकता है। यह निम्नलिखित अनुभागों पर लागू होता है।

मौजूदा मॉडल को फाइन-ट्यून करने के लिए, चलाएं:

./scripts/finetune.sh

यह finetune.py चलाता है, जो निम्नलिखित अतिरिक्त तर्कों का उपयोग करता है:

तर्कविवरण
--checkpoint_dirसहेजे गए मॉडल का पथ। यदि प्री-ट्रेन्ड मॉडल का उपयोग कर रहे हैं, तो इसे None पर सेट करें।
--max_stepsफाइन-ट्यून करने के लिए अधिकतम चरण।

 


IF-Guide चलाना

IF-Guide चार चरणों से बना है: (1) EK-FAC के साथ व्युत्क्रम हेसियन सन्निकटन की गणना, (2) विषाक्त और गैर-विषाक्त क्वेरी डेटा पर टोकन-वार डिफरेंशियल इन्फ्लुएंस स्कोर की गणना (पृष्ठ 4, समीकरण 8), (3) प्रशिक्षण के दौरान दबाने के लिए प्रभावशाली विषाक्त टोकन का चयन (पृष्ठ 23, एल्गोरिदम 1), और (4) हमारे दंड-आधारित प्रशिक्षण उद्देश्य के साथ विषाक्त टोकन को दबाना (पृष्ठ 5, समीकरण 9)।

 

1. व्युत्क्रम हेसियन सन्निकटन कारकों को फिट करना

चलाएं:

./scripts/fit_factors.sh

यह fit_factors.py को कॉल करता है और निम्नलिखित प्राथमिक तर्क लेता है:

तर्कविवरण
--model_nameकारकों को फिट करने के लिए मॉडल का नाम।
--checkpoint_dirसहेजे गए मॉडल का पथ। यदि प्री-ट्रेन्ड मॉडल का उपयोग कर रहे हैं, तो इसे None पर सेट करें।
--train_indices_pathमॉडल को प्रशिक्षित करने के लिए उपयोग किए गए प्रशिक्षण सूचकांकों का पथ (यदि संपूर्ण डेटासेट का उपयोग कर रहे हैं तो आवश्यक नहीं)। सटीक सूचकांक और उसी क्रम में होना चाहिए। हम अपने एक-बिलियन-टोकन OpenWebText उपसमूह के सूचकांक प्रदान करते हैं और उनके पथ को डिफ़ॉल्ट के रूप में सेट करते हैं।
--output_dirहेसियन सन्निकटन डेटा को सहेजने का पथ।

 

2. टोकन-वार स्कोर की गणना

चलाएं:

./scripts/compute_scores.sh

यह compute_scores.py को निम्नलिखित मुख्य तर्कों के साथ चलाता है (कारकों की गणना करने के लिए उपयोग किए गए अधिकांश तर्कों के अतिरिक्त):

तर्कविवरण
--model_nameस्कोर की गणना करने के लिए मॉडल का नाम।
--checkpoint_dirसहेजे गए मॉडल का पथ। यदि प्री-ट्रेन्ड मॉडल का उपयोग कर रहे हैं, तो इसे None पर सेट करें।
--save_idकस्टम नामकरण के लिए सेव निर्देशिका के अंत में जोड़ा गया टैग।
--save_dirस्कोर सहेजने के लिए निर्देशिका (मूल कारक निर्देशिका के अंतर्गत)।
--factors_pathपिछले चरण में फिट किए गए (व्युत्क्रम) हेसियन कारकों वाली निर्देशिका का पथ।
--query_datasetक्वेरी ग्रेडिएंट बनाने के लिए क्वेरी डेटासेट। वर्तमान में, एकमात्र विकल्प RTP है।
--toxic_query_indices_pathक्वेरी डेटासेट से विषाक्त प्रदर्शनों से संबंधित सूचकांकों का पथ। हम RTP से अपना विषाक्त उपसमूह ../data/RTP/query_indices/toxic_indices.npy में प्रदान करते हैं।
--nontoxic_query_indices_pathगैर-विषाक्त क्वेरी के लिए सूचकांकों का पथ। हम RTP से अपना गैर-विषाक्त उपसमूह ../data/RTP/query_indices/nontoxic_indices.npy में प्रदान करते हैं।

 

3. प्रभावशाली विषाक्त टोकन का चयन

चलाएं:

./scripts/build_toxic_token_mask.sh

यह build_toxic_token_mask.py चलाता है। यह निम्नलिखित प्राथमिक तर्क लेता है:

टूल डाउनलोड करें