1 poin oleh GN⁺ 2024-11-22 | 1 komentar | Bagikan ke WhatsApp
  • 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 LLM
    • openwebtext_sentences_dataset.py: dataset kustom untuk pemrosesan tingkat kalimat
  • SAE Training

    • sae.py: implementasi model SAE inti
    • sae_preprocessing.py: prapemrosesan data pelatihan SAE
    • sae_training.py: implementasi pelatihan SAE terdistribusi
  • Interpretability

    • capture_top_activating_sentences.py: mengidentifikasi kalimat yang memaksimalkan feature activation
    • interpret_top_sentences_send_batches.py: membuat dan mengirim batch untuk interpretasi
    • interpret_top_sentences_retrieve_batches.py: menerima hasil interpretasi
    • interpret_top_sentences_parse_responses.py: parsing dan analisis hasil interpretasi
  • Verification and Testing

    • llama_3_inference.py: implementasi inferensi inti
    • llama_3_inference_text_completion_test.py: pengujian text completion
    • llama_3_inference_chat_completion_test.py: pengujian chat completion
    • llama_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 dilatih
    • store_layer_activ
    • sae_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_pre pada 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
  • b_pre digunakan baik pada encoder maupun decoder, dan diinisialisasi dengan rata-rata yang dihitung saat prapemrosesan
  • b_enc adalah 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_bias opsional 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 = 3072
    • n_latents = 2**16, yaitu 65.536
    • k = 64
    • k_aux = 2048
    • aux_loss_coeff = 1 / 32
    • dead_steps_threshold = 80_000
    • batch_size = 1024
    • num_epochs = 10
    • learning_rate = 5e-5
    • train_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_aux dari 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 k latent 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.85
    • beta_2 = 0.9999
    • eps = 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 kalimat
    • last: 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
  • 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.py
    • llama_3_inference_text_completion_test.py
    • llama_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 the
    • Foreign officials released a statement
    • Humanitarian staff coordinated their efforts
    • Senior 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
  • 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_nonzero sering dicatat selama pelatihan, dapat dilihat lebih mendalam kapan latent aktif atau mati
  • 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

 
GN⁺ 2024-11-22
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

    • Manusia juga berperilaku serupa. Kita sering tidak tahu mengapa memikirkan atau melakukan sesuatu, lalu belakangan membuat penjelasan melalui confabulation yang terdengar masuk akal
    • Seni/AI seolah meniru kehidupan. Penalaran manusia mungkin juga terlebih dahulu membuat penilaian cepat, lalu memakai rasio untuk meyakinkan orang lain tentang keyakinan itu
      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
    • Banyak riset interpretabilitas mekanistis tampak seperti jenis sihir lain. Rasanya dipaksakan ketika istilah seperti integer quantum Hall effect, atau “superposisi” dijejali dengan analogi aneh tanpa teori representasi grup yang ketat atau simetri yang jelas. Saya sudah membaca semua papernya, dan terasa seperti mencari postdoc yang sudah dijanjikan bayaran
      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...
    • Logika dan kebenaran model bisa diuji dengan mudah. Berikan keputusan yang salah seolah-olah dibuat oleh model, lalu minta ia menjelaskannya
      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”
    • Saya penasaran bagaimana bagian kausalitas bekerja. Apakah ia bisa mengeluarkan model graf?
  • 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

    • Saya khususnya senang dokumentasinya diapresiasi. Menulis dokumentasi jauh lebih sulit daripada menulis kode, dan saya sudah mengunduh paper yang Anda bagikan, jadi akan saya baca besok pagi
  • 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

    • Evaluasi SAE sangat kompleks karena ini adalah persoalan menentukan SAE mana yang, sambil tetap sesparse mungkin, paling baik menghasilkan fitur yang unik; ini nyaris merupakan inti dari riset interpretabilitas LLM melalui SAE
      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

    • Saat ini saya belum yakin. Akan saya pertimbangkan, tetapi minggu depan saya berencana menata ulang arah dan apa yang akan dikerjakan berikutnya
      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?

    • Itu adalah skenario keamanan AI yang lebih sulit. Untuk menciptakan masalah laten seperti ini, tidak harus ada “AI yang jauh lebih kapabel yang mengawasi pelatihannya sendiri”; peneliti AI yang berniat buruk saja sudah cukup
      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