อ่าน 2 นาที
พีชคณิตเชิงเส้นแบบเร่งรัด
XLA ( Accelerated Linear Algebra ) เป็นคอมไพเลอร์โอเพนซอร์ส สำหรับการเรียนรู้ของเครื่องที่พัฒนาโดยโครงการ OpenXLA XLA
พีชคณิตเชิงเส้นแบบเร่งรัด
| XLA (พีชคณิตเชิงเส้นแบบเร่งรัด) | |
|---|---|
| นักพัฒนา | โอเพ่นเอ็กซ์แอลเอ |
| เขียนเป็น | ซี++ |
| ระบบปฏิบัติการ | ลินุกซ์ , มอสซาเรลล่า , วินโดวส์ |
| พิมพ์ | คอมไพเลอร์ |
| ใบอนุญาต | ใบอนุญาต Apache 2.0 |
| เว็บไซต์ | openxla.org |
| ที่เก็บข้อมูล | xlaบนGitHub |
XLA ( Accelerated Linear Algebra ) เป็นคอมไพเลอร์โอเพนซอร์ส สำหรับการเรียนรู้ของเครื่องที่พัฒนาโดยโครงการ OpenXLA [ 1 ] XLA ได้รับการออกแบบมาเพื่อปรับปรุงประสิทธิภาพของโมเดลการเรียนรู้ของเครื่องโดยการเพิ่มประสิทธิภาพกราฟการคำนวณในระดับที่ต่ำกว่า ทำให้มีประโยชน์อย่างยิ่งสำหรับการคำนวณขนาดใหญ่และโมเดลการเรียนรู้ของเครื่องที่มีประสิทธิภาพสูง คุณสมบัติหลักของ XLA ได้แก่: [ 2 ]
- การคอมไพล์กราฟการคำนวณ: คอมไพล์กราฟการคำนวณให้เป็นรหัสเครื่องที่ มีประสิทธิภาพ
- เทคนิคการเพิ่มประสิทธิภาพ: ใช้การรวมการทำงาน การเพิ่มประสิทธิภาพหน่วยความจำ และเทคนิคอื่นๆ
- การรองรับฮาร์ดแวร์: ปรับแต่ง โมเดลให้เหมาะสมกับฮาร์ดแวร์ต่างๆ รวมถึงCPU , GPUและNPU
- ปรับปรุงเวลาการประมวลผลของโมเดล: มีเป้าหมายเพื่อลดเวลาการประมวลผลของโมเดลการเรียนรู้ของเครื่อง ทั้งในส่วนของการฝึกฝนและการอนุมาน
- การผสานรวมอย่างราบรื่น: สามารถใช้งานร่วมกับโค้ดแมชชีนเลิร์นนิงที่มีอยู่เดิมได้โดยมีการเปลี่ยนแปลงเพียงเล็กน้อย
XLA ถือเป็นก้าวสำคัญในการปรับปรุงโมเดลการเรียนรู้ของเครื่อง โดยมอบเครื่องมือให้กับนักพัฒนาเพื่อเพิ่มประสิทธิภาพการคำนวณและสมรรถนะ[ 3 ] [ 4 ]
โครงการ OpenXLA
โครงการ OpenXLAเป็นโครงการคอมไพเลอร์และโครงสร้างพื้นฐานด้านแมชชีนเลิร์นนิงแบบโอเพนซอร์ส ที่มีจุดประสงค์เพื่อจัดหาชุดเครื่องมือทั่วไปสำหรับการคอมไพล์และใช้งานโมเดลแมชชีนเลิร์นนิงในเฟรมเวิร์กและแพลตฟอร์มฮาร์ดแวร์ต่างๆ โดยมีสแต็กการคอมไพล์แบบโมดูลาร์ที่สามารถใช้งานได้กับเฟรมเวิร์กดีพลิเคชันหลักๆ เช่นJAX , PyTorchและTensorFlowโครงการนี้มุ่งเน้นการจัดหาองค์ประกอบที่ใช้ร่วมกันเพื่อเพิ่มประสิทธิภาพ ความสามารถในการพกพา และการประมวลผลบน CPU, GPU และตัวเร่งความเร็วเฉพาะทาง การออกแบบเน้นความสามารถในการทำงานร่วมกันระหว่างเฟรมเวิร์กและชุดการแสดงผลมาตรฐานสำหรับการคำนวณโมเดล
ส่วนประกอบ
ระบบนิเวศ OpenXLA ประกอบด้วยส่วนประกอบหลักหลายอย่าง:
- XLA – คอมไพเลอร์สำหรับการเรียนรู้เชิงลึกที่ปรับแต่งกราฟการคำนวณให้เหมาะสมกับฮาร์ดแวร์หลายประเภท
- PJRT – อินเทอร์เฟซรันไทม์ที่ช่วยให้แบ็กเอนด์ต่างๆ สามารถเชื่อมต่อกับ XLA ผ่านAPI ที่ สม่ำเสมอ
- StableHLO – ชุดตัวดำเนินการระดับสูงที่ออกแบบมาเพื่อใช้เป็นตัวแทนที่เสถียรและพกพาได้สำหรับโมเดล ML ในคอมไพเลอร์และเฟรมเวิร์กต่างๆ
- Shardy – ระบบที่ใช้ MLIR ในการอธิบายและแปลงโมเดลที่ทำงานในสภาพแวดล้อมแบบกระจายหรือหลายอุปกรณ์
- เครื่องมือเพิ่มเติมสำหรับการวิเคราะห์ประสิทธิภาพ การทดสอบ และการบูรณาการ อยู่ภายใต้การดูแลขององค์กร OpenXLA
ผู้ใช้และผู้นำไปใช้
เฟรมเวิร์กการเรียนรู้ของเครื่องหลายเฟรมเวิร์กสามารถใช้หรือทำงานร่วมกับส่วนประกอบ OpenXLA ได้ รวมถึง JAX, TensorFlow และส่วนต่างๆ ของระบบนิเวศ PyTorch โครงการนี้ได้รับการพัฒนาโดยมีส่วนร่วมจากองค์กรฮาร์ดแวร์และซอฟต์แวร์หลายแห่งที่ให้การสนับสนุนการบูรณาการแบ็กเอนด์ การทดสอบ หรือข้อกำหนดสำหรับอุปกรณ์ของตน ซึ่งรวมถึงAlibaba , Amazon Web Services , AMD , Anyscale, Apple , Arm, Cerebras , Google , Graphcore , Hugging Face , Intel , Meta , NVIDIAและSiFive [ 5 ]
อุปกรณ์เป้าหมายที่รองรับ
- x86-64
- อาร์เอ็ม64
- จีพียูNVIDIA
- การ์ดจอAMD
- จีพียูของ Intel [ 6 ]
- แอปเปิล GPU [ 7 ]
- Google TPU
- AWS Trainium, Inferentia [ 8 ]
- เซเรบราส[ 9 ]
- กราฟคอร์ IPU [ 10 ]
การปกครอง
OpenXLA พัฒนาขึ้นในฐานะโครงการชุมชน โดยมีการดำเนินงานในคลังเก็บข้อมูลสาธารณะ ฟอรัมสนทนา และการประชุมออกแบบ ส่วนประกอบบางอย่าง เช่น StableHLO เริ่มต้นจากการดูแลขององค์กรเฉพาะ และได้วางแผนสำหรับรูปแบบการกำกับดูแลที่เป็นทางการและกระจายอำนาจมากขึ้นเมื่อโครงการเติบโตขึ้น
ประวัติศาสตร์
โครงการนี้ได้รับการประกาศในปี 2022 โดยมีเป้าหมายเพื่อประสานงานการพัฒนาเทคโนโลยีคอมไพเลอร์ ML ในบริษัท AI ชั้นนำต่างๆ ได้แก่ Alibaba, Amazon Web Services, AMD, Anyscale, Apple, Arm, Cerebras, Google, Graphcore, Hugging Face, Intel, Meta, NVIDIA และ SiFive โครงการนี้ได้รวมคอมไพเลอร์ XLA เข้าด้วยกัน แนะนำ StableHLO เป็นชุดตัวดำเนินการแบบพกพา และสร้างโครงสร้างที่เป็นหนึ่งเดียวสำหรับเครื่องมือเพิ่มเติม การพัฒนายังคงดำเนินต่อไปในที่เก็บข้อมูลหลายแห่งภายใต้ร่มของ OpenXLA โครงการนี้ก่อตั้งโดย Eugene Burmako, James Rubin, Magnus Hyttsten, Mehdi Amini, Navid Khajouei และ Thea Lamkin จากองค์กร Machine Learning ของ Google [ 11 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พีชคณิตเชิงเส้นแบบเร่งรัด
XLA ( Accelerated Linear Algebra ) เป็นคอมไพเลอร์โอเพนซอร์ส สำหรับการเรียนรู้ของเครื่องที่พัฒนาโดยโครงการ OpenXLA XLA
โครงการ OpenXLA
โครงการ OpenXLA เป็นโครงการคอมไพเลอร์และโครงสร้างพื้นฐานด้านแมชชีนเลิร์นนิงแบบโอเพนซอร์ส ที่มีจุดประสงค์เพื่อจัดหาชุดเครื่องมือทั่วไปสำหรับการคอมไพล์และใช้งานโมเดลแมชชีนเลิร์นนิงในเฟรมเวิร์กและแพลตฟอร์มฮาร์ดแวร์ต่างๆ...
ส่วนประกอบ
ระบบนิเวศ OpenXLA ประกอบด้วยส่วนประกอบหลักหลายอย่าง:
ผู้ใช้และผู้นำไปใช้
เฟรมเวิร์กการเรียนรู้ของเครื่องหลายเฟรมเวิร์กสามารถใช้หรือทำงานร่วมกับส่วนประกอบ OpenXLA ได้ รวมถึง JAX, TensorFlow และส่วนต่างๆ ของระบบนิเวศ PyTorch...