- Proyek ini bertujuan menguraikan representasi internal Llama 3.2-3B dengan Sparse Autoencoder(SAE) untuk mengekstrak fitur yang dapat diinterpretasikan, serta merilis seluruh pipeline dan artefak yang telah dijalankan sekali, mulai dari penangkapan aktivasi hingga pelatihan, interpretasi, dan validasi
- Pipeline menangkap residual activation layer ke-23 dari Llama 3.2-3B pada data OpenWebText tingkat kalimat, lalu melatih SAE dengan 65.536 latent dan konfigurasi TopK=64 menggunakan PyTorch
- Resource yang dirilis mencakup dataset OpenWebText tingkat kalimat, aktivasi 3,2 TB dari 25 juta kalimat, log pelatihan Weights & Biases, serta model SAE yang telah dilatih selama 10 epoch
- Pelatihan berlangsung sekitar 7 hari pada 8x Nvidia RTX4090, dengan loss ternormalisasi akhir sekitar 0,144; auxiliary loss menunjukkan pola cepat menghidupkan kembali dead latent yang pada awalnya sekitar 40%
- Analisis interpretasi dilakukan dengan menganalisis 50 kalimat teratas yang paling kuat mengaktifkan tiap latent menggunakan Claude 3.5; feature steering dimungkinkan, tetapi pada versi beta pertama hasilnya belum konsisten
Tujuan dan cakupan proyek
- Proyek ini merupakan upaya menerapkan Sparse Autoencoder(SAE) pada Llama 3.2-3B untuk menguraikan representasi internal LLM menjadi fitur yang lebih dapat diinterpretasikan
- LLM modern menggunakan superposition, yaitu menyimpan beberapa fitur secara bertumpuk pada neuron yang sama; SAE mencoba memisahkan representasi yang bertumpuk itu dengan memproyeksikan aktivasi ke ruang latent yang sangat besar dan sparse
- Tujuannya adalah menyediakan pipeline lengkap yang mencakup proses berikut
- Menangkap aktivasi LLM
- Membuat dan melakukan prapemrosesan data pelatihan SAE
- Melatih SAE
- Menganalisis makna fitur yang telah dipelajari
- Validasi eksperimental dan feature steering
- Versi saat ini 0.2 sudah menjalankan seluruh pipeline sekali untuk membuat SAE yang dapat diinterpretasikan bagi Llama 3.2-3B, tetapi belum merupakan versi final
- Proyek ini bersifat mencoba mereproduksi riset interpretabilitas mekanistik berbasis SAE terbaru dari Anthropic, OpenAI, dan Google DeepMind
Fitur utama
- Pipeline disusun secara end-to-end dari penangkapan aktivasi hingga validasi, dan ditulis dengan PyTorch murni serta dependensi minimal
- Fitur utamanya adalah sebagai berikut
- Menangkap residual activation LLM menggunakan dataset varian OpenWebText tingkat kalimat
- Prebatching dan perhitungan statistik untuk pelatihan yang efisien
- Pelatihan SAE terdistribusi multi-GPU pada satu node
- Auxiliary loss untuk mencegah dan memulihkan dead latent
- Gradient projection untuk menstabilkan pelatihan
- Pemantauan pelatihan, validasi, dan dead latent berbasis Weights & Biases serta log konsol
- Penangkapan input yang mengaktifkan latent secara kuat dan analisis makna berbasis Frontier LLM
- Implementasi chat dan text completion Llama 3.1/3.2 tanpa dependensi eksternal Fairscale
- Validasi pengaruh SAE dan feature steering melalui text/chat completion serta UI Gradio opsional
- Semua komponen dinyatakan dirancang dengan mempertimbangkan skalabilitas, efisiensi, dan kemudahan pemeliharaan
Artefak yang dirilis
- OpenWebText Sentence Dataset
- Dataset varian OpenWebText yang diproses per kalimat
- Mempertahankan semua teks dan urutan dari OpenWebText asli
- Kalimat disimpan secara individual dalam format parquet untuk mendukung akses cepat
- Pemisahan kalimat dilakukan dengan tokenizer “Punkt” pralatih dari NLTK 3.9.1
- Captured Llama 3.2-3B Activations
- Residual activation layer 23 Llama 3.2-3B untuk 25 juta kalimat
- Ukuran asli 4 TB dikompresi menjadi 3,2 TB
- Dibagi menjadi 100 arsip untuk memudahkan pengelolaan unduhan
- SAE Training Log
- Log metrik pelatihan, validasi, dan debug berbasis Weights & Biases
- 10 epoch, 10.000 logged steps
- Mencakup train/val main loss, auxiliary loss, dan statistik dead latent
- Trained 65,536 latents SAE Model
- Model SAE final setelah menyelesaikan pelatihan 10 epoch
- Dilatih menggunakan 6,5 miliar activation dari layer 23 Llama 3.2-3B
Struktur kode
- Proyek ini dibagi menjadi empat komponen utama
-
Data Capture
capture_activations.py: menangkap residual activation LLMopenwebtext_sentences_dataset.py: dataset kustom untuk pemrosesan tingkat kalimat
-
SAE Training
sae.py: implementasi model SAE intisae_preprocessing.py: prapemrosesan data pelatihan SAEsae_training.py: implementasi pelatihan SAE terdistribusi
-
Interpretability
capture_top_activating_sentences.py: mengidentifikasi kalimat yang memaksimalkan feature activationinterpret_top_sentences_send_batches.py: membuat dan mengirim batch untuk interpretasiinterpret_top_sentences_retrieve_batches.py: menerima hasil interpretasiinterpret_top_sentences_parse_responses.py: parsing dan analisis hasil interpretasi
-
Verification and Testing
llama_3_inference.py: implementasi inferensi intillama_3_inference_text_completion_test.py: pengujian text completionllama_3_inference_chat_completion_test.py: pengujian chat completionllama_3_inference_text_completion_gradio.py: antarmuka Gradio untuk pengujian interaktif
Implementasi Kustom Llama 3.1/3.2
- Basis riset ini adalah implementasi Llama 3.1/3.2 transformer yang ada di
llama_3/model_text_only.py - Implementasi ini berbasis implementasi referensi dari repository Llama models, tetapi dimodifikasi sesuai tujuan proyek
- Menghapus dependensi berat pada Fairscale
- Menghapus fitur multimodal karena jika interpretabilitas gambar juga dicakup pada rilis awal, kompleksitasnya akan meningkat
- Pada konstruktor
Transformer, ditambahkan argumen yang memungkinkan penangkapan aktivasi pada layer tertentu atau injeksi SAE yang sudah dilatihstore_layer_activsae_layer_forward_fn
- Sebagian besar file pendukung di direktori
llama_3/dipertahankan dari repository Llama models asli- 95% kode pendukung tidak digunakan, tetapi tetap disertakan karena chat formatter bergantung pada import yang saling terhubung
- Implementasi inferensi sebenarnya ada di
llama_3_inference.py, dan mendukung streaming baik untuk chat maupun text completion - Inferensi mendukung batched inference, temperature, dan pengaturan top-p; jika temperature bernilai 0, otomatis beralih ke greedy sampling
Penangkapan Data dan Prapemrosesan
- Untuk penangkapan aktivasi, digunakan dataset varian kustom dari OpenWebText yang diproses per kalimat
- Konfigurasi dan skala penangkapannya adalah sebagai berikut
- 25 juta kalimat
- Maksimum 192 token per kalimat
- Aktivasi mentah 4 TB
- 3,2 TB setelah kompresi tar.gz
- Sekitar 700 juta activation
- Panjang kalimat rata-rata 27,3 token
- Dataset ini sekitar satu orde lebih kecil dibandingkan kira-kira 8 miliar unique activation yang digunakan Anthropic dan Google DeepMind
- Untuk mengompensasi dataset yang lebih kecil, SAE dilatih selama 10 epoch agar jumlah total activation yang diproses mendekati eksperimen Anthropic dan Google DeepMind
- Perbedaannya adalah SAE dalam proyek ini melihat setiap activation 10 kali
- Jika diperluas ke skala 32 TB, biaya GCP bucket diperkirakan naik dari sekitar $80/month menjadi $800/month, sehingga ada batasan biaya untuk proyek sampingan nirlaba ini
- Pemrosesan per kalimat dipilih untuk mempertahankan makna pada unit bahasa yang alami
- Kalimat dianggap sebagai unit yang memuat pemikiran dan konsep yang utuh
- Menghindari pemotongan konteks secara artifisial
- Berupaya mengurangi contextual bleed, yaitu pencampuran makna yang melintasi batas kalimat
- Pilihan ini juga dibuat agar activation per kalimat yang sama dapat digunakan dalam analisis interpretasi berikutnya
- Kalimat diproses tanpa token BOS
- Tujuannya adalah menghindari pola yang spesifik posisi dan menafsirkan fitur berbasis makna
- Titik penangkapan adalah layer ke-23 dari 28 layer Llama 3.2-3B, yaitu residual stream activation setelah layer normalization
- Ini berada di sekitar titik 5/6 kedalaman model, mengikuti implementasi OpenAI
- Penangkapan diimplementasikan dengan inferensi multi-GPU node tunggal berbasis NCCL
- Proses terpisah menangani I/O disk secara asinkron untuk mengurangi bottleneck pemrosesan GPU
- Keseluruhan penangkapan memakan waktu sekitar 12 jam pada 4x Nvidia RTX4090
- Prapemrosesan adalah tahap untuk terlebih dahulu membuat batch berisi 1024 activation
- Karena panjang sekuens yang bervariasi dan penanganan carryover dapat menimbulkan bug kompleks atau bottleneck I/O saat pelatihan, dipilih prapemrosesan terpisah
- Menghitung tensor rata-rata seluruh activation dengan algoritme Welford
- Rata-rata yang dihitung digunakan sebagai nilai awal bias
b_prepada SAE - Seluruh pipeline prapemrosesan diparalelkan di CPU menggunakan multiprocessing
Desain SAE dan Metode Pelatihan
- SAE menggunakan struktur TopK Autoencoder yang sebagian besar mengikuti pilihan OpenAI
- Forward pass disusun dalam bentuk berikut
- Encoder:
h = TopK(W_enc(x - b_pre) + b_enc) - Decoder:
x^ = W_dec * h (+ h_bias) + b_pre
- Encoder:
b_predigunakan baik pada encoder maupun decoder, dan diinisialisasi dengan rata-rata yang dihitung saat prapemrosesanb_encadalah bias khusus encoder dan diinisialisasi secara acak- Sparsity latent dipaksakan dengan fungsi aktivasi TopK
- Hanya k activation terbesar yang dipertahankan, sementara sisanya disetel menjadi 0
- Tidak menggunakan L1 penalty seperti pendekatan Anthropic
h_biasopsional dinonaktifkan selama pelatihan, tetapi dapat diaktifkan kemudian untuk feature steering- Presisi numerik menggunakan float32
- Dijelaskan bahwa konversinya cepat dan akurat karena berbagi 1 sign bit dan 8 exponent bit dengan bfloat16 yang dibutuhkan Llama
- Hiperparameter utama SAE dalam proyek ini adalah sebagai berikut
d_model = 3072n_latents = 2**16, yaitu 65.536k = 64k_aux = 2048aux_loss_coeff = 1 / 32dead_steps_threshold = 80_000batch_size = 1024num_epochs = 10learning_rate = 5e-5train_val_split = 0.95
- Dipilih latent dimension sekitar 21 kali lebih besar dibandingkan residual stream dimension Llama 3.2 3B yang sebesar 3.072
- Fungsi loss merupakan kombinasi main reconstruction loss dan auxiliary loss
total_loss = main_loss + aux_loss_coeff * aux_loss- Kedua loss dihitung dalam normalized space
- Auxiliary loss berperan untuk mencegah dan menghidupkan kembali dead latent, dengan metode yang diusulkan OpenAI
- Menghitung MSE antara main reconstruction residual dan auxiliary reconstruction
- Nilai top-
k_auxdari latent yang belakangan tidak aktif dikirim kembali ke decoder untuk memberi sinyal pelatihan - Mendorong inactive latent yang dikecualikan dari pelatihan utama yang hanya memakai top
klatent agar menangkap informasi yang terlewat
- Jika sebuah latent tidak aktif selama 80.000 training steps, yaitu
dead_steps_threshold, latent tersebut dianggap dead- Pengaturan ini setara dengan sekitar 1 epoch
- Dengan effective batch size 8192, ini berarti latent tidak pernah aktif dalam rekonstruksi sekitar 650 juta activation terbaru
- Pelatihan dilakukan dengan distributed training multi-GPU node tunggal menggunakan backend NCCL
- 8x Nvidia RTX4090
- 10 epoch
- Ukuran batch per GPU 1024
- Effective batch size 8192
- Memproses sekitar 7 miliar activation
- Memakan waktu sedikit lebih dari 7 hari
- Pengaturan AdamW disesuaikan dengan mempertimbangkan pola activation yang jarang pada sparse autoencoder
beta_1 = 0.85beta_2 = 0.9999eps = 6.25e-10- Learning rate menurun dari 5e-5 ke 1e-5 dengan cosine annealing
- Bobot decoder dinormalisasi ke unit norm setelah inisialisasi dan pada setiap training step
project_decoder_grads()menghapus komponen gradient yang sejajar dengan dictionary vector yang ada untuk mempertahankan batasan unit-norm pada bobot decoder
Hasil Pelatihan
- Pelatihan SAE berlangsung sekitar 7 hari di 8x Nvidia RTX4090 dan menunjukkan konvergensi yang stabil
- Total normalized loss akhir mencapai sekitar 0.144
- Validation loss dihitung pada 5% bagian held-out dari data pelatihan, dan menunjukkan pola penurunan log yang mirip dengan training loss
- Setelah warm-up 80.000 training steps, sekitar 40% latent teridentifikasi sebagai dead
- Auxiliary loss dengan cepat menghidupkan kembali dead latent, dan rasio dead latent menurun dengan cepat
- Auxiliary loss hanya dihitung ketika jumlah dead latent setidaknya
k_aux, yaitu 2.048 atau lebih- Kondisi ini membuat sekitar 3% dari 65.536 latent berperan seperti soft lower bound
- Pada tahap akhir, auxiliary loss sering menjadi 0 karena dead latent tidak cukup
- Anthropic dan OpenAI melaporkan hingga 65% dead latent pada konfigurasi tertentu, tetapi proyek ini menunjukkan bahwa dead latent cepat berkurang dengan kombinasi latent size yang lebih kecil, auxiliary loss, dan gradient projection
- Disebutkan bahwa dalam eksperimen mendatang, menghapus syarat jumlah minimum dead latent untuk perhitungan auxiliary loss berpotensi mengurangi dead latent lebih jauh
Analisis Interpretabilitas
- Analisis interpretasi merujuk pada metode scaling monosemanticity dari Anthropic, tetapi menganalisis tingkat kalimat, bukan token tunggal
- Untuk setiap latent, 50 kalimat teratas yang mengaktifkannya paling kuat ditangkap
- Activation strength diagregasikan dengan dua cara untuk semua token dalam kalimat
mean: metode untuk menemukan tema semantik yang aktif secara konsisten di seluruh kalimatlast: metode untuk memanfaatkan representasi token terakhir yang telah melihat seluruh kalimat dalam model autoregresif
- Claude 3.5, tepatnya
claude-3-5-sonnet-20241022, digunakan untuk analisis semantik - Prompt disusun agar melakukan langkah-langkah berikut pada 50 kalimat
- Mengidentifikasi kata dan frasa kunci
- Mengelompokkan elemen topik
- Mempertimbangkan outlier potensial
- Memberikan interpretasi semantik akhir yang menyertakan confidence score
- Pipeline analisis diimplementasikan dalam tiga tahap
- Mengirim permintaan analisis dalam batch yang hemat biaya
- Menerima respons
- Mem-parsing dan memproses interpretasi semantik
- Artefak perantara disimpan untuk reproduksibilitas dan analisis tambahan
capture_top_sentences/: kalimat asli, activation aggregation, indeks OpenWebTexttop_sentences_last_responses/dantop_sentences_mean_responses/: respons analisis semantik sebelum diproseslatent_index_meaning/: pemetaan latent index dengancommon_semanticdan certainty score
- Sebagai contoh, latent #896 diidentifikasi sebagai “rujukan terminologi kelembagaan formal terkait badan, tokoh, operasi, dan dokumen resmi Perserikatan Bangsa-Bangsa”
- 50 dari 50 kalimat merujuk langsung ke PBB
- Mencakup istilah seperti
UN,United Nations,Secretary-General,Special Rapporteur,UNDP,UNHCR,OCHA,UNODC - Certainty dihitung sebesar 1.0
- Biayanya $66.74 untuk memproses 24.828.558 input tokens dan 3.920.044 output tokens dengan Claude 3.5 batch mode
- Metode ini dipilih sebagai pendekatan awal untuk feature extraction dan potensi feature steering, dan disebutkan bahwa ada biaya kesederhanaan dari sisi kualitas hasil
Validasi dan Feature Steering
- Infrastruktur validasi terdiri dari tiga skrip untuk menganalisis dan memverifikasi dampak SAE pada perilaku model
llama_3_inference_chat_completion_test.pyllama_3_inference_text_completion_test.pyllama_3_inference_text_completion_gradio.py
- Setiap implementasi mendukung hal berikut
- batched inference
- memproses setiap baris sebagai batch element terpisah
- pengaturan temperature dan top-p
- injeksi SAE yang telah dilatih
- analisis feature activation
- feature steering
- Semantic meaning dan certainty score dari
latent_index_meaning/digunakan sebagai dasar untuk analisis feature activation dan eksperimen steering - Contoh prompt adalah empat berikut
The delegates gathered at theForeign officials released a statementHumanitarian staff coordinated their effortsSenior diplomats met to discuss
- Contoh text completion dijalankan dengan pengaturan
max_new_tokens=128,temperature=0.7,top_p=0.9,seed=42 - Contoh feature steering menargetkan latent #896
- Meningkatkan nilai latent activation sebesar 20 melalui
h_bias - Dapat mengarahkan text completion model ke konten terkait PBB
- Meningkatkan nilai latent activation sebesar 20 melalui
- Feature steering pada versi beta pertama tidak kuat
- Dalam contoh pun, hanya kalimat kedua dan ketiga yang beralih menjadi konten terkait PBB
- Kalimat awal yang berpeluang mengarah ke PBB sengaja dipilih
- Disebutkan bahwa ini akan gagal pada awal kalimat yang tidak terkait dengan PBB, seperti
For any n, if 2n - 1 is odd
- Analisis interpretasi saat ini lebih berfokus pada feature extraction daripada optimasi steering, sehingga hasil steering tidak konsisten
- Feature steering merupakan demonstrasi tambahan pada rilis pertama, dan disimpulkan bahwa feature extraction itu sendiri berguna untuk memahami model
Arah Perbaikan ke Depan
- Diusulkan eksperimen untuk meningkatkan latent dimension menjadi minimal
2^18, yaitu 262.144 feature, dan menurunkan k menjadi 32- Arah ini bertujuan menemukan lebih banyak feature unik dan mempertahankan sparsity yang lebih kuat
- Peningkatan beban komputasi perlu diimbangi dengan cara seperti peningkatan efisiensi atau gradient accumulation
- Ada rencana untuk membuat latent activation tracking lebih sistematis
- Jika status tensor
latent_last_nonzerosering dicatat selama pelatihan, dapat dilihat lebih mendalam kapan latent aktif atau mati
- Jika status tensor
- Diusulkan dukungan untuk menganalisis feature interaction dengan melacak pola co-activation di ruang sparse latent
- Metode analisis interpretasi yang mengelompokkan kalimat beraktivitas tinggi dan n-gram secara lebih cermat diajukan sebagai tugas ke depan
- Selain feature extraction, analisis interpretasi berbasis feature steering juga dapat dilakukan
- Riset dapat diperluas ke activation Llama 3.1-8B
- Karena berbagi codebase dengan Llama 3.2, penyesuaian hyperparameter dan compute power yang besar menjadi kebutuhan utama
- Eksperimen untuk mengubah titik activation capture juga diusulkan
- Layer model yang lebih awal
- Attention head output di dalam transformer block
- MLP output
- Mekanisme auxiliary loss dapat dioptimalkan lebih lanjut
- Implementasi saat ini menunjukkan kinerja kuat dalam mencegah dead latent, dan hubungan antara dead latent threshold minimum serta kualitas feature dapat diteliti
- Bias term pada arsitektur SAE dan penyesuaian main loss function juga menjadi kandidat eksperimen ke depan
- Penambahan docstring di seluruh codebase diperlukan
- Disebutkan bahwa inline documentation sudah ditambahkan, tetapi pada rilis pertama tidak ada waktu untuk memasukkan proper docstring
1 komentar
Opini Hacker News
Interpretabilitas mekanistis membahas masalah umum yang muncul saat kita bertanya kepada LLM “mengapa kamu menjawab seperti itu”. Penjelasan diri dari model lebih mirip permainan retorika yang menyusun alasan yang terdengar masuk akal dan meyakinkan berdasarkan pola dalam data pelatihan, bukan alasan sebenarnya
Semakin kuat model, semakin mampu ia membenarkan kebohongan secara lebih meyakinkan setelah kejadian, sehingga dalam tes untuk mendeteksi sendiri “ketidakbenaran”, performanya kadang justru memburuk. Tujuannya bukan kebenaran, melainkan konsistensi
Retorika bukan penalaran, dan explainability sejati yang diklaim diberikan oleh sparse autoencoder yang overfit lebih dekat dengan alur kausal “pikiran” yang dilalui model saat membuat jawaban
Ada pembahasan yang melihat penalaran sebagai alat pengaruh sosial, dan ini juga menjelaskan mengapa orang yang pandai bicara sulit mengakui bahwa dirinya salah. Biasanya karena mereka terbiasa mengalahkan orang lain dalam perdebatan. X terlintas sebagai contoh representatif
Namun satu hal saya akui sebagai insight yang bagus dan awal dari program riset yang masuk akal. Ruang vektor berdimensi tinggi yang terbatas dan hampir ortogonal sangat kontraintuitif, dan sudah ada hasil terdahulu untuk menanganinya secara ketat https://en.m.wikipedia.org/wiki/Johnson%E2%80%93Lindenstraus...
Karena model tidak punya memori dan tidak dapat membedakan asal teks, model yang “jujur” seharusnya mengakui kesalahan tanpa perlu ditanya. Dalam praktiknya, kemungkinan besar ia akan melakukan konstruksi paralel untuk mendukung keputusan “dirinya”
Ini pekerjaan yang mengesankan dan terdokumentasi dengan baik. Terutama kurva loss dan evaluasi latent yang mati terlihat menonjol
Tim kami juga meneliti SAE, tetapi kami melatihnya untuk merekonstruksi embedding padat dari abstrak paper, bukan token individual https://arxiv.org/abs/2408.00657
Meski tingkat sparsity dan dimensi ruang latent SAE diubah, kami mengamati power-law scaling pada batas bawah kurva loss, dan dengan auxiliary loss kami bisa sepenuhnya mengurangi latent yang mati. Kami juga melihat pola sinus yang halus selama iterasi pelatihan, tetapi belum tahu apakah itu akibat aplikasi spesifik pada embedding abstrak atau fenomena yang lebih umum
Sekilas ini terlihat seperti pekerjaan yang positif untuk alignment, tetapi saya belum memeriksa detailnya. Saya tidak tahu apakah ini bisa dibuat mungkin, tetapi saya penasaran berapa banyak yang perlu dibayar agar sepadan dengan waktu, biaya, dan risikonya
Saya baru-baru ini membaca tulisan tentang sulitnya evaluasi SAE: https://adamkarvonen.github.io/machine_learning/2024/06/11/s...
Saya penasaran bagaimana Anda menangani masalah ini, dan di bagian mana dalam repositori pendekatan itu bisa dipahami
Bahkan jika kita berasumsi sudah menyelesaikan masalah menemukan beberapa struktur SAE yang sempurna dan melatihnya secara sempurna, SAE mana yang lebih baik akan ditentukan oleh mana yang berkinerja lebih baik pada metrik metodologi interpretabilitas otomatis. Secara khusus, metodologi OpenAI menekankan interpretabilitas otomatis berskala besar dengan memberi skor SAE berdasarkan banyak metrik teknis
Karena metrik dan metodologi optimal itu sendiri masih merupakan pertanyaan riset terbuka, saya sebenarnya bisa bereksperimen beberapa bulan lagi, tetapi pada rilis pertama ini saya memilih pendekatan sederhana. Perbedaan antara metodologi saya dan metodologi OpenAI dibahas dalam detail implementasi dan bagian 4 hasil, Interpretability Analysis https://github.com/PaulPauls/llama3_interpretability_sae#4-i...
Saya juga merekomendasikan membaca langsung paper OpenAI atau transformer-circuits.pub dari Anthropic https://transformer-circuits.pub/
Pekerjaan ini sudah diturunkan dan repositorinya juga telah diarsipkan. Tidak ada penjelasan tentang apa yang terjadi
Pekerjaan yang benar-benar keren. Saya penasaran apakah ada rencana untuk mengintegrasikannya dengan SAELens
Sebagai proyek yang lebih sederhana, saya mungkin bisa menunjukkan cara membuat seluruh model dari implementasi Llama 3.2 saat ini dari nol dengan PyTorch murni. Saya suka membangun dari dasar, tetapi saat mencari dokumentasi untuk bagian latar Llama 3.2 dalam proyek SAE ini, banyak dokumentasi yang ada terlalu dangkal atau sudah usang karena ditujukan untuk Llama 1/2. Dokumentasi machine learning sekarang terlalu cepat kedaluwarsa
Saya punya pertanyaan agak nyeleneh tentang interpretabilitas mekanistis. Jika manusia diukur dengan suatu metrik, manusia akan mengakali metrik itu; jadi saya penasaran apakah AI masa depan juga bisa mengakali interpretabilitas mekanistis
Untuk mempermudah penjelasan, misalkan token dienkode ke matriks 2D: Apple=1a, Pear=1b, Donkey=2a, Horse=2b. Ketika neuron 1,2,a,b semuanya aktif, sulit memahami apakah itu apple+horse atau donkey+pear
Jika AI masa depan yang jauh lebih kapabel mengawasi pelatihannya sendiri, mungkinkah ia memilih bobot sedemikian rupa sehingga kemungkinan benturan encoding seperti ini tetap ada, menipu pengamat interpretabilitas mekanistis dan pada dasarnya berpikir dalam eufemisme?
Misalnya, seseorang bisa mencari model yang rasis tetapi tidak memiliki pola aktivasi yang dapat diinterpretasikan dan diidentifikasi sebagai rasisme. Pekerjaan Show HN ini menyiratkan bahwa individu dengan pendanaan memadai pun nyaris bisa mencoba pelatihan adversarial seperti itu, dan jika ada hasil baru, itu akan cukup menarik
Senang sekali melihat lebih banyak pekerjaan SAE yang terbuka. Upaya engineering-nya juga tampak tidak kecil, dan besok saya berencana melihat kode pemuatan datanya
Anda mungkin juga tertarik pada proyek saya yang sedang berjalan untuk melatih SAE pada model visi: https://github.com/samuelstevens/saev
Jika Anda menemukan latent Golden Gate Bridge lalu mengunggah Golden Gate Llama 3.2 ke HuggingFace, saya rasa itu akan mendapat lebih banyak perhatian dan respons
Akan lebih baik lagi jika menyertakan tautan Space tempat orang bisa mengobrol dengannya. Dan meski tidak diminta, menaruh hasil atau visualisasi yang menarik di bagian paling atas README adalah ide yang sangat bagus