Νέα

Πώς λειτουργούν οι αραιοί αυτόματες κωδικοποιητές, εδώ είναι μια διαισθητική εξήγηση

2024-08-05

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Αναφορά Machine Heart

Επιμέλεια: Panda

Εν συντομία: matrix → ReLU activation → matrix

Οι αραιοί αυτοκωδικοποιητές (SAE) είναι ένα ολοένα και πιο κοινό εργαλείο για την ερμηνεία μοντέλων μηχανικής μάθησης (αν και τα SAE κυκλοφορούν από το 1997).

Τα μοντέλα μηχανικής μάθησης και τα LLM γίνονται όλο και πιο ισχυρά και χρήσιμα, αλλά εξακολουθούν να είναι μαύρα κουτιά και δεν καταλαβαίνουμε πώς εκτελούν τα καθήκοντά τους. Η κατανόηση του τρόπου λειτουργίας τους θα πρέπει να είναι πολύ μεγάλη.

Το SAE μας βοηθά να αναλύσουμε τους υπολογισμούς ενός μοντέλου σε κατανοητές συνιστώσες. Πρόσφατα, ο ερευνητής ερμηνείας του LLM Adam Karvonen δημοσίευσε μια ανάρτηση ιστολογίου για να εξηγήσει διαισθητικά πώς λειτουργεί το SAE.

Το πρόβλημα της ερμηνείας

Τα πιο φυσικά συστατικά των νευρωνικών δικτύων είναι μεμονωμένοι νευρώνες. Δυστυχώς, ένας μεμονωμένος νευρώνας δεν αντιστοιχεί εύκολα σε μια ενιαία έννοια, όπως μια ακαδημαϊκή αναφορά, μια συνομιλία στα αγγλικά, ένα αίτημα HTTP και ένα κορεατικό κείμενο. Στα νευρωνικά δίκτυα, οι έννοιες αναπαρίστανται μέσω συνδυασμών νευρώνων, που ονομάζεται υπέρθεση.

Ο λόγος για αυτό είναι ότι πολλές μεταβλητές στον κόσμο είναι φυσικά αραιές.

Για παράδειγμα, η γενέτειρα μιας διασημότητας μπορεί να εμφανίζεται σε λιγότερο από ένα στα δισεκατομμύρια κουπόνια εκπαίδευσης, αλλά οι σύγχρονοι LLM μπορούν ακόμα να μάθουν αυτό το γεγονός και μια πληθώρα άλλων γνώσεων για τον κόσμο. Υπάρχουν περισσότερα μεμονωμένα γεγονότα και έννοιες στα δεδομένα εκπαίδευσης από ότι υπάρχουν νευρώνες στο μοντέλο, γι' αυτό πιθανώς συμβαίνει η υπέρθεση.

Πρόσφατα, η τεχνολογία sparse autoencoder (SAE) χρησιμοποιείται όλο και περισσότερο για την αποσύνθεση των νευρωνικών δικτύων σε κατανοητά στοιχεία. Ο σχεδιασμός του SAE είναι εμπνευσμένος από την υπόθεση της αραιής κωδικοποίησης στη νευροεπιστήμη. Σήμερα, το SAE έχει γίνει ένα από τα πιο πολλά υποσχόμενα εργαλεία για την ερμηνεία των τεχνητών νευρωνικών δικτύων. Το SAE είναι παρόμοιο με έναν τυπικό αυτόματο κωδικοποιητή.

Ένας συμβατικός αυτόματος κωδικοποιητής είναι ένα νευρωνικό δίκτυο που χρησιμοποιείται για τη συμπίεση και την ανακατασκευή δεδομένων εισόδου.

Για παράδειγμα, εάν η είσοδος είναι ένα διάνυσμα 100 διαστάσεων (μια λίστα που περιέχει 100 τιμές, ο αυτόματος κωδικοποιητής περνάει πρώτα την είσοδο μέσω ενός στρώματος κωδικοποιητή για να το συμπιέσει σε ένα διάνυσμα 50 διαστάσεων και στη συνέχεια το συμπιέζει. Η κωδικοποιημένη αναπαράσταση τροφοδοτείται). ο αποκωδικοποιητής για να αποκτήσει ένα διάνυσμα εξόδου 100 διαστάσεων. Η διαδικασία ανακατασκευής συνήθως δεν είναι τέλεια, καθώς η διαδικασία συμπίεσης κάνει πολύ δύσκολο το έργο της ανακατασκευής.



Σχηματικό διάγραμμα ενός τυπικού αυτόματου κωδικοποιητή με διάνυσμα εισόδου 1x4, διάνυσμα ενδιάμεσης κατάστασης 1x2 και διάνυσμα εξόδου 1x4. Το χρώμα του κελιού αντιπροσωπεύει την τιμή ενεργοποίησης. Η έξοδος είναι μια ατελής ανακατασκευή της εισόδου.

Εξήγηση των αραιών αυτόματων κωδικοποιητών

Πώς λειτουργούν οι αραιοί αυτόματες κωδικοποιητές

Ένας αραιός αυτόματος κωδικοποιητής μετατρέπει ένα διάνυσμα εισόδου σε ένα ενδιάμεσο διάνυσμα που μπορεί να έχει μεγαλύτερες, ίσες ή χαμηλότερες διαστάσεις από την είσοδο. Όταν χρησιμοποιούνται στο LLM, τα ενδιάμεσα διανύσματα έχουν συνήθως μεγαλύτερες διαστάσεις από την είσοδο. Σε αυτήν την περίπτωση, χωρίς πρόσθετους περιορισμούς, η εργασία είναι απλή και το SAE μπορεί να χρησιμοποιήσει τον πίνακα ταυτότητας για να ανασυνθέσει τέλεια την είσοδο χωρίς εκπλήξεις. Αλλά θα προσθέσουμε περιορισμούς, ένας από τους οποίους είναι να προσθέσουμε μια ποινή αραιότητας στην απώλεια προπόνησης, η οποία θα αναγκάσει το SAE να δημιουργήσει αραιά ενδιάμεσα διανύσματα.

Για παράδειγμα, μπορούμε να επεκτείνουμε μια είσοδο 100 διαστάσεων σε ένα 200-διάστατο κωδικοποιημένο διάνυσμα αναπαράστασης και μπορούμε να εκπαιδεύσουμε το SAE ώστε να έχει μόνο περίπου 20 μη μηδενικά στοιχεία στην κωδικοποιημένη αναπαράσταση.



Σχηματικό διάγραμμα αραιού αυτοκωδικοποιητή. Σημειώστε ότι οι ενδιάμεσες ενεργοποιήσεις είναι αραιές, με μόνο 2 μη μηδενικές τιμές.

Χρησιμοποιούμε SAE για ενδιάμεσες ενεργοποιήσεις εντός νευρωνικών δικτύων, τα οποία μπορεί να περιέχουν πολλά επίπεδα. Κατά τη διάρκεια του περάσματος προς τα εμπρός, υπάρχουν ενδιάμεσες ενεργοποιήσεις μέσα σε κάθε στρώμα και μεταξύ κάθε στρώματος.

Για παράδειγμα, το GPT-3 έχει 96 επίπεδα. Κατά τη διάρκεια του περάσματος προς τα εμπρός, κάθε διακριτικό στην είσοδο έχει ένα διάνυσμα 12.288 διαστάσεων (μια λίστα με 12.288 τιμές). Αυτό το διάνυσμα συγκεντρώνει όλες τις πληροφορίες που χρησιμοποιεί το μοντέλο για να προβλέψει το επόμενο διακριτικό σε κάθε επίπεδο επεξεργασίας, αλλά είναι αδιαφανές, καθιστώντας δύσκολη την κατανόηση ποιες πληροφορίες περιέχονται σε αυτό.

Μπορούμε να χρησιμοποιήσουμε το SAE για να κατανοήσουμε αυτήν την ενδιάμεση ενεργοποίηση. Το SAE είναι βασικά "matrix → ReLU activation → matrix".

Για παράδειγμα, εάν ο συντελεστής επέκτασης του GPT-3 SAE είναι 4 και οι ενεργοποιήσεις εισόδου του έχουν 12.288 διαστάσεις, τότε η αναπαράστασή του με κωδικοποίηση SAE έχει 49.512 διαστάσεις (12.288 x 4). Ο πρώτος πίνακας είναι ο πίνακας κωδικοποιητή σχήματος (12.288, 49.512) και ο δεύτερος πίνακας είναι ο αποκωδικοποιητής μήτρας του σχήματος (49.512, 12.288). Πολλαπλασιάζοντας τις ενεργοποιήσεις GPT με τον κωδικοποιητή και χρησιμοποιώντας το ReLU, μπορεί να ληφθεί μια αραιή αναπαράσταση κωδικοποιημένης SAE 49.512 διαστάσεων, επειδή η συνάρτηση απώλειας SAE προάγει την αραιότητα.

Γενικά, στόχος μας είναι να έχουμε λιγότερες από 100 μη μηδενικές τιμές στην αναπαράσταση SAE. Πολλαπλασιάζοντας την αναπαράσταση SAE με τον αποκωδικοποιητή, προκύπτει μια ανακατασκευασμένη ενεργοποίηση μοντέλου 12.288 διαστάσεων. Αυτή η ανακατασκευή δεν ταιριάζει απόλυτα με τις αρχικές ενεργοποιήσεις GPT, επειδή οι περιορισμοί αραιότητας θα καθιστούσαν δύσκολη την επίτευξη μιας τέλειας αντιστοίχισης.

Γενικά, ένα SAE χρησιμοποιείται μόνο για μία θέση στο μοντέλο. Για παράδειγμα, μπορούμε να εκπαιδεύσουμε ένα SAE σε ενδιάμεσες ενεργοποιήσεις μεταξύ των επιπέδων 26 και 27. Για την ανάλυση των πληροφοριών που περιέχονται στις εξόδους και των 96 επιπέδων του GPT-3, μπορούν να εκπαιδευτούν 96 ξεχωριστά SAE - ένα για την έξοδο κάθε επιπέδου. Αν θέλαμε επίσης να αναλύσουμε τις διάφορες ενδιάμεσες ενεργοποιήσεις σε κάθε επίπεδο, θα χρειάζονταν εκατοντάδες SAE. Προκειμένου να ληφθούν δεδομένα εκπαίδευσης για αυτά τα SAE, πρέπει να τροφοδοτηθεί μεγάλος αριθμός διαφορετικών κειμένων σε αυτό το μοντέλο GPT και στη συνέχεια συλλέγονται οι ενδιάμεσες ενεργοποιήσεις για κάθε επιλεγμένη θέση.

Μια εφαρμογή αναφοράς PyTorch του SAE παρέχεται παρακάτω. Οι μεταβλητές σχολιάζονται με σχήματα Αυτή η ιδέα προέρχεται από τον Noam Shazeer, δείτε: https://medium.com/@NoamShazeer/shape-suffixes-good-coding-style-f836e72e24fd. Λάβετε υπόψη ότι για να μεγιστοποιηθεί η απόδοση, διαφορετικές υλοποιήσεις SAE έχουν συχνά διαφορετικούς όρους μεροληψίας, σχήματα κανονικοποίησης ή σχήματα αρχικοποίησης. Μία από τις πιο κοινές προσθήκες είναι κάποιο είδος περιορισμού στη διανυσματική νόρμα του αποκωδικοποιητή. Επισκεφτείτε τις ακόλουθες υλοποιήσεις για περισσότερες λεπτομέρειες:

  • OpenAI:https://github.com/openai/sparse_autoencoder/blob/main/sparse_autoencoder/model.py#L16
  • SAELens:https://github.com/jbloomAus/SAELens/blob/main/sae_lens/sae.py#L97
  • dictionary_learning:https://github.com/saprmarks/dictionary_learning/blob/main/dictionary.py#L30

φακός εισαγωγής

εισαγωγή φακός.nn ως nn

# D = d_model, F = λεξικό_μέγεθος

# π.χ. εάν d_model = 12288 και λεξικό_μέγεθος = 49152

# τότε model_activations_D.shape = (12288,) και encoder_DF.weight.shape = (12288, 49152)

class SparseAutoEncoder (nn.Module):

Ένας αυτόματος κωδικοποιητής ενός επιπέδου.

def __init__(self, activation_dim: int, dict_size: int):

super ().__init__()

self.activation_dim = activation_dim

self.dict_size = dict_size

self.encoder_DF = nn. Γραμμικό (activation_dim, dict_size, bias=True)

self.decoder_FD = nn. Γραμμικό (dict_size, activation_dim, bias=True)

def encode (self, model_activations_D: torch.Tensor) -> torch.Tensor:

επιστροφή nn.ReLU ()(self.encoder_DF (model_activations_D))

def decode (self, encoded_representation_F: torch.Tensor) -> torch.Tensor:

επιστροφή self.decoder_FD (encoded_representation_F)

def forward_pass (self, model_activations_D: torch.Tensor) -> tuple [torch.Tensor, torch.Tensor]:

encoded_representation_F = self.encode (model_activations_D)

reconstructed_model_activations_D = self.decode (encoded_representation_F)

επιστροφή reconstructed_model_activations_D, encoded_representation_F

Η συνάρτηση απώλειας ενός τυπικού αυτόματου κωδικοποιητή βασίζεται στην ακρίβεια των αποτελεσμάτων ανακατασκευής εισόδου. Προκειμένου να εισαχθεί η αραιότητα, ο πιο απλός τρόπος είναι να προστεθεί ένας όρος ποινής αραιότητας στη συνάρτηση απώλειας του SAE. Ο πιο συνηθισμένος τρόπος υπολογισμού αυτού του όρου ποινής είναι να ληφθεί η απώλεια L1 της κωδικοποιημένης αναπαράστασης αυτού του SAE (όχι τα βάρη SAE) και να πολλαπλασιαστεί με έναν συντελεστή L1. Αυτός ο συντελεστής L1 είναι μια βασική υπερπαράμετρος στην εκπαίδευση SAE επειδή καθορίζει την αντιστάθμιση μεταξύ της επίτευξης αραιότητας και της διατήρησης της ακρίβειας ανακατασκευής.

Σημειώστε ότι αυτό δεν είναι βελτιστοποιημένο για ερμηνευτικότητα. Αντίθετα, τα ερμηνεύσιμα χαρακτηριστικά SAE είναι μια παρενέργεια της βελτιστοποίησης της αραιότητας και της ανακατασκευής. Παρακάτω είναι μια συνάρτηση απώλειας αναφοράς.

# B = μέγεθος παρτίδας, D = d_model, F = μέγεθος_λεξικού

def υπολογισμός_απώλειας (αυτόματος κωδικοποιητής: SparseAutoEncoder, model_activations_BD: torch.Tensor, l1_coeffient: float) -> torch.Tensor:

reconstructed_model_activations_BD, encoded_representation_BF = autoencoder.forward_pass (model_activations_BD)

reconstruction_error_BD = (reconstructed_model_activations_BD - model_activations_BD).pow (2)

reconstruction_error_B = einops.reduce (reconstruction_error_BD, 'BD -> B', 'sum')

l2_loss = reconstruction_error_B.mean ()

l1_loss = l1_coefficient * encoded_representation_BF.sum ()

απώλεια = l2_απώλεια + l1_απώλεια

απώλεια επιστροφής



Σχηματικό διάγραμμα της διέλευσης προς τα εμπρός ενός αραιού αυτόματου κωδικοποιητή.

Αυτό είναι ένα μεμονωμένο πέρασμα προς τα εμπρός του αραιού αυτόματου κωδικοποιητή. Πρώτον είναι το διάνυσμα μοντέλου μεγέθους 1x4. Αυτό στη συνέχεια πολλαπλασιάζεται με έναν πίνακα κωδικοποιητή 4x8 για να ληφθεί ένα κωδικοποιημένο διάνυσμα 1x8 και το ReLU εφαρμόζεται για να μετατρέψει τις αρνητικές τιμές σε μηδέν. Αυτό το κωδικοποιημένο διάνυσμα είναι αραιό. Στη συνέχεια, πολλαπλασιάστε τον με μια μήτρα αποκωδικοποιητή 8x4 για να λάβετε μια ατελώς ανακατασκευασμένη ενεργοποίηση μοντέλου 1x4.

Υποθετική επίδειξη χαρακτηριστικών SAE

Στην ιδανική περίπτωση, κάθε σημαντική αριθμητική τιμή στην αναπαράσταση SAE αντιστοιχεί σε κάποιο κατανοητό στοιχείο.

Εδώ υποθέτουμε μια περίπτωση για παράδειγμα. Ας υποθέσουμε ότι ένα διάνυσμα 12.288 διαστάσεων [1.5, 0.2, -1.2, ...] αντιπροσωπεύει το "Golden Retriever" στην άποψη του GPT-3. Το SAE είναι ένας πίνακας σχήματος (49.512, 12.288), αλλά μπορούμε επίσης να το σκεφτούμε ως ένα σύνολο 49.512 διανυσμάτων, καθένα από τα οποία έχει σχήμα (1, 12.288). Εάν το διάνυσμα 317 του αποκωδικοποιητή SAE μάθει την ίδια έννοια "Golden Retriever" με το GPT-3, τότε το διάνυσμα αποκωδικοποιητή είναι περίπου ίσο με [1,5, 0,2, -1,2, ...].

Όποτε το στοιχείο 317 της ενεργοποίησης SAE είναι μη μηδενικό, τότε το διάνυσμα που αντιστοιχεί στο "Golden Retriever" (και με βάση το μέγεθος του στοιχείου 317) προστίθεται στην ανακατασκευασμένη ενεργοποίηση. Με όρους μηχανικής ερμηνείας, αυτό μπορεί να περιγραφεί συνοπτικά ως «το διάνυσμα του αποκωδικοποιητή αντιστοιχεί σε μια γραμμική αναπαράσταση των χαρακτηριστικών στον υπολειπόμενο χώρο ροής».

Μπορεί επίσης να ειπωθεί ότι το SAE με 49.512 διαστάσεις κωδικοποιημένης αναπαράστασης έχει 49.512 χαρακτηριστικά. Τα χαρακτηριστικά αποτελούνται από αντίστοιχα διανύσματα κωδικοποιητή και αποκωδικοποιητή. Ο ρόλος του διανύσματος κωδικοποιητή είναι να ανιχνεύει τις εσωτερικές έννοιες του μοντέλου ελαχιστοποιώντας την παρεμβολή άλλων εννοιών, ενώ ο ρόλος του διανύσματος αποκωδικοποιητή είναι να αντιπροσωπεύει την «πραγματική» κατεύθυνση χαρακτηριστικών. Τα πειράματα των ερευνητών διαπίστωσαν ότι τα χαρακτηριστικά κωδικοποιητή και αποκωδικοποιητή κάθε χαρακτηριστικού είναι διαφορετικά και η διάμεση ομοιότητα συνημιτόνου είναι 0,5. Στην παρακάτω εικόνα, τα τρία κόκκινα πλαίσια αντιστοιχούν σε μεμονωμένα χαρακτηριστικά.



Σχηματικό διάγραμμα αραιού αυτόματου κωδικοποιητή, στο οποίο τα τρία κόκκινα πλαίσια αντιστοιχούν στο χαρακτηριστικό SAE 1 και το πράσινο πλαίσιο αντιστοιχεί στο χαρακτηριστικό 4. Κάθε χαρακτηριστικό έχει ένα διάνυσμα κωδικοποιητή 1x4, ενεργοποιήσεις χαρακτηριστικών 1x1 και ένα διάνυσμα αποκωδικοποιητή 1x4. Οι ανακατασκευασμένες ενεργοποιήσεις κατασκευάστηκαν χρησιμοποιώντας μόνο διανύσματα αποκωδικοποιητή από τα χαρακτηριστικά SAE 1 και 4. Εάν το κόκκινο πλαίσιο αντιπροσωπεύει "κόκκινο χρώμα" και το πράσινο πλαίσιο αντιπροσωπεύει "μπάλα", τότε το μοντέλο μπορεί να αντιπροσωπεύει "κόκκινη μπάλα".

Πώς λοιπόν γνωρίζουμε τι αντιπροσωπεύει το υποθετικό χαρακτηριστικό 317; Επί του παρόντος, η πρακτική είναι να αναζητούμε εισόδους που μεγιστοποιούν την ενεργοποίηση χαρακτηριστικών και δίνουν μια διαισθητική απάντηση στην ερμηνευτικότητά τους. Οι είσοδοι που ενεργοποιούν κάθε χαρακτηριστικό είναι συνήθως ερμηνεύσιμες.

Για παράδειγμα, η Anthropic εκπαίδευσε το SAE στο Claude Sonnet και διαπίστωσε ότι το κείμενο και οι εικόνες που σχετίζονται με τη γέφυρα Golden Gate, τη νευροεπιστήμη και τα δημοφιλή τουριστικά αξιοθέατα ενεργοποίησαν διαφορετικά χαρακτηριστικά SAE. Άλλα χαρακτηριστικά θα ενεργοποιηθούν από έννοιες που δεν είναι προφανείς. Για παράδειγμα, ένα χαρακτηριστικό ενός SAE που έχει εκπαιδευτεί στο Pythia θα ενεργοποιηθεί από την έννοια του "τελικού διακριτικού μιας σχετικής ρήτρας ή μιας προθετικής φράσης που χρησιμοποιείται για την τροποποίηση του θέματος της πρότασης. "

Δεδομένου ότι το διάνυσμα αποκωδικοποιητή SAE έχει το ίδιο σχήμα με τις ενδιάμεσες ενεργοποιήσεις του LLM, η αιτιακή παρέμβαση μπορεί να πραγματοποιηθεί απλώς προσθέτοντας το διάνυσμα αποκωδικοποιητή στις ενεργοποιήσεις του μοντέλου. Η ισχύς αυτής της παρέμβασης μπορεί να ρυθμιστεί πολλαπλασιάζοντας αυτό το διάνυσμα αποκωδικοποιητή με έναν παράγοντα διασποράς. Όταν οι ερευνητές της Anthropic πρόσθεσαν το διάνυσμα αποκωδικοποιητή SAE "Golden Gate Bridge" στην ενεργοποίηση του Claude, ο Claude αναγκάστηκε να αναφέρει τη "Golden Gate Bridge" σε κάθε απάντηση.

Παρακάτω είναι μια υλοποίηση αναφοράς μιας αιτιώδους παρέμβασης χρησιμοποιώντας το υποθετικό χαρακτηριστικό 317. Παρόμοια με το "Golden Gate Bridge" Claude, αυτή η πολύ απλή παρέμβαση αναγκάζει το μοντέλο GPT-3 να αναφέρει το "golden retriever" σε κάθε απάντηση.

def perform_intervention (model_activations_D: torch.Tensor, decoder_FD: torch.Tensor, scale: float) -> torch.Tensor:

παρεμβολή_διάνυσμα_D = αποκωδικοποιητής_FD [317, :]

scaled_intervention_vector_D = παρεμβολή_διάνυσμα_Δ * κλίμακα

modified_model_activations_D = model_activations_D + scaled_intervention_vector_D

επιστροφή modified_model_activations_D

Το δίλημμα αξιολόγησης των αραιών αυτοκωδικοποιητών

Μία από τις μεγαλύτερες προκλήσεις με τη χρήση του SAE είναι η αξιολόγηση. Μπορούμε να εκπαιδεύσουμε αραιούς αυτόματους κωδικοποιητές για να ερμηνεύουν γλωσσικά μοντέλα, αλλά δεν έχουμε μετρήσιμη υποκείμενη βασική αλήθεια των αναπαραστάσεων φυσικής γλώσσας. Επί του παρόντος, η αξιολόγηση είναι πολύ υποκειμενική, βασικά "μελετούμε την είσοδο ενεργοποίησης μιας σειράς χαρακτηριστικών και στη συνέχεια εξηγούμε διαισθητικά την ερμηνευσιμότητα αυτών των χαρακτηριστικών." Αυτός είναι ο κύριος περιορισμός του πεδίου ερμηνείας.

Οι ερευνητές ανακάλυψαν ορισμένους κοινούς μεσολαβητές που φαίνεται να αντιστοιχούν στην ερμηνευτικότητα των χαρακτηριστικών. Τα πιο συχνά χρησιμοποιούμενα είναι τα L0 και Loss Recovered. Το L0 είναι ο μέσος αριθμός μη μηδενικών στοιχείων στην κωδικοποιημένη ενδιάμεση αναπαράσταση του SAE. Το Loss Recovered αντικαθιστά τις αρχικές ενεργοποιήσεις του GPT με ανακατασκευασμένες ενεργοποιήσεις και μετρά την πρόσθετη απώλεια των ατελών αποτελεσμάτων ανακατασκευής. Υπάρχει συνήθως μια αντιστάθμιση μεταξύ αυτών των δύο μετρήσεων, καθώς η SAE μπορεί να επιλέξει μια λύση που οδηγεί σε μείωση της ακρίβειας ανακατασκευής προκειμένου να βελτιωθεί η αραιότητα.

Κατά τη σύγκριση των SAE, μια κοινή προσέγγιση είναι να σχεδιάζονται οι δύο μεταβλητές και στη συνέχεια να εξετάζονται οι συμβιβασμούς μεταξύ τους. Προκειμένου να επιτευχθούν καλύτερες αντισταθμίσεις, πολλές νέες μέθοδοι SAE (όπως το Gated SAE του DeepMind και το TopK SAE του OpenAI) έχουν τροποποιήσει την ποινή της αραιότητας. Η παρακάτω εικόνα είναι από το έγγραφο Gated SAE της DeepMind. Το Gated SAE αντιπροσωπεύεται από την κόκκινη γραμμή, που βρίσκεται στο επάνω αριστερό μέρος του γραφήματος, η οποία δείχνει ότι έχει καλύτερη απόδοση σε αυτόν τον συμβιβασμό.



Gated SAE L0 και Loss Recovered

Υπάρχουν πολλά επίπεδα δυσκολίας στη μέτρηση του SAE. Το L0 και το Loss Recovered είναι δύο δείκτες μεσολάβησης. Ωστόσο, δεν τα χρησιμοποιούμε κατά τη διάρκεια της εκπαίδευσης επειδή το L0 δεν είναι διαφοροποιήσιμο και η υπολογιστική απώλεια που ανακτάται κατά τη διάρκεια της εκπαίδευσης SAE είναι πολύ υπολογιστικά ακριβή. Αντίθετα, η απώλεια προπόνησής μας καθορίζεται από έναν όρο ποινής L1 και την ακρίβεια της ανακατασκευής των εσωτερικών ενεργοποιήσεων, και όχι από τον αντίκτυπό της στην απώλεια κατάντη.

Η συνάρτηση απώλειας προπόνησης δεν αντιστοιχεί άμεσα στην υποκατάστατη μέτρηση και η υποκατάστατη μέτρηση είναι μόνο ένας αντιπρόσωπος για μια υποκειμενική αξιολόγηση της ερμηνευσιμότητας των χαρακτηριστικών. Δεδομένου ότι ο πραγματικός μας στόχος είναι να "καταλάβουμε πώς λειτουργεί το μοντέλο" και οι υποκειμενικές εκτιμήσεις ερμηνευσιμότητας είναι μόνο ένας αντιπρόσωπος, θα υπάρξει ένα άλλο επίπεδο αναντιστοιχίας. Ορισμένες σημαντικές έννοιες στο LLM μπορεί να μην είναι εύκολο να ερμηνευτούν και μπορεί να παραβλέψουμε αυτές τις έννοιες ενώ βελτιστοποιούμε τυφλά για ερμηνευσιμότητα.

Συνοψίζω

Ο τομέας της επεξήγησης έχει ακόμη πολύ δρόμο μπροστά του, αλλά το SAE είναι πραγματική πρόοδος. Το SAE επιτρέπει ενδιαφέρουσες νέες εφαρμογές, όπως μια μέθοδος χωρίς επίβλεψη για την εύρεση διανυσμάτων διεύθυνσης όπως το διάνυσμα διεύθυνσης Golden Gate Bridge. Το SAE μπορεί επίσης να μας βοηθήσει να βρίσκουμε πιο εύκολα βρόχους σε μοντέλα γλώσσας, οι οποίοι μπορούν να χρησιμοποιηθούν για την άρση περιττής μεροληψίας εντός του μοντέλου.

Το γεγονός ότι τα SAE μπορούν να βρουν ερμηνεύσιμα χαρακτηριστικά (ακόμα κι αν ο στόχος είναι απλώς να αναγνωρίσουν μοτίβα στις ενεργοποιήσεις) υποδηλώνει ότι μπορούν να αποκαλύψουν κάτι σημαντικό. Υπάρχουν επίσης στοιχεία ότι το LLM μπορεί πράγματι να μάθει κάτι σημαντικό, αντί να απομνημονεύει απλώς επιφανειακά στατιστικά μοτίβα.

Το SAE θα μπορούσε επίσης να αντιπροσωπεύει ένα πρώιμο ορόσημο στο οποίο στόχευαν εταιρείες όπως η Anthropic, δηλαδή «MRI (απεικόνιση μαγνητικού συντονισμού) για μοντέλα μηχανικής μάθησης». Το SAE δεν παρέχει ακόμη τέλεια κατανόηση, αλλά μπορεί να χρησιμοποιηθεί για τον εντοπισμό κακής συμπεριφοράς. Οι κύριες προκλήσεις της αξιολόγησης SAE και SAE δεν είναι ανυπέρβλητες και πολλοί ερευνητές εργάζονται ήδη πάνω σε αυτό το θέμα.

Για περαιτέρω εισαγωγή στους αραιούς αυτόματους κωδικοποιητές, ανατρέξτε στο σημειωματάριο Callum McDougal's Colab: https://www.lesswrong.com/posts/LnHowHgmrMbWtpkxx/intro-to-superposition-and-sparse-autoencoders-colab

https://www.reddit.com/r/MachineLearning/comments/1eeihdl/d_an_intuitive_explanation_of_sparse_autoencoders/

https://adamkarvonen.github.io/machine_learning/2024/06/11/sae-intuitions.html