- Makalah pengenalan kode pos tulisan tangan oleh Yann LeCun dkk. pada 1989 merupakan salah satu contoh awal penerapan nyata jaringan saraf yang dilatih end-to-end dengan backpropagation, dan cara pelaporan dataset, arsitektur, fungsi loss, optimisasi, serta tingkat error-nya mirip dengan makalah deep learning modern
- Reimplementasi PyTorch ditujukan pada 7.291 gambar digit grayscale 16x16 dan jaringan kecil berukuran sekitar 1.000 neuron, dan pelatihan yang memerlukan 3 hari dalam makalah asli menyusut menjadi sekitar 90 detik di CPU M1 MacBook Air
- Makalah asli melaporkan error pelatihan 0,14% dan error pengujian 5,00%, dan meski reproduksinya tidak bisa persis sama karena memakai data pengganti berupa MNIST yang diperkecil ke 16x16, hasilnya tetap mendekati dengan error pelatihan 0,62% dan error pengujian 4,09%
- Ketika teknik ala 2022 seperti cross-entropy, AdamW, augmentasi data, Dropout, dan ReLU diterapkan, error pengujian turun dari 4,09% menjadi 1,59%; waktu pelatihan naik sekitar 4 kali lipat, tetapi latensi inferensi tidak berubah
- Selama 33 tahun, struktur makronya sebagian besar tetap sama, tetapi skala data, model, dan komputasi tumbuh sangat besar, dan arus foundation model serta fine-tuning sedang cepat membuat pendekatan melatih jaringan saraf dari nol untuk tugas spesifik menjadi usang
Alasan mengapa makalah 1989 itu diimplementasikan ulang pada 2022
- Makalah 1989 karya Yann LeCun dkk., Backpropagation Applied to Handwritten Zip Code Recognition, adalah contoh awal yang penting secara historis dari penerapan nyata berbasis backpropagation
- Ini dinilai sebagai salah satu makalah awal yang menerapkan jaringan saraf yang dilatih end-to-end dengan backpropagation ke masalah nyata
- Saat itu dataset-nya terdiri dari 7.291 gambar digit grayscale 16x16, dan jaringannya berukuran sekitar 1.000 neuron
- Struktur makalahnya sangat mirip dengan makalah deep learning modern
- Mendefinisikan dataset
- Menjelaskan arsitektur jaringan saraf
- Membahas fungsi loss dan optimisasi
- Melaporkan tingkat error klasifikasi pada set pelatihan dan pengujian
- Kode reimplementasinya ditulis dengan PyTorch dan dipublikasikan di karpathy/lecun1989-repro
- Jaringan aslinya diimplementasikan dalam Lisp dan menggunakan backpropagation simulator SN dari Bottou dan LeCun pada 1988
- Desain library deep learning modern umumnya terbagi menjadi tiga bagian
- Library Tensor cepat berbasis C/CUDA
- Mesin autograd yang melacak graph komputasi forward pass dan membuat operasi backpropagation
- API tingkat tinggi, layer, arsitektur, optimizer, dan fungsi loss yang bisa di-script dengan Python
Kecepatan pelatihan dan keterbatasan reproduksi
- Pelatihan asli melewati 7.291 contoh pelatihan sebanyak 23 kali, sehingga total 167.693 pasangan input-label disajikan ke jaringan
- Jaringan 1989 dilatih selama 3 hari pada workstation SUN-4/260
- Reimplementasi PyTorch memerlukan sekitar 90 detik di CPU MacBook Air M1, yaitu sekitar 3.000 kali lebih cepat dalam perbandingan sederhana
- conda memakai build arm64 native, bukan emulasi Rosetta
- Jika PyTorch sepenuhnya memanfaatkan GPU dan NPU pada M1, peningkatan kecepatannya mungkin bisa lebih besar lagi
- Saat dijalankan begitu saja di GPU A100, hasilnya justru lebih lambat
- Jaringannya sangat kecil: convnet 4 layer, maksimal 12 channel, total 9.760 parameter, 64K MACs, dan 1K activations
- Struktur SGD memakai satu contoh pada satu waktu
- Agar A100, CUDA, dan PyTorch bisa dimanfaatkan dengan baik, pelatihan perlu meningkatkan utilisasi GPU melalui full-batch training alih-alih SGD per contoh
- Kinerja yang dilaporkan makalah asli adalah sebagai berikut
- Pelatihan: loss 2.5e-3, error 0,14%, miss 10
- Pengujian: loss 1.8e-2, error 5,00%, miss 102
- Hasil pass ke-23 dari skrip reproduksi adalah sebagai berikut
- Pelatihan: loss 4.073383e-03, error 0,62%, miss 45
- Pengujian: loss 2.838382e-02, error 4,09%, miss 82
- Reproduksi yang persis sama sulit dilakukan karena beberapa alasan
- Dataset aslinya tampaknya hilang seiring waktu
- Sebagai gantinya, digit MNIST 28x28 diperkecil menjadi 16x16 dengan bilinear interpolation, lalu diambil secara acak tanpa pengembalian sebanyak yang dibutuhkan
- Penjelasan inisialisasi bobot bersifat abstrak, dan karena masalah format PDF ada kemungkinan tanda titik atau simbol akar kuadrat hilang
- Struktur koneksi sparse antara H1 dan H2 tidak dibahas secara rinci dalam makalah, sehingga perlu perkiraan yang masuk akal
- Ada kekhawatiran bahwa tanh dalam makalah itu sebenarnya adalah normalized tanh yang populer pada masa itu
- Makalah asli menggunakan algoritme Newton khusus yang memakai pendekatan diagonal positif dari Hessian, sedangkan reimplementasinya memakai SGD yang lebih sederhana
Menurunkan tingkat error dengan teknik 33 tahun kemudian
- Perubahan pertama adalah mengganti pendekatan regresi MSE menjadi klasifikasi multikelas modern
- Awalnya, klasifikasi 10 kelas dimodelkan sebagai regresi MSELoss terhadap target -1 atau +1
- tanh pada layer output dihapus untuk menghasilkan class logits, lalu CrossEntropyLoss diterapkan
- Set pelatihan berhasil dioverfit sepenuhnya sehingga error pelatihan menjadi 0,00% dan error pengujian 4,38%
- Berikutnya, keluarga Adam diterapkan menggantikan SGD
- AdamW dimulai dengan learning rate 3e-4 lalu diturunkan ke 1e-4 selama pelatihan
- Hasilnya adalah error pelatihan 0,00% dan error pengujian 3,59%
- weight decay dari parameter default juga ikut membantu meredakan overfitting
- Augmentasi data dilakukan dengan menggeser gambar input secara horizontal atau vertikal hingga 1 piksel
- Karena ini meniru pembesaran ukuran dataset, jumlah pass dinaikkan dari 23 menjadi 60
- Hanya menambah jumlah pass pada pengaturan asli tidak banyak memperbaiki hasil
- Hasilnya adalah error pelatihan 1,70% dan error pengujian 2,19%
- Kombinasi Dropout dan ReLU memberikan peningkatan tambahan
- Dropout ringan sebesar 0,25 ditambahkan tepat sebelum layer H3 yang memiliki parameter paling banyak
- Karena Dropout membuat activation menjadi 0, teknik ini dianggap lebih cocok dengan ReLU dibanding tanh yang rentang aktivasinya [-1, 1]
- Semua nonlinieritas diganti dari tanh ke ReLU dan jumlah pass dinaikkan menjadi 80
- Hasilnya adalah error pelatihan 1,47%, error pengujian 1,59%, dan test miss 32
- Hanya mengganti tanh ke ReLU saja tidak memberikan peningkatan besar; sebagian besar peningkatan datang dari penambahan Dropout
- Jika teknik ini bisa dibawa kembali ke 1989, jumlah error dapat turun dari sekitar 80 menjadi sekitar 30, dan tingkat error pengujian bisa turun hingga sekitar 1,5%
- Sebagai gantinya, waktu pelatihan hampir menjadi 4 kali lebih lama, dari 3 hari pada 1989 menjadi hampir 12 hari
- Latensi inferensi tidak terdampak
Dampak yang lebih dulu muncul dari perluasan data dibanding model yang lebih besar
- Setelah itu, ruang perbaikan yang mudah semakin menipis
- Teknik tambahan seperti weight normalization tidak memberikan peningkatan besar
- “micro-ViT” yang menyamakan jumlah parameter dan komputasi juga tidak mampu menandingi kinerja convnet
- Selama 33 tahun terakhir ada banyak inovasi, tetapi sebagian di antaranya terutama bermakna pada model yang jauh lebih besar
- residual connection, layer normalization, dan batch normalization lebih berkaitan dengan menstabilkan optimisasi pada skala besar
- Peningkatan kinerja besar berikutnya kemungkinan besar datang dari memperbesar ukuran jaringan, tetapi ini akan menambah latensi inferensi saat pengujian
- Menambah data juga meningkatkan kinerja
- Seluruh MNIST dimanfaatkan untuk memperbesar set pelatihan dari 7.291 menjadi 50.000, atau sekitar 7 kali lipat
- Saat baseline training yang ada dijalankan selama 100 pass, error pengujian membaik menjadi 2,74% dan miss 54
- Hasil terbaik datang dari menggabungkan perluasan data dengan teknik modern
- Error pelatihan 1,07%, error pengujian 1,25%, test miss 24
- Bahkan pada 1989, hanya dengan memperbesar dataset, kinerja sistem sudah bisa ditingkatkan tanpa menambah latensi inferensi
Pengamatan yang menghubungkan 1989, 2022, dan 2055
- Selama 33 tahun, struktur makro secara umum tidak banyak berubah
- Kita masih membangun arsitektur jaringan saraf diferensiabel berlapis, lalu mengoptimalkannya end-to-end dengan backpropagation dan stochastic gradient descent
- Perbedaannya adalah skalanya saat itu jauh lebih kecil
- Dataset dan model tahun 1989 sangat kecil menurut standar modern
- Set pelatihannya hanya berisi 7.291 gambar grayscale 16x16
- Dataset visi modern bahkan menggunakan ratusan juta gambar berwarna resolusi tinggi yang dikumpulkan dari web
- Salah satu contohnya adalah OpenAI CLIP yang dilatih pada Google JFT-300M dan 400M gambar
- Jika dihitung berdasarkan data piksel input, jumlahnya kira-kira 100.000.000 kali lebih besar
- Jaringan 1989 memiliki sekitar 9.760 parameter, 64K MACs, dan 1K activations
- Jaringan saraf visi modern mencapai miliaran parameter dan skala sekitar 1e12 MACs
- Model bahasa alami bisa mencapai parameter dalam skala triliunan
- Jika 2022 dilihat kembali dari tahun 2055, diasumsikan pola serupa bisa terulang
- Jaringan saraf pada 2055 secara makro mungkin hampir sama dengan jaringan saraf pada 2022, hanya jauh lebih besar
- Dataset dan model masa kini bisa terlihat sekitar 10.000.000 kali lebih kecil
- Bahkan model state-of-the-art tahun 2022 mungkin bisa dilatih di perangkat komputasi pribadi dalam waktu sekitar 1 menit seperti proyek akhir pekan
- Hanya dengan mengubah detail model, fungsi loss, augmentasi, dan optimizer, tingkat error mungkin bisa dipotong sekitar setengahnya
- Pendekatan melatih jaringan saraf dari nol untuk tugas tertentu sedang cepat menjadi usang
- foundation model seperti GPT dilatih oleh segelintir institusi dengan sumber daya komputasi skala besar
- Sebagian besar aplikasi dapat diimplementasikan melalui fine-tuning ringan pada sebagian jaringan, prompt engineering, atau distilasi data/model ke jaringan inferensi kecil yang bertujuan khusus
- Dalam skenario ekstrem, pada 2055 pengguna mungkin cukup berbicara atau berpikir dalam bahasa Inggris kepada neural net “megabrain” yang 10.000.000 kali lebih besar untuk meminta suatu pekerjaan, sehingga kebutuhan melatih jaringan saraf secara langsung makin berkurang
1 komentar
Pendapat di Hacker News
Ada satu hal menarik lagi. Pelatihan aslinya memakan waktu 3 hari di workstation Sun 4/260, dan saya tidak bisa menemukan spesifikasi pastinya, tetapi untuk era workstation SPARC awal, konsumsi daya totalnya kira-kira mungkin sekitar 200W
CPU-nya sendiri tidak terlalu boros daya, tetapi keseluruhan sistem termasuk disk dan monitor kemungkinan besar berada di kisaran itu. Jadi 200W × 72 jam = 14.400Wh
Karpathy menjalankan pelatihan pada level yang sama di MacBook, bahkan tanpa memanfaatkannya secara penuh, hanya dalam 90 detik. Jika kira-kira 20W × 0,025 jam = 0,5Wh, berarti efisiensi energinya meningkat hampir 30.000 kali
Tulisannya sangat bagus. Namun prediksi untuk 2055 agak disayangkan karena bersifat meta-linear. Ia memang menghindari kesalahan umum berupa mempertahankan teknologi saat ini lalu melakukan regresi linear angka-angka sampai 33 tahun ke depan, tetapi tetap tampak mengasumsikan semacam simetri worldline dengan titik saat ini sebagai origin
Karena rentang waktunya cukup panjang, terobosan dan hambatan yang tidak terduga bisa membuat semua prediksi ini meleset. Seseorang mungkin menemukan struktur dasar yang jauh lebih sederhana daripada “perceptron++”, semua orang mungkin sedang melatih awan Gaussian 3D, atau komputer kuantum akhirnya menjadi populer sehingga bahkan kata benda untuk menyebut komponen yang akan kita pakai pun belum ada saat ini
Sebaliknya, kita bisa saja menabrak batas penskalaan yang belum pernah terlihat pada hardware atau pelatihan, atau mengalami kemunduran peradaban. Meski begitu, kalau saya orang yang bertaruh, saya tidak akan secara khusus bertaruh melawan kesimpulan tulisan ini. Jika kita hanya tahu masa lalu dan masa kini lalu melakukan ekstrapolasi, ini mungkin mendekati kesimpulan terbaik
Saya cenderung berpikir perubahannya akan lebih dramatis. Alasannya bukan hanya sumber daya, tetapi juga ruang besar untuk perbaikan algoritma
Di sisi yang lebih jelas, sebagian besar library masih belum cukup memanfaatkan berbagai teknik optimasi gradien yang sudah dikenal. Karena terlalu mudah untuk sekadar menambah data dan throughput, masih ada banyak alat yang menumpuk dan belum diterapkan
Selain itu, model-model besar yang sukses memberi petunjuk penting. Misalnya model bahasa sedang mempelajari semacam logika bahasa yang mirip dengan cara kita memproses pikiran, dan jelas mampu merangkai informasi yang sangat heterogen secara meyakinkan
Suatu saat, jika kita memahami esensi proses itu, pemrosesan bahasa bisa menjadi jauh lebih sederhana secara drastis. Ini hanya salah satu peluang kemajuan struktur dan algoritma yang radikal, dan dalam praktiknya akan benar-benar revolusioner
Kalau begitu, selama 33 tahun ke depan apakah kita cukup melakukan hal yang sama, tetapi hanya menambah data dan daya komputasi? Jika euforia saat LLM pertama muncul—“akhirnya hal seperti ini terjadi semasa hidupku”—dan suasana “cukup perbesar model dan data” didorong secara logis, kesimpulannya memang begitu. Namun bisakah kita benar-benar mencapai AGI hanya dengan brute force?
33 tahun lalu, “AI koneksionis” bukanlah paradigma dominan, dan “AI simbolik” juga bukan satu-satunya pendekatan lain. Ada juga pendekatan seperti “fungsionalisme robotik” yang berpendapat bahwa kecerdasan sejati tidak mungkin ada tanpa berinteraksi dengan dunia fisik
33 tahun dari sekarang, pendekatan-pendekatan lain seperti ini bisa bangkit kembali dengan bergabung bersama koneksionisme, atau mungkin muncul pendekatan yang sepenuhnya baru
Tulisan yang luar biasa. Saya mengalami langsung masa-masa awal jaringan saraf buatan. Pada pertengahan 1980-an saya berada di panel penasihat alat neural network DARPA, menulis versi pertama produk komersial SAIC ANSim, dan juga membuat model backpropagation sederhana yang diterapkan pada pendeteksi bom yang dibuat perusahaan melalui kontrak FAA
5–6 tahun lalu, saya juga mengelola tim deep learning “tradisional” di Capital One. 18 bulan terakhir benar-benar masa yang menggairahkan. Saya menghabiskan sebanyak mungkin waktu untuk mengeksplorasi LLM self-hosted serta API dari Hugging Face, OpenAI, dan lainnya
Membayangkan teknologi 33 tahun dari sekarang saja sudah terasa membuat kepala saya meledak
Perubahan paling mendasar adalah perbedaan pada apa yang dipakai untuk melatih model
Gambar huruf kecil lebih mirip soal kuis, dan sepenuhnya berbeda dari melatih pada nyaris seluruh komunikasi linguistik dan visual umat manusia
Sekalipun sumber daya komputasi terus berkembang selama 33 tahun ke depan, kita tidak akan tetap berada pada tahap melatih model untuk meniru perilaku dan pengetahuan manusia. Masalah itu, yaitu diri kita sendiri, sudah akan direduksi menjadi masalah mainan jauh sebelumnya
Kualitasnya tidak akan menurun. Karena akan ada banyak upaya untuk memfilter data dan memastikan keragamannya. Model bisa ditingkatkan kapan saja dengan memberinya lebih banyak waktu
Struktur model tidak penting dibanding dataset. Model apa pun dari keluarga yang sama bisa mempelajari kemampuan yang sama dari data yang sama, tetapi jika datanya diubah, kemampuan semuanya juga berubah. Kecerdasan ada di dalam data
Masa depan bukan desain struktur model, melainkan rekayasa data. Sebagai analogi, budaya manusia berevolusi lebih cepat daripada biologi manusia. Data berevolusi lebih cepat daripada model
Dalam AI belakangan ini, terlihat tren bahwa struktur baru menurun tajam, sementara berbagai dataset diterapkan pada model Transformer yang sama. Bahkan di dalam Transformer, variasi yang digunakan luas sangat sedikit, sementara ribuan lainnya ditinggalkan
Saya ingin berpikir bahwa mesin sejati kecerdasan adalah evolusi bahasa melalui meme. Kita dan AI bersama-sama sedang menunggangi pertumbuhan eksponensial bahasa
Tidak jelas apakah daya komputasi akan terus bertambah selama 33 tahun ke depan seperti sebelumnya. Namun, itu juga tidak harus terjadi
Saat membaca tulisan itu, saya terpikir, “Astaga, saya ingat pernah memakai MSE di proyek machine learning hobi pada akhir pekan itu dan hasilnya tidak bagus. Ternyata saya memilih fungsi loss yang salah”
LLM saat ini, atau LLM tahun depan, kemungkinan akan cukup mampu memberi tahu bagaimana kode dan grafik saya bisa diperbaiki. Dengan begitu, saya bisa menerapkan teknik tingkat pakar yang sebelumnya terkunci bagi saya karena membutuhkan akumulasi 50 ribu jam keahlian
Sebagian diri saya berkata manusia sudah tamat, dan 33 tahun lagi kita akan menciptakan dunia tempat manusia tidak berarti. Namun, bagian lain berkata bahwa jika kita menghindari nasib itu dan semua kehancuran lainnya, masa depan mungkin cukup cerah
Menerapkan LLM masa kini ke berbagai macam masalah tidak akan mengakhiri kita. Namun, AGI yang sadar dan mampu merencanakan mungkin muncul dalam beberapa tahun, dan kita juga tidak tahu batas seberapa cerdas kita bisa membuat mereka
Saya melihat kita bertanggung jawab atas setiap makhluk berakal yang kita masukkan ke dunia. Ada orang yang meratapi tidak adanya ujian untuk menjadi orang tua; lalu bagaimana dengan membuat sejuta salinan otak virtual yang benar-benar baru? Apalagi mereka pada dasarnya dilahirkan untuk kerja paksa seumur hidup
Sangat bagus. Meski tidak dibahas secara eksplisit, menurut saya perbedaan setelah 33 tahun adalah input yang ditangani model. Model tercanggih pada 1989 memakai gambar grayscale 16×16, sedangkan sekarang kita punya gambar berwarna berukuran beberapa megapiksel
30 tahun lagi, desktop mungkin bisa melatih CLIP dalam 90 detik, tetapi model tercanggih saat itu akan dilatih dengan apa?
Untuk itu, mungkin diperlukan miliaran hingga kuadriliunan jam video dan audio dari berbagai orang yang melakukan segala macam aktivitas manusia, dan mungkin banyak input lain
Saat ini, tampaknya lebih baik memakai anggaran komputasi untuk “otak” yang lebih besar daripada “mata” yang lebih baik
Saya tidak tahu persis apa yang ditangkap, tetapi model dapat dilatih dengan kombinasi berbagai input seperti audio, video, informasi spasial, iris, dan sebagainya
Menarik bahwa selama periode itu minat terhadap neural network hampir sepenuhnya hilang lalu kembali lagi
Sekarang, jelas orang-orang pasti sedang merangkai LLM agar melakukan penalaran maju dan mundur
Meski begitu, Turing Award juga cukup luar biasa
Mengejutkan sekaligus melihat betapa sedikit yang berubah dan betapa banyak yang berubah. Saya ingat betapa terasa seperti wahyu ketika membaca “Efektivitas RNN yang Tidak Masuk Akal”, dan sekarang rasanya seperti hidup di dunia yang sama sekali berbeda
Teknologi baru ini jauh lebih baik, dan implikasinya ke depan juga besar. Namun, bagi orang yang sudah memperhatikannya sejak saat itu, ada titik rujukan bahwa “menjadi sangat luar biasa bagus” tidak langsung berarti “di luar kendali”
Memang benar sudah jauh lebih baik
Tulisan Andrej Karpathy selalu terasa segar. Makin banyak ia tahu, makin langsung dan sederhana ia mengeksplorasi dasar-dasar sains machine learning
Bidang ini penuh makalah yang mengusulkan struktur baru yang rumit demi perbaikan kecil yang bahkan sulit direproduksi, lalu mengisi 50 halaman yang tidak berguna dengan harapan mengalahkan hasil terbaru agar pekerjaan mereka terlihat “serius”