30 poin oleh GN⁺ 2026-05-06 | 1 komentar | Bagikan ke WhatsApp
  • Workshop praktik yang mengajak peserta menulis sendiri setiap bagian dari pipeline pelatihan GPT agar memahami apa yang dilakukan tiap komponen dan mengapa komponen itu diperlukan
  • Tujuannya adalah menghasilkan teks bergaya Shakespeare dengan model GPT yang dilatih dari nol di laptop, dan agar bisa selesai dalam satu sesi workshop, modelnya diperkecil menjadi sekitar 10M parameter
  • Sementara nanoGPT bertujuan mereproduksi GPT-2 124M parameter, proyek ini dirancang dengan hanya menyisakan inti-inti penting agar bisa dilatih di laptop dalam kurang dari 1 jam
  • Komponen yang akan ditulis sendiri mencakup Tokenizer, arsitektur model berbasis Transformer, loop pelatihan, dan pembuatan teks, dan pada akhirnya peserta akan menyelesaikan sendiri model.py, train.py, dan generate.py
  • Pengetahuan awal yang dibutuhkan cukup sebatas terbiasa membaca kode Python, tidak memerlukan pengalaman machine learning, dan membutuhkan Python 3.12+
  • Lingkungan eksekusi mendukung laptop atau desktop Mac, Linux, dan Windows, dengan pelatihan yang otomatis menggunakan MPS pada GPU Apple Silicon, CUDA pada GPU NVIDIA, atau CPU
  • Untuk instalasi lokal, alur yang direkomendasikan adalah menjalankan uv sync dengan uv, dan jika tidak punya lingkungan lokal, file dapat diunggah ke Google Colab lalu dijalankan dengan !python train.py
  • Workshop ini membahas tokenizer tingkat karakter, embedding, self-attention, LayerNorm, blok MLP, fungsi loss, AdamW, gradient clipping, penjadwalan learning rate, serta sampling temperature dan top-k secara berurutan
  • Arsitektur dasarnya mengubah teks masukan menjadi ID token tingkat karakter, lalu melewatkannya melalui embedding token dan embedding posisi, beberapa blok Transformer, dan akhirnya menghasilkan logits untuk probabilitas token berikutnya
  • Konfigurasi model yang disediakan adalah Tiny sekitar 0.5M parameter dengan waktu pelatihan sekitar 5 menit pada M3 Pro, Small sekitar 4M dan sekitar 20 menit, serta default Medium sekitar 10M dan sekitar 45 menit
  • Semua konfigurasi menggunakan tokenisasi tingkat karakter dengan vocab_size=65 dan block_size=256, serta disesuaikan untuk dataset kecil sekitar 1MB seperti Shakespeare
  • Tokenisasi BPE memiliki kosakata besar seperti 50,257 vocab pada GPT-2, sehingga pada dataset kecil sebagian besar bigram token menjadi terlalu jarang untuk mempelajari pola, dan untuk dataset yang lebih besar dijelaskan bagaimana beralih ke BPE
  • Referensi utama yang diberikan meliputi nanoGPT, build-nanogpt video lecture, Karpathy's microgpt, nanochat, Attention Is All You Need (2017), GPT-2 paper (2019), dan TinyStories paper

1 komentar

 
GN⁺ 2026-05-06
Opini Hacker News
  • Jika materi ini menarik, sangat direkomendasikan juga kelas CS336 dari Stanford. Kelas itu membahas kurikulum yang sama dengan jauh lebih mendalam, dan juga memperkenalkan intuisi teoretis seperti scaling laws serta sudut pandang sistem seperti optimisasi kernel/profiling
    Tentu saja, tugasnya harus dikerjakan sendiri: https://cs336.stanford.edu/

    • Tidak tahu bisa menonton kuliahnya di mana. Saya tidak melihat opsi kuliah
  • Sedikit promosi, ada seri notebook Jupyter yang menjelaskan cara kerja machine learning dari nol
    https://github.com/nickyreinert/DeepLearning-with-PyTorch-fr...
    Dan tentu saja juga membahas cara membangun LLM dari nol
    https://github.com/nickyreinert/basic-llm-with-pytorch/blob/...

  • Kebetulan saya baru mulai dengan repositori/buku/kursus Sebastian Raschka, Build a Large Language Model (From Scratch). Mungkin ini termasuk masalah yang menyenangkan: harus memilih materi belajar yang akan dipakai
    [0] https://github.com/rasbt/LLMs-from-scratch
    [1] https://www.manning.com/books/build-a-large-language-model-f...
    [2] https://magazine.sebastianraschka.com/p/coding-llms-from-the...

    • Saya sangat menikmati buku itu. Cocok untuk orang yang ingin memahami struktur internal yang sebenarnya dan melihat contoh kerja dari setiap perhitungan
  • Saya sudah melakukannya sejak hari saya lahir. Awalnya sulit, tapi makin lama makin membaik

    • Sebenarnya saya lebih banyak melatih model fisika, dan LLM hanya ditempelkan di atasnya
  • Saya pernah mencobanya dengan ULMFiT saat fast.ai masih relatif baru. Mungkin saat itu BERT adalah state of the art terbaru, dan strukturnya memungkinkan pelatihan model dasar lalu spesialisasi dengan head
    Model dasarnya memakai seluruh Wikipedia, lalu ditambah beberapa GB tweet yang dikumpulkan lewat firehose. Saya bisa memakai lab dengan 20 komputer untuk pengembangan game, sepertinya kira-kira setara GTX 2080. Satu kali pelatihan pada Wikipedia yang sudah ditokenisasi memakan waktu sekitar setengah hari, jadi saya menjalankan konfigurasi berbeda di tiap komputer untuk hyperparameter tuning dan keesokan harinya memakai hasil terbaik sebagai titik awal. Selalu menyenangkan datang ke kantor pagi-pagi untuk melihat hasilnya
    Engineering-nya mengerikan dan serba dadakan, tapi saya belajar banyak. Hasilnya lumayan, saya melakukan klasifikasi tweet, tetapi saya jadi punya gambaran tentang betapa banyak tenaga GPU dan tantangan engineering yang dibutuhkan kalau ingin mengerjakannya dengan serius. Saya belum sepenuhnya memahami potensi generatifnya, tetapi saya sempat tertawa cukup lama melihat tweet yang saya buat hanya karena penasaran

  • Ini terlihat seperti hampir menyalin persis video Andrej Karpathy ini(https://youtu.be/kCc8FmEb1nY) ke bentuk tulisan, atau saya salah lihat?

    • Halaman itu menjelaskan hubungannya dengan nanoGPT
      Katanya kurang lebih, “nanoGPT bertujuan mereproduksi GPT-2 (124 juta parameter) dan mencakup banyak hal. Proyek ini menyisakan inti utamanya saja, lalu mengecilkannya menjadi model sekitar 10 juta parameter yang bisa dilatih di laptop dalam waktu 1 jam…”
    • Ya, Anda memang salah lihat
  • Sebagai tambahan konteks, dia adalah salah satu developer MLX dan peneliti machine learning yang mumpuni

    • Penasaran sumbernya dari mana. Sepertinya itu tidak benar
  • Tertulis, “workshop praktik menulis sendiri setiap bagian dari pipeline pelatihan GPT sambil memahami apa yang dilakukan tiap komponen dan mengapa itu diperlukan”, tetapi karena ada dependensi torch, tampaknya tensor dan backpropagation tidak diimplementasikan sendiri melainkan diambil begitu saja. Tetap saja, apakah ini bisa dibilang dibuat “dari nol”?
    Saya pernah mencoba hal serupa dengan Rust dan juga bantuan AI, tetapi membatasi diri agar tanpa dependensi dan hanya memakai standard library. Akibatnya saya harus mengimplementasikan jauh lebih banyak hal seperti desain tensor, konsep kernel, optimizer gradient descent sederhana, parser JSON buatan sendiri, abstraksi paralelisme data CPU mirip rayon, dan sebagainya. Cukup menyenangkan saat semuanya tersambung dan akhirnya berjalan. Sangat lambat, tetapi memang berfungsi

  • Saya tidak yakin memakai PyTorch masih bisa disebut “dari nol”. Bukan berarti saya mendorong ke ekstrem seperti harus menghindari sampai standard library, tetapi begitu Anda mengambil library yang memang sangat pas untuk tujuan itu, rasanya sudah tidak seperti “dari nol” lagi

    • Ada benarnya, tetapi bagi kebanyakan orang di bidang machine learning, PyTorch pada praktiknya adalah standard library
  • Mungkin lebih tepat disebut “melatih LM dari nol”. Saya ragu ada mesin yang cukup untuk membuat model sebesar yang layak disebut “Large”

    • Kalau punya kartu kredit dengan limit biasa, Anda bisa menyewa sumber daya yang cukup dari penyedia neocloud seperti HuggingFace atau Mistral Forge
      Bukan berarti itu layak dilakukan, tetapi untuk belajar Anda tidak perlu membeli GPU sendiri
    • Bahkan dengan satu 3090 saja, Anda bisa melatih model 1,6 miliar parameter dari awal sampai akhir. Itu model yang cukup besar
    • Saya juga punya setengah terabyte RAM! Memang DDR4, tapi tetap saja RAM
      Ada juga 48 core prosesor! Memang tidak mendukung AVX512, tapi tetap bisa berhitung
      Seharusnya cukup untuk melatih LLM. Atau setidaknya keluarga kami mungkin bisa… anak saya mungkin harus mewarisi proyek itu dan melanjutkannya
      Serius, menurut saya Anda entah melewatkan inti pembahasannya, terlalu mengada-ada mencari celah, atau memang salah. Ini soal mempelajari konsepnya, dan sisanya sebagian besar hanya hal sekunder
      Kalau dilihat dari sisi bahwa ini terlalu mengada-ada atau salah, apa sebenarnya baseline terdokumentasi untuk menyebut language model sebagai “large”? GPT-2 dulu dan sekarang tetap disebut large language model, dan jumlah parameternya 1,5 miliar. Sekarang GPU konsumen yang bisa melatih ukuran seperti itu bisa didapat dengan harga sekitar 400 dolar