- σ-GPT memisahkan urutan input data dari urutan generasi autoregresif, sehingga Transformer dapat dilatih dan melakukan generasi bahkan dalam urutan sekuens yang diacak secara arbitrer
- Model autoregresif yang ada sering mengikuti susunan alami, seperti urutan teks kiri-ke-kanan atau urutan raster scan pada gambar, tetapi kedua urutan itu tidak harus selalu sama
- Untuk setiap sampel, urutan shuffle arbitrer σ dipilih secara langsung, lalu dua encoding posisi yang sesuai dengan urutan input dan output ditambahkan agar proses autoregresif tetap konsisten
- Pada titik mana pun selama generasi, model dapat memperkirakan distribusi kondisional token yang tersisa, sehingga dapat diperluas ke sampling posisi arbitrer, generasi kondisional arbitrer, infilling, dan burst sampling
- Jika digunakan bersama curriculum learning, kinerjanya dapat mencapai tingkat yang mirip dengan model autoregresif kiri-ke-kanan, dan rejection sampling berbasis token dapat menghasilkan beberapa token dalam unit burst
Pemisahan Urutan Input dan Urutan Generasi
- Transformer telah menunjukkan kinerja autoregresif yang kuat di berbagai modalitas
- Pendekatan autoregresif tradisional mengikuti urutan alami data
- Teks biasanya diproses dari kiri ke kanan
- Dalam visi, gambar dimodelkan dengan Transformer sebagai sekuens yang diperoleh dengan merentangkan gambar dalam urutan raster scan
- σ-GPT membedakan urutan input data dari urutan autoregresif
- Pada sebagian besar aplikasi, kedua urutan ini selaras, tetapi tidak harus sama
- Pendekatan ini mengeksplorasi cara melatih dan melakukan generasi pada sekuens dalam urutan yang diacak secara arbitrer
- Mengubah urutan sekuens membuat pelatihan menjadi lebih sulit, tetapi memberi model sifat baru seperti generasi kondisional pada posisi arbitrer
Struktur dan Cara Kerja σ-GPT
- σ-GPT dapat memilih urutan shuffle arbitrer σ secara langsung untuk setiap sampel
- σ yang dipilih membentuk urutan input
0, σ(1), σ(2), ...dan urutan outputσ(1), σ(2), σ(3), ...- Pada input, padding
0ditambahkan terlebih dahulu agar jumlah token tetap konsisten - Token diacak sesuai urutan tersebut
- Pada input, padding
- Dua encoding posisi digabungkan ke input model
- Satu sesuai dengan urutan input
- Yang lain sesuai dengan urutan output
- Output pada akhirnya dikembalikan lagi ke urutan aslinya
- Kode dirilis: https://github.com/idiap/sigma-gpt
Perbandingan dengan GPT Standar dan Model Difusi
- σ-GPT dibandingkan dengan GPT, yaitu causal transformer encoder standar, serta model difusi
- Fitur yang didukung adalah sebagai berikut
- Sampling token pada posisi arbitrer dalam sekuens
- Pemodelan densitas yang tersisa berdasarkan sekuens yang telah disampling sebagian
- Generasi kondisional arbitrer
- Infilling
- Burst sampling yang menghasilkan beberapa token sekaligus
- Pelatihan log-likelihood berbasis cross-entropy
- GPT standar dibandingkan sebagai model yang mendukung generasi kondisional arbitrer dan pelatihan log-likelihood, tetapi tidak mendukung sampling posisi arbitrer, estimasi densitas kondisional, infilling, maupun burst sampling
- Model difusi dibandingkan sebagai model yang mendukung burst sampling, tetapi tidak mendukung pelatihan log-likelihood
Distribusi Kondisional dan Rejection Sampling saat Generasi
- Jika keluar dari urutan autoregresif standar, model dapat memprediksi token mengikuti urutan tertentu
- Dengan cara ini, pada titik mana pun selama generasi, model dapat memprediksi distribusi kondisional token yang tersisa
- Estimasi distribusi kondisional digunakan untuk menguantifikasi kemungkinan hasil generasi pada titik tertentu
- Jika diterapkan pada rejection sampling, sekuens dapat dihasilkan dalam unit burst dengan jumlah langkah yang dinamis
Tugas Evaluasi dan Kontribusi
- σ-GPT memperkenalkan autoregresi berbasis shuffle dan mengevaluasi apakah metode ini, saat digabungkan dengan pendekatan curriculum, dapat meningkatkan kinerja model dasar
- Evaluasi mencakup tiga tugas utama
- Generasi teks terbuka
- Penyelesaian jalur
- Prediksi kecepatan vertikal pesawat
- Kontribusinya dirangkum menjadi empat poin
- Memperkenalkan arsitektur σ-GPT dengan dua encoding posisi yang masing-masing sesuai dengan urutan input dan urutan output
- Menunjukkan bahwa dengan curriculum learning, kinerja dapat mencapai tingkat yang mirip dengan model autoregresif kiri-ke-kanan
- Menunjukkan bahwa generasi sampel dalam urutan arbitrer memungkinkan generasi kondisional untuk bagian mana pun dari sekuens
- Memperkenalkan metode rejection sampling berbasis token untuk generasi sampel dalam unit burst
1 komentar
Komentar Hacker News
Terlihat bagus. Saat pelatihan, token input diacak, lalu setiap token diberi dua jenis encoding posisi: satu untuk posisi token tersebut, satu lagi untuk posisi token yang akan diprediksi
Selain itu, ini adalah GPT autoregresif standar, tetapi perubahan yang tampak sederhana ini berdampak besar. Jika sebagian sekuens diberikan sebagai prompt ke model yang sudah dilatih, token yang hilang bisa didekode secara paralel sekaligus tanpa bergantung pada urutan, dan kepadatan probabilitas bersyarat untuk semua token yang hilang juga bisa dihitung secara paralel
Penulis juga mengusulkan metode generasi pengisian paralel berbasis rejection sampling, dan tampaknya benar-benar bekerja dengan baik
I . . . . . . . . happily., bukankah kata kedua yang akan diprediksi bergantung pada kata pertama?Hal lama[1] menjadi baru lagi, tetapi tidak ada kutipan ke riset terdahulu. Ini bukan riset yang tidak dikenal; pernah terbit di ICML dan dikutip sekitar 250 kali
[1]: https://arxiv.org/abs/1902.03249
Konsep yang benar-benar keren. Saya penasaran apakah dinamikanya mulai mirip dengan yang terlihat pada model generasi gambar. Struktur dan detail muncul di satu area gambar, lalu area sekitarnya perlahan menyesuaikan dan terselesaikan
Perilaku seperti ini tampaknya sangat berguna untuk penalaran/logika/perencanaan panjang, karena ide besar bisa muncul lebih dulu, lalu detail dan teks di antaranya terisi secara alami
Ada video di Twitter yang menghasilkan teks. Terlihat agak seperti difusi gambar
https://x.com/ArnaudPannatier/status/1799055129829839166
Saya terus memikirkan makalah ini hari ini, dan fiturnya benar-benar saya suka. Hal-hal yang relatif sulit pada LLM sekuensial menjadi mudah di sini
Jika ingin JSON, cukup kunci token kurung kurawal di awal dan akhir. Jika ingin penjelasan jawaban dengan panjang token tertentu, tempelkan jawaban singkat di belakang lalu isi bagian tengahnya
Jika ingin jawaban dengan kepadatan informasi lebih tinggi, tambahkan bagian evaluasi kepadatan ke teks yang dihasilkan serta ruang bagi LLM untuk memberi skor kepadatan informasi, lalu hasilkan sambil mencari skor tinggi. Sepertinya banyak hal yang bisa dicoba, dan meski menurut makalah ini sayangnya membutuhkan sekitar 3 kali lebih banyak token, akan menarik juga mencobanya dengan model 8B parameter dengan jumlah token yang wajar
Namun ada cara yang lebih baik. Jika output LLM dibatasi ke tata bahasa tertentu seperti JSON, model bisa dibuat hanya menjawab dengan JSON yang valid secara sintaksis
Saya penasaran apakah ini akan sangat membantu dalam generasi kode komputer. Sebab pada tahap tertentu, apa yang akan dikeluarkan bisa benar-benar bergantung pada apa yang akan ditulis di tahap berikutnya
Riset yang menarik. Pendekatan permutasi serupa juga sudah muncul di makalah Taylorformer (https://arxiv.org/pdf/2305.19141v1)
Para penulis menggunakan decoder Transformer untuk proses kontinu seperti deret waktu, dan mengacak setiap sekuens selama pelatihan. Setiap elemen sekuens memiliki encoding posisi, dan likelihood log digunakan pada sekuens yang diacak
Di sana, permutasi membantu prediksi interpolasi, ekstrapolasi, dan data sampel tidak beraturan. Juga tampak membantu “konsistensi”, yakni mean squared error yang umumnya menjadi sama terlepas dari urutan generasi
Saya penasaran apa tambahan makalah ini terhadap pemahaman atau penerapan ide semacam ini. Ide mengacak urutan sekuens juga muncul di makalah Transformer Neural Process: https://arxiv.org/pdf/2207.04179
Sepertinya ini menerapkan apa yang dipelajari dari Vision Transformer ke Transformer bahasa
Sepemahaman saya, model visi membagi gambar menjadi tile, lalu menambahkan encoding posisi ke tiap tile agar model memahami posisi relatif tile
Jujur saya baru membaca abstraknya dan banyak bagian sulit, tetapi makalah ini tampak mengusulkan ide serupa untuk 1D, bukan 2D
Pelatihannya lebih sulit, tetapi tampaknya memungkinkan pembuatan beberapa token sekaligus. Artinya, jawaban sepanjang N token bisa didapat dalam N/x langkah, bukan N langkah
Saya penasaran apakah ada kodenya. Saya belum sepenuhnya memahami posisi ganda dan pengacakan. Menarik juga bahwa nilai posisi digabungkan, bukan dijumlahkan
Yann LeCun mungkin akan mengatakan bahwa autoregresi itu sendiri adalah masalah, dan dengan jenis machine learning seperti ini kita tidak akan mendekati AGI sama sekali[0]
Setidaknya selama tetap berada dalam paradigma autoregresif, masalah halusinasi tidak bisa diselesaikan
[0] https://twitter.com/ylecun/status/1640122342570336267
Penulis makalah aslinya tidak mengklaim bahwa karya ini membantu mendekati AGI. Mereka hanya membuat LLM autoregresif mampu melakukan hal baru yang sebelumnya tidak bisa dilakukan
Saya juga tidak melihat sebagian besar tugas membutuhkan AGI. Apalagi jika niatnya bukan menciptakan penderitaan bagi makhluk yang sadar
Secara intuitif, sebagian token lebih sulit daripada token lain. Bisa ada token kunci dalam output, dan setelah itu token yang tersisa menjadi jauh lebih mudah. Selain itu, dalam pendekatan autoregresif pun model bisa pulih dari token yang salah dengan mengeluarkan token seperti
actually no...Bergantung pada cara sampling token, generasi yang diusulkan tampaknya bisa dilihat secara keseluruhan dan diperbaiki. Saya tidak tahu apakah metode sampling yang diusulkan di makalah ini sudah melakukan itu sekarang, tetapi dari informasi probabilitas sepertinya memungkinkan