1 คะแนน โดย GN⁺ 2023-12-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

mamba-minimal

  • คำอธิบายเกี่ยวกับ mamba-minimal ซึ่งเป็นอิมพลีเมนเทชัน Mamba แบบเรียบง่ายในไฟล์เดียวที่เขียนด้วย PyTorch
  • ให้ผลลัพธ์เชิงตัวเลขเหมือนกับอิมพลีเมนเทชันทางการ ทั้งในส่วน forward และ backward
  • โค้ดถูกทำให้กระชับ อ่านง่าย และมีคอมเมนต์กำกับ
  • ไม่ได้รวมความสามารถอย่างการปรับแต่งความเร็วแบบเดียวกับอิมพลีเมนเทชันทางการ
  • ไม่มีการตั้งต้นพารามิเตอร์ที่เหมาะสมมาให้ แต่สามารถเพิ่มได้โดยไม่กระทบต่อความอ่านง่าย

Demo

  • มีไฟล์ demo.ipynb ที่แสดงตัวอย่างการทำ prompt completion
  • มีตัวอย่างการสร้างข้อความโดยใช้โมเดล Mamba และ AutoTokenizer
  • ในข้อความตัวอย่างที่สร้างขึ้น Mamba ถูกบรรยายว่าเป็นงูพิษที่ยาวที่สุดในโลก

References

  • สถาปัตยกรรม Mamba ถูกนำเสนอในงานวิจัย "Mamba: Linear-Time Sequence Modeling with Selective State Spaces" ที่เขียนโดย Albert Gu และ Tri Dao
  • สามารถดูอิมพลีเมนเทชันทางการได้บน GitHub

ความเห็นของ GN⁺

  • mamba-minimal เป็นโปรเจ็กต์ที่ลดความซับซ้อนของอิมพลีเมนเทชัน Mamba เดิม เพื่อให้วิศวกรซอฟต์แวร์มือใหม่ก็สามารถทำความเข้าใจได้
  • โปรเจ็กต์นี้ช่วยเพิ่มความอ่านง่ายและความเข้าใจของโค้ดในสายงานแมชชีนเลิร์นนิง
  • ผ่านตัวอย่างการใช้งานจริง จึงแสดงให้เห็นวิธีใช้โมเดล Mamba ได้อย่างเข้าใจง่าย และอาจเป็นแหล่งเรียนรู้ที่น่าสนใจมากสำหรับผู้เรียน

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

 
GN⁺ 2023-12-21
ความเห็นจาก Hacker News
  • แชร์ไลบรารี

    • ผู้แสดงความคิดเห็นได้สร้างไลบรารีร่วมกับเพื่อนร่วมงานเพื่อดึงโค้ดโมเดลส่วนที่ใช้ร่วมกันส่วนใหญ่ออกมา โดยโมเดลส่วนใหญ่สามารถเขียนได้ในราว 100 บรรทัด หากไม่รวมขั้นตอน import ของ Python และคอมเมนต์
    • ยกตัวอย่างโมเดลอย่าง BERT, Llama 1/2 และ MPT พร้อมรองรับ TorchScript JIT, PyTorch flash attention เป็นต้น
  • แชร์การทำ Mamba inference

    • โค้ด Mamba มีหลายส่วนที่นำไปใช้กับการเทรนโดยตรงได้ยาก เช่น ส่วนที่ปรับแต่งความเร็ว จึงได้แชร์ implementation สำหรับ Mamba inference ของตนเองที่อาจช่วยในเรื่องนี้ได้
  • ขอคำอธิบาย Mamba สำหรับคนทั่วไป

    • มีการขอคำอธิบายแบบไม่ใช่ผู้เชี่ยวชาญเกี่ยวกับแก่นสำคัญของ Mamba, state space model, เหตุผลที่ Mamba ประสบความสำเร็จ และข้อดีอื่นของ Mamba แม้จะไม่ได้สนใจเรื่องความยาวของคอนเท็กซ์ก็ตาม
  • ความคาดหวังต่อแกนอัลกอริทึม

    • เดิมคาดว่าแกนหลักของอัลกอริทึม Mamba จะเป็น parallel prefix scan แต่โค้ดจริงกลับถูก implement ด้วยวิธีอื่น
  • มุกขำ ๆ เกี่ยวกับ Mamba

    • ขำกับมุกที่ว่า Mamba เป็นงูพิษที่ยาวที่สุดในโลก และชอบที่สามารถอ้างอิงบทความบน arXiv เพื่อพอมองเห็นสิ่งที่ซ่อนอยู่เบื้องหลังงานวิจัยนี้ได้
  • คำถามเรื่องความยากในการฝึก Mamba

    • มีการถามว่าการฝึกโมเดล Mamba ที่อยู่บน Huggingface นั้นยากแค่ไหน และถ้าจะฝึกโมเดลที่ใหญ่ที่สุดต้องใช้ GPU กี่ตัวและใช้เวลานานเพียงใด
  • แชร์ความพยายามตีความเวอร์ชัน CUDA ทางการ

    • เคยพยายามตีความเวอร์ชัน CUDA ทางการแต่ไม่สำเร็จ และหลังจากนั้นก็ไม่ได้ลองอีก โดยมองว่า implementation ใหม่นี้ดีกว่ามากเมื่อเทียบกัน
  • ชื่นชม implementation แบบ PyTorch ไฟล์เดียว

    • แสดงความทึ่งกับ implementation แบบ PyTorch ไฟล์เดียวอีกครั้ง และมองว่างานลักษณะนี้สำคัญต่อการวิจัย ML ที่มีประสิทธิภาพ ความเร็วในการทำวิจัยสัมพันธ์กับส่วนกลับของเวลาที่ใช้รันการทดลอง ซึ่งเชื่อมโยงกับความซับซ้อนแบบ Kolmogorov ของโค้ด พร้อมย้ำว่าเครื่องมือวิจัยสำคัญมากต่อการเร่งกระบวนการค้นพบความรู้
  • ขอชวนคุยเกี่ยวกับงานต้นฉบับ

    • ถามว่ามีการพูดคุยเกี่ยวกับงานต้นฉบับหรือไม่ พร้อมชี้ว่าโมเดลก่อนหน้าอย่าง RWKV และ RetNet ขาด implementation ที่มีประสิทธิภาพ ทำให้ผลลัพธ์เต็มรูปแบบสำหรับความยาวคอนเท็กซ์ 8k หายไป เนื่องจากปัญหาหน่วยความจำหรือความต้องการการคำนวณที่ไม่สมจริง
  • ชื่นชมการย่อแก่นสารสำคัญ

    • ชอบที่สิ่งซับซ้อนถูกย่อและนำเสนอเหลือเฉพาะส่วนที่เป็นแก่นแท้