8 คะแนน โดย GN⁺ 2026-01-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คอร์สที่สอนโดย Andrej Karpathy โดยตรง เป็นกระบวนการเรียนรู้ผ่านการ ลงมือสร้างโครงข่ายประสาทตั้งแต่ต้นด้วยโค้ด
  • เริ่มจากพื้นฐานของ backpropagation แล้วค่อย ๆ สร้างต่อยอดไปจนถึง โมเดลดีพเลิร์นนิงสมัยใหม่ระดับ GPT
  • เรียนโดยมี language model เป็นแกนหลัก พร้อมฝึกใช้เทคโนโลยีสำคัญอย่าง PyTorch, torch.Tensor, BatchNorm, WaveNet, GPT tokenizer
  • แต่ละบทเรียนออกแบบโดยเน้นกระบวนการพัฒนาจริง เช่น การฝึกโมเดล การคำนวณ loss การปรับ hyperparameter และการวินิจฉัย overfitting
  • เป็นหลักสูตรเชิงปฏิบัติที่ช่วยให้เข้าใจ กลไกการทำงานภายในของดีพเลิร์นนิงและสัญชาตญาณด้าน optimization อย่างเป็นระบบ

ภาพรวมคอร์ส

  • คอร์สนี้ประกอบด้วยการเรียนรู้ผ่าน การสร้างโครงข่ายประสาทด้วยโค้ดด้วยตนเอง
    • ต้องมีพื้นฐาน คณิตศาสตร์เบื้องต้น (อนุพันธ์, Gaussian) และ ทักษะการเขียนโปรแกรม Python
    • มี ช่อง Discord สำหรับการแลกเปลี่ยนระหว่างผู้เรียน
  • การเรียนจะดำเนินไปโดยมี language model เป็นศูนย์กลาง ซึ่งยังเป็นประโยชน์ต่อการถ่ายทอดความรู้ไปยังสาขาอื่นด้วย (เช่น computer vision)

โครงสร้างบทเรียน (Syllabus)

1. Intro to Neural Networks and Backpropagation (2h25m)

  • สร้าง micrograd ด้วยตนเอง พร้อมอธิบาย กระบวนการ backpropagation และการฝึกโครงข่ายประสาท แบบเป็นขั้นตอน
    • เข้าใจได้ด้วยเพียง ความรู้พื้นฐาน Python และ แคลคูลัสระดับมัธยมปลาย

2. Intro to Language Modeling: Building makemore (1h57m)

  • สร้าง โมเดลภาษาแบบ bigram ระดับตัวอักษร
    • ครอบคลุมวิธีใช้ torch.Tensor และแนวทางการคำนวณโครงข่ายประสาทอย่างมีประสิทธิภาพ
    • รวมถึงกระบวนการ ฝึกโมเดล การสุ่มตัวอย่าง และการประเมิน loss (negative log likelihood)

3. Building makemore Part 2: MLP (1h15m)

  • สร้างโมเดลภาษาระดับตัวอักษรบนพื้นฐาน multilayer perceptron (MLP)
    • ครอบคลุมแนวคิดพื้นฐานของแมชชีนเลิร์นนิง เช่น การปรับ learning rate, hyperparameter, การแบ่งข้อมูล (train/dev/test), overfitting/underfitting

4. Building makemore Part 3: Activations & Gradients, BatchNorm (1h55m)

  • วิเคราะห์ การทำงานภายในของ MLP หลายชั้น พร้อมตรวจสอบ คุณสมบัติทางสถิติของ activation และ gradient
    • นำ Batch Normalization มาใช้เพื่อเพิ่มเสถียรภาพในการฝึก
    • Residual connection และ Adam optimizer จะกล่าวถึงในวิดีโอถัดไป

5. Building makemore Part 4: Becoming a Backprop Ninja (1h55m)

  • ทำ backpropagation แบบแมนนวลโดยไม่ใช้ PyTorch autograd
    • ทำ backpropagation ด้วยตนเองสำหรับ cross-entropy loss, tanh, BatchNorm, embedding table เป็นต้น
    • เสริมความเข้าใจเรื่อง การไหลของ gradient และสัญชาตญาณด้าน optimization ในระดับ tensor

6. Building makemore Part 5: Building a WaveNet (56m)

  • ขยาย MLP สองชั้น จากก่อนหน้าเพื่อสร้าง สถาปัตยกรรม CNN แบบลำดับชั้น ที่คล้าย WaveNet(2016)
    • ฝึกปฏิบัติ หลักการทำงานภายในของ torch.nn และ เวิร์กโฟลว์การพัฒนาดีพเลิร์นนิง (การค้นเอกสาร การจัดการมิติของ tensor การรวมโค้ด ฯลฯ)

7. Let's Build GPT: From Scratch, in Code (1h56m)

  • สร้าง โมเดล GPT ด้วยตนเอง โดยอิงตามงานวิจัย “Attention is All You Need” และสถาปัตยกรรม OpenAI GPT-2/3
    • กล่าวถึงความเชื่อมโยงกับ ChatGPT และ GitHub Copilot
    • ดำเนินต่อบนพื้นฐานของ autoregressive language modeling และ พื้นฐาน PyTorch nn ที่กล่าวถึงในบทเรียน makemore ก่อนหน้า

8. Let's Build the GPT Tokenizer (2h13m)

  • สร้าง tokenizer ที่ใช้ในซีรีส์ GPT ตั้งแต่ต้น
    • รวมถึงกระบวนการเรียนรู้บนพื้นฐาน Byte Pair Encoding(BPE)
    • ลงมือสร้างฟังก์ชัน การแปลงสตริง↔โทเค็น (encode/decode) ด้วยตนเอง
    • วิเคราะห์ผ่านตัวอย่างว่า สาเหตุส่วนหนึ่งของพฤติกรรมผิดปกติของ LLM อยู่ที่ขั้นตอน tokenization
    • รวมถึงการอภิปรายเกี่ยวกับ ความเป็นไปได้ในการเลิกใช้ tokenizer

สถานะการดำเนินคอร์ส

  • คอร์สยังอยู่ในสถานะ กำลังดำเนินอยู่ (ongoing) และจะมีการอัปโหลดวิดีโอเพิ่มเติมอย่างต่อเนื่อง

1 ความคิดเห็น

 
GN⁺ 2026-01-05
ความคิดเห็นจาก Hacker News
  • เมื่อต้นปีนี้ฉันดูวิดีโอซีรีส์นี้ครบทั้งหมดแล้ว
    ก่อนหน้านี้ก็เคยผ่านทั้งหนังสือเกี่ยวกับ deep learning, คอร์ส Coursera, วิชาในมหาวิทยาลัย, คอร์ส fast.ai และสื่ออื่น ๆ มาแล้ว แต่แทบไม่ได้นำไปใช้ในงานจริง
    แต่ซีรีส์นี้เป็นคอนเทนต์ที่ช่วยสร้างความเข้าใจเชิงสัญชาตญาณได้ดีที่สุดเท่าที่เคยดูมา แทบไม่มีเนื้อหาส่วนเกินและไม่ชวนเบื่อ
    ตอนนี้ถ้ามีใครอยากเรียนรู้หลักการระดับล่างของ DNN ฉันจะแนะนำสิ่งนี้เป็นอย่างแรก
    • วิธีอธิบายของ Karpathy เข้าใจง่ายมาก แต่บางครั้งก็ย่อให้ง่ายเกินไป
      ถ้าเป็นคนที่มาจากสายใกล้เคียงกันอาจรู้สึกว่าช้าไปนิด แต่ก็ยังน่าสนใจเสมอ
  • ฉันชอบ Karpathy มาก เรามาจากสายวิจัยเดียวกัน ฉันเลยภูมิใจกับความสำเร็จของเขา
    ฉันกำลังวิจัยการทำโมเดลข้อมูลเชิงเวลาและพื้นที่เพื่อสร้างโมเดลพยากรณ์ระบบคมนาคมในเมือง และกำลังสร้าง ML infrastructure เอง รวมถึงเตรียมแอปที่จะ deploy สิ่งนี้กับสตรีมเหตุการณ์การจราจรจริง
    ฉันเรียนออนไลน์จาก Deeplearning.ai และ skills.google โดยอันแรกให้ความรู้สึกค่อนข้างเก่าไปหน่อย ส่วนอันหลังครอบคลุมความรู้เชิงปฏิบัติอย่างการปรับแต่ง GPU·TPU ได้ดี
    แต่สิ่งที่ทำให้ฉันกลายเป็นคนทำงานจริงได้คือหนังสือ 『Deep Learning with Python』 ของผู้สร้าง Keras อย่าง Francois Chollet หนังสือเล่มนี้อธิบายแนวคิดได้ชัดเจนโดยมีประวัติศาสตร์ 70 ปีของ deep learning เป็นฉากหลัง และยังมีสูตรสำหรับลงมือสร้างทั้ง GPT และ diffusion model ด้วยตัวเอง
    บทเรียนสำคัญคือ “deep learning เป็นศิลปะมากกว่าวิทยาศาสตร์” ต้องฝึกเยอะ และไม่อาจอธิบายผลลัพธ์ได้อย่างสมบูรณ์
    ในหนังสือยังมี notebook ตัวอย่างของ TensorFlow, PyTorch, Jax ด้วย ทุกวันนี้ฉันเลยมั่นใจพอที่จะทำซ้ำจากบทคัดย่อของงานวิจัยและ deploy โมเดลขึ้น production ได้
    • โปรเจ็กต์ที่คุณทำดูน่าสนใจ ฉันอยากรู้ว่าML/AI ในด้านขนส่งสาธารณะถูกนำไปใช้อย่างไร และเมื่อเทียบกับ agent-based model แล้วมีข้อดีอะไรบ้าง
  • ฉันไม่ได้จบสาย AI และก็ลืมวิชาเบื้องต้นที่เรียนตอนมหาวิทยาลัยเมื่อ 20 ปีก่อนไปหมดแล้ว
    ถ้าดูเนื้อหานี้ทั้งหมด จะไปถึงระดับไหนได้บ้าง?
    จะถึงขั้นสร้างอะไรเองหรือร่วมวงสนทนาได้ไหม? หรือแค่เข้าใจแนวคิดอย่างเดียว?
    ฉันสงสัยว่ามีข้อจำกัดและความแตกต่างอะไรจากนักวิจัยบ้าง
    • ฟังดูเป็นคำถามแปลก ๆ ถ้าคุณไม่รู้ว่าต้องใช้ทำไม ก็คงไม่ได้จำเป็นนัก มีโอกาสสูงที่จะกลายเป็นเหมือนวิชาเบื้องต้นที่คุณเรียนเมื่อ 20 ปีก่อน
  • เปรียบเทียบตรง ๆ คงยาก แต่ถ้าเป็นอีกทางเลือกหนึ่งก็มีพอร์ทัลการเรียนของ Hugging Face
    ฉันกำลังเรียน Deep RL Course อยู่ และจนถึงตอนนี้ก็ถือว่าค่อนข้างเข้าใจง่าย แต่อาจจะลำบากหน่อยตอนเจอส่วนที่เป็นคณิตศาสตร์
    • วิดีโอของ Karpathy เข้าถึงง่ายมาก ฉันเรียน CS มาก็จริงแต่ไม่ได้เรียน ML ลึก ๆ และเรื่องเมทริกซ์ก็เคยใช้แค่ประมาณ 4x4 สำหรับงานกราฟิก
      ถึงอย่างนั้นก็ยังพอเข้าใจกระบวนการทำ backprop และการ implement tiny GPT ได้ คอร์สของ Karpathy โดดเด่นมากในแง่การทำให้เข้าใจหลักการพื้นฐาน
      แต่แทบไม่มีการฝึกใช้ไลบรารีเลย ดังนั้นคอร์สที่คุณพูดถึงอาจเหมาะกับงานจริงมากกว่า
    • ฉันเคยเรียนคอร์สของ Hugging Face ไปหลายตัว แต่ไม่อยากกลับไปเรียนอีก
      ระบบตรวจคำตอบอัตโนมัติแข็งทื่อเกินไป จนต้องเขียนประโยคฝืน ๆ เพื่อให้คำตอบผ่าน ทำให้ประสิทธิภาพการเรียนลดลงและเสียเวลา
      ในทางกลับกัน วิดีโอของ Karpathy เป็นของดีระดับอัญมณีจริง ๆ
  • แม้จะเป็นสื่อการเรียนที่ดี แต่ในโลกความจริง99.99% ของคนก็คงแค่ใช้foundation modelอย่าง ChatGPT, Claude, Gemini
    ดังนั้นการเรียนนี้อาจไม่ได้แปลว่าจะต่อยอดเป็นทักษะเชิงปฏิบัติได้โดยตรง
    แต่ฉันขอแนะนำวิดีโออีกตัวของ Karpathy คือ Deep Dive into LLMs like ChatGPT
  • เมื่อหลายปีก่อน ฉันเคยเขียนบทสอนการสร้าง neural network ตั้งแต่ศูนย์ด้วย NumPy
    Neural Network from Scratch in Python (NumPy)
  • ขอโปรโมตนิดหน่อย หลังจากเรียนคอร์สนี้แล้วฉันก็เขียนบทความไว้สองชิ้น
    No local GPU? No problem – running Karpathy’s NanoGPT on Modal.com
    Modal.com and NanoGPT continued – producing output using Tiktoken for bigger tokens
  • แค่วิดีโอตัวแรกก็เข้าใจยากแล้ว มีอะไรอย่างรายการความรู้พื้นฐานที่จำเป็นไหม?
    • ถ้าอยากเรียนพื้นฐานคณิตศาสตร์ให้ลึกขึ้น วิดีโอของ 3Blue1Brown ดีมาก
      ถ้ากลไกพื้นฐานของ neural network ยังยากอยู่ แนะนำให้ดูกว้าง ๆ ไปก่อนแล้วค่อยกลับมาดูใหม่ทีหลัง รอบที่สองจะเข้าใจดีขึ้นมาก
    • แปลกอยู่นิดหน่อยที่ Karpathy เลือกอันนี้เป็นวิดีโอแรก
      วิดีโอนี้อธิบายหลักการของ autograd ซึ่งก็คือวิธีที่ PyTorch คำนวณอนุพันธ์อัตโนมัติภายใน
      ในอดีต TensorFlow หรือ Torch ต้องนิยามฟังก์ชันอนุพันธ์ของแต่ละเลเยอร์เอง แต่ PyTorch จะบันทึกโค้ด Python ระหว่างรันแล้วสร้างกราฟและคำนวณอนุพันธ์ให้อัตโนมัติ
      ถ้าเข้าใจสิ่งนี้ก็จะรู้ว่า PyTorch ทำงานภายในอย่างไร
      แต่ผู้ใช้ส่วนใหญ่ก็สามารถใช้โมเดลได้ดีโดยไม่จำเป็นต้องรู้รายละเอียดภายในเหล่านั้น
      ถ้าเป็นมือใหม่จริง ๆ ฉันแนะนำคอร์ส Coursera ของ Andrew Ng ชื่อ Introduction to ML ไม่แน่ใจว่าเวอร์ชันล่าสุดเป็นอย่างไร แต่เขาเป็นผู้สอนที่ยอดเยี่ยม
  • มีใครเคยเรียนทั้ง cs231n และคอร์สนี้บ้างไหม?
    cs231n เป็นหนึ่งในคลาสที่ดีที่สุดเท่าที่เคยเรียนมา แต่คอร์สนี้ดูเหมือนจะมีส่วนที่ซ้ำกันเยอะ เลยยังผัดไว้ก่อน น่าจะเพิ่มส่วนของ transformer เข้ามา
  • ฉันก็ขอแนะนำคอร์สนี้อย่างมากเช่นกัน
    มันช่วยให้เข้าใจแบบเป็นธรรมชาติว่าทำไม gradient descent และ normalization ถึงได้ผล และลงลึกไปถึงพลวัตของการฝึก
    ทำให้พัฒนาสัญชาตญาณในการ判断ว่าโมเดลกำลังเรียนรู้ได้ดีหรือไม่