Δυναμική Abliteration με Engram: μη καταστροφική σύσταση απόρριψης μέσω εγκεφαλικών μονοπατιών
Πρωτότυπος τίτλος: "Dynamic Abliteration: Non-Destructive Refusal Suppression via Engram Steering" (από phatak-dev)
Το άρθρο παρουσιάζει μια μέθοδο για την της απόρριψης σε ανοιχτού βάρους LLM χωρίς να τροποποιεί τα βάρη του μοντέλου. Χρησιμοποιεί multi‑layer steering με contrastive vectors και, για να αποφύγει τα περιορισμένα της στατικής προσέγγξης, εισάγει το Engram – ένα δυναμικό μοντέλο που ελέγχει την εισαγωγή βάσει context‑aware gates και O(1) N‑gram hash lookup.
Προβλήματα της στατικής abliteration
Η παραδοσιακή τεχνική abliteration προβάλλει τις πλάκες βάρη orthogonal σε ένα refusal vector, ορίζοντάς τα μόνιμα. Αυτό δεν μόνο αλλάζει το base model, αλλά μπορεί να μειώσει την απόδοση σε γενικές λόγω αλλαγών σε διανύσματα που χρησιμοποιούνται και για μη‑απορριπτική γεν κείμενο.
Multi‑layer steering με στατικούς διανύσματα
Αντί να τροποποιήσουμε βάρη, παγιεύουμε το μοντέλο και intervenimos στα residual streams σε χρόνο εκτέλεσης. Εξάγουμε unit vectors απόcontrastive pairs (αποδεκτό vs απορριπτικό prompt) σε πολλά layers και τα προσθέτουμε με scaling factor α σε κάθε layer μέσω PyTorch forward hooks. Το αποτέλεσμα είναι η απόρρψη ναSuppressεται χωρίς να χαλάει το model.
Περιορισμοί της στατικής προσέγγξης
- Ακατάθετη εισαγωγή – το ίδιο vector προστίθεται σε κάθε token, ακόμα και όταν δεν χρειάζεται steering.
- Ευαίσθητη κλίμακα – το α πρέπει να βρεθεί δοκιμαστικά· πολύ μικρό → ανακατασκευή απόρριψης, πολύ μεγάλο → Gibberish output.
- Παρεμβολή σε γενικές εργασίες – η στατική παρέμβαση distort τις αναπαραστάσεις ακόμα και σε harmless tokens, αυξάνοντας το KL‑divergence και μειώνοντας το throughput.
Engram: δυναμική, context‑aware κατεύθυνση
Το Engram αντικαθιστά το στατικό vector με ένα module που υπολογίζει την εισαγωγή μόνο όταν το context το απαιτεί.
- Dynamic Sigmoid Context Gate: για κάθε layer υπολογίζει μια πύλη g(l)∈[0,1] βάσει του τρέχοντος hidden state και ενός local N‑gram memory. Όταν g(l)≈0 η residual stream αφήνεται αμετάβλητη· όταν g(l)≈1 εφαρμόζεται το steering vector.
- O(1) N‑gram Hash Core: η μνήμη N‑gram υλοποιείται ως Tisch hash σε beberapa prime‑modulo tables, επιτρέποντας σταθερό χρόνο αναγνώρισης sequence triggers (π.χ. ChatML headers) χωρίς βαρή attention.
- Learned Layer Projections: αντί για χειροκίνητο α, κάθε layer έχει ένα Linear projection που μετατρέπει το κοινό N‑gram embedding στο διανύσμα που χρειάζεται, εκπαιδευτικό μέσω backpropagation.
Υλοποίηση με PyTorch forward hooks
Ο κώδικας ορίζει ένα nn.Module που condividere το N‑gram hash memory σε όλα τα layers και έχει per‑layer projections και gate networks. Τα βάρη των tables αρχικοποιούνται με μικρή τυπική απόκλιση, τα projections με μονάδια μátrix και τα gate biases με αρνητική τιμή (π.χ. -2.0) ώστε η αρχική πύλη να είναι χαμηλή. Durante το decoding,.register_forward_hook καλεί το module σε κάθε target layer, προσθέτοντας gate * m_layer στο hidden state. Η cache του hash memory διαγράφεται μετά κάθε πέρασμα για να αποφευχθεί η χρήση παλαιών token‑id.
Αυτό το πλαίσιο επιτρέπει non‑destructive refusal suppression με adaptive steering, διατηρώντας τα βάρη intact και μειώνοντας το collateral damage σε γενικές εργασίες.
Ανακαλύψτε καινοτόμα open-source εργαλεία και κρυμμένα διαμάντια ανοιχτού κώδικα.