50 คะแนน โดย GN⁺ 2026-03-08 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • เฟรมเวิร์กวิจัยอัตโนมัติแบบครบในตัวที่บีบอัดแกนการฝึก LLM ของ nanochat ให้อยู่ใน GPU เดียว·ไฟล์เดียวประมาณ 630 บรรทัด โดย AI เอเจนต์จะวนทำการทดลองฝึก LLM แบบอัตโนมัติตลอดทั้งคืน
  • มนุษย์แก้ไข พรอมป์ต์ และ AI เอเจนต์จะ แก้ไข โค้ดการฝึก → ฝึกภายใต้งบเวลาคงที่ 5 นาที → เปรียบเทียบผลลัพธ์ → วนลูปเก็บไว้หรือทิ้ง
  • เอเจนต์ทำงานในลูปอัตโนมัติบน git feature branch และจะสะสม git commit ลงในสคริปต์การฝึกทุกครั้งที่ทำค่า validation loss ให้ต่ำลงได้ เช่น จากสถาปัตยกรรมโครงข่ายประสาท, optimizer, hyperparameter เป็นต้น
  • เป้าหมายคือออกแบบเอเจนต์ที่สร้างความก้าวหน้าด้านวิจัยได้เร็วที่สุดโดยไม่ต้องมีมนุษย์เข้ามาแทรกแซง

ภาพรวมโปรเจกต์

  • โครงสร้างนี้อิงจาก implementation แบบย่อของ nanochat ที่ใช้ GPU เดียว โดยให้ AI เอเจนต์ปรับแก้และทดลองโค้ดการฝึกได้อย่างอัตโนมัติ
  • เอเจนต์จะวนลูป แก้โค้ด → ฝึก 5 นาที → ตรวจผลลัพธ์ → เก็บไว้/ทิ้ง และผู้ใช้มาตรวจดูล็อกการทดลองกับโมเดลที่ปรับปรุงแล้วในตอนเช้า
  • สามารถเชื่อมต่อเอเจนต์ที่ต้องการ เช่น Claude, Codex เข้ากับเรโปนี้ ให้มันอ่าน program.md แล้วเริ่มการทดลองได้

โครงสร้างไฟล์หลัก (สำคัญแค่ 3 ไฟล์)

  • prepare.py - มีค่าคงที่ตายตัว, การเตรียมข้อมูล (ดาวน์โหลดข้อมูลฝึก, ฝึก BPE tokenizer) และยูทิลิตีรันไทม์ (data loader, evaluation); ไม่ใช่เป้าหมายในการแก้ไข
  • train.py - ไฟล์เดียวที่เอเจนต์จะแก้ไข; มีทั้งโมเดล GPT ทั้งหมด, optimizer (Muon + AdamW), ลูปการฝึก; ปรับได้ทุกอย่างตั้งแต่สถาปัตยกรรม, hyperparameter, optimizer, batch size ฯลฯ
  • program.md - ไฟล์คำสั่งพื้นฐานสำหรับเอเจนต์; มนุษย์เป็นผู้แก้ไข และทำหน้าที่เป็น สกิลแบบเบา ที่กำหนดทิศทางการวิจัยอัตโนมัติของเอเจนต์

หลักการออกแบบ

  • แก้ไขไฟล์เดียว: เอเจนต์แก้เฉพาะ train.py เพื่อให้จัดการขอบเขตการเปลี่ยนแปลงได้และตรวจ diff ได้ง่าย
  • งบเวลาคงที่: รันครั้งละ 5 นาทีแบบแม่นยำเสมอไม่ขึ้นกับแพลตฟอร์ม → ได้ประมาณ 12 รอบต่อชั่วโมง และราว 100 การทดลองระหว่างนอนหลับ
    • ทำให้เปรียบเทียบผลการทดลองกันได้โดยตรง ไม่ว่าจะเปลี่ยนขนาดโมเดล, batch size, สถาปัตยกรรม หรือปัจจัยอื่นใด
    • ข้อเสีย: ไม่สามารถเปรียบเทียบกับผลการรันของคนอื่นที่ใช้แพลตฟอร์มต่างกันได้
  • ความเป็นระบบครบในตัว: ไม่มี dependency ภายนอกนอกจาก PyTorch และแพ็กเกจจำนวนน้อย; ไม่มี distributed training; ไม่มีการตั้งค่าซับซ้อน

ความต้องการและการรัน

  • ความต้องการ: NVIDIA GPU เดียว (ทดสอบบน H100), Python 3.10+, ตัวจัดการแพ็กเกจ uv
  • ขณะนี้รองรับเฉพาะ NVIDIA GPU และยังไม่ใส่การรองรับแพลตฟอร์มอื่นอย่าง CPU/MPS เพื่อหลีกเลี่ยงการทำให้โค้ดบวม
    • หากต้องการรองรับแพลตฟอร์มที่กว้างขึ้น แนะนำให้อ้างอิงเรประดับบนของ nanochat; ปัจจุบันมี macOS fork (miolini/autoresearch-macos) อยู่แล้ว
  • เมื่อต้องการรันเอเจนต์ ให้รัน Claude/Codex ฯลฯ ภายในเรโป ปิดการจำกัดสิทธิ์ทั้งหมด แล้วพรอมป์ต์ให้มันอ่าน program.md และเริ่มการทดลอง

เจตนาในการออกแบบ program.md เริ่มต้น

  • program.md เริ่มต้นถูกตั้งใจให้เป็น baseline ขั้นต่ำ
  • สามารถใช้ในลักษณะปรับปรุงซ้ำไปเรื่อย ๆ ตามเวลา เพื่อค้นหา “โค้ดขององค์กรวิจัย” ที่สร้างความก้าวหน้าทางวิจัยได้เร็วที่สุด
  • เป็นโครงสร้างที่ขยายได้ชัดเจน ทั้งการเพิ่มเอเจนต์หรือทำคำสั่งให้เฉพาะเจาะจงขึ้น

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

 
tensun 2026-03-08

ช่วยทำ Amd ROCm ด้วย

 
xguru 2026-03-08

ทวีตแนะนำของ Karpathy
> เตรียมไว้ให้สำหรับคนที่อยากลองใช้ช่วงสุดสัปดาห์ครับ
> เป็นงานที่ผสมโค้ด ไซไฟ และความเพี้ยนอยู่นิดหน่อย :)

ทำไมถึงทำอะไรแบบนี้ในวันหยุดล่ะครับอาจารย์

 
laeyoung 2026-03-10

ดูเหมือนว่าเขากำลังรีบทำสื่อการสอนไม่ให้ล้าสมัย เพื่อจะได้ปล่อยคอร์ส EurekaLab อยู่เรื่อย ๆ ครับ T_T

ps. เมื่อ 7 ชั่วโมงก่อนก็เพิ่งทำอีกอันชื่อ AgentHub แล้วเอาขึ้นมาอีกแล้ว 🫢