nuntium

Quam sparsi autoencoders laborant, hic explicatio intuitiva est

2024-08-05

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



Apparatus Cordis Report

Editor: Panda

In summa: matrix → ReLU activation → matrix

Sparsi autoencoders (SAEs) instrumentum magis commune sunt ad exemplaria interpretanda apparatus discentium (quamvis SAEs circa ab anno 1997 fuerint).

Apparatus discendi exempla et LLMs magis potentes et utiles fiunt, sed adhuc sunt capsae nigrae et quomodo opera sua perficiant non intelligimus. Intellectus quomodo opus debet ire per longum iter.

SAE adiuvat nos calculos exemplaris in comprehensibiles partes dissolvere. Nuper, LLM interpretabilitas indagator Adam Karvonen commentarium diarii edidit ad intuendum quomodo SAE opera explicaret.

Quaestio interpretabilitas

Maxime naturales retiacula neuralis singula neurons sunt. Infeliciter, unica neuron uni notioni non commode respondet, ut citatio academica, colloquium Anglicum, petitio HTTP, et textus Coreanus. In retiacula neurali, conceptus per coniunctiones neuronum exprimuntur, quae superpositio dicitur.

Cuius ratio est, quia multae variabiles in mundo naturaliter sparsae sunt.

Exempli causa, celebritas natalium minus quam unum e miliario e signis disciplinae constare potest, at moderni LLMs hoc factum et opes aliarum cognitionum de mundo adhuc discere possunt. Plures sunt singulae notiones et notiones in institutione data quam sunt neurons in exemplari, quod probabiliter est cur superpositio fiat.

Nuper technologia autoencoder sparsa (SAE) magis magisque adhibita est ut retiacula neuralis in partes intelligibiles componantur. Consilium SAE ab hypothesi sparse coding in neuroscience incitatur. Hodie, SAE una ex praestantissimis instrumentis facta est ad retiacula neuralis artificialia interpretanda. SAE vexillum autoencoder simile est.

Autoencoder conventionale reticulum neurale ad input data comprimendam et reficiendam adhibita est.

Exempli gratia, si initus est vector 100 dimensiva (indicem continet 100 valorum); autoencoder primum transit input per stratum encoder ut eam in vectorem 50 dimensiva comprimat, et tunc comprimat hanc Repraesentationem encoded nutritur. decoder obtinere C dimensiva output vector. Processus reconstructionis plerumque perfectus non est, sicut processus compressionis negotium restaurationis difficillimum reddit.



Schematic diagramma vexillum autoencoder cum vectore 1x4 input, vector status intermedius 1x2, et 1x4 output vector. Color cellae significat activum valorem. Output est de input imperfecta refectio.

Explicans sparsis autoencoders

Quam raro opus autoencoders

Autoencoder sparsus vectorem inputum convertit in vectorem medium qui dimensiones superiores, aequales vel inferiores habeat quam input. Cum in LLM adhibetur, vectores intermedii plerumque altiores dimensiones habent quam input. In hoc casu, sine adiectis angustiis, negotium simplex est et SAE uti potest matrix identitatis ad perfecte initus sine ulla admiratione reficiendi. Sed angustias addemus, quarum una est poena sparsity ad damnum disciplinae addendum, quae causa SAE ad vectores sparsos intermedios creandos faciet.

Exempli gratia, C-dimensionalem initus in 200 dimensiva repraesentatione vectoris encoded dilatare possumus, et SAE instituere possumus tantum de 20 non-nulla elementa in repraesentatione encoded habere.



Schematica schematismi sparsi autoencoder. Nota activas intermedias sparsas esse, cum valoribus tantum 2 non-nullarum.

Utimur SAE ad activationes intermedias intra retiacula neuralis, quae plures ordines continere possunt. In transitu deinceps intermediae sunt activae in unoquoque tabulato et inter singulas ordines.

Pro exemplo, GPT-3 96 stratis habet. In transcursu, unumquodque signum in initus habet vectorem 12,288 dimensivarum (inscriptio valorum 12,288). Hic vector cumulat omnes informationes ab exemplo adhibitas praedicendi signum proximum in singulis tabulatis processus, sed opaca est, difficilis ad intelligendum quid in eo contineatur notitia.

SAE uti possumus ad hanc activam intermediam intellegendam. SAE basically "matrix → ReLU activation → matrix".

Exempli gratia, si expansio factor GPT-3 SAE est 4 et eius activationes initus dimensiones 12,288 habent, tunc eius repraesentatio SAE encoded 49,512 dimensiones habet (12,288 x 4). Prima matrix est matrix encoder figurae (12,288, 49,512) et secunda matrix est matrix decoder figurae (49,512, 12,288). Multiplicando GPT activationes cum encoder et ReLU utens, a 49,512 dimensionis SAE repraesentatio sparsa encoded obtineri potest, quia munus amissi SAE sparsitatem promovet.

In universum propositum est, minus quam 100 valores non nullas in repraesentatione SAE habere. Multiplicando repraesentationem SAE cum decoder, exemplar activum activum dimensivum restitutum habetur 12.288. Haec refectio non perfecte congruit operationibus originalibus GPT quod angustiis sparsum difficultatem ad consequendum perfectam efficeret.

Generaliter SAE pro una tantum positione adhibita in exemplari. Ut analyses informationes quae in outputs omnium 96 ordinum GPT-3, 96 separati SAEs exerceri possunt - unus pro cuiusque tabulae ordine disponi possit. Si varias intermedias operationes intra singulos ordines etiam enucleare vellemus, centum SAEs opus esset. Ut notitias formandas pro his SAEs consequantur, magna vis diversi textus in hoc GPT exemplari nutriri debet, et tunc mediae activae pro singulis positionibus selectae colliguntur.

A PyTorch referens exsecutionem SAE infra praebetur. Variabiles cum figuris annotatae sunt. Haec idea a Noam Shazeer venit, vide: https://medium.com/@NoamShazeer/shape-suffixes-good-coding-style-f836e72e24fd. Quaeso note quod ad maximizando perficiendum, variae SAE exsecutiones saepe varias habent pondus termini, ordinationes technas, vel technas initializationes. Una e communissimis additionibus est quaedam necessitas in norma vectoris decoder. Pro pluribus details exsecutionem infra visitare placet:

  • 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

import lampada

import torch.nn ut nn

# D = d_model, F = dictionary_size

# eg si d_model = 12288 et dictionary_size = 49152

ac encoder_DF.weight.shape = (12288, 49152)

classis SparseAutoEncoder (nn.Module);

Aliquam quis accumsan autoencoder.

def __init__(se, activation_dim: int, dict_size: int);

super ().__init__()

self.activation_dim = activation_dim

self.dict_size = dict_size

self.encoder_DF = nn.Linear (activation_dim, dict_size, bias = verus)

self.decoder_FD = nn.Linear (dict_size, activation_dim, bias = verus)

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

reditus nn.ReLU ()(self.encoder_DF (model_activations_D))

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

reditus self.decoder_FD (encoded_representation_F)

def forward_pass (se, 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)

revertere reconstructed_model_activations_D, encoded_representation_F

Munus amissum vexillum autoencoder subtiliter initus restitutionis effectus fundatur. Ad sparsitatem introducendam, via rectissima est terminum sparsum poenae addere functioni SAE amissae. Frequentissima via ad hanc poenam terminum computandum est, L1 amissionem repraesentationis encoded huius SAE (non SAE ponderum) sumere et per coefficientem L1 multiplicare. Haec L1 coefficiens est clavis hyperparametri in SAE disciplina, quia inter sparsionem assequendum mercaturamque decernit ac accurationem restitutionis conservandam.

Nota hoc non optimized ad interpretabilitatem. Loco, lineamenta interpretabilia SAE latus effectus sunt optimizing sparsitatis et refectionis. Infra munus referendum est damnum.

# B = massa magnitudinis, D = d_model, F = dictionary_size

def calculate_loss (autoencoder: 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).

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

damnum = l2_loss + l1_loss

damnum reditus



Schematica schematis anterioris transeuntis sparsi autoencoder.

Hoc est unum deinceps sparsum autoencoder saltum. Primum est exemplar vectoris magnitudinis 1x4. Hoc ergo multiplicatur per 4x8 encoder matrix ut vector 1x8 encoded accipiatur, et ReLU applicatur ad valores negativos in nihilum convertendi. Hoc encoded vector sparsum est. Deinde multiplica eam per 8x4 matricem decoder ut exemplar activationis imperfecte 1x4 restituatur.

Hypothetical SAE pluma demonstrationis

Specimen, singulae significantes valorem numeralem in repraesentatione SAE, aliquibus intellectibus componentibus respondet.

Hic ponitur illustrationis causa. Pone vectorem 12.288-dimensionalem [1.5, 0.2, -1.2, ...] "Aureum Retriever" in sententia GPT-III. SAE matrix figurae est (49,512, 12,288), but we can also think of it as a set of 49,512 vectorum, quorum unumquodque figuram habet (1, 12,288). Si 317 vector decodis SAE discit eandem conceptum "Aureum Retriever" ut GPT-3, tunc vector decoder aequalis est fere [1.5, 0.2, -1.2, ...].

Quoties 317 elementum activationis SAE non nulla est, vector "Aurei Retriever" respondens (et secundum magnitudinem 317 elementi) additur activationi restitutae. In terminis mechanicis interpretabilitatis, hoc brevius dici potest quod "vector decoder respondet lineari repraesentationi linearum in spatio residuo fluens".

Dici etiam potest SAE cum 49,512 dimensiones repraesentationis encoded 49,512 notas habere. Features consistunt vectoriis encoder et decoder correspondentibus. Munus encoder vectoris est detegere conceptus internas exemplaris dum obscuratis impedimento aliarum notionum, dum munus vectoris decoder est directionem plumae "realis" repraesentare. Experimenta Investigatores invenerunt differentiam encoder et decoder cuiuslibet plumae, et similitudo cosinae medianae 0.5. In imagine infra, tres capsulae rubrae singulis lineis respondent.



Schematica diagramma sparsi autoencoder, in quo tres scriniorum rubri correspondent plumae SAE 1 et arca viridis plumae 4 correspondet. Uniuscuiusque pluma 1x4 encoder vector, 1x1 activationum pluma, et 1x4 decoder vector. Activationes restauratae constructae sunt utentes vectores decoder tantum ex lineamentis SAE 1 et 4 . Si arca rubra "colorem rubrum" repraesentat et arca viridi "globum" repraesentat, exemplar "globum rubrum" repraesentare potest.

Unde cognoscimus quid repraesentans hypotheses 317 repraesentat? In praesenti usu est quaerere initibus quae pluma activationem augent et responsionem intuitivam eorum interpretabilitatis dant. Inputs qui singulas plumas movere solent interpretabiles.

Exempli gratia, anthropicus SAE exercitatus in Claude Sonnet invenit textum et imagines ad portam Auream pontem relatas, neuroscientiam, et amoenitas urbis popularis diversas lineas SAE excitavit. Aliae notiones excitabuntur a notionibus non apparentibus. Exempli gratia, lineamentum SAE in Pythia exercitatum erit per conceptum "ultimi symboli relativi clausulae vel locutionis praepositionis ad modificare subiectum sententiae. "

Cum vector decoder SAE eandem formam habeat ac activationes intermedias LLM, interventus causalis solum fieri potest addito vectore decoder ad exemplar activationum. Vis huius interventus adaptari potest multiplicando vectorem huius decoder per dilatationem factoris. Cum investigatores anthropici addiderunt "portam Auream pontem" SAE vectorem decoder ad activationem Claudii, Claudius "portam Auream pontem" in omni responsione commemorare coactus est.

Infra referendum est exsecutionem interventus causalis utendi hypothesizatis 317 . Similis cum "Porta Porta Aurea" Claude, haec interventus simplicissima exemplum GPT-3 cogit ut "retriever aureum" in omni responsione.

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

interventum_vector_D = decoder_FD [317, :]

scaled_intervention_vector_D = intervention_vector_D * scale

modified_model_activations_D = model_activations_D + scaled_intervention_vector_D

reditus modified_model_activations_D

Aestimatio strophæ raris autoencoders

Una maior provocationum cum usura SAE aestimatio est. Sparsos autoencodes instituere possumus ad exemplaria linguarum interpretanda, sed nullas mensurabiles fundamentum habemus in repraesentationibus linguae naturalis. Nunc, aestimatio valde subiectiva est, basically "studium activationis initus seriei notarum, et tunc intuitive interpretabilitas harum notarum explicabimus".

Investigatores aliquos procuratores communes invenerunt quae interpretabilitati plumae respondere videntur. Plerumque adhibitae sunt L0 et Damnum Recuperatum. L0 numerus mediocris non nulla elementorum est in repraesentatione intermedia SAE encoded. Amissio Recepta pristinas GPT actiones cum activis restitutis reponit et addito detrimento eventus refectionis imperfectae mensurat. Solet mercatura inter haec duo metrica intercedere, ut SAE solutionem eligere possit quae accurationem in reconstructione decrescentem ducit ad sparsitatem emendandam.

Cum SAEs comparet, communis accessus duas variabiles variabiles machinari et negotia commercia inter eas examinare debet. Ad meliorem mercaturam consequendam, multae methodi novae SAE (ut DeepMind Gated SAE et TopK SAE OpenAI) sparsim poenam mutaverunt. Pictura infra ex charta Gated SAE DeepMind est. Gated SAE repraesentatur linea rubra, in sinistra graphi superioris sita, quae ostendit melius in hoc commercio praestare.



Gatum SAE L0 et amissio Recuperata

Plures gradus difficultatis SAE metiendae sunt. L0 et Damnum Receptum duo sunt indicibus procuratoris. Nihilominus ea in disciplina non utimur quia L0 differentialis et computatio deperditae Recuperatae in SAE disciplina non est valde pretiosa computatione. Sed nostra disciplina damnum constituitur nomine poenae L1 et subtiliter actuositates internas reficiendi, potius quam eius impulsum in amni detrimento.

Disciplina amissio functionis non directe respondet vicaria metrica, et vicaria metrica solum procuratorem habet pro aestimatione subiectiva plumae interpretabilitatis. Cum verus finis noster sit "intellegere quomodo exemplar opera" et interpretabilitas subiectivae aestimationes tantum ineundae sint, alius tabulatorum mismatch erit. In LLM notiones aliquae magnae notiones faciles possunt interpretari, et possumus has notiones praeterire dum optimizandi pro interpretabilitate temere.

Summatim

Ager explicabilis adhuc longum iter est, sed SAE progressus verus est. SAE dat novas applicationes iucundas, ut methodus praevisa inveniendi vectores gubernandi sicut porta aurea pontis vectoris gubernantis. SAE iuvare etiam possunt exempla linguarum ansas nos facilius invenire, quae ad extrahendum exemplar superfluum adhiberi possunt.

Quod SAEs notas interpretabiles invenire potest (etiamsi scopus est simpliciter cognoscere exemplaria in activationibus) significare se posse aliquid significativum revelare. Exstant etiam documenta LLM posse quidem aliquid significanter discere, quam modo exemplaria statistica leviter memorare.

SAE etiam repraesentare poterat primo miliario quod societates sicut anthropicae moliebantur, nempe "MRI resonans magnetica imaginatio) ad exempla discendi apparatus." SAE nondum perfectam intelligentiam praebet, sed ad malos mores deprehendere potest. Maiores provocationes census SAE et SAE insuperabiles non sunt, et multi investigatores in hoc argumento iam laborant.

Pro ulteriore introductione ad sparsos autoencodersos pertinentes, libellum Callum McDougal's Colab referre placet: https://www.lesswrong.com/posts/LnHowHgmrMbWtpkxx/intro-to-superposition-et-sparse-autoencoders-colab

/

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