• drlzh.ai เป็นคอร์สแบบลงมือปฏิบัติที่ให้ผู้เรียนนำอัลกอริทึมไป implement เอง แทนที่จะอ่านเกี่ยวกับ deep reinforcement learning เพียงอย่างเดียว ครอบคลุมตั้งแต่ MDP และ RL แบบตาราง ไปจนถึง RLHF, Decision Transformers, Dreamer และ meta-learning
  • โน้ตบุ๊กใน root เป็นแทร็กฝึกปฏิบัติที่บางส่วนของโค้ดถูกแทนที่ด้วย TODO แบบมีคำแนะนำ ส่วนโน้ตบุ๊กใน solution/ มีเวอร์ชันที่รันได้ครบถ้วนให้ตรวจดูเมื่อทำต่อไม่ออก
  • หลักสูตรประกอบด้วยโน้ตบุ๊กหมายเลข 00-18 โดยแทร็กพื้นฐานออกแบบให้เรียนตามลำดับ ส่วนโน้ตบุ๊กขั้นสูงเป็นแบบ จบในตัวเอง แต่หมายเลขยังให้เส้นทางการเรียนรู้พื้นฐานไว้
  • Docker workspace ให้ code-server, โน้ตบุ๊ก, Python >=3.13,<3.14, Jupyter kernel, dependencies และส่วนขยาย VS Code DRL-ZH AI Companion มาพร้อมกันในครั้งเดียว
  • ผู้เรียนควรคุ้นเคยกับ Python, พื้นฐาน PyTorch และคณิตศาสตร์สำหรับ ML เช่น ความน่าจะเป็น สถิติ พีชคณิตเชิงเส้น และแคลคูลัสเชิงอนุพันธ์ โดยโน้ตบุ๊กตั้งสมมติฐานว่าผู้เรียนสามารถอ่านและแก้ไขโค้ดฝึกโมเดลจริงได้

ภาพรวมโครงการ

  • drlzh.ai เป็น คอร์ส deep reinforcement learning ที่เน้นการปฏิบัติจริง โดยออกแบบให้ผู้เรียนสร้างอัลกอริทึมด้วยตัวเอง
  • ขอบเขตการเรียนเริ่มจาก MDP และ RL แบบตาราง แล้วขยายไปสู่หัวข้อต่อไปนี้
    • อัลกอริทึมที่ใช้เอเจนต์ Atari
    • หุ่นยนต์ควบคุมต่อเนื่อง
    • การวางแผนสไตล์ AlphaZero
    • RLHF สำหรับโมเดลภาษา
    • Decision Transformers
    • policy สไตล์ VLA
    • world models
    • Dreamer
    • meta-learning
  • โน้ตบุ๊กใน root เป็น แทร็กแบบฝึกหัด โดยตั้งใจแทนที่โค้ดด้วยส่วน TODO แบบมีคำแนะนำ
  • โน้ตบุ๊ก solution/ ให้เวอร์ชันที่สมบูรณ์และรันได้ เพื่อให้ผู้เรียนแก้จุดที่ติดขัดได้โดยไม่ต้องออกนอกคอร์ส

โครงสร้างหลักสูตร

  • คอร์สประกอบด้วยโน้ตบุ๊กตั้งแต่ 00 ถึง 18
  • 00-07 Foundations
    • implement MDPs, tabular RL, DQN, REINFORCE, actor-critic methods, DDPG, TD3, SAC, PPO
  • 08-10 Breaking assumptions
    • ครอบคลุม RND curiosity, multi-agent RL, offline RL ที่ใช้ BC และ IQL
  • 11 Planning
    • ครอบคลุม Monte Carlo Tree Search, self-play และการเรียนรู้ policy/value สไตล์ AlphaZero
  • 12-13 Modern AI stack
    • ครอบคลุม RLHF บนพื้นฐาน PPO, DPO, GRPO, Decision Transformers, NanoVLA(DTVLA)
  • 14 Production
    • ครอบคลุม TensorBoard, checkpoints, debugging, multiple seeds, Ray, Optuna
  • 15-16 World models
    • ครอบคลุม MBPO บนพื้นฐาน SAC และ DR3AM/Dreamer ที่ใช้ RSSM latent imagination
  • 17-18 Meta + wrap-up
    • ประกอบด้วย MAML, FOMAML, fast adaptation และการปิดท้ายคอร์ส
  • โน้ตบุ๊กพื้นฐานตั้งใจให้ เรียนตามลำดับ
  • โน้ตบุ๊กขั้นสูงเป็นแบบจบในตัวเอง แต่หมายเลขให้เส้นทางพื้นฐานตั้งแต่การสำรวจไปจนถึง capstone ของคอร์ส

DRL-ZH AI Companion

  • Docker workspace มี DRL-ZH AI Companion ซึ่งเป็นส่วนขยาย VS Code สำหรับคอร์สนี้รวมอยู่ด้วย
  • ส่วนขยายรับรู้โน้ตบุ๊กและ TODO ที่ผู้ใช้กำลังทำงานอยู่
  • แทนที่จะให้คำตอบทันที จะให้ คำใบ้แบบโสเครตีส
  • รองรับทั้งโหมดข้อความและโหมดเสียง
  • ผู้ใช้ต้องนำคีย์ LLM มาเอง
    • Gemini เป็นค่าเริ่มต้น
    • รองรับ OpenAI, Anthropic และ Groq ด้วย

สภาพแวดล้อมสำหรับรันและวิธีเริ่มต้น

  • การตั้งค่าที่แนะนำคือ Docker
  • Docker ให้สิ่งต่อไปนี้ใน workspace ที่ทำซ้ำได้ชุดเดียว
    • code-server
    • โน้ตบุ๊ก
    • Python >=3.13,<3.14
    • Jupyter kernel
    • dependencies
    • AI Companion
  • ขั้นตอนเริ่มต้นพื้นฐาน
    • ติดตั้ง Docker และ Git จากนั้น clone repository แล้วเข้าไปยังไดเรกทอรีนั้น
    • บน Linux/macOS ให้รัน printf "UID=$(id -u)\nGID=$(id -g)\n" > .env เพื่อปรับความเป็นเจ้าของไฟล์ให้ตรงกับผู้ใช้
    • เริ่มสภาพแวดล้อมเริ่มต้น
docker compose up --build -d
  • เปิด http://localhost:8080 ในเบราว์เซอร์ที่ใช้ Chromium แล้วเลือก kernel Python (drl-zh)
  • เปิด 00_Intro.ipynb แล้วเริ่มเติม TODO
  • หากต้องการเข้าถึง NVIDIA GPU ให้ใช้คำสั่งต่อไปนี้
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build -d
  • สำหรับ image ที่เล็กกว่าและใช้ CPU เท่านั้น ให้ใช้คำสั่งต่อไปนี้
docker compose -f docker-compose.yml -f docker-compose.cpu.yml up --build -d
  • หากต้องการตั้งค่าแบบ native สามารถดูคำแนะนำสำหรับ Python, Poetry, VS Code และ Companion ได้ใน MANUAL.md

ความรู้ที่ต้องมีและสัญญาอนุญาต

  • ผู้เรียนควรคุ้นเคยกับสิ่งต่อไปนี้
    • Python
    • พื้นฐาน PyTorch
    • ความน่าจะเป็น สถิติ พีชคณิตเชิงเส้น และแคลคูลัสเชิงอนุพันธ์ที่จำเป็นสำหรับ ML
  • โน้ตบุ๊กสอน RL เอง แต่ตั้งสมมติฐานว่าผู้เรียนสามารถอ่านและแก้ไข โค้ดฝึกโมเดล จริงได้
  • ใช้สัญญาอนุญาต MIT รายละเอียดอยู่ใน LICENSE

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น