2 poin oleh GN⁺ 2024-02-05 | 1 komentar | Bagikan ke WhatsApp
  • Setelah melatih decoder-only Transformer dengan sekitar 10 juta parameter pada TinyShakespeare, penulis melacak lewat kondisi internal dan eksperimen bagaimana hasil komputasi setelah self-attention berubah menjadi probabilitas token berikutnya
  • Hipotesis utamanya adalah bahwa setiap blok Transformer menghubungkan prompt dengan sekumpulan string tertentu dalam korpus pelatihan, dan distribusi frekuensi token yang benar-benar muncul setelah string-string itu mendekati prediksi token berikutnya dari blok tersebut
  • Prosedur aproksimasi yang diimplementasikan mencari string pelatihan yang mirip dengan output feed-forward network tiap blok, menjumlahkan distribusi karakter yang mengikutinya, lalu merekonstruksi output model dengan penjumlahan berbobot per blok
  • Pada 20.000 prompt sepanjang 10, Hellinger distance rata-rata antara output aproksimasi dan output Transformer sebenarnya sekitar 0,17, sedangkan jarak antara model asli dan model alternatif dengan struktur yang sama tetapi dilatih dengan seed berbeda sekitar 0,11 ± 0,08
  • Analisis ini mendukung interpretasi bahwa output feed-forward berperan besar dalam transformasi blok dan bahwa attention memetakan prompt ke kelas string pelatihan yang tepat, tetapi belum jelas apakah temuan ini dapat digeneralisasi di luar model kecil

Model Eksperimen dan Pertanyaannya

  • Penulis mengimplementasikan dan melatih Transformer dengan sekitar 10 juta parameter mengikuti Let’s build GPT: from scratch, in code, spelled out dari Andrej Karpathy
    • Kode inti model bahasa berasal dari karya Karpathy, sedangkan analisis internal dan kode pendukung merupakan kontribusi terpisah
    • Kode terkait tersedia di transformer-experiments
  • Modelnya adalah decoder-only Transformer yang terdiri dari 6 blok
    • Data pelatihannya adalah TinyShakespeare, yang berisi 40.000 baris drama Shakespeare
    • Setelah dilatih sekitar 1 jam di GPU RTX 4000, model menghasilkan teks Shakespeare palsu yang secara struktur terlihat masuk akal
  • Token yang digunakan bukan kata, melainkan karakter
    • Ukuran kosakatanya 65, dan model memprediksi distribusi probabilitas karakter yang akan muncul setelah prompt input
    • Misalnya, setelah 'my most gr', model memprediksi a dengan 0,819, e dengan 0,081, dan i dengan 0,059
  • Pertanyaan utamanya bukan self-attention itu sendiri, melainkan bagaimana hasil setelah attention berubah menjadi probabilitas token berikutnya final

Struktur Blok dan Bobot Feed-Forward Network

  • Setiap blok Transformer mencakup multi-head self-attention dan feed-forward network
    • Dalam struktur PyTorch, output blok berbentuk penambahan x + self.sa(self.ln1(x)), lalu x + self.ffwd(self.ln2(x))
    • Jika ditulis dengan variabel perantara, output blok dapat dilihat sebagai x + sa_out + ffwd_out
  • Dalam model yang dianalisis, feed-forward network menyumbang 65,71% dari seluruh parameter yang dapat dilatih
    • Parameter feed-forward: 7.089.408
    • Total parameter yang dapat dilatih: 10.788.929
  • Output feed-forward network tampak menjadi faktor utama yang mengubah input blok menjadi output
    • Dalam eksperimen berikutnya pun, output feed-forward menunjukkan pengaruh lebih besar pada distribusi probabilitas akhir dibanding output self-attention saja

Mencari String dengan Output Feed-Forward yang Mirip

  • Prosedur aproksimasi menggunakan kemiripan output feed-forward antara prompt dan string dalam korpus pelatihan
    1. Masukkan prompt ke model dan simpan output feed-forward network dari tiap blok
    2. Untuk setiap blok, cari string dalam korpus pelatihan yang output feed-forward-nya mirip
    3. Jumlahkan distribusi frekuensi token yang muncul setelah string-string tersebut
    4. Gabungkan distribusi per blok dengan penjumlahan berbobot dan normalisasi menjadi distribusi probabilitas
  • Pada prompt demo 'And only l', ditemukan 94 string sepanjang 10 dengan cosine similarity 0,95 atau lebih terhadap output feed-forward blok 1
    • String yang ditemukan, seperti hat only l, \nMy only l, I dearly l, ng Henry l, And only l, umumnya berakhir dengan y l atau ly l
    • Distribusi frekuensi ternormalisasi karakter yang muncul setelah string-string ini sangat mirip dengan prediksi karakter berikutnya dari model sebenarnya
  • Pada contoh 'And only l', aproksimasi dan prediksi model sebenarnya cukup dekat
    • Model: i 0,437, o 0,204, a 0,195, e 0,160
    • Aproksimasi: i 0,389, o 0,250, a 0,222, e 0,139
    • Hellinger distance-nya 0,0711
  • Menggunakan satu blok saja kadang gagal
    • Pada prompt 'hing tremb', jika hanya memakai blok 1, model memprediksi l 0,999, tetapi aproksimasi menghasilkan e 0,543 dan l 0,343, sehingga Hellinger distance-nya 0,6305
    • Jika semua blok diperhitungkan, pada contoh yang sama aproksimasi memprediksi l 0,997 dan Hellinger distance turun menjadi 0,0233

Skala Komputasi dan Tuning Manual

  • Demi efisiensi, seluruh analisis terutama dilakukan pada string sepanjang 10
    • Korpus pelatihan berisi 1.115.394 karakter, dan substring unik sepanjang 10 berjumlah 858.923
    • Output feed-forward berupa vektor float32 berdimensi 384, masing-masing satu dari 6 blok
  • Sebanyak 20.000 string sepanjang 10 dipilih secara acak sebagai prompt eksperimen
    • Cosine similarity per blok antara setiap prompt dan 858.923 substring unik dihitung terlebih dahulu dan disimpan ke disk
    • Karena matching yang menarik tidak muncul di bawah cosine similarity 0,7, hanya nilai 0,7 ke atas yang dipra-filter
  • Similarity threshold per blok ditentukan lewat tuning manual
    • Blok 0: 0,95
    • Blok 1: 0,94
    • Blok 2: 0,85
    • Blok 3: 0,76
    • Blok 4: 0,81
    • Blok 5: 0,89
  • Saat menggabungkan distribusi frekuensi per blok, digunakan juga bobot manual
    • Bobot yang digunakan adalah [0.01, 0.01, 0.1, 1.5, 6, 0.01]
    • Penulis juga mencoba mencari bobot dengan pendekatan deep learning, tetapi tidak memperoleh hasil yang lebih baik daripada tuning manual

Evaluasi pada 20.000 Prompt

  • Untuk seluruh 20.000 prompt, dihitung Hellinger distance antara distribusi aproksimasi dan distribusi output model
    • Rata-rata: 0,1677
    • Simpangan baku: 0,1215
    • Nilai minimum: 0,0013
    • Nilai maksimum: 0,9994
  • Hellinger distance mengukur overlap antara distribusi probabilitas; 0 berarti identik, 1 berarti tidak ada overlap
  • Untuk membandingkan kualitas aproksimasi, arsitektur yang sama dilatih 3 kali lagi dengan random seed berbeda
    • Seed model asli: 1337, estimasi training loss 0,9334, validation loss 1,5063
    • Alternate 1 seed: 1442, training loss 0,9293, validation loss 1,5038
    • Alternate 2 seed: 88, training loss 0,9294, validation loss 1,4991
    • Alternate 3 seed: 99999, training loss 0,9339, validation loss 1,4941
  • Hellinger distance rata-rata antara model asli dan model alternatif sekitar 0,11 ± 0,08
    • Original vs Alternate 1: 0,1064 ± 0,0823
    • Original vs Alternate 2: 0,1057 ± 0,0817
    • Original vs Alternate 3: 0,1053 ± 0,0828
  • Jarak rata-rata antara aproksimasi dan model sebesar 0,17 lebih tinggi daripada jarak 0,11 antarmodel alternatif, tetapi masih dalam rentang simpangan baku, sehingga menjadi dasar untuk menilai aproksimasi ini cukup baik

Interpretasi Cara Kerja Internal Transformer

  • Model dapat dilihat sebagai beberapa tahap transformasi ruang setelah embedding
    • Enam blok Transformer mengubah embedding input menjadi embedding output di dalam ruang embedding 384 dimensi
    • LayerNorm terakhir dan linear layer mengubah ruang embedding menjadi ruang logit 65 dimensi, lalu softmax menghasilkan probabilitas token berikutnya
  • Transformasi di dalam blok dapat dilihat sebagai penjumlahan vektor
    • Output blok adalah jumlah input x, output self-attention sa_out, dan output feed-forward ffwd_out
    • Dalam analisis, diamati bahwa vektor output feed-forward umumnya memiliki norm lebih besar daripada output self-attention, dan pada tiap blok kedua output tersebut cenderung menunjuk ke arah yang mirip
  • Menambahkan output feed-forward saja pun umumnya menghasilkan arah yang mirip dengan vektor output final
    • Output yang hanya memakai feed-forward memiliki norm lebih kecil, tetapi arahnya dekat dengan output asli
    • Karena LayerNorm final, perbedaan norm tidak terlalu penting pada input ke linear layer akhir
  • Hasil ini bukan berarti komputasi self-attention dapat dihapus
    • Feed-forward network menyertakan output self-attention dalam inputnya, seperti ffwd_out = self.ffwd(self.ln2(x + sa_out)), sehingga jika self-attention dihapus, output feed-forward itu sendiri akan berubah

Hipotesis Subspace Token

  • Embedding tertentu dapat membuat model memprediksi token tertentu hampir dengan kepastian penuh
    • Misalnya, embedding yang akan masuk ke LayerNorm dan linear layer setelah blok final dapat dilatih agar probabilitas token a hampir menjadi 1
    • Bobot Transformer dibuat tetap, dan hanya tensor embedding yang dioptimalkan
  • Untuk setiap token, tidak hanya ada satu embedding, melainkan banyak embedding
    • Ini ditafsirkan sebagai subspace embedding nonlinier yang kompleks untuk tiap token
    • Untuk tiap token, ribuan embedding unik dapat dilatih dengan mudah
  • Subspace tersebut tidak berhasil diturunkan secara matematis dengan tepat, tetapi pada tahap akhir aproksimasi linier bekerja dengan baik
    • Embedding yang dilatih untuk tiap token ditumpuk, lalu SVD dijalankan
    • Satu right singular vector pertama berfungsi baik sebagai aproksimasi linier 1 dimensi bagi subspace token tersebut
  • Dengan mengombinasikan vektor aproksimasi subspace dari beberapa token secara linier, dapat dibuat embedding yang menyebarkan probabilitas ke beberapa token
    • Menambahkan vektor aproksimasi a dan b menghasilkan distribusi yang membagi probabilitas ke kedua token
    • Namun, karena galat aproksimasi, ketidakortogonalan vektor subspace, dan perbedaan besaran logit per token, distribusinya tidak menjadi 50:50 sempurna

Korespondensi antara Output Feed-Forward dan Subspace Token

  • Output feed-forward ditafsirkan sebagai penyesuaian output blok ke arah subspace token tertentu
    • Token-token itu cocok dengan token yang diprediksi oleh prosedur aproksimasi, yaitu token yang muncul setelah string pelatihan yang menghasilkan output feed-forward serupa
  • Pada contoh med me Aut, jika hanya melihat blok terakhir, aproksimasi memprediksi o sebagai token berikutnya yang paling mungkin, lalu h berikutnya
    • Saat vektor output feed-forward yang sama diproyeksikan ke aproksimasi subspace token, token yang paling mirip juga berurutan o, h, i, u, y
  • Pada contoh if and thy, korespondensi serupa juga muncul
    • Aproksimasi memilih spasi, s, dan newline sebagai token prediksi utama
    • Subspace yang paling selaras dengan output feed-forward juga mendekati urutan spasi, s, newline
  • Untuk seluruh 20.000 prompt, penulis membuat kriteria arbitrer dan mengagregasikannya
    • Kriterianya adalah “apakah subspace dari token-token yang menyumbang 90% massa probabilitas dalam prediksi aproksimasi masuk ke separuh teratas peringkat cosine similarity terhadap output feed-forward”
    • Berdasarkan blok final, 16.357 prompt, yaitu 81,78%, memenuhi kriteria tersebut

Hasil Agregat per Blok dan Perbandingan dengan Chance

  • Saat menggunakan aproksimasi subspace yang dilatih pada setiap posisi blok, tingkat pemenuhan kriteria lebih tinggi pada blok-blok belakang
    • Blok 6: 16.357, 81,78%
    • Blok 5: 10.142, 50,71%
    • Blok 4: 7.760, 38,80%
  • Jika aproksimasi subspace tahap final diterapkan ke semua blok, hasilnya lebih baik
    • Blok 6: 81,78%
    • Blok 5: 68,26%
    • Blok 4: 58,15%
    • Blok 3: 57,34%
    • Blok 2: 52,02%
    • Blok 1: 49,71%
  • Kemungkinan kriteria terpenuhi secara kebetulan melalui cosine similarity acak juga disimulasikan
    • Blok 6: 20,76% ± 0,25%
    • Blok 5: 20,55% ± 0,26%
    • Blok 4: 18,37% ± 0,24%
    • Blok 3: 18,20% ± 0,24%
    • Blok 2: 17,04% ± 0,23%
    • Blok 1: 16,31% ± 0,23%
  • Hasilnya jauh lebih tinggi daripada chance, tetapi karena noise pengukuran dan keterbatasan aproksimasi subspace, ini sulit dianggap sebagai bukti definitif

Peran Self-Attention

  • Dalam interpretasi ini, prediksi yang baik bergantung pada pemetaan prompt ke kelas string yang tepat dalam korpus pelatihan
  • Sumbu yang bertanggung jawab atas pemetaan itu adalah self-attention
    • Attention layer mengidentifikasi pola di antara token-token prompt
    • Polanya bisa berupa pola string sederhana seperti y l di bagian akhir, atau jenis token yang lebih umum seperti vokal atau huruf kapital di posisi tertentu
  • Bobot terlatih pada attention head menentukan pola mana yang akan direspons
    • Saat output attention head melewati feed-forward network, ia menjadi representasi di ruang embedding yang memuat informasi distribusi token yang muncul setelah string pelatihan yang mirip
  • Model yang dianalisis memiliki 6 blok dan 6 attention head per blok, sehingga satu prompt dapat dievaluasi terhadap berbagai pola laten

Kesimpulan dan Keterbatasan

  • Ada bukti kuat bahwa prosedur aproksimasi dan output Transformer sebenarnya mirip
  • Bukti bahwa prosedur aproksimasi tersebut benar-benar berkorespondensi dengan komputasi internal Transformer kurang jelas, tetapi setidaknya menunjukkan kemungkinan bahwa interpretasi itu sebagian benar
  • Belum diketahui apakah hasil dari satu Transformer kecil ini dapat digeneralisasi ke model yang lebih besar atau dataset lain
  • Proyek ini merupakan proses mengajukan pertanyaan pada bagian dalam model dan merancang eksperimen, dan alih-alih mereduksi “keajaiban” model bahasa menjadi mekanisme sederhana, ia membantu melihat kompleksitasnya dengan lebih baik

1 komentar

 
GN⁺ 2024-02-05
Komentar Hacker News
  • Beberapa topik dalam tulisan induknya seharusnya tidak terlalu mengejutkan bagi orang yang pernah membaca https://people.math.harvard.edu/~ctm/home/text/others/shanno...
    Jika tidak membaca literatur dasar di bidang sendiri, bahkan fenomena yang muncul sebagai konsekuensi alami dari pekerjaan yang sudah dirumuskan pun akan terlihat seperti misteri yang tak bisa dijelaskan
    Meski begitu, eksperimennya sekilas tampak cukup menyeluruh, dan saya sangat menghargai banyaknya pekerjaan detail yang masuk ke dalamnya
    Ada kompromi yang sulit antara mempelajari teori yang sudah ada dan mencoba menurunkannya kembali dari awal. Tanpa landasan tradisional, penemuan baru mungkin terjadi, tetapi dengan landasan itu, kita bisa memahami fenomena tertentu dengan lebih mendalam
    Di komentar di sini, tampak beberapa orang terkejut bahwa model yang memaksimalkan log-likelihood suatu sekuens saat diberi data tidak secara ajaib menyimpang dari perilaku itu pada saat inferensi. Ini adalah model estimasi densitas; apakah kita berharap ia mendeklamasikan Shakespeare dari kehampaan?
    Dengan kembali ke dasar, eksperimen seperti ini jadi jauh lebih mudah dipahami. Sudah ada landasan matematis yang sangat jelas yang menjelaskan hal ini, dan juga apa yang disebut fenomena emergen
    Lebih spesifik lagi, ada beberapa lapisan, dan cara Shannon menangani sistem ergodik adalah titik awal yang baik. Di sini ada bagian yang sedikit melenceng, tetapi tampaknya cukup dekat sebagai korespondensi untuk memahami dinamika keseluruhan

    • Para peneliti teori informasi yang sangat cerdas sudah beberapa tahun melihat jaringan saraf dari perspektif teori informasi dan juga menerbitkan makalah terkenal, tetapi itu tidak menjelaskan banyak bagian dari jaringan saraf. Meski begitu, tetap menarik
      Bukan hal langka orang-orang pintar berkata, “struktur matematis ini mirip dengan ide itu; tambahkan atau kurangi beberapa struktur saja, maka semuanya akan terjelaskan.” Namun kenyataannya, masih banyak yang tidak kita ketahui
      Saya belum pernah melihat para teoritikus di bidang ini datang membawa teori lalu menciptakan sesuatu yang baru atau menghasilkan prediksi yang berguna. Biasanya mereka mencoba ini-itu, dan jika berhasil, belakangan menempelkan penjelasan yang terdengar masuk akal tentang mengapa itu berhasil; jika tidak berhasil, mereka menguburnya
      Baru-baru ini juga ada tulisan yang melihat transformer sebagai kernel smoothing: https://arxiv.org/abs/1908.11775
    • Saya paham maksudnya, tetapi fakta bahwa semuanya konvergen melalui jalur-jalur alternatif dengan kedalaman berbeda itu sendiri juga merupakan sinyal
      Penemuan ulang yang berulang tidak selalu pemborosan; bisa jadi itu adalah proses mengonfirmasi dan memverifikasi kebenaran mendalam yang memiliki beberapa jalur untuk dicapai
    • Di thread lain yang berdekatan, orang-orang membicarakan apa arti fakta bahwa jaringan saraf dicocokkan dengan data pelatihan dalam batas galat tertentu bagi hak cipta
      Banyak buku teks teori informasi sudah menyinggung sifat content-addressable dari jaringan semacam ini[1], dan karena tujuan ini jaringan juga digunakan dalam aplikasi seperti kompresi[2][3]
      Jadi, tidak mengherankan bahwa ketika NYT memasukkan beberapa paragraf artikelnya sendiri sebagai prompt ke model OpenAI, hasilnya direproduksi nyaris persis
      [1] https://www.inference.org.uk/itprnn/book.pdf
      [2] https://bellard.org/nncp/
      [3] https://pub.towardsai.net/stable-diffusion-based-image-compr...
    • Kalau begitu, saya jadi bertanya-tanya mengapa Shannon tidak bisa membuat GPT
  • Saat melihat Google menunjukkan bahwa jika diminta mengulang kata yang sama terus-menerus, ChatGPT bisa dibuat memuntahkan data latihnya apa adanya [0][1], saya langsung terpikir ide yang persis sama. Senang ada orang yang benar-benar mengimplementasikannya
    Dari sini muncul dua pertanyaan tambahan

    1. Apakah pendekatan “Hei AI, tangkap AI itu” ini lebih efisien energi dibanding memampatkan data latih ke dalam model lewat backpropagation dengan gradient descent, lalu menjalankannya di koprosesor AI khusus?
    2. Apakah hasil ini bisa menjadi bukti dalam gugatan yang sedang berjalan terhadap OpenAI dan Stability AI?
      [0] Dulu ini mungkin dilakukan. OpenAI sekarang memblokir generasi jika jendela konteks diisi dengan satu kata
      [1] https://arxiv.org/abs/2311.17035
    • Pendekatan ini tidak mungkin lebih efisien daripada menjalankan model aslinya. Sebab kita harus menjalankan model asli untuk mendapatkan aktivasi, mencari string dalam korpus yang mirip dengan aktivasi itu, lalu menghitung statistik token berikutnya
      Tidak banyak langkah yang dilewati, malah banyak pekerjaan tambahan yang ditambahkan
      Saya rasa hasilnya akan hampir sama meskipun korpus untuk melatih model dan korpus untuk pencarian string aktivasi yang mirip dipisahkan sepenuhnya. Bagian sulitnya sejak awal adalah membuat string dengan statistik token berikutnya yang mirip menghasilkan aktivasi yang mirip
      Dalam bobot per lapisan [0.01, 0.01, 0.1, 1.5, 6, 0.01], yang paling penting adalah lapisan tepat sebelum lapisan terakhir, dan pada titik itu inputnya sudah banyak ditransformasikan. Jadi jangan berharap ini bisa menggantikan transformer dengan grep sederhana atas data latih
      Alasan bobot lapisan tepat sebelum terakhir jauh lebih besar daripada lapisan akhir mungkin karena induction head. Seperti di https://transformer-circuits.pub/2021/framework/index.html, strukturnya bisa saja mengimplementasikan fungsi untuk menyalin string berulang dari input, dengan lapisan tepat sebelum terakhir menentukan apa yang harus dicari dan lapisan akhir melakukan penyalinan
    • Jika yang dimaksud adalah gagasan bahwa keluaran LLM mengikuti probabilitas token berikutnya berdasarkan data latih, itu fakta dasar yang sudah dikenal luas, jadi hasil ini tampaknya kecil kemungkinannya menjadi bukti
      Kontribusi tulisan ini, seperti yang dikatakan penulisnya, adalah menunjukkan hal itu kepada pembaca teknis yang membuat GPT sendiri, berbeda dari tulisan-tulisan “bagaimana implementasinya?” yang berfokus pada transformer itu sendiri
    • Dari pengalaman saya sebelum ini diblokir, modelnya berhalusinasi sesuatu yang tampak seperti data latih nyata
      Jika dilihat lebih teliti, bentuknya seperti README GitHub yang tidak ada dan tidak nyambung konteksnya, brosur panduan kosong, atau percakapan acak
    • Menarik bahwa makalah arXiv yang ditautkan membahas ini sebagai serangan, etika, dan pengungkapan yang bertanggung jawab
      Namun mengeruk seluruh internet untuk melatih model seperti ini sama sekali tidak pernah disebut serangan
    • Jika suatu karya dilindungi hak cipta, maka tentu saja pemegang hak juga memiliki hak atas file zip dari karya tersebut
      Kalau begitu, mengapa kita tidak boleh menganggap bahwa mereka juga memiliki hak atas distribusi probabilitas karakter di dalam karya itu?
  • Begitu mengetahui NanoGPT dari Andrej Karpathy, saya mencobanya melatih versi bahasa Rusia War and Peace, dan menariknya, meski modelnya hanya 3 MB, ia hampir memahami tata bahasa Rusia
    Bahasa Rusia memiliki struktur sintetis dan infleksi yang rumit. Misalnya, setelah preposisi “na” (“upon”) harus muncul nomina akusatif, yang untuk nomina maskulin bernyawa ditandai dengan -a, untuk nomina tak bernyawa tanpa akhiran, untuk nomina yang berakhir dengan “soft consonant” dengan -ia, untuk nomina feminin dengan -u, dan seterusnya
    Selain itu, verba “menggunakan” menuntut kasus instrumental jika diikuti nomina yang dipakai sebagai alat
    Tidak sempurna dan masih ada kesalahan, tetapi menarik bahwa NanoGPT dapat menyimpulkan aturan spesifik yang rumit hanya dengan pelatihan 3 menit. Saya mencari contoh kalimat persis yang dihasilkannya di teks asli, tetapi tidak ada yang cocok apa adanya
    Namun meski tata bahasanya sampai taraf tertentu dipahami, secara semantik hasilnya benar-benar omong kosong

    • Perubahan akhiran mungkin termasuk token yang paling sering muncul dalam teks latih, jadi ini tidak terlalu mengejutkan
  • Ada visualisasi 3D yang bagus yang menunjukkan sistem yang sama, dan sepertinya akan sangat efektif jika dibaca bersama
    LLM Visualization (https://bbycroft.net/llm)
    https://news.ycombinator.com/item?id=38505211

    • Saya menghargai usaha yang masuk ke visualisasi ini, tetapi dari sudut pandang seseorang yang sudah menangani jaringan saraf selama 9 tahun, ini justru jauh lebih membingungkan daripada membantu
      Mungkin karena mencoba menampilkan semua hal sekaligus, dan tidak menunda detail ke konsep abstrak, tetapi saya tidak yakin
  • Proyek yang bagus, tetapi model yang dianalisis pada dasarnya adalah model mainan, baik dari sisi ukuran maupun jumlah data latih
    Jadi model ini mungkin bisa didekati dengan model yang lebih sederhana, mungkin model bahasa n-gram, tetapi sulit menganggapnya mewakili cara kerja model bahasa yang lebih besar

    • Mungkin benar. Jika membuat model yang lebih kecil, sepertinya kita juga bisa membuat penjelasan yang jauh lebih sederhana tentang cara kerjanya
  • Saya penasaran apakah penulis mengklaim bahwa LLM adalah generator teks rantai Markov.
    Dengan kata lain, apakah ini berarti distribusi probabilitas token berikutnya yang dihasilkan sama dengan probabilitas urutan token tersebut dalam data pelatihan?
    Jika demikian, apakah itu berarti kalau kita “sekadar” membuat rantai Markov dari data pelatihan asli, kita bisa mendapatkan performa yang mirip dengan LLM?

    • LLM adalah rantai Markov dalam pengertian berikut.
      State-nya adalah vektor token sepanjang panjang konteks, dan model mendeskripsikan matriks transisi. Untuk vektor token dengan ukuran panjang konteks tertentu, ia menghasilkan probabilitas vektor token berikutnya dengan ukuran panjang konteks berikutnya.
    • Bukan. LLM tidak sekadar menyalin teks yang sama; ia lebih mirip “mengklasifikasikan” teks dengan self-attention lalu menerapkan rantai Markov sederhana.
      Bagian sulitnya adalah klasifikasi untuk mengetahui teks data pelatihan mana yang “mirip” dengan teks prompt.
      Mengambil contoh dari posting blog, seperti berikut:
      Original string: 'And only l'
      Similar strings: 'hat only l' 's sickly l' ' as\nthey l' 'r kingly l'
    • Di tulisan itu disebutkan bahwa “kami mengimplementasikan dalam kode imperatif apa yang kami usulkan dilakukan oleh transformer, dan menghasilkan output yang sangat mirip dengan transformer.”
      Ini berarti mungkin ada cara untuk melewati transformer dan mendapatkan hasil yang sama. Saya penasaran apakah itu lebih efisien.
      Misalnya, ketika diberikan model dasar, mungkin kita bisa melatih sesuatu yang lain dan menjalankannya di perangkat yang jauh lebih kecil.
  • Cukup sulit memahami apa tepatnya yang penulis klaim telah ditunjukkan.
    Saya sudah membaca bagian “Interpretation: Why Does the Approximation Work?” beberapa kali, tetapi rasanya seperti penjelasan mekanis tentang tahapan transformer. Saya tidak tahu apa klaim utamanya.

  • Saya penasaran apakah fenomena bahwa pergeseran attention dan FF umumnya menunjuk ke arah yang sama sudah diketahui.
    Fakta bahwa keduanya berada di ruang laten yang sama melintasi layer saja cukup mengejutkan. Bukankah jaringan FF bisa melakukan rotasi arbitrer? Sepertinya saya salah memahami sesuatu.

    • Ini adalah representasi 2D dari vektor berdimensi sangat tinggi.
      Pasti ada hal yang hilang, dan mendeskripsikan secara akurat rotasi arbitrer di ruang berdimensi tinggi adalah salah satu hal yang hilang itu.
    • Akan bagus untuk memeriksanya dengan mengganti penjumlahan attention menjadi scaling.