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

การเพิ่มประสิทธิภาพของคอมไพเลอร์ ML

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

ชุดข้อมูล TpuGraphs

  • มีเป้าหมายเพื่อพัฒนาคอมไพเลอร์ ML ให้ดีขึ้นเพื่อเพิ่มประสิทธิภาพของโมเดล ML
  • ติดตั้ง cost model ที่ผ่านการฝึกแล้วเข้าไปในคอมไพเลอร์ โดยรับโปรแกรมและการตั้งค่าคอมไพเลอร์เป็นอินพุต แล้วให้ผลเป็นเวลารันที่คาดการณ์ของโปรแกรม
  • ชุดข้อมูล TpuGraphs ถูกเผยแพร่สำหรับ cost model ที่เรียนรู้จากโปรแกรมที่รันบน Tensor Processing Units (TPUs) แบบปรับแต่งของ Google

การแข่งขัน Kaggle

  • การแข่งขัน "Fast or Slow? Predict AI Model Runtime" ที่ใช้ชุดข้อมูล TpuGraph ได้สิ้นสุดลง โดยมีผู้เข้าร่วม 792 คนและ 616 ทีม
  • ผู้เข้าร่วมใช้เทคนิคใหม่หลากหลาย เช่น graph pruning/compression, ค่า padding ของฟีเจอร์, ฟีเจอร์ของโหนด, และ cross-configuration attention

งาน NeurIPS Expo

  • หากคุณสนใจงานวิจัยด้านข้อมูลเชิงโครงสร้างและปัญญาประดิษฐ์ ควรจับตาพาเนลในงาน NeurIPS Expo วันที่ 9 ธันวาคมหัวข้อ "Graph Learning Meets Artificial Intelligence"

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

  • การเพิ่มประสิทธิภาพของคอมไพเลอร์ ML เป็นสาขาสำคัญที่สามารถช่วยเพิ่มความเร็วและประสิทธิภาพการทำงานของโมเดล ML ได้อย่างมาก
  • ทรัพยากรอย่างชุดข้อมูล TpuGraphs ช่วยผลักดันงานวิจัยด้านการเพิ่มประสิทธิภาพโปรแกรมด้วย ML และมีส่วนช่วยยกระดับสมรรถนะของระบบ ML
  • การแข่งขัน Kaggle เป็นแพลตฟอร์มที่ส่งเสริมความร่วมมือและนวัตกรรมในชุมชน ML โดยช่วยให้ผู้เข้าร่วมได้แบ่งปันและพัฒนาแนวทางและเทคนิคใหม่ ๆ

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

 
GN⁺ 2023-12-17
ความเห็นจาก Hacker News
  • การยกย่อง ML compiler เกินจริง

    ML compiler กำลังถูกยกย่องเกินจริง เช่นเดียวกับคอมไพเลอร์แบบดั้งเดิม มันมี trade-off อยู่เสมอ แม้ว่าจะให้ throughput ได้มากกว่าการจ้างโปรแกรมเมอร์ผู้เชี่ยวชาญด้าน performance แต่คนกลุ่มหลังมักรีดประสิทธิภาพได้สูงกว่ามาก ML compiler ด้อยกว่าในหลายระดับ ทั้งในเชิงอัลกอริทึมที่ไม่ให้ feedback ว่าควรปรับแก้เครือข่ายอย่างไร เกิดการสูญเสียเจตนาของการออกแบบ และสร้าง kernel ที่ไม่มีประสิทธิภาพ เมื่อเทียบกับโปรแกรมเมอร์ assembly ระดับผู้เชี่ยวชาญแล้ว ประสิทธิภาพของคอมไพเลอร์อาจต่ำกว่ามากกว่า 30%

  • สถานะปัจจุบันและคำมั่นสัญญาของ ML compiler

    คำถามเกี่ยวกับสถานะปัจจุบันและศักยภาพในระยะสั้นของ ML compiler

  • การปรับปรุงการคาดการณ์ประสิทธิภาพรันไทม์ของ computational graph

    สรุปการปรับปรุงวิธีคาดการณ์ประสิทธิภาพรันไทม์ของ computational graph โดยใช้ GNN ใช้พจนานุกรม embedding สำหรับ operation code ของแต่ละโหนดร่วมกับคุณลักษณะอื่นของโหนด และมีการเปิดเผยชุดข้อมูลของคอนฟิกการคอมไพล์ XLA แบบต่าง ๆ บน TPU พร้อมข้อมูลประสิทธิภาพที่เกี่ยวข้อง เพื่อปรับปรุงการคาดการณ์สำหรับกราฟที่ใหญ่ขึ้น จึงใช้การแบ่งกราฟ (METIS graph partitioning) และวิธีฝึกแบบอื่น ๆ งานนี้เกี่ยวข้องเฉพาะกับการคาดการณ์ประสิทธิภาพ ไม่ได้ปรับปรุงหรือเสนอกราฟใหม่ที่เทียบเท่ากัน

  • คำถามเกี่ยวกับโครงการ Gemini

    คำถามเกี่ยวกับสถานะปัจจุบันของโครงการ Gemini

  • ขอคำอธิบายวิธีทำงานของ convolution (conv) ภายในกราฟ

    ขอคำอธิบายว่าการทำ convolution กับ tensor รูปแบบเฉพาะเกิดขึ้นได้อย่างไร

  • Transformer มีความเป็น optimal หรือไม่

    คำถามว่ามีสัญญาณบ่งชี้หรือไม่ว่า Transformer นั้น optimal ในแง่ใดบ้าง

  • ความเห็นต่อย่อหน้าแรก

    มีความเห็นว่าย่อหน้าแรกกลบประเด็นสำคัญ แต่ส่วนที่เหลือนั้นน่าสนใจ

  • ความทึ่งต่อความเร็วของการพัฒนา ML

    มีความเห็นว่า ML กำลังพัฒนาอย่างน่าทึ่งในตอนนี้ แม้จะไม่เชื่อเรื่อง singularity แต่ก็เห็นว่ามันกำลังเปลี่ยนซอฟต์แวร์และสังคมในแบบที่คาดเดาไม่ได้

  • [ความคิดเห็นที่ถูกปักธง]

    มีความคิดเห็นสองรายการที่ถูกปักธงไว้จึงไม่สามารถดูเนื้อหาได้