Intel introduce "Intel Advance Matrix Extension " AMX Technology "
หลังจากเปิดตัวคำสั่ง Intel AVX512 VNNI และ Intel AVX512 BFLOAT16 สองชุดคำสั่งใหม่ใน 3rd Generation Xeon Processor แล้ว
ทีมวิศวกร Intel จาก Israel Development Center ก็ได้ต่อยอดคำสั่งใหม่เพื่อสนับสนุน AI และ Deep Learning ขั้นสูงต่อยอดอีกหนึ่งชุด
ซึ่งจะเริ่มใช้เป็นครั้งแรกใน CPU Sapphire Rapids ในปี 2021 นั่นก็คือ Intel AMX Technology ที่จะมาช่วยในงานประมวลผล AI และ DL ในระดับก้าวหน้าไปอีกขั้น
การประมวลผลในยุค AI และ DL ยุคปัจจุบันล้วนอาศัยการทำงานภายใต้สมการทางคณิตศาสตร์ที่ซับซ้อนและมีการใช้งานเมตริกซ์และดีเทอร์มิแนนซ์
ของเมตริกซ์เป็นส่วนสำคัญในการแก้ไขสมการเชิงซ้อนที่บรรจุข้อมูลจำนวนมหาศาล ที่ยุ่งยากไปกว่านั้นข้อมูลเหล่านี้เมื่อเขียนในรูปเมตริกซ์ก็มีมิติที่แตก
ต่างกัน เมื่อจำเป็นต้องนำมาประมวลผลตามสมการเชิงซ้อน เวลาที่ใช้ในการประมวลผลด้วย CPU ปกติก็จะยิ่งนานไปตามข้อจำกัดของแต่ละสถาปัตยกรรม
ดีเทอร์มีแนนซ์ของเมตริกซ์ เป็นฟังก์ชั่นหลักสำคัญในกระบวนการประมวลผลข้อมูลที่ไม่อาจหลีกเลี่ยงได้ มันจำเป็นในการหาอินเวิร์สของเมตริกซ์และใช้
งานทุกครั้งที่มีการดำเนินการกับข้อมูลเมตริกซ์ในมิติที่แตกต่างกัน ไม่ว่าจะเป็นการคูณหรือการหาร การประมวลผลข้อมูลที่มีประสิทธิภาพในยุคใหม่จากนี้
จึงต้องการคำสั่งพิเศษที่จะทำใหกระบวนการหาดีเทอร์มีแนนซ์และอินเวิรส์ของเมตริกซ์ให้ได้รวดเร็วที่สุดเท่าที่ฮาร์ดแวร์ของ CPU จะตอบสนองได้ และนี่
จึงเป็นที่มาของเทคโนโลยีใหม่ล่าสุดนี้จาก Intel
ในยุคของ Sunny Cove Microarchitect แม้ว่าจะมีคำสั่ง Intel AVX512 ที่ช่วยเร่งการประมวลผลการกระทำทางเมตริกซ์จำนวนหลายฟังก์ชั่น
แต่ข้อจำกัดของความแตกต่างในมิติของเมตริกซ์ก็ยังที่เรากล่าวมาข้างต้นก็ยังทำให้ CPU สูญเสียเวลาในการประมวลผลข้อมูลชนิดเมตริกซ์นี้ในระดับที่สูง
โดยเฉพาะอย่างยิ่งขนาดของเมตริกซ์ที่ใหญ่และเมตริกซ์ที่มีมิติการจัดเก็บข้อมูลที่แตกต่างกันหลายชุด
เพื่อเร่งการทำงานในส่วนการคูณและหารรวมทั้งการหาค่าดีเทอร์มีแนนซ์ในสมการเมตริกซ์ให้เร็วขึ้น Intel จึงได้พัฒนาเทคโนโลยีนี้ขึ้นมาโดย
เพิ่มเติมรีจิสเตอร์ขนาด 512 บิต เหมือนในยุคเปิดตัว AVX512 ครั้งแรกใน Skylake SP ในปี 2017 แต่เที่ยวนี้เพิ่มมาแบบมหาศาล โดยจัด
รูปแบบโครงสร้างภายในรีจิสเตอร์ขนาด 512 บิตใหม่ที่เพิ่มเข้ามาในรูปแบบ Tile แต่ละ Tile จะประกอบด้วย รีจิสเตอร์ 512 บิตจำนวน 16 แถว
ใน 1 Core จะมีทั้งหมด 8 Tile คือ TMM0-7 ดังภาพ
โครงสร้างภายในของเทคโนโลยี Intel AMX ใหม่เพื่อการประมวลผลข้อมูลชนิดเมตริกซ์ได้รวดเร็วที่สุด
ไม่เพียงแต่ชุดคำสั่งนี้จะทำงานได้กับข้อมูลชนิดเวกเตอร์ที่เป็นการจำลองรูปแบบมาจากเมตริกซ์เท่านั้น สำหรับข้อมูลชนิด scalar พื้นฐานรวมถึงข้อมูลที่ผ่านการ
ประมวลผลจากคำสั่ง Intel AVX512 VNNI และ BFLOAT16 ใหม่ที่เพิ่มเติมเข้ามา ก็ยังสามารถทำงานได้อีกด้วย
Intel AMX สนับสนุนข้อมูลชนิดทศนิยมใหม่ BFLOAT16 เต็มรูปแบบ
ภายใต้สถาปัตยกรรม Intel AMX จะมี Tile Matrix Multiply Unit 2 ชุดทำหน้าที่เร่งดำเนินการคูณข้อมูลในเมตริกซ์ที่บรรจุข้อมูลรีจิสเตอร์แต่ละ Tile จะประกอบด้วยรีจิสเตอร์ขนาด 512 บิตจำนวน 16 ชุด CPU 1 Core จะมีทั้งหมด 8 Tile คือ TM0-7
ตัวอย่างคำสั่ง Dot Matrix ใหม่กับข้อมูลในรูปแบบ INT8/INT16 (AVX512 VNNI) และ BFLOAT16 (AVX BFLOAT16)
ประสิทธิภาพและการทำงานในส่วนการวิเคราะห์และการคำนวนอย่างต่อเนื่องในยุค Sapphire Rapidsจะทำได้รวดเร็วกว่าCPU ทั่วไปประมาณ 3 เท่า ผนวกกับสถาปัตยกรรม CPU ที่สนับสนุนคุณสมบัติใหม่ๆ มากมาย ไม่ว่าจะเป็นระบบการเชื่อมต่อหน่วยความจำชนิด DDR5 ระบบ Sub System PCIe 5.0 และสื่อบันทึกข้อมูลในมาตรฐาน Eagle Stream Platform ที่สนับสนุน PCIe 5.0 จะทำให้ประสิทธิภาพการทำงานของ Sapphire Rapid มีความแข็งแกร่งในระดับที่ยอดเยี่ยม
ตัวอย่างการคูณเมตริกซ์ที่น่าสนใจจาก Intel AMX กับการคำนวนผลคูณเมตริกซ์
C= A x B ซึ่งเป็นฟังก์ชั่นพื้นฐานที่มีการใช้งานบ่อยมาก เมื่อประยุกต์ใช้กับระบบ Tile Matrix Multiply ใหม่
Comment