Lewati ke konten utama
C9

C9 · Deep Learning dari Dasar

Memahami jaringan saraf sampai ke turunannya: backpropagation dihitung tangan, autograd dan pustaka mini ditulis sendiri dengan NumPy, CNN, RNN, attention, dan transformer diturunkan langkah demi langkah, lalu dibawa ke PyTorch, GPU gratis, dan fine-tuning model terbuka.

Bagian dari jalur:
Mulai Modul 01

Daftar modul

  1. 01Dari regresi logistik ke jaringan sarafGratis8 latihan
  2. 02Graf komputasi dan aturan rantaiGratis7 latihan
  3. 03Autograd ditulis sendiriCoding Studio7 latihan
  4. 04Backpropagation dengan matriksCoding Studio7 latihan
  5. 05OptimisasiCoding Studio7 latihan
  6. 06Inisialisasi, normalisasi, residualCoding Studio7 latihan
  7. 07Regularisasi dan generalisasiCoding Studio7 latihan
  8. 08KonvolusiCoding Studio7 latihan
  9. 09Melatih di GPU dengan PyTorchCoding Studio6 latihan
  10. 10Barisan dan RNNCoding Studio7 latihan
  11. 11Embedding dan model bahasaCoding Studio7 latihan
  12. 12AttentionCoding Studio7 latihan
  13. 13TransformerCoding Studio7 latihan
  14. 14Model terbuka, fine-tuning, LoRACoding Studio6 latihan
  15. 15Efisiensi, inferensi, evaluasi jujurCoding Studio7 latihan
  16. 16Proyek akhir: Nalar MakmurCoding Studio5 latihan

Modul 01–02 gratis; modul bergembok terbuka dengan Coding Studio. Lihat paket

Ada contoh atau latihan bertanda “Kerjakan di laptop”? Paket dan data C9 untuk menjalankannya di komputermu ada di panduan menjalankan kode di komputermu.

Tentang course ini

Memahami jaringan saraf sampai ke turunannya: backpropagation dihitung tangan, autograd dan pustaka mini ditulis sendiri dengan NumPy, CNN, RNN, attention, dan transformer diturunkan langkah demi langkah, lalu dibawa ke PyTorch, GPU gratis, dan fine-tuning model terbuka.

Course inti jalur Data & AI untuk calon ML Engineer (dianjurkan untuk AI Engineer), sesudah C1 dan C2. Versi ini berupa Markdown yang bisa dibaca langsung di GitHub; latihannya diperiksa otomatis dan berjalan di peramban.


Posisi course

Kenapa course ini ada

Hari ini siapa pun bisa memanggil model bahasa raksasa lewat API atau menyalin notebook fine-tuning. Yang langka adalah orang yang tahu apa yang terjadi di dalamnya ketika sesuatu salah: rugi yang menjadi nan, gradien yang hilang di lapisan awal, model yang hafal data latih, attention yang mengintip token masa depan, memori GPU yang habis karena KV cache, fine-tuning yang merusak kemampuan lama. Semua itu hanya bisa didiagnosis bila kamu pernah menurunkan dan menulis sendiri mesinnya.

Cara klasik di course ini: perceptron dan MLP, aturan rantai dan graf komputasi, autograd skalar ditulis sendiri, backpropagation lapisan demi lapisan dengan NumPy, optimisasi (SGD, momentum, Adam), inisialisasi dan normalisasi, regularisasi, konvolusi dengan im2col, RNN dan LSTM, model bahasa tingkat karakter (Bengio dkk. 2003), attention dan transformer diturunkan, semuanya dengan pemeriksaan gradien terhadap selisih hingga. Cara modern: PyTorch di GPU gratis (Google Colab, Kaggle), presisi campuran, model terbuka dari Hugging Face, fine-tuning hemat parameter (LoRA) dan kuantisasi, inferensi efisien, serta AI sebagai rekan yang kode pelatihannya selalu diuji dengan eksperimen kecil yang bisa diulang.

Polanya sama di setiap modul: turunkan, tulis dengan NumPy, periksa dengan selisih hingga, lalu cocokkan dengan pustaka.

Pemilik materi

C9 adalah tempat mekanisme model diajarkan dengan kode: autodiff dan backpropagation, SGD dan mini-batch, tokenisasi BPE dan sampling (suhu, top-k, nukleus) di Modul 11, attention di Modul 12, KV cache di Modul 15, serta LoRA, QLoRA, dan kuantisasi di Modul 14. C3 AI Engineering memakai akibatnya dari sisi API dan merujuk ke modul-modul ini; C9 tidak membutuhkan C3. Sebaliknya, C9 menautkan ke pemilik materi lain alih-alih mengajarkannya ulang: laju belajar dan bilangan kondisi (C2 Modul 03), L2 dan ridge (C2 Modul 07), interval Wilson (C1 Modul 07), uji permutasi (C1 Modul 08), pemrograman dinamis (K1 Modul 14), urutan topologis (K1 Modul 12), dan reproduktibilitas pipeline (C10 Modul 02).

Untuk siapa dan prasyarat

  • Wajib: Aljabar Linear (perkalian matriks, transpos, norma, nilai eigen) dan Kalkulus I/II (turunan, turunan parsial, aturan rantai, deret Taylor). C9 menurunkan semua yang dibutuhkan, tetapi bahasanya adalah bahasa kedua course matematika itu.
  • F1 Python wajib (kelas, modul, pytest).
  • C2 Machine Learning sangat dianjurkan: gradient descent dan batas laju belajar, regresi logistik dan log-loss, validasi, regularisasi. Modul yang memakainya menautkan bagian C2 yang tepat. C1 Data Science dianjurkan untuk statistika di Modul 16.
  • F5 Rilis untuk peralatan proyek: repo rapi, dependensi terkunci, GitHub Actions, dan tayang aplikasi (Lab Tayang Modul 16).
  • Sapaan "kamu", sama dengan course lain.

Lingkungan lab

BagianDi manaDiperiksa
Latihan NumPy: autograd, lapisan, optimisasi, konvolusi, RNN, attention, transformer, LoRA, kuantisasiPeramban (Python di peramban dengan NumPy 2.4); pemeriksa memakai Python 3.12 dan 3.13 dengan versi paket yang samaOtomatis
PyTorch, GPU, model terbuka, fine-tuning LoRAGoogle Colab atau Kaggle Notebooks (GPU gratis, kuota berubah dan tidak dijamin)Lab "Selesai bila:"
Demo publik (lencana Tayang)Streamlit Community Cloud dari repo GitHubDaftar periksa Tayang Modul 16

PyTorch tidak tersedia di peramban maupun di pemeriksa, jadi semua kode PyTorch ditulis sebagai blok statis dan dijalankan di Lab; latihan terperiksa memakai NumPy saja. PyTorch diperkenalkan singkat di Modul 02 dan diajarkan penuh di Modul 09; semua langkah PyTorch di Lab Modul 01–08 opsional dan boleh dikerjakan sesudah Modul 09. Kode PyTorch, Transformers, dan PEFT ditulis terhadap versi yang dicek 18 Oktober 2026 (PyTorch 2.14.1, Transformers 5.20.1, PEFT 0.21.2) dan belum dijalankan penulis; setiap Lab meminta kamu mencatat versi dan keluaran yang kamu dapat. Beberapa contoh pelatihan bisa sedikit berbeda keluarannya atau lebih lambat di peramban; jalankan di laptop bila itu terjadi.

Satu kali menjalankan kode dibatasi 15 detik (pelatihan memakai jaringan kecil dan sedikit epoch; batas=N sampai 120 detik hanya bila tidak bisa dihindari).

Waktu: ±6–8 jam per modul (termasuk Lab GPU), total ±100 jam; bagian "Di balik layar (opsional)", latihan bertanda opsional, dan Lab Tayang di luar hitungan itu.

Silabus (16 modul)

#ModulKlasikModernProyek Nalar Makmur
01Dari regresi logistik ke jaringan sarafNeuron dan perceptron (Rosenblatt 1958), XOR dan batas linear (Minsky & Papert), MLP, fungsi aktivasi, aproksimasi universal (pendalaman opsional)Kapan deep learning vs gradient boosting (tabular); skala data dan komputasiMLP pertama untuk XOR dan spiral
02Graf komputasi dan aturan rantaiTurunan parsial, Jacobian, graf komputasi, mode maju vs mode mundur, biaya keduanyaPengenalan singkat tensor PyTorch; autodiff di PyTorch dan JAXTurunan dihitung tangan, dicek selisih hingga
03Autograd ditulis sendiriKelas nilai skalar dengan backward(), urutan topologis, akumulasi gradien (gaya micrograd)torch.autograd, requires_grad, no_gradNilai di nalar.py
04Backpropagation dengan matriksGradien lapisan linear, softmax + entropi silang gabungan yang stabil, MLP NumPy utuh, pemeriksaan gradiennn.Linear, nn.CrossEntropyLossMLP digit 8×8
05OptimisasiSGD, momentum, RMSProp, Adam (Kingma & Ba 2015) ditulis sendiri, jadwal laju belajar, warmuptorch.optim, AdamW (Loshchilov & Hutter 2019)Optimizer nalar
06Inisialisasi, normalisasi, residualGradien hilang/meledak, Xavier/He, BatchNorm dan LayerNorm ditulis sendiri (maju dan mundur), koneksi residualnn.LayerNorm, praktik inisialisasi modernJaringan dalam yang tetap terlatih
07Regularisasi dan generalisasiPeluruhan bobot vs L2, dropout terbalik, early stopping, augmentasi data, double descent (pendalaman opsional)Resep pelatihan modernMLP digit yang tidak menghafal
08KonvolusiKorelasi silang, padding/stride, im2col, pooling, CNN maju dan mundur ditulis sendirinn.Conv2d, ResNet sekilas, transfer learning (Lab)CNN digit
09Melatih di GPU dengan PyTorchLoop pelatihan, batching berbenih, akumulasi gradien, float16 dan loss scaling (disimulasikan dengan NumPy)PyTorch diajarkan penuh: tensor, device, DataLoader, presisi campuran, reproduktibilitas di Colab/KaggleReplikasi MLP/CNN di PyTorch (Lab)
10Barisan dan RNNRNN, backpropagation through time, gradien hilang, LSTM/GRU dengan gerbangnn.LSTM, kapan RNN masih dipakaiRNN tingkat karakter
11Embedding dan model bahasaOne-hot vs embedding, model bigram, model bahasa MLP (Bengio dkk. 2003), perplexity, sampling dengan suhu, top-k, dan nukleusTokenisasi BPE ditulis sendiri, embedding pralatihPembangkit nama warung
12AttentionDari attention Bahdanau ke scaled dot-product, gradien softmax, mask kausal, multi-head, ditulis sendiri dan dicek gradiennyann.MultiheadAttention; softmax daring/FlashAttention (pendalaman opsional)Lapisan attention nalar
13TransformerBlok transformer (pre-LN), posisi sinusoidal dan RoPE, model bahasa transformer kecil (maju dengan NumPy), scaling laws sekilasGPT kecil dilatih di ColabGPT nama warung (Lab)
14Model terbuka, fine-tuning, LoRATransfer learning, LoRA diturunkan (ΔW = A·B dalam konvensi nalar), hitungan parameter, kuantisasi int8/4-bit dihitung sendiriHugging Face Transformers dan PEFT (Lab)Fine-tuning LoRA model kecil (Lab)
15Efisiensi, inferensi, evaluasi jujurFLOPs dan memori (parameter, aktivasi, KV cache) dihitung, batching, distilasi; data uji yang bocor ke pralatihInferensi terkuantisasi, biaya GPUAnggaran memori dan biaya
16Proyek akhir: Nalar MakmurMenyatukan: pustaka mini, model digit, model bahasa, replikasi PyTorchRepo + laporan + notebook Colab; demo Streamlit + kartu model (lencana Tayang)Laporan akhir dan demo publik

Proyek: Nalar Makmur

Peserta membangun nalar, pustaka deep learning mini dengan NumPy: autograd skalar, lapisan (linear, aktivasi, normalisasi, dropout, konvolusi, RNN, attention, blok transformer), rugi, optimizer, dan alat pemeriksa gradien. Pustaka itu dipakai untuk dua tugas Warung Makmur: (1) membaca angka tulisan tangan di nota belanja (citra digit 8×8 di data/digit8.csv) dan (2) membangkitkan nama warung baru untuk cabang (model bahasa tingkat karakter dari data/nama_warung.txt). Setiap komponen dicocokkan dengan PyTorch di Lab, lalu model kecil terbuka di-fine-tune dengan LoRA di GPU gratis. Kontrak: proyek-nalar.md.

Lencana Tayang (bukan syarat lulus): demo "Nalar Makmur" di Streamlit Community Cloud yang menjalankan inferensi nalar dengan NumPy di CPU (pembaca digit dan pembangkit nama), dengan kartu model, GitHub Actions hijau, dan README portofolio. Hugging Face Spaces hanya bila kamu punya PRO atau memenuhi syarat ZeroGPU. Daftar periksa lengkap ada di Modul 16.

Kerangka setiap modul

# Modul NN · Judul

> **Hasil belajar:** 3–5 kemampuan yang bisa diamati
> **Prasyarat:** modul sebelumnya / pengetahuan
> **Waktu:** ± X jam
> **Hasil lab:** apa yang dihasilkan untuk Nalar Makmur

## Intinya                          (3–5 butir, sebelum isi)
## 1. Masalah nyata
## 2. Konsep inti
### 2.N Di balik layar: …            (turunan atau algoritma di balik fungsi pustaka; dipakai latihan)
### 2.N Di balik layar (opsional): … (pendalaman di akhir bagian 2, boleh dilewati; tidak dikuis)
## 3. Bekerja dengan agen
### Tugas tanpa AI (cara klasik)
### Tugas dengan AI (cara modern)
## 4. Lab
### Latihan terperiksa              (label **Tingkat:**; tantangan opsional ditandai)
### Lab proyek                      (diakhiri "Selesai bila:"; PyTorch/GPU di sini)
## 5. Daftar periksa review
## 6. Red flag pelatihan dan kode agen
## 7. Studi kasus                   (skenario rekaan yang mewakili kejadian umum)
## 8. Di skala enterprise           (satu paragraf)
## 9. Kuis                          (8–10 soal, kunci + alasan; tidak menguji bagian opsional)
## Sumber                           (dokumentasi resmi + rujukan klasik, bertanggal)

Bekerja dengan agen, pola yang sama di setiap modul. Kerjakan dulu tugas kecil tanpa AI agar kamu tahu jawaban yang benar. Lalu minta agen menulis kode dengan instruksi yang menyebut kontrak, bentuk array, dan tes yang harus gagal pada kode naif, dan minta tesnya lebih dulu. Jalankan sendiri; jangan menyalin angka dari keluaran agen. Kesalahan agen di deep learning hampir tidak pernah memunculkan galat: rugi tetap turun dengan gradien yang salah, mask terbalik, atau dropout yang aktif saat evaluasi. Yang menangkapnya adalah pemeriksaan gradien, tes sifat, dan angka rujukan. Setiap modul hanya mencantumkan tugas, contoh instruksi, dan pola kesalahan khas topiknya.

Aturan isi:

  • Turunkan, tulis, periksa. Setiap gradien yang diturunkan di prosa ditulis dengan NumPy dan diperiksa terhadap selisih hingga terpusat di latihan (galat relatif kecil, toleransi disebut di perintah).
  • Angka dari kode, bukan dari ingatan. Setiap akurasi, rugi, jumlah parameter, atau ukuran memori di prosa diambil dari contoh yang diperiksa mesin.
  • Tes memeriksa kebenaran numerik dan perilaku pelatihan, bukan bentuk: gradien cocok dengan selisih hingga, softmax tetap hingga untuk logit 1000, rugi turun di bawah ambang dalam N langkah dengan benih tetap, mask kausal benar-benar memutus aliran informasi dari masa depan, LoRA dengan B = 0 tidak mengubah keluaran awal, kuantisasi int8 galatnya di bawah batas. Kode awal yang naif (softmax tanpa pengurangan maksimum, lupa zero_grad, dropout tanpa skala) harus gagal.
  • Keacakan selalu berbenih (np.random.default_rng(0)); hasil pelatihan dibandingkan dengan toleransi yang disebut di perintah.
  • PyTorch hanya di Lab, dengan versi dan tanggal cek; nama model terbuka dan ukurannya dicek di halaman resminya. Tarif API, harga GPU, dan kuota layanan gratis adalah ilustrasi berlabel atau ditautkan ke halaman resmi, bukan angka yang dihafal.
  • Studi kasus memakai skenario rekaan yang mewakili kejadian umum: asisten tanya jawab Warung Makmur, penaut materi dengan regresi logistik, aplikasi latihan adaptif. Tanpa data pengguna.
  • Sumber klasik bergantian: Goodfellow, Bengio & Courville Deep Learning (2016); Bishop & Bishop Deep Learning: Foundations and Concepts (2024); Prince Understanding Deep Learning (2023); Rumelhart, Hinton & Williams (1986); LeCun dkk. (1998); Hochreiter & Schmidhuber (1997); Bengio dkk. (2003); Glorot & Bengio (2010); He dkk. (2015, inisialisasi; 2016, ResNet); Ioffe & Szegedy (2015); Ba, Kiros & Hinton (2016); Srivastava dkk. (2014); Kingma & Ba (2015); Bahdanau dkk. (2015); Vaswani dkk. (2017); Hu dkk. (2022, LoRA); Dettmers dkk. (2023, QLoRA); Kaplan dkk. (2020) dan Hoffmann dkk. (2022) untuk scaling laws.
  • Patokan CS2023: knowledge area Artificial Intelligence (Machine Learning: neural networks, deep learning).

Batas cakupan

C9 adalah fondasi, bukan seluruh pekerjaan ML Engineer. Yang hanya disentuh sekilas atau di luar cakupan: pipeline data PyTorch berskala besar, visi di luar citra kecil (transfer learning ResNet dan augmentasi hanya di Lab opsional Modul 08), arsitektur ViT, difusi, dan multimodal, pelatihan terdistribusi (DDP, FSDP) dan profiling, RLHF/DPO, penyetelan hiperparameter sistematis, serta ekspor dan penyajian model. Penyajian, pelacakan eksperimen, dan pemantauan dilanjutkan di C10 MLOps.

Hubungan dengan course lain

CourseHubungan
Aljabar Linear, Kalkulus I/IIPrasyarat wajib (matriks, nilai eigen, turunan parsial, aturan rantai)
F1 PythonPrasyarat: kelas, modul, pytest
C2 Machine LearningSangat dianjurkan: gradient descent, log-loss, regularisasi, validasi; C9 menautkan alih-alih mengulang
C1 Data ScienceDianjurkan: interval Wilson dan uji permutasi (Modul 16)
F5 RilisPeralatan proyek dan Lab Tayang (GitHub Actions, Streamlit Community Cloud)
K1 Struktur Data & AlgoritmaRujukan: urutan topologis (Modul 03), pemrograman dinamis (Modul 02)
C3 AI EngineeringDatang sesudah C9 dan memakai mekanismenya dari sisi API: tokenisasi, sampling, attention, KV cache, LoRA. C3 merujuk ke C9, bukan sebaliknya
C10 MLOpsLanjutan: reproduktibilitas pipeline, penyajian model, biaya GPU, pemantauan