2 poin oleh GN⁺ 2023-09-24 | 1 komentar | Bagikan ke WhatsApp
  • Penulis membangun model transformer mirip GPT-2 secara manual untuk memprediksi urutan sederhana dan memperoleh pemahaman yang lebih mendalam tentang transformer serta mekanisme attention.
  • Transformer ini tidak dilatih menggunakan bobot yang sudah ada sebelumnya; setiap bobot ditetapkan secara manual.
  • Tugas yang dipilih untuk transformer ini adalah memprediksi urutan "aabaabaabaab...", yang mengharuskan model melihat dua token sebelumnya untuk menentukan keluaran berikutnya.
  • Penulis menggunakan skema tokenisasi yang merepresentasikan 'a' sebagai 0 dan 'b' sebagai 1.
  • Kode model didasarkan pada implementasi picoGPT GPT-2 milik jaymody, dengan beberapa modifikasi untuk penyederhanaan.
  • Dimensi model mencakup panjang konteks 5, ukuran kosakata 2, dan ukuran embedding 8.
  • Penulis merancang bobot embedding, dengan 5 elemen pertama digunakan untuk embedding one-hot posisi, dan dua elemen berikutnya untuk embedding one-hot token id.
  • Blok transformer dirancang untuk menghasilkan matriks q, k, v, memproyeksikan hasilnya kembali ke embedding, lalu memproyeksikannya lagi ke kumpulan logit token berikutnya menggunakan bobot embedding token.
  • Penulis memberikan penjelasan rinci tentang desain head attention dan proyeksi ke ruang embedding.
  • Langkah terakhir mencakup mengalikan hasil eksekusi blok transformer dengan bobot embedding token yang ditransposisikan untuk memperoleh logit akhir.
  • Model menggunakan fungsi softmax untuk inferensi dan dapat menghasilkan kelanjutan yang masuk akal untuk urutan yang diberikan.
  • Model mencapai tingkat keberhasilan 100% saat diuji dengan konteks yang tidak ambigu.
  • Penulis mendorong pembaca untuk mendapatkan pemahaman yang lebih intuitif tentang transformer dan attention, serta mencoba membuat model mereka sendiri.
  • Artikel ini mencakup kode lengkap model yang menggunakan numpy untuk perhitungan dan mendefinisikan fungsi untuk tokenisasi, prediksi, dan penyelesaian urutan.
  • Penulis menyarankan bahwa efisiensi model dapat ditingkatkan dengan memperkecil context window dan menggunakan teknik seperti fused multiply-add serta KV caching.
  • Artikel ini ditujukan bagi pembaca yang tertarik pada bidang language model, khususnya mereka yang berminat pada machine learning dan AI.

1 komentar

 
GN⁺ 2023-09-24
Komentar Hacker News
  • Artikel ini membahas pembuatan transformer secara manual untuk memprediksi sekuens sederhana.
  • Riset terkait, "Thinking Like Transformers", memperkenalkan RASP, bahasa pemrograman primitif yang dapat dimodelkan dengan komponen transformer.
  • Program yang mirip dengan RASP dapat dikompilasi menjadi bobot model tanpa pelatihan.
  • Untuk meningkatkan pemahaman, disarankan mengimplementasikan transformer dari nol, termasuk memahami pentingnya dropout dan paralelisasi pelatihan atas token.
  • Artikel tersebut menyarankan bahwa pengalaman menangani transformer secara langsung dapat menghasilkan pembelajaran yang tak terduga.
  • Video yang dibuat oleh Karpathy dkk. disebut sebagai materi yang membantu untuk memahami transformer.
  • Gagasan tentang antarmuka intuitif untuk bobot model yang dapat disetel secara manual oleh pakar domain guna mempercepat pelatihan juga diajukan.
  • Artikel ini dipuji karena penjelasannya yang jelas tentang transformer, sehingga konsep teknis menjadi lebih mudah diakses.
  • Transformer dianalogikan dengan mesin abstrak yang mirip dengan mesin Turing atau mesin yang mengurai ekspresi reguler.
  • Penulis meragukan penerapan praktisnya, tetapi tetap mendorong pembaca untuk mencoba membuat model sendiri.
  • Artikel ini menarik dan informatif, serta memicu diskusi dan ide di kalangan pembaca yang melek teknis.