HN Açıklandı: Sparse Autoencoders kullanılarak Llama 3.2 yorumlanabilirliği üzerine araştırma
(github.com/PaulPauls)Proje özeti
- Modern büyük dil modelleri (LLM), birden fazla özelliği aynı nörona üst üste bindirerek kavramları kodlar ve her nöronun aktivasyonunun, diğer nöronların aktivasyonuna bağlı olarak birden fazla yorumlanabilir anlama sahip olmasına yol açar. Buna superposition denir.
- Seyrek otoenkoderler (Sparse Autoencoders, SAE), eğitilmiş LLM'lere eklenerek aktivasyonları çok büyük ve seyrek bir gizil uzaya yansıtır, böylece üst üste binmiş temsilleri ayırır ve bunları yorumlanabilir özelliklere dönüştürür.
- Bu proje, Anthropic, OpenAI ve Google DeepMind'ın başarıyla yürüttüğü araştırmaları yeniden üretmeyi ve yorumlanabilir özellikler çıkarmayı amaçlar.
- Llama 3.2-3B modeli için işlevsel ve yorumlanabilir seyrek otoenkoderler üretmeye yönelik uçtan uca tüm pipeline'ı sunar.
Temel özellikler
- PyTorch ile yazılmış, aktivasyon yakalamadan SAE eğitimi, özellik yorumlama ve doğrulamaya kadar uzanan eksiksiz bir uçtan uca pipeline sunar.
- Büyük dil modellerinden residual aktivasyonları yakalayarak bunları SAE eğitim veri kümesi olarak kullanır.
- Eğitim verisini verimli biçimde ön işler ve çoklu GPU kullanan büyük ölçekli dağıtık eğitimi destekler.
- SAE eğitimi sırasında yardımcı kaybı uygulayarak ölü gizil değişkenleri önler ve eğitim dinamiklerini dengeler.
- Weights & Biases üzerinden SAE eğitimi için kapsamlı loglama, görselleştirme ve checkpoint sağlar.
- Yorumlanabilirlik analiz araçlarıyla öğrenilmiş özelliklerin anlamını incelemeyi destekler.
- Llama 3.1/3.2'nin saf PyTorch implementasyonu sayesinde harici bağımlılık olmadan genel kullanım ve sonuç doğrulaması mümkündür.
- Metin ve sohbet tamamlama görevleriyle SAE'nin model davranışı üzerindeki etkisini doğrular ve çıkarılan anlamsal özelliklerin ayarlanmasına olanak tanır.
Yayınlanan kaynaklar
-
OpenWebText cümle veri kümesi:
- Aktivasyon yakalamada kullanılan OpenWebText veri kümesinin özelleştirilmiş sürümü.
- Orijinal metni korur ve hızlı erişim için tek tek cümleleri parquet formatında saklar.
- Cümle bölme için NLTK 3.9.1'in "Punkt" tokenizer'ını kullanır.
-
Yakalanmış Llama 3.2-3B aktivasyonları:
- Llama 3.2-3B'nin 23. katmanındaki residual aktivasyonlardan 25 milyon cümle.
- 4 TB ham veri, 100 arşive bölünmüş şekilde 3.2 TB'a sıkıştırılmıştır.
-
SAE eğitim logları:
- Weights & Biases üzerinden eğitim, doğrulama ve debug metriklerinin görselleştirme logları.
- 10 epoch ve loglanmış 10.000 adımı içerir.
-
Eğitilmiş 65.536 gizil SAE modeli:
- 10 epoch sonunda elde edilen nihai eğitilmiş SAE modeli.
Proje yapısı
1. Veri yakalama
capture_activations.py: LLM residual aktivasyonlarını yakalar.openwebtext_sentences_dataset.py: Cümle düzeyinde işleme için özelleştirilmiş veri kümesi.
2. SAE eğitimi
sae.py: Çekirdek SAE model implementasyonu.sae_preprocessing.py: SAE eğitimi için veri ön işleme.sae_training.py: Dağıtık SAE eğitimi implementasyonu.
3. Yorumlanabilirlik
capture_top_activating_sentences.py: Özellik aktivasyonunu en üst düzeye çıkaran cümleleri belirler.interpret_top_sentences_send_batches.py: Yorumlama için batch'ler oluşturur ve gönderir.interpret_top_sentences_retrieve_batches.py: Yorumlama sonuçlarını toplar.interpret_top_sentences_parse_responses.py: Yorumlama sonuçlarını analiz eder.
4. Doğrulama ve test
llama_3_inference.py: Çekirdek çıkarım implementasyonu.llama_3_inference_text_completion_test.py: Metin tamamlama testi.llama_3_inference_chat_completion_test.py: Sohbet tamamlama testi.llama_3_inference_text_completion_gradio.py: Etkileşimli test için Gradio arayüzü.
1 yorum
Hacker News görüşleri
LLM'lerin mekanistik yorumlanabilirliği, modelin kendini açıklarken ikna edici yanıtlar üretmesi sorununu ele alır. Model ne kadar güçlüyse, "yalanı" gerekçelendirmede o kadar ikna edici olabilir ve bu nedenle kendi kendini tespit testlerinde daha düşük puan alabilir. Amaç doğruluk değil, tutarlılıktır
Sparse Autoencoders (SAE'ler) üzerine yapılan araştırmada, kayıp eğrilerinin alt sınırının kuvvet yasasıyla ölçeklendiği gözlemlenmiş. Yardımcı kayıpla ölü latent değişkenler tamamen çözülebilmiş ve eğitim iterasyonları boyunca düzgün sinüs dalgası desenleri gözlemlenmiş
Mekanistik yorumlanabilirlik hakkında bir soru ortaya atılıyor: Gelecekteki yapay zekanın kendi eğitimini denetlerken belirsizlikten yararlanıp mekanistik yorumlanabilirlik gözlemcilerini kandırabilen modeller üretme ihtimali konusunda endişe var
SAE değerlendirmesinin zorluklarına dair bir blog yazısı okunmuş ve bu sorunun nasıl çözüldüğü merak ediliyor. Repoda bu yaklaşımın anlaşılabileceği bölümler aranmak isteniyor
Bu çalışmanın hizalama üzerinde olumlu bir etkisi olabileceği düşünülüyor, ancak ayrıntılar henüz incelenmemiş. Zamanı, maliyeti ve riski telafi etmek için ne kadar ödeme yapılması gerektiği merak ediliyor
Dokümantasyona çok zaman ayrılmış olması takdir ediliyor
Çok etkileyici bir çalışma; SAELens ile entegre etme planı olup olmadığı merak ediliyor