โปรเซสเซอร์สำหรับปัญญาประดิษฐ์: ลักษณะและความแตกต่าง

ปัญญาประดิษฐ์เพิ่มมากขึ้นในช่วงไม่กี่ปีที่ผ่านมาไม่ว่าเราจะพูดถึง Machine Learning หรือ Deep Learning การเรียนรู้หรือการอนุมานจาก SoC สำหรับโทรศัพท์มือถือไปจนถึง GPU. แอพพลิเคชั่นของมันกว้างและอยู่ในตลาดที่แตกต่างกัน นั่นคือเหตุผลที่เราจะแนะนำให้คุณรู้จักกับโปรเซสเซอร์ประเภทต่างๆสำหรับปัญญาประดิษฐ์ลักษณะของมันและความแตกต่างระหว่างพวกมัน

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

ฮาร์ดแวร์ใด ๆ ที่ดีสำหรับ AI

โปรเซสเซอร์สำหรับปัญญาประดิษฐ์

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

ดังนั้นการอ้างว่าฮาร์ดแวร์ใด ๆ ที่ใช้สำหรับปัญญาประดิษฐ์จึงถูกนำมาด้วยเม็ดเกลือเห็นได้ชัดว่าเราสามารถเรียกใช้อัลกอริทึมบนฮาร์ดแวร์ใดก็ได้ แต่ระดับประสิทธิภาพจะต่ำกว่ามากเมื่อเราพูดถึงหน่วยทั่วไปมากกว่าและไม่ใช่เฉพาะ

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

โปรเซสเซอร์ประเภทแรกสำหรับ AI: อาร์เรย์ systolic

อาร์เรย์ Systolic เป็นหน่วยประเภทหนึ่งที่เราได้พูดถึงไปแล้วในบทความเรื่อง " โปรเซสเซอร์เฉพาะสำหรับ AI คืออะไรและทำงานอย่างไร ” ในเว็บไซต์เดียวกับที่เป็น HardZone ดังนั้นหากคุณต้องการเวอร์ชันที่มีรายละเอียดมากขึ้นเราขอแนะนำให้คุณอ่านบทความนี้ซึ่งเราจะอธิบายการทำงานโดยละเอียด

อาร์เรย์ซิสโตลิกจะขึ้นอยู่กับแนวคิดพื้นฐานเดียวกันกับส่วนที่เหลือของโปรเซสเซอร์ในกรณีนี้คืออาร์เรย์ของ ALU ซึ่งแต่ละอันจะไม่ส่งผลลัพธ์ไปยังรีจิสเตอร์ แต่จะส่งไปยัง ALU ที่อยู่ถัดจากนั้นยกเว้นในตอนท้ายซึ่ง คือที่ที่พวกเขาเข้าไป และข้อมูลที่จะประมวลผลจะออกมา

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

โปรเซสเซอร์ประเภทที่สองสำหรับปัญญาประดิษฐ์: ASIC

NVIDIA RC-18

หน่วยประมวลผล AI เฉพาะประเภทที่สองเป็นวิวัฒนาการของประเภทแรกเช่นเดียวกับอาร์เรย์ systolic ทุกหน่วยเชื่อมต่อกันในเมทริกซ์ แต่มีความแตกต่างที่สำคัญอย่างหนึ่ง

แต่ละองค์ประกอบไม่ใช่ ALU แต่เป็นโปรเซสเซอร์ที่สมบูรณ์ซึ่งมีหน่วยความจำภายในของตัวเองและสื่อสารกับองค์ประกอบที่อยู่ถัดจากนั้น ดังนั้นในหน่วยประเภทนี้อัลกอริทึมที่ซับซ้อนมากขึ้นสำหรับ AI สามารถดำเนินการได้ดังนั้นจึงมีความคล่องตัวมากขึ้นเมื่อเขียนโปรแกรมอัลกอริทึมด้วยเครื่องมือเช่น Tensorflow และ Pytorch แต่ไม่มีอัตราส่วนกำลังต่อพื้นที่ที่ดีเยี่ยม และการใช้อาร์เรย์ซิสโตลิกเนื่องจากความซับซ้อนมากขึ้น

ประโยชน์หลัก? ความจริงที่ว่าหน่วยของพวกเขามีความซับซ้อนมากขึ้นทำให้สามารถเรียกใช้อัลกอริทึมประเภทใดก็ได้ในขณะที่ในกรณีของอาร์เรย์ซิสโตลิกความสามารถของพวกเขามี จำกัด เนื่องจากสิ่งเหล่านี้ได้รับการออกแบบโดยคำนึงถึงพื้นที่และการบริโภคเป็นหลัก โดยเฉพาะอย่างยิ่งอาร์เรย์ซิสโตลิกสามารถพบได้ในโปรเซสเซอร์ประเภทอื่น ๆ ในขณะที่ ASIC เฉพาะเป็นหน่วยในตัวมันเอง

โปรเซสเซอร์ประเภทที่สามสำหรับปัญญาประดิษฐ์: FPGA

FPGA อาร์คิเทกตูรา

โปรเซสเซอร์พิเศษประเภทที่สามสำหรับ AI คือ FPGA ซึ่งไม่เพียง แต่ชิปเฉพาะ แต่ยังฝังอยู่ใน SoCs หรือ eFPGA ด้วย เหตุผลนี้ก็คือ FPGA โดยธรรมชาติของพวกเขาอนุญาตให้มีอินพุตและเอาต์พุตหลายตัวในเวลาเดียวกันและการเชื่อมต่อระหว่างองค์ประกอบต่างๆที่ประกอบขึ้นด้วยความสามารถในการกำหนดค่า

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

ประโยชน์ที่ใหญ่ที่สุด? ความจริงที่ว่าการกำหนดค่าได้เราสามารถทำให้ FPGA ทำงานเป็น ASIC หรือเป็นอาร์เรย์ซิสโตลิกได้ดังนั้นเมื่อจำเป็นต้องมีความสามารถในการเขียนโปรแกรมของ ASICs FPGA หรือชุดของ FPGA ก็สามารถกำหนดค่าได้เช่นกันหากจำเป็นต้องใช้พลังงาน ของอาร์เรย์ systolic จากนั้น FPGA สามารถกำหนดค่าเป็นไดรฟ์ประเภทนั้นได้

โปรเซสเซอร์ประเภทที่สี่สำหรับปัญญาประดิษฐ์: GPU

หุ้น NVIDIA Mineria

การ์ดกราฟิกยังสามารถใช้สำหรับการคำนวณอัลกอริทึมสำหรับ AI และไม่เราไม่ได้หมายถึงสิ่งเหล่านี้ NVIDIA และ Tensor Cores แต่การคำนวณทั้งหมดด้วยเมทริกซ์สามารถเป็นเวกเตอร์ได้ดังนั้นจึงเปลี่ยนเป็นการคำนวณเวกเตอร์จากมุมมองทางคณิตศาสตร์เพื่อดำเนินการในหน่วย SIMD แบบคลาสสิกใน GPU ประสิทธิภาพไม่ดีเท่าหน่วยอื่น ๆ และประสิทธิภาพเมื่อเทียบกันแล้วต่ำกว่ามาก แต่สูงกว่าของซีพียู

หนึ่งในกุญแจสำคัญในการใช้กราฟิกการ์ดสำหรับ AI คือการรองรับรูปแบบข้อมูลที่มีความแม่นยำต่ำซึ่งโดยปกติจะไม่ใช้สำหรับการคำนวณแบบกราฟิก แต่ในโปรเซสเซอร์สำหรับปัญญาประดิษฐ์ ซึ่งหมายความว่า GPU เหล่านี้รองรับรูปแบบเหล่านี้และสามารถทำงานร่วมกับข้อมูลได้ตามข้อกำหนดเหล่านั้น

สำหรับการคำนวณเมทริกซ์ GPU จะสร้างเวกเตอร์ของเมทริกซ์เนื่องจากไม่ได้ออกแบบมาให้ทำงานกับเมทริกซ์ แต่ใช้เวกเตอร์ กระบวนการ vectorization นี้จำเป็นเพื่อให้ GPU สามารถทำการคำนวณได้ แต่หน่วยที่ช้ากว่าหน่วยอื่น ๆ อีกสามประเภทที่เราได้พูดถึงข้างต้น