- Melatih model transformer bergaya GPT dengan sekitar 1.8M parameter di MacBook Pro dalam 5 menit menggunakan sekitar 20M token TinyStories, dan mencapai sekitar 9.6 perplexity
- Batas utama untuk pelatihan dalam 5 menit adalah ukuran model dan jumlah token yang bisa diproses; jika model terlalu besar, konvergensi melambat dan efektivitas dengan data terbatas menurun
- Dalam optimasi performa, penggunaan MPS, kompilasi/kuantisasi/akumulasi gradien, atau pengganti PyTorch ternyata kurang efektif dibanding memilih model yang lebih kecil
- Dataset yang sederhana dan konsisten seperti TinyStories memberi dampak lebih positif pada performa model kecil dibanding data bergaya ensiklopedia
- Arsitektur transformer menunjukkan hasil yang lebih baik daripada pendekatan LSTM atau diffusion dalam kondisi ukuran kecil dan waktu pelatihan singkat
Gambaran umum
Tulisan ini menyajikan hasil eksperimen tentang model bahasa AI dengan performa tertinggi yang bisa dilatih di laptop (MacBook Pro) dalam 5 menit, serta insight mengenai strategi training terbaik, pemilihan dataset, dan arsitektur model
Ringkasan hasil eksperimen
- Model transformer bergaya GPT dengan sekitar 1.8M parameter dilatih menggunakan sekitar 20M data TinyStories, mencatat 9.6 perplexity
- Contoh generasi memang pendek, tetapi berbentuk cerita yang konsisten, dengan tata bahasa Inggris yang umumnya tetap benar
- Ditekankan bahwa hasil model pada tingkat yang praktis dalam waktu 5 menit tergolong melampaui ekspektasi
Latar belakang eksperimen dan keterbatasan
- Eksperimen ini berawal dari rasa ingin tahu yang kurang realistis: melatih model yang kuat dengan cepat di lingkungan laptop
- Dalam praktiknya, model yang lebih kuat tentu bisa dilatih di cloud dengan GPU berperforma tinggi (seperti H100), tetapi batasan utama eksperimen ini adalah waktu, yaitu 5 menit
- Semakin besar ukuran model, semakin lambat kecepatan pemrosesan token, sehingga sulit menghasilkan hasil yang baik dalam 5 menit
- Model yang terlalu kecil (misalnya 10K parameter) tidak mampu mempelajari kompleksitas yang memadai
- Rentang yang praktis adalah model dengan sekitar 1M~2M parameter
Optimasi throughput
- Penggunaan MPS (Metal Performance Shaders milik Apple) adalah yang paling efektif
- Berbagai optimasi matematis seperti
torch.compile, float16, MLX, dan lainnya memberi peningkatan performa yang kecil, lebih rendah dari harapan, atau bahkan justru menurunkannya - Akumulasi gradien berguna untuk pengelolaan memori, tetapi dalam praktiknya menyebabkan penurunan kecepatan yang signifikan
- Agar efisien, model harus bisa melakukan update bobot dengan cepat di memori internal
Pemilihan dataset
- Dengan jumlah token yang terbatas (sekitar 10~20M), percobaan awal menggunakan data wiki bahasa Inggris sederhana seperti Simple English Wikipedia menghasilkan konsistensi gramatikal, tetapi kurang konsisten secara makna
- Karena berpusat pada nama diri dan daftar fakta yang terasa dipaksakan, ada batasan dalam menghasilkan konten yang bermakna
- Saat menggunakan dataset TinyStories, hasilnya jauh lebih konsisten dan bermakna karena struktur ceritanya jelas dan bahasanya sederhana
- Ini adalah cerita setingkat anak usia 4 tahun, sehingga bahkan model kecil pun dapat mempelajarinya dengan baik
Tokenizer dan tokenisasi
- Training tokenizer tidak dihitung dalam 5 menit, dan karena skala datanya kecil, kebutuhan optimasinya juga rendah
- Mempelajari token multibyte lebih mudah bagi model
Eksperimen arsitektur model
-
Menggunakan arsitektur transformer (gaya GPT-2)
- Hyperparameter seperti 2~3 layer, fungsi aktivasi SwiGLU, positional embedding, dan lainnya disesuaikan
- LSTM memiliki performa yang cukup dekat, tetapi transformer lebih unggul dari sisi perplexity
- Dropout, mixture-of-experts, dan sejenisnya tidak efisien pada ukuran sekecil ini
- Curriculum learning hampir tidak memberi efek karena waktu pelatihannya terlalu singkat
-
Percobaan dengan model diffusion (D3PM)
- Karena bahasa alami terdiri dari token diskret, proses difusi hanya menghasilkan token acak yang tidak bermakna dan akhirnya gagal
- Dibanding transformer atau LSTM, model ini sulit membentuk struktur kalimat dengan cepat
Hubungan ukuran model dan throughput token/detik
- Model dengan 1M~2M parameter adalah sweet spot yang paling ideal
- Jika terlalu besar, model tidak bisa konvergen dalam 5 menit; jika terlalu kecil, batas performanya langsung tercapai saat training
- Hukum penskalaan Chinchilla secara umum sejalan dengan hasil eksperimen
- Ukuran model ideal adalah total token pelatihan/20, dan hal ini juga terkonfirmasi dalam eksperimen tersebut
Kesimpulan dan implikasi
- Bahkan dengan waktu yang sangat singkat dan perangkat keras kecil, melatih model storytelling yang konsisten itu mungkin dilakukan
- Pelatihan 5 menit memang tidak cocok untuk mengembangkan model yang kuat, tetapi tetap bermakna untuk eksperimen desain model kecil dan ultra-ringan serta optimasi hardware dan arsitektur
- Seiring perkembangan GPU laptop dan struktur model di masa depan, ada kemungkinan performa model yang bisa dilatih hanya dalam beberapa menit akan terus meningkat
1 komentar
Komentar Hacker News
Ingin menonton ceramahnya tentang kriptografi kuantum, dan penasaran apakah ada yang tahu tautan ke ceramah yang disebut di awal video
Pelatihan model kecil yang dioptimalkan penting bukan hanya untuk aksesibilitas tetapi juga untuk riset ilmiah LLM; seperti penggunaan organisme sederhana seperti ragi dalam penelitian biologi, kita perlu mempelajari transformer paling sederhana yang menunjukkan perilaku menarik dari model besar demi pemahaman dan kontrol
Salah satu podcast yang baru-baru ini paling berkesan membahas paper dan dataset Tiny Stories; dataset ini hanya berisi kata dan konsep sederhana seperti dongeng anak-anak, tetapi dengannya model kecil pun bisa menghasilkan bahasa Inggris dengan tata bahasa, keragaman, dan penalaran. Podcast bersama penulisnya juga menjelaskan kemampuan LLM dengan sangat baik lewat contoh riset yang kecil dan terkontrol. Dalam analogi biologis itu, datasetnya mungkin adalah medium agar yang sangat sederhana dan terkontrol. Tautan terkait: episode podcast, paper TinyStories
Banyak perusahaan dapat menggunakan dataset privat seperti riwayat pembelian pengguna untuk menyelesaikan masalah bisnis nyata dengan model kecil, dan kemajuan dari large language model juga bisa langsung diterapkan pada masalah kecil jika urutan input dapat direpresentasikan dalam bahasa yang terspesialisasi
Sudah diketahui luas bahwa perilaku dan optimisasi yang muncul pada model kecil sering kali tidak dapat direproduksi dengan baik pada model besar
Yang dilakukan penulis di sini adalah pretraining; biasanya ini pekerjaan pembuat model seperti Google atau Meta, sedangkan untuk bisnis, fine-tuning atau, dalam kadar lebih kecil, pretraining tambahan jauh lebih praktis. Ditekankan bahwa penulis mencobanya karena alasan akademis
Tertarik pada model yang berjalan cepat di laptop, tetapi proses pelatihannya sendiri bisa memakan waktu berhari-hari atau lebih
Rasanya lebih baik jika tolok ukurnya energi, bukan waktu; yaitu melatih model terbaik dalam anggaran energi tertentu yang dinyatakan dalam joule, karena itu akan menjadi perbandingan yang lebih nyata, dan juga membuat perbandingan antara MBP dan H100 lebih adil
Inti utamanya di sini bukan efisiensi melainkan "aksesibilitas", karena H100 bukan produk yang dipakai sehari-hari sedangkan laptop adalah
Sepahaman saya, Mac lebih kompetitif dalam hal konsumsi daya karena tidak menarik listrik sebesar GPU Nvidia. Sebagai catatan, H100 bisa disewa dengan harga kurang dari 10 dolar per jam, jadi akan menarik juga membandingkan performa model yang bisa dilatih dalam waktu kurang dari satu jam
Menurut saya patokan apa pun tidak masalah, meskipun agak arbitrer pun tidak apa-apa
Jika maksudnya adalah mengekspresikan metrik praktis berbasis laptop atau berbasis MacBook Pro, saya rasa akan lebih baik jika tujuannya diperjelas
Rasanya seperti saatnya mengadakan olimpiade efisiensi AI; entah laptop, desktop, ponsel, 5 menit, 1 jam, sehari, seminggu, di atas kapal, atau bersama kambing, semuanya boleh, disampaikan dengan nada bercanda
Soal bersama kambing, mungkin yang dimaksud adalah Llama; rimanya memang terbatas, tapi akan lebih lucu dengan aksen Boston
Ada novel Vernor Vinge yang bercerita tentang manusia membuat komputer catur portabel untuk dipakai sebagai asisten saat bertanding; akan unik jika dalam turnamen selain jam catur juga disediakan daya listrik, sehingga peserta bisa memikirkan langkah yang menguntungkan AI mereka sendiri
Kalimat yang mengekspresikan performa ekstrem dengan Mac Studio M3 Ultra 512GB, disertai candaan bahwa dengan kapal sebesar itu kambing pun bisa diangkut
Lelucon bahwa kambing punya parameter terlalu banyak sehingga hampir setara GPT-4
Kalau GoatLM dirilis, ada niat untuk membayarnya
Menyukai frasa officially major people dalam contoh omong kosong "Paris, France is a city in North Carolina...", dan penasaran bagaimana memakainya dalam percakapan sehari-hari
Berpendapat bahwa ini mengingatkan pada paper tentang “cramming” beberapa tahun lalu, lalu membagikan tautan paper yang berisi upaya penulis melatih model optimal di laptop modern dalam satu hari
Berpikir bahwa hasilnya bisa jauh lebih baik hanya dengan menerapkan beberapa trik dari percobaan GPT-2 speedrun, seperti Muon, inisialisasi bobot yang lebih baik, dan penyesuaian learning rate yang cermat; materi terkait ada di sini
Merasa AI kekurangan budaya demoscene, semacam budaya pamer kemampuan teknis dengan sumber daya minim seperti demo grafis tahun 90-an
Merasa ada nilai dalam membuat model yang kecil dan lebih terspesialisasi, bahkan membuatnya secara langsung sesuai kebutuhan; yang dibutuhkan bukan model besar yang tahu segalanya, melainkan model yang sangat fokus seperti laser pada domain tempat saya bekerja dan berjalan sangat cepat. Saya ingin bisa meminta large LLM, "tolong tulis skrip untuk melatih model yang dioptimalkan untuk <tugas yang dibutuhkan>", lalu menjalankannya dengan model tersebut. Namun saat sedang menulis komentar, Google merilis Gemma 3 270M
Dengan mencontohkan keluaran omong kosong seperti "Paris, France is a city in North Carolina...", dikatakan bahwa model kecil akan jauh lebih berguna jika saja ada teknik yang membuatnya bisa berkata "I don't know". Alasan perlunya LLM yang sangat besar adalah karena cakupannya amat luas sehingga tidak mudah mengada-ada. Akan bagus jika chatbot layanan pelanggan bisa dilatih di laptop dalam waktu yang masuk akal, tetapi di luar domain itu kemungkinan besar jawabannya akan melenceng parah