1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Model bahasa adalah fondasi aplikasi NLP modern dan membuka paradigma baru untuk menangani beragam subtugas dengan satu sistem serbaguna
  • Kursus ini mengajak peserta mengimplementasikan langsung seluruh proses pengembangan model bahasa, mulai dari pengumpulan dan pembersihan data untuk pra-pelatihan, membangun Transformer, pelatihan, hingga evaluasi sebelum deployment
  • Tugas dimulai dari implementasi tokenizer, arsitektur model, dan optimizer, lalu meluas ke optimisasi GPU, implementasi Triton untuk FlashAttention2, hingga kode pelatihan terdistribusi
  • Mengikuti kuliah ini membutuhkan kemahiran Python dan rekayasa perangkat lunak, PyTorch, konsep sistem seperti hierarki memori, serta pengetahuan kalkulus, aljabar linear, probabilitas-statistika, dan machine learning
  • Ini adalah kelas 5 unit yang berfokus pada implementasi; rujukan ke kode yang sudah ada dan penyelesaian langsung dengan LLM dibatasi, serta disarankan melakukan debugging CPU sebelum pelatihan dan benchmark di GPU

Tujuan dan cakupan kursus

  • Model bahasa merupakan landasan aplikasi pemrosesan bahasa alami (NLP) modern, dan membuka paradigma baru untuk menangani banyak subtugas dengan satu sistem serbaguna
  • Seiring AI, ML, dan NLP terus berkembang, pemahaman mendalam tentang model bahasa menjadi penting bagi ilmuwan maupun insinyur
  • Terinspirasi dari kuliah sistem operasi yang membangun keseluruhan sistem operasi dari nol, mahasiswa akan mengikuti sendiri seluruh proses pengembangan model bahasa
  • Cakupan yang dibahas meliputi pengumpulan dan pembersihan data pra-pelatihan, penyusunan model Transformer, pelatihan model, hingga evaluasi sebelum deployment

Kemampuan yang dibutuhkan

  • Sebagian besar tugas dikerjakan dengan Python, dan dibanding kelas AI lain hanya diberikan scaffolding seminimal mungkin
  • Jumlah kode yang harus ditulis setidaknya satu orde magnitudo lebih banyak dibanding kelas lain, sehingga kemahiran Python dan rekayasa perangkat lunak sangat penting
  • Porsi besar dari kelas ini adalah menjalankan model bahasa jaringan saraf dengan cepat dan efisien pada GPU di banyak mesin
  • Diharapkan memiliki pemahaman yang kuat tentang PyTorch dan konsep sistem dasar seperti hierarki memori
  • Harus nyaman dengan notasi dan operasi matriks-vektor, probabilitas, distribusi Gaussian, mean, simpangan baku, serta dasar-dasar machine learning dan deep learning
  • Ini adalah kelas 5 unit dengan porsi implementasi yang sangat tinggi, sehingga perlu mengalokasikan waktu yang cukup

Struktur tugas

  • Assignment 1 Basics mengimplementasikan tokenizer, arsitektur model, dan optimizer yang diperlukan untuk melatih model bahasa Transformer standar, lalu melatih model bahasa minimal
  • Assignment 2 Systems melakukan profiling dan benchmarking model serta layer dari Assignment 1 dengan alat tingkat lanjut, mengoptimalkan FlashAttention2 dengan implementasi Triton buatan sendiri, dan membuat kode pelatihan terdistribusi yang hemat memori
  • Assignment 3 Scaling memahami fungsi tiap komponen Transformer, lalu menyesuaikan scaling law untuk memprediksi penskalaan model dengan melakukan query ke API pelatihan
  • Assignment 4 Data mengubah dump mentah Common Crawl menjadi data pra-pelatihan yang bisa digunakan, lalu meningkatkan performa model melalui penyaringan dan penghapusan duplikasi
  • Assignment 5 Alignment and Reasoning RL menerapkan supervised fine-tuning dan reinforcement learning untuk melatih LM agar dapat bernalar saat menyelesaikan soal matematika
  • Optional Part 2 dari Assignment 5 mengimplementasikan dan menerapkan metode penyelarasan keamanan seperti DPO

Komputasi GPU dan biaya

  • Jika mengikuti dari rumah, tugas dapat diselesaikan menggunakan komputasi GPU dari penyedia cloud
  • Per 28 Maret 2026, harga publik untuk satu GPU B200 adalah Modal $6.25/jam, Lambda Labs $6.69/jam, RunPod $4.99/jam, Nebius $5.50/jam atau preemptible $3.05/jam, dan Together $7.49/jam
  • Modal menyediakan komputasi gratis $30 per bulan, hanya menagih komputasi yang benar-benar dipakai, dan mempermudah perpindahan antara pengembangan lokal dan eksperimen GPU skala besar
  • Untuk menghemat biaya dan demi kenyamanan, disarankan memeriksa kebenaran implementasi terlebih dahulu di CPU, lalu menggunakan jumlah GPU yang direkomendasikan dalam tugas untuk menjalankan pelatihan atau benchmark operasi GPU

Operasional kelas dan aturan pengumpulan

  • Perkuliahan berlangsung Senin dan Rabu pukul 3:00–4:20pm di Skilling Auditorium, dan rekamannya tersedia di YouTube playlist
  • Semua pertanyaan terkait kelas harus diajukan di kanal Slack publik, dan semua pengumuman juga disampaikan melalui Slack
  • Semua tugas dikumpulkan melalui Gradescope sebelum tenggat, dan pengumpulan lewat email tidak diterima
  • Sebelum tenggat, boleh mengumpulkan ulang sebanyak yang diinginkan, dan hanya pengumpulan terakhir yang dinilai
  • Pengumpulan parsial lebih baik daripada tidak mengumpulkan sama sekali
  • Setiap mahasiswa dapat menggunakan 6 hari keterlambatan, dan 1 hari keterlambatan memperpanjang tenggat 24 jam
  • Maksimal 3 hari keterlambatan dapat digunakan untuk tiap tugas
  • Jika merasa ada kesalahan objektif dalam penilaian, mahasiswa dapat mengajukan permintaan penilaian ulang melalui Gradescope dalam 3 hari setelah nilai diumumkan

Kebijakan kolaborasi dan alat AI

  • Kelompok belajar diperbolehkan, tetapi setiap mahasiswa harus memahami dan menyelesaikan tugasnya sendiri, dan setiap mahasiswa harus mengumpulkan satu tugas
  • Jika bekerja dalam kelompok, nama anggota kelompok belajar harus dicantumkan di bagian atas tugas
  • Prompt LLM seperti ChatGPT diperbolehkan untuk pertanyaan pemrograman tingkat rendah atau pertanyaan konsep tingkat tinggi tentang model bahasa
  • Menggunakan LLM secara langsung untuk menyelesaikan soal dilarang
  • Saat mengerjakan tugas, sangat dianjurkan menonaktifkan autocomplete AI seperti Cursor Tab dan GitHub CoPilot, sementara autocomplete non-AI seperti pelengkapan nama fungsi diperbolehkan
  • Materi kuliah sudah memuat hal-hal yang diperlukan untuk implementasi mandiri, sehingga kecuali secara khusus diizinkan dalam handout tugas, mahasiswa tidak boleh melihat kode implementasi yang sudah ada di internet

1 komentar

 
GN⁺ 3 jam lalu
Komentar Hacker News
  • Baru-baru ini saya menyelesaikan versi kuliah edisi 2025, menonton videonya dan mengerjakan sebagian besar tugas, meski melewati beberapa bagian yang mahal. Bahkan dua tugas pertama saja membutuhkan banyak pemikiran dan debugging, dan meskipun saya sudah punya sedikit dasar deep learning, tetap butuh beberapa bulan dengan menyisihkan waktu sepulang kerja dan di akhir pekan
    Sulit membayangkan bagaimana mahasiswa Stanford bisa mengumpulkan tugas setiap 2 minggu. Staf pengajar dan asisten benar-benar mencurahkan banyak usaha pada desain kuliah, slide yang memuat perkembangan terbaru, dan persiapan tugas yang sangat bagus, dan sangat memuaskan bisa melihat langsung bagaimana semuanya saling terhubung, mulai dari komponen kecil sampai membangun model bahasa sungguhan dan memverifikasi bagian-bagian utama pipeline LLM
    Namun, saya berharap persyaratan lingkungan eksekusi dijelaskan lebih jelas. Harness bekerja paling baik di Linux + NVIDIA GPU dan tampaknya mengharapkan versi atau arsitektur CUDA tertentu, yang mungkin terasa wajar bagi peneliti tetapi jarang ada di lingkungan pribadi. Untuk mengikuti dari rumah, pilihan terbaik berikutnya adalah Windows + WSL2 + NVIDIA GPU atau menyewa GPU lintas platform, tetapi keduanya tidak mudah maupun murah. Akan bagus juga jika ada panduan tentang bagaimana orang tanpa GPU yang kompatibel bisa tetap memaksimalkan kursus ini, dan saya juga belajar bahwa di Mac OS, kalau analisis memori tidak dilakukan dengan hati-hati, kode Python bisa hang dan memaksa reboot

    • Bisa saya konfirmasi dari sudut pandang asisten. Sekarang kami punya lebih banyak sumber daya untuk menguji lebih banyak lingkungan, dan kami akan mencoba sebisa mungkin. Hang karena penggunaan memori berlebihan pada kode yang ditulis sendiri bisa terjadi di mana saja, tetapi saya rasa pada tugas tokenizer kami bisa memberi panduan yang lebih ketat untuk mencapai penggunaan memori yang terbatas
      Di komentar-komentar ini, biaya sewa GPU juga agak dibesar-besarkan. Sebagian besar pengembangan dilakukan secara lokal, lalu hanya menjalankan GPU on-demand sebentar saat dibutuhkan. Tugas 1 bisa dijalankan sepenuhnya di mesin lokal tanpa GPU, dan tugas 1·2 pun sebagian besar bisa diselesaikan hanya dengan beberapa jam sewa. Bahkan jika terus memakai GPU sewaan tanpa terlalu berhati-hati, totalnya sekitar 200 dolar, dan kalau bersedia mengecilkan skala masalah, biayanya bisa dengan mudah ditekan di bawah 50 dolar. Rasanya hal seperti ini dan cara menyesuaikannya bisa kami sajikan lebih jelas dalam bentuk tabel
      Kalau ada masukan atau masalah tambahan, akan bagus jika membuka issue di repositori. Soalnya masalah yang tidak kami ketahui sulit untuk diperbaiki
  • Beberapa hari lalu saya mencoba mengimplementasikan versi perbaikan gpt-1 dengan Claude. Saya bukan machine learning engineer, cuma backend engineer biasa, dan hasil akhirnya jadi semacam campuran antara gpt-1 dan modded-nanogpt milik KellerJordan
    Dengan PC gaming, saya bisa mereproduksi hasil dari paper gpt-1 asli, dan VRAM yang dibutuhkan juga tidak banyak. Dengan NVIDIA GeForce RTX 2060 SUPER, saya bisa mereproduksi sebagian besar hasil hanya dengan 1 jam training, jadi kalau tertarik pada pretraining LLM, saya sarankan mencoba cara yang sama
    Kodenya ada di sini: https://github.com/epoyraz/modded-gpt-1
    Atau cukup tanya saja ke Claude 4.8 atau Codex 5.5

  • Saya punya kenangan bagus dengan cs224d yang dulu diajarkan richardsocher. Dibuat pada era sebelum transformer, jadi sekarang memang agak tua, tetapi pada masanya itu kuliah pengantar yang sangat keren untuk menerapkan deep learning pada NLP
    https://cs224d.stanford.edu

    • Saya juga merasakan hal yang mirip. Saat itu saya menyadari potensi internet, dan bahwa kita bisa mempelajari hal-hal paling mutakhir meski bukan mahasiswa pascasarjana di universitas riset papan atas
  • Disebut sebagai “komputasi GPU untuk belajar mandiri”, tetapi B200 yang direkomendasikan mulai dari 4,99 dolar per jam. Rasanya meragukan apakah itu benar-benar perlu untuk memulai
    Saya sendiri sedang membangun LLM dari nol, dan pada tahap awal saya tidak membutuhkan apa pun di atas 4090 dari Vast.ai

    • Dari sudut pandang asisten, sama sekali tidak begitu. Untuk tugas pertama, kami secara eksplisit menambahkan bagian yang diperkecil agar bisa dijalankan dengan komputasi lokal, bahkan GPU seri M sekalipun. Pada tugas 2 memang ada beberapa bagian yang membutuhkan dukungan Triton pada GPU, tetapi semuanya bisa disesuaikan ke GPU yang jauh lebih murah
      Tahun ini kami beruntung bisa mendapat GPU Blackwell untuk mahasiswa Stanford, jadi penjelasan tugas memang banyak ditulis dengan acuan itu
    • Menurut saya ini cukup mirip dengan FPGA. Hardware yang dibutuhkan untuk lingkungan operasional bisa relatif kecil, karena model atau bitstream produksi sangat dioptimalkan ukurannya agar hanya menyisakan hal-hal yang diperlukan untuk use case target
      Sebaliknya, saat belajar merancang dan bereksperimen dengan compute kernel atau blok IP, hardware yang dibutuhkan harus jauh lebih kuat atau berkapasitas besar. Artefak eksperimen memang sengaja berada di sisi yang berlawanan dari optimisasi, dibuat agar mudah dibaca, ditelaah, dan di-debug di setiap tahap, sehingga model atau bitstream hasilnya membengkak besar dan tidak optimal
      Menjalankan model yang sudah diselesaikan orang lain dan dioptimalkan untuk perangkat seperti 4090 dengan prompt sendiri juga merupakan eksperimen, tetapi bisa dilakukan dengan murah. Itu mirip seperti memuat bitstream FPGA buatan orang lain yang telah dirancang dan disintesis untuk FPGA seharga 20 dolar ke FPGA yang sama lalu memasukkan sinyal input sendiri. Namun eksperimen yang akan dilakukan sambil mempelajari desain model sendiri di kuliah ini bukanlah jenis seperti itu
    • Terlihat aneh bahwa sumber daya yang dibutuhkan tidak disediakan oleh institusi pendidikan
    • GPU tidak mutlak diperlukan untuk melatih LLM sendiri
    • Wajar untuk meragukannya. Saya sudah melatih model bahasa kecil yang cukup lumayan dengan dataset TinyStories di 4060Ti 16GB tanpa masalah. Masalah baru mulai muncul ketika mencoba menguji apakah ide tersebut bisa diperluas ke model yang lebih besar dari sekadar “cukup kecil untuk dianggap kecil”
  • Kuliah ini menarik, tapi saya juga penasaran dengan prasyaratnya. Tertulis bahwa harus sudah familier dengan dasar-dasar machine learning dan deep learning, jadi saya ingin tahu apakah ada materi belajar mandiri yang berfokus pada implementasi untuk topik tersebut, atau pengalaman mengikuti rekaman kuliah Stanford

  • Benar-benar luar biasa. Selama sebulan terakhir saya melakukan hal yang mirip, dengan syarat tantangan tidak memakai library apa pun selain Python standard library, bahkan tanpa numpy
    Saya mulai dari Word2Vec, membuat RNN dan LSTM, dan sekarang sedang berada di tengah implementasi arsitektur transformer

  • Saya membuat grup untuk mengikuti kelas ini bersama menggunakan video YouTube dan materi kuliah yang dibuka online. Sulit, tapi memuaskan, dan kami maju dengan ritme 1 video kuliah per minggu
    Kami mulai dengan lebih dari 30 orang, tetapi pada sesi terakhir hanya 8 yang tersisa

  • Saya ingin mencobanya, tapi khawatir kemampuan saya masih belum cukup. Mungkin suatu hari nanti saya bisa

    • Kalau begitu, mulai saja dari salah satu mata kuliah prasyarat
  • Saya penasaran apa GPU minimum untuk mengikuti kuliah ini di rumah. Saya punya 5080 16GB, apa benar perlu lebih dari itu?

    • Bagian pertama sepertinya bisa dijalankan bahkan di chip M1, dan bagian kedua tampaknya memerlukan dukungan Triton, jadi 5080 seharusnya cukup
  • Saya mengerjakan dua tugas pertama secara mandiri selama setahun dan benar-benar belajar banyak. Penasaran setelah itu mengikuti kuliah apa