- Mengusulkan metode klasifikasi teks non-parametrik yang menggabungkan kompresor sederhana seperti gzip dengan pengklasifikasi k-nearest neighbors (kNN)
- Meski sama sekali tidak memiliki parameter pelatihan, metode ini ringan dan serbaguna, dengan beban biaya komputasi yang lebih rendah dibanding DNN
- Mencapai hasil yang kompetitif pada 6 dataset in-distribution dibandingkan metode deep learning yang tidak dipralatih
- Mengungguli BERT pada seluruh 5 dataset OOD (out-of-distribution), termasuk 4 bahasa ber-sumber daya rendah
- Menunjukkan performa unggul bahkan dalam lingkungan few-shot, saat data berlabel terbatas sehingga DNN sulit dilatih
Latar Belakang dan Masalah
- DNN banyak digunakan untuk klasifikasi teks berkat akurasinya yang tinggi
- Namun, DNN membutuhkan jutaan parameter dan data berlabel dalam jumlah besar, sehingga biaya komputasinya tinggi
- Akibatnya, penggunaan, optimasi, dan transfer ke situasi OOD (out-of-distribution) menjadi pekerjaan yang mahal dalam praktik
Metode yang Diusulkan
- Menghadirkan metode non-parametrik yang mudah, ringan, dan serbaguna sebagai alternatif DNN
- Strukturnya menggabungkan kompresor sederhana seperti gzip dengan pengklasifikasi k-nearest neighbors
- Ciri utamanya adalah sama sekali tidak memiliki parameter pelatihan
Hasil Eksperimen
- Pada 6 dataset in-distribution, performanya berada di tingkat yang mampu bersaing dengan metode deep learning yang tidak dipralatih
- Mengungguli BERT pada seluruh 5 dataset OOD, termasuk 4 bahasa ber-sumber daya rendah
- Tetap kuat dalam lingkungan few-shot, ketika data berlabel terlalu sedikit untuk melatih DNN secara efektif
1 komentar
Komentar Hacker News
Tautan langsung ke makalah: https://aclanthology.org/2023.findings-acl.426.pdf
Secara intuitif, intinya adalah ketika ada dokumen x1, x2, dan dokumen baru x, jika keteraturan statistik x lebih dekat ke x1 daripada x2, maka
len(compress(cat(x1,x))) - len(compress(x)) < len(compress(cat(x2,x))) - len(compress(x)). Di sinicatberarti menggabungkan, dancompressadalah kompresor seperti gzipSecara harfiah,
len(compress(cat(x1,x))) - len(compress(x))adalah jumlah byte tambahan yang dibutuhkan untuk mengompresi keteraturan statistik x1 dengan keteraturan statistik x yang telah diberikan. Semakin mirip x1 dan x, semakin sedikit byte tambahan yang dibutuhkan untuk mengompresicat(x1,x)dibanding hanya mengompresi x sajaPara penulis menggunakan fungsi jarak bernama Normalized Compression Distance (NCD) berbasis ide ini untuk menerapkan k-nearest neighbors (kNN) pada dokumen yang telah dikompresi. Mereka juga membahas hubungan antara NCD, informasi, entropi Shannon, dan kompleksitas Kolmogorov
Yang mengejutkan, metode yang sederhana dan intuitif ini mengungguli BERT pada berbagai tugas klasifikasi zero-shot. Namun, itu tidak berarti pasti mengalahkan Transformer yang lebih besar dan lebih baru
Caranya dengan membandingkan ukuran kompresi ketika dokumen dipakai sebagai kamus kompresi dan ketika tidak dipakai. Setidaknya pada level 20+, zstd memberi rasio kompresi jauh lebih tinggi daripada gzip, jadi jika alasan metode ini bekerja baik di gzip adalah karena pendekatan terhadap kompleksitas Kolmogorov, mungkin ini bisa bekerja lebih baik
Jika x1 berbahasa Inggris dan x adalah terjemahan dokumen yang sama dalam bahasa Ibrani, rasanya LLM akan lebih baik
Belakangan saya menangani gambar dan mencoba menghasilkan JPEG, dan ternyata dari piksel dasar yang sama bisa muncul gambar yang sangat beragam. Menarik bahwa makin berisik dan acak sebuah gambar, makin besar ukuran file JPG-nya, dan sebaliknya makin mirip foto, makin kecil ukuran JPG-nya
Jika tertarik pada kesetaraan AI dan kompresi, Hutter Prize layak dilihat :) http://prize.hutter1.net/
Large Text Compression Benchmark juga menarik http://mattmahoney.net/dc/text.html - saat ini kompresor terbaik di dunia adalah jaringan saraf buatan Fabrice Bellard yang terkenal karena membuat ffmpeg dan QEMU
Saya juga sangat suka gaya khusus teks yang pas dari halaman-halaman seperti ini
Ia menyesuaikan arithmetic coding (https://en.wikipedia.org/wiki/Arithmetic_coding) sesuai konteks byte/bit yang akan diprediksi, jadi semakin akurat memprediksi kelanjutannya, semakin efisien pengodeannya. Tugasnya sendiri sangat mirip dengan Transformer seperti GPT
Prediksi sempurna tidak akan mengecilkan interval aritmetika, sehingga hampir tidak ada biaya penyimpanan tambahan, dan karenanya tidak ada bit yang disimpan. Namun, untuk benchmark yang adil, ukuran dekompresor juga harus dihitung
Ini ide yang cukup lama, lihat [1,2]. Sudah lama, tetapi seperti perceptron tetap sangat berguna
[1] Li and Vitanyi. An Introduction to Kolmogorov Complexity and Its Applications
[2] Clustering by compression. https://arxiv.org/pdf/cs/0312044
Teori mirip cerita yang mampu menjelaskan banyak hal hanya dengan “tokoh” yang sama. Di sini tokoh lebih dekat ke konsep, misalnya atom cocok masuk dalam kategori ini
Saya ingin menekankan bahwa metode ini lebih kuat hanya pada berita
Pada Yahoo Questions, ini bukan yang berkinerja terbaik. Tidak berlebihan untuk menganggap berita ditulis dengan cara yang mirip dan kadang sebagian isinya disalin, sehingga banyak kata yang sama
Yahoo Questions adalah forum, jadi variasi katanya lebih besar, tetapi ada kemiripan semantik di antara kata-kata itu
Artinya gzip kuat ketika banyak kata saling tumpang tindih (kenaikan ukuran saat kompresi gzip kecil), sedangkan jika kemiripan semantik penting, DNN selalu menang
Hasilnya menarik, tetapi menurut saya tidak semenarik kedengarannya
Sangat penting untuk menekankan bahwa hasil ini berasal dari data out-of-distribution. Misalnya berita dalam bahasa seperti ‘Kinyarwanda, Kirundi, Pinyin’
Dalam pengaturan yang lebih umum, BERT masih menang telak
Menarik bahwa metode sesederhana ini bisa sangat efektif, tetapi jangan dijual secara berlebihan
Tetapi jika melihat kondisi yang dikutip, justru ini cukup intuitif. Apa artinya mengklasifikasikan teks dalam bahasa yang sama sekali tidak dikenal? Jika diminta mengklasifikasikan teks Kirundi, kita sama sekali tidak memahami maknanya, dan yang terbaik yang bisa dilakukan adalah mencari frekuensi urutan kata atau karakter lalu mengelompokkan teks yang punya sidik frekuensi serupa
Kita tetap tidak memahami makna sebenarnya, tetapi hasilnya bisa lebih baik daripada acak, dan memang begitu. Kabar baiknya, itulah tepatnya yang dilakukan gzip+kNN, itulah fungsi utama dan alasan keberadaannya
Mencoba membaca dan memahami teks ini atau memprediksi karakter berikutnya juga tidak banyak membantu. Orang normal, karena tidak tahu bahasanya, bahkan tidak akan mencoba sejak awal. Sayangnya BERT melakukan tepat hal itu. Karena itu satu-satunya hal yang BERT tahu cara lakukan. Tetap saja, patut diberi selamat karena berhasil mengekstrak kegunaan lebih besar daripada manusia biasa, dan mungkin juga lebih besar daripada manusia yang tidak biasa
Ini benar-benar cerdas dan mudah dipahami secara intuitif
Jika Anda menyambungkan dua potong teks yang mirip, hasilnya akan terkompresi lebih baik daripada jika menyambungkan dua potong teks yang berbeda
Ini tampaknya lebih merupakan sinyal negatif bagi kemiripan berbasis deep learning daripada kemenangan untuk metode ini
Di tengah hype LLM, memang benar LLM itu hebat, tetapi tampaknya banyak orang mengasumsikan ada kemajuan serupa pada lapisan embedding untuk kemiripan teks murni
Karena itu muncul ledakan berbagai database embedding, tetapi menurut saya hampir tidak ada bukti yang mendukungnya
Tautannya seharusnya mengarah ke PDF makalah https://aclanthology.org/2023.findings-acl.426.pdf
Algoritma kompresi adalah penghematan/kompresi ruang, yaitu bit dan byte. Model machine learning, khususnya model generatif, adalah penghematan/kompresi ekspresi dan pikiran manusia
Klasifikasi teks adalah salah satu jenis kompresi di atas ekspresi manusia. Adakah sifat mendasar dari bahasa manusia dan data yang bisa menjelaskan mana yang akan bekerja lebih baik pada tugas machine learning?
Jika suatu hari teori semacam itu terbentuk, mungkin tidak akan terlalu mengejutkan bahwa encoding bit/byte yang terkompresi dan ekspresi manusia yang terkompresi saling berkaitan erat dalam suatu ruang, sehingga keduanya terhubung dengan cara tertentu. Bahkan teori semacam itu, misalnya teori berbasis entropi atau fisika, bisa membantu memilih kapan memakai algoritma kompresi atau model machine learning untuk jenis kompresi ekspresi manusia tertentu
Dari sudut pandang data, seperti apa contoh negatif yang sulit yang membuat algoritma seperti ini tampak buruk? Untuk saat ini, mungkin teori itu hanya bisa didekati dari sudut pandang jenis-jenis data teks manusia yang beragam. Misalnya memprediksi campuran dengan model topik statistik bekerja baik pada teks akademik, tetapi kesulitan pada teks internet
Adakah orang yang meneliti teori seperti ini selain Wolfram Physics?
https://www.newyorker.com/tech/annals-of-technology/chatgpt-...
Ini sepenuhnya masuk akal. Kompresi berkaitan dengan “pemahaman”, yaitu merepresentasikan input dengan cara yang memungkinkan kita mengenali dan memberinya label
Jika bit yang dikenali lebih besar daripada labelnya, voilà, terjadilah kompresi. Tidak mengejutkan bahwa gzip bisa lebih baik daripada DNN untuk tugas ini
Saya menyebutnya himpunan bagian karena pemahaman lebih umum. Algoritma kompresi tertentu mungkin bekerja baik pada bilangan floating-point. Sebaliknya, otak dan jaringan saraf tiruan mungkin bisa mengompresi pola input apa pun, meskipun kinerjanya bisa lebih buruk
Saya tidak mengerti bagaimana gzip bisa menangani kata seperti “not” yang membalikkan makna seluruh kalimat
Ada yang paham?