คำว่า “field programmable array” หมายถึงอะไร
ชื่อเต็มคือ Field Programmable Gate Array หรือ FPGA ซึ่งสร้างวงจรลอจิกดิจิทัลที่ปรับตั้งได้ ขณะที่ NPU เร่งการคำนวณโครงข่ายประสาทที่รองรับ การเลือกขึ้นกับเส้นทางสัญญาณจริง FPGA อาจเหมาะกับอินเทอร์เฟซขนานหรือการรับข้อมูลที่มีข้อกำหนดเวลาเข้มงวด ส่วน NPU อาจลดความซับซ้อนของงานอนุมานที่เข้ากันได้
จากบอร์ดพัฒนา FPGA สู่ผลิตภัณฑ์ออกแบบเฉพาะ
บอร์ด FPGA พิสูจน์ได้เพียงบางส่วนของระบบ งานออกแบบเฉพาะยังต้องมีลำดับจ่ายไฟ สัญญาณนาฬิกา อินเทอร์เฟซหน่วยความจำ การออกแบบความร้อน และวิธีทดสอบซ้ำได้ เปรียบเทียบภาระออกแบบและตรวจสอบกับ MPU หรือ SoC FPGA ต้นทุนรวมวิศวกรรม เครื่องมือ ความซับซ้อนของบอร์ด และการทดสอบการผลิต ไม่ใช่เฉพาะชิป
AI MPU คืออะไร
แพลตฟอร์ม MPU ที่รองรับ AI จะรวมไมโครโปรเซสเซอร์ของแอปพลิเคชันเข้ากับซอฟต์แวร์และทรัพยากรการเร่งความเร็วที่จำเป็นสำหรับปริมาณงานแมชชีนเลิร์นนิง เริ่มต้นด้วยการระบุงานที่เป็นของ CPU และประโยชน์ใดจากตัวเร่งความเร็วที่รองรับ
โดยปกติแล้ว MPU หรือไมโครโปรเซสเซอร์แอปพลิเคชันจะเป็นศูนย์กลางซอฟต์แวร์ของระบบ Linux แบบฝัง “AI MPU” ไม่ใช่หมวดหมู่โปรเซสเซอร์ที่แยกจากกัน มากเท่ากับแพลตฟอร์ม MPU ที่รวมหรือทำงานอย่างใกล้ชิดกับทรัพยากรการเร่งความเร็ว เช่น NPU, GPU, DSP หรือ FPGA MPU โฮสต์ Linux, เครือข่าย, พื้นที่เก็บข้อมูล, บริการรักษาความปลอดภัย, ตรรกะของแอปพลิเคชัน และรันไทม์ที่ประสานปริมาณงาน AI
สำหรับการเรียนรู้ของเครื่อง MPU คำถามเชิงปฏิบัติไม่ใช่แค่ความเร็วของ CPU เท่านั้น แบนด์วิธหน่วยความจำ การรองรับตัวเร่งความเร็ว กล้องและคุณภาพ I/O, Linux BSP ความพร้อมใช้งานในระยะยาว การออกแบบการระบายความร้อน และความพร้อมของ model-toolchain มักมีความสำคัญมากกว่าค่า TOPS พาดหัว
อะไรทำให้ MPU เป็นแพลตฟอร์มปัญญาประดิษฐ์ที่ดี
MPU ที่ดีที่สุดสำหรับปัญญาประดิษฐ์นั้นขึ้นอยู่กับปริมาณงานโดยเฉพาะ วิชันเกตเวย์อาจจัดลำดับความสำคัญของ MIPI CSI, ไปป์ไลน์วิดีโอฮาร์ดแวร์ และ NPU คอมพิวเตอร์ภารกิจที่ทนทานอาจต้องใช้ PCIe, พอร์ต Ethernet หลายพอร์ต, แกนร่วมที่กำหนดขึ้นเอง และคุณลักษณะด้านความปลอดภัยที่แข็งแกร่งยิ่งขึ้น แพลตฟอร์มอุตสาหกรรมอาจให้ความสำคัญกับอายุการใช้งานที่ยาวนานของผลิตภัณฑ์, TSN, CAN-FD และระบบนิเวศ Linux ที่มีเสถียรภาพ
เปรียบเทียบแบบจำลองจริงและห่วงโซ่ก่อนการประมวลผลที่สมบูรณ์ แพลตฟอร์มที่มีตัวเลขคันเร่งต่ำกว่าที่โฆษณาไว้จะชนะได้หากหลีกเลี่ยงการคัดลอกหน่วยความจำ รองรับตัวดำเนินการที่จำเป็น และรักษาเส้นทางจากเซ็นเซอร์ไปสู่ผลลัพธ์อย่างมีประสิทธิภาพ
NPU: การอนุมานระบบประสาทที่มีประสิทธิภาพที่ขอบ
Edge NPU ช่วยเร่งความเร็วตัวดำเนินการโครงข่ายประสาทเทียม เช่น การโน้มน้าวใจ การดำเนินการเมทริกซ์ และฟังก์ชันการเปิดใช้งานทั่วไป โดยปกติแล้วจะเป็นสถานที่ที่มีประสิทธิภาพสูงสุดสำหรับโมเดลการตรวจจับ การจำแนกประเภท การแบ่งส่วน และการแยกคุณลักษณะที่ได้รับการสนับสนุน เมื่อปริมาณงานและการอนุมานแบบยั่งยืนมีความสำคัญ
ประสิทธิภาพของ NPU ขึ้นอยู่กับการคอมไพล์และความครอบคลุมของผู้ให้บริการ เลเยอร์ที่ไม่รองรับอาจถอยกลับไปเป็น CPU หรือตัวเร่งความเร็วอื่น ข้อกำหนดด้านปริมาณ เค้าโครงเทนเซอร์ ความละเอียดอินพุต และการเคลื่อนไหวของหน่วยความจำ ยังสามารถเปลี่ยนแปลงประสิทธิภาพในโลกแห่งความเป็นจริงได้อย่างมาก เปรียบเทียบกราฟการผลิตเสมอ แทนที่จะอาศัย TOPS ทางทฤษฎีเพียงอย่างเดียว
FPGA: ไปป์ไลน์ที่กำหนดและการอนุมาน AI ที่ความยืดหยุ่นมีความสำคัญ
FPGA เป็นเลิศในด้านการเคลื่อนที่ของข้อมูลตามที่กำหนด อินเทอร์เฟซแบบกำหนดเอง และไปป์ไลน์ขนานขนาดใหญ่ ในระบบ Edge สามารถดีซีเรียลไลซ์เซ็นเซอร์ จัดตำแหน่งการประทับเวลา กรองข้อมูล สร้างพื้นที่ที่สนใจ ดำเนินการประมวลผลภาพล่วงหน้า และป้อนตัวเร่งความเร็วด้วยเวลาแฝงที่คาดการณ์ได้ การอนุมาน AI ของ FPGA ยังเกิดขึ้นได้เมื่อโมเดลแมปกับ DSP, หน่วยความจำ และสแต็กการเร่งความเร็วของผู้จำหน่ายได้ดี
ข้อเสียคือความพยายามทางวิศวกรรม การออกแบบ RTL หรือ HLS การจำลอง การปิดเวลา การตรวจสอบ และการอัปเดตกลยุทธ์ต้องได้รับการวางแผน ควรเลือก FPGA เนื่องจากพฤติกรรมที่กำหนดขึ้นหรือการขนานแบบกำหนดเองจะสร้างค่าของระบบ ไม่ใช่เพียงเพราะสามารถรันเลขคณิตได้
NPU กับ FPGA สำหรับ Edge AI
การตัดสินใจ NPU กับ FPGA มักเป็นไบนารี่เท็จ โดยทั่วไป NPU เป็นตัวเลือกที่ง่ายกว่าสำหรับโครงข่ายประสาทเทียมที่รองรับและประสิทธิภาพต่อวัตต์ที่แข็งแกร่ง FPGA จะแข็งแกร่งขึ้นเมื่อระบบต้องการอินเทอร์เฟซ เซนเซอร์ แบบกำหนดเอง การประมวลผลล่วงหน้าตามที่กำหนด รูปแบบข้อมูลที่ผิดปกติ หรือไปป์ไลน์ที่มีการควบคุมอย่างเข้มงวดก่อนและหลังการอนุมาน
สถาปัตยกรรมทั่วไปใช้ทั้ง: FPGA สำหรับการนำเข้า เซนเซอร์ และการประมวลผลล่วงหน้า, NPU สำหรับโครงข่ายประสาทเทียม และ MPU สำหรับการประสาน Linux ซึ่งจะช่วยลดปริมาณงานที่ผิดปกติที่ถูกบังคับให้ใช้กับโปรเซสเซอร์ตัวใดตัวหนึ่ง
| ทรัพยากร | ปริมาณงานที่เหมาะสมที่สุด | ข้อจำกัดหลัก |
|---|---|---|
| FPGA | ไปป์ไลน์ที่กำหนด, I/O แบบกำหนดเอง, การประทับเวลา, การประมวลผลล่วงหน้า, การเร่งความเร็วแบบพิเศษ | ความพยายามของ RTL/HLS การตรวจสอบ ทรัพยากรของอุปกรณ์ |
| NPU | รองรับการอนุมานทางประสาทด้วยประสิทธิภาพที่ดีต่อวัตต์ | การสนับสนุนโอเปอเรเตอร์ คอมไพลเลอร์/รันไทม์ การหาปริมาณ และการเคลื่อนไหวของหน่วยความจำ |
| MPU | แอปพลิเคชัน Linux เครือข่าย พื้นที่เก็บข้อมูล ความปลอดภัยทางไซเบอร์ การรวมระบบ | การดำเนินการตามที่กำหนดน้อยลง ค่าใช้จ่ายทั่วไป |
| แกน MCU / RT | ลูปควบคุม การควบคุมความปลอดภัย การจัดลำดับกำลัง I/O เชิงกำหนด | หน่วยความจำที่จำกัดและการประมวลผลระดับสูง |
Edge computing
- เริ่มต้นด้วยกำหนดเวลา: ระบุว่าสัญญาณใดมีข้อกำหนดด้านจังหวะที่ยากและการหน่วงเวลาเซ็นเซอร์ต่อการดำเนินการสูงสุด
- อัตราข้อมูลแผนที่: คำนวณปริมาณงานของ เซนเซอร์ ขนาดเทนเซอร์ระดับกลาง และปริมาณการใช้หน่วยความจำที่แย่ที่สุด
- เก็บการนำเข้าที่กำหนดไว้ใกล้กับอินเทอร์เฟซ: มักจะมีความเหมาะสม FPGA, เอ็นจิ้น DMA หรือคอร์แบบเรียลไทม์
- วางโมเดลประสาทที่รองรับบน NPU: ตรวจสอบความครอบคลุมของตัวดำเนินการและประสิทธิภาพที่รวบรวมตามจริง
- ใช้ MPU สำหรับระบบ: เครือข่าย พื้นที่เก็บข้อมูล อัปเดต การบันทึก API และนโยบายแอปพลิเคชันอยู่ใน Linux โดยธรรมชาติ
- สำรองการควบคุมแบบเรียลไทม์: MCU หรือแกนที่กำหนดขึ้นควรควบคุมการดำเนินการที่มีความสำคัญด้านเวลาและความสมบูรณ์ของแพลตฟอร์มตามที่จำเป็น
แบนด์วิธของหน่วยความจำมักเป็นจุดคอขวดที่ซ่อนอยู่
การออกแบบ Edge AI จำนวนมากมุ่งเน้นไปที่จุดสูงสุดของการประมวลผล และค้นพบในภายหลังว่าการคัดลอก การแปลงสี การจัดรูปแบบเทนเซอร์ใหม่ หรือ DDR ที่ใช้ร่วมกันนั้นครอบงำเวลาแฝง เส้นทางที่มีการคัดลอกเป็นศูนย์หรือมีการคัดลอกน้อย โทโพโลยี DMA พฤติกรรมแคช และการเข้าถึงหน่วยความจำแบบเร่งความเร็วควรได้รับการประเมินตั้งแต่เนิ่นๆ การควบคุมปริมาณความร้อนยังสามารถเปลี่ยนเกณฑ์มาตรฐานที่แข็งแกร่งให้กลายเป็นประสิทธิภาพที่อ่อนแออย่างยั่งยืนได้
สิ่งนี้สำคัญอย่างยิ่งเมื่อกล้องหลายตัว เรดาร์ เซ็นเซอร์เหตุการณ์ หรือสตรีม Ethernet ความเร็วสูงใช้ระบบย่อยหน่วยความจำเดียวกัน
ตัวอย่างสถาปัตยกรรมอ้างอิง
ไปป์ไลน์การมองเห็น / เซ็นเซอร์เหตุการณ์
เซนเซอร์ → การนำเข้า FPGA และการประทับเวลา → การอนุมาน NPU → บริการการตัดสินใจ MPU → เอาต์พุต CAN-FD หรือ Ethernet นี่เป็นรูปแบบที่ชัดเจนสำหรับการรับรู้ที่มีความหน่วงต่ำและเชื่อมโยงโดยตรงกับเรา .
คอมพิวเตอร์ AI ในตัว
I/O ความเร็วสูง → เส้นทาง DMA / ตัวเร่งความเร็ว → การอนุมาน NPU หรือการอนุมาน GPU → บริการแอปพลิเคชัน Linux → ที่เก็บข้อมูลและ API เครือข่าย ของเรา โมดูลคอมพิวเตอร์แบบฝัง และ คอมพิวเตอร์ขอบขรุขระ คลาสผลิตภัณฑ์ถูกสร้างขึ้นจากการแบ่งพาร์ติชันประเภทนี้
เกตเวย์ที่กำหนดอุตสาหกรรม
อินเทอร์เฟซ CAN-FD / อนุกรม / อีเธอร์เน็ต → การประทับเวลา FPGA หรือ MCU และการจัดการโปรโตคอล → บริการ MPU → การวิเคราะห์ NPU เสริม ในที่นี้ I/O ที่กำหนดและการบำรุงรักษาซอฟต์แวร์ในระยะยาวอาจมีความสำคัญมากกว่าปริมาณงาน AI สูงสุด
วิธีเลือกระหว่าง FPGA, NPU และ MPU
เลือกจากปริมาณงานทั้งหมด ไม่ใช่จากป้ายกำกับโปรเซสเซอร์ หากปัญหาหลักคือการอนุมานทางประสาท ให้เริ่มจากความเข้ากันได้ของ NPU หาก I/O แบบกำหนดเองและการประมวลผลล่วงหน้าตามที่กำหนดมีอิทธิพลเหนือ ให้ประเมินทรัพยากร FPGA หากบริการ Linux ระบบเครือข่ายและซอฟต์แวร์แอปพลิเคชันมีอิทธิพล ให้เริ่มต้นด้วยความสามารถ MPU แพลตฟอร์ม Edge ที่มีประสิทธิภาพสูงส่วนใหญ่จะรวมทรัพยากรเหล่านี้อย่างน้อยสองรายการเข้าด้วยกัน
ก่อนที่จะตัดสินใจใช้งานฮาร์ดแวร์ ให้รันตัวแทนสตรีมผ่านสแต็กซอฟต์แวร์ที่ต้องการ และวัดค่าเวลาแฝง พลังงาน แบนด์วิดท์หน่วยความจำ และความร้อนตั้งแต่ต้นทางถึงปลายทาง หลักฐานดังกล่าวมีค่ามากกว่าการจัดอันดับเร่งความเร็วทั่วไป
ตัวอย่างการทำงาน: กล้องสี่ตัวและงบประมาณหน่วยความจำที่ใช้ร่วมกัน
ลองพิจารณาตัวอย่างการวางแผนที่มีสตรีม 1280 × 720 สี่สตรีมที่ 30 เฟรมต่อวินาที ซึ่งแสดงเป็น RGB โดยมีหนึ่งไบต์ต่อแชนเนลหลังจากการแปลงรูปภาพ เพย์โหลดรูปภาพลอจิคัลรวมของพวกเขาคือ 4 × 1280 × 720 × 30 × 3 = 331,776,000 ไบต์ต่อวินาทีประมาณ 332 MB/s ในหน่วยทศนิยม นี่ไม่ใช่บิตเรตลิงก์กล้องหรือประสิทธิภาพที่วัดได้ของผลิตภัณฑ์ ALVEXIS
สำเนาฟูลเฟรมเพิ่มเติมอีกหนึ่งสำเนาจะอ่านและเขียนเพย์โหลดนั้น โดยเพิ่มการรับส่งข้อมูลหน่วยความจำประมาณ 664 MB/วินาที ก่อนที่จะพิจารณาพฤติกรรมแคชหรือการดำเนินการอื่นๆ เทนเซอร์โมเดล การแปลงสี การบันทึก และบริการที่เกิดขึ้นพร้อมกันจะเพิ่มการรับส่งข้อมูลของตนเอง สิ่งนี้อธิบายว่าทำไมการออกแบบอาจถูกจำกัดโดยการเคลื่อนที่ของข้อมูล แม้ว่าคะแนนตัวเร่งพาดหัวข่าวจะดูเพียงพอก็ตาม
| ทำงานถึงที่ | จุดเริ่มต้น | หลักฐานก่อนกระทำการ |
|---|---|---|
| การนำเข้าและการซิงโครไนซ์ของกล้อง | อินเทอร์เฟซ SoC ที่รองรับ พร้อมด้วย FPGA หรืออุปกรณ์คู่หูตามที่จำเป็น | การจับสตรีมพร้อมกัน ลักษณะการประทับเวลา และการสูญเสียภายใต้การโหลด |
| การอนุมานทางประสาท | NPU เมื่อรองรับกราฟและความแม่นยำที่เลือก | ความแม่นยำในการแปลงและการวัดการใช้งานบนอุปกรณ์ที่ยั่งยืน |
| บริการและการบันทึก Linux | ทรัพยากร MPU และเส้นทางหน่วยเก็บข้อมูลที่กำหนดไว้อย่างชัดเจน | CPU, หน่วยความจำ และพฤติกรรม I/O ในขณะที่การอนุมานทำงานอยู่ |
| การควบคุมภายนอกที่มีความสำคัญต่อเวลา | ตัวควบคุมแบบเรียลไทม์ที่เหมาะสมหรือการใช้งานเชิงกำหนดที่ได้รับการตรวจสอบแล้ว | หลักฐานเวลาตอบสนองภายใต้ปริมาณงานกรณีที่เลวร้ายที่สุดที่เกี่ยวข้อง |
วัตถุประสงค์ของการแบ่งพาร์ติชันคือการทำให้แต่ละช่วงเวลาและข้อกำหนดทรัพยากรมีความชัดเจน ไม่ได้หมายความว่าทุกการออกแบบต้องใช้โปรเซสเซอร์สี่ตัวที่แตกต่างกัน เริ่มต้นด้วยสถาปัตยกรรมที่ง่ายที่สุดที่ตรงตามข้อกำหนด จากนั้นเพิ่มทรัพยากรที่การวัดหรือข้อจำกัดของอินเทอร์เฟซเหมาะสม
แผนการตรวจสอบสำหรับการเลือกมิกซ์โปรเซสเซอร์
- หยุดสัญญาอินพุต: เซ็นเซอร์ รูปแบบข้อมูล รุ่น ความละเอียด และสภาวะการทำงาน
- ตรวจสอบการสนับสนุนโมเดลและคุณภาพเอาต์พุตก่อนเปรียบเทียบปริมาณงานของตัวเร่งความเร็ว
- วัดการได้มา การประมวลผลล่วงหน้า การอนุมาน และการส่งมอบแยกกัน จากนั้นวัดเส้นทางที่สมบูรณ์
- ทำซ้ำภายใต้ภาระความร้อนที่ต่อเนื่องโดยที่มีการบันทึก เครือข่าย และเซ็นเซอร์ที่ต้องการทั้งหมดทำงานอยู่
- บันทึกอายุคิว อินพุตที่หายไป และความหน่วงส่วนท้าย ดังนั้นอัตราเฉลี่ยที่สูงจึงไม่ซ่อนความล่าช้าที่ไม่ต่อเนื่อง
เก็บการแก้ไขบอร์ด อิมเมจซอฟต์แวร์ เวอร์ชันของห่วงโซ่เครื่องมือ และอินพุตทดสอบพร้อมกับผลลัพธ์ สำหรับการนำ Rockchip ไปใช้ คู่มือการปรับใช้โมเดล RK3588 พัฒนาขั้นตอนการทำงานนี้ สำหรับข้อมูลกล้องเหตุการณ์ ให้ใช้ คู่มือการรวมซอฟต์แวร์ เพื่อกำหนดการประทับเวลาและการเป็นตัวแทนก่อนเลือกเส้นทางการอนุมาน
หลังจากระบุลักษณะเฉพาะของภาระงานแล้ว ให้เปรียบเทียบ ตัวเลือกการรวม SoM และ SBC. การตัดสินใจดังกล่าวจะเชื่อมโยงสถาปัตยกรรมการประมวลผลเข้ากับตัวเชื่อมต่อ กำลังไฟ ตัวเรือนอุปกรณ์ และงานด้านการผลิต
ตั้งแต่การเลือกโปรเซสเซอร์ไปจนถึงผลิตภัณฑ์ที่สามารถสร้างได้
รายการตัวเลือกโปรเซสเซอร์จะมีประโยชน์เฉพาะเมื่อตรงกับผลิตภัณฑ์ทั้งหมดเท่านั้น ก่อนที่จะสั่งซื้อบอร์ดแบบกำหนดเอง ให้เปลี่ยนภาระงานให้เป็นบทสรุปทางวิศวกรรมสั้นๆ:
- อินพุต: จำนวน เซนเซอร์ อินเทอร์เฟซ อัตราตัวอย่าง และข้อกำหนดในการซิงโครไนซ์
- ภาระงานเอไอ: แบบจำลองจริง รองรับความแม่นยำและคุณภาพผลผลิตที่ยอมรับได้
- ข้อจำกัดทางกายภาพ: ขนาด แหล่งพลังงาน การทำความเย็น และสภาพแวดล้อมการทำงาน
- การจัดส่งสินค้า: ปริมาณต้นแบบ ปริมาณการผลิต ความเป็นเจ้าของซอฟต์แวร์ และการทดสอบการยอมรับ
สำหรับสถานีตรวจสอบ ให้เชื่อมต่อไปป์ไลน์ของกล้องเข้ากับไลน์ทริกเกอร์ ตัวระบุชิ้นส่วน และอินเทอร์เฟซผลลัพธ์ ของเรา ระบบแมชชีนวิชัน อุตสาหกรรมและโซลูชันการควบคุมคุณภาพ อธิบายว่าข้อกำหนดเหล่านั้นกลายเป็น โครงการนำร่อง ได้อย่างไร
คำถามที่พบบ่อยเกี่ยวกับ AI ของขอบ MPU, NPU และ FPGA
MPU AI คืออะไร?
MPU AI อธิบายปริมาณงานปัญญาประดิษฐ์ที่ใช้งานบนแพลตฟอร์มไมโครโปรเซสเซอร์แบบฝัง โดยปกติจะใช้ Linux และบ่อยครั้งจะมีการเร่งความเร็วแบบรวมหรือแบบร่วม เช่น NPU, GPU หรือ FPGA โดยทั่วไปแล้ว MPU จะจัดการแอปพลิเคชัน เครือข่าย พื้นที่เก็บข้อมูล ความปลอดภัย และการจัดการต่างๆ รอบๆ ไปป์ไลน์การอนุมาน
MPU สามารถรันแมชชีนเลิร์นนิงได้หรือไม่
ใช่ ปริมาณงานแมชชีนเลิร์นนิง MPU สามารถทำงานบนคอร์ CPU หรือใช้ตัวเร่งความเร็วแบบรวม สำหรับระบบการผลิต การรองรับโมเดล แบนด์วิดท์หน่วยความจำ อุณหภูมิที่ยั่งยืน และเวลาแฝงตั้งแต่ต้นทางถึงปลายทางมีความสำคัญมากกว่า TOPS พาดหัวเพียงอย่างเดียว
NPU กับ FPGA: ไหนดีกว่าสำหรับ Edge AI?
โดยทั่วไปแล้ว NPU จะเป็นตัวเลือกที่ง่ายกว่าสำหรับการอนุมานโครงข่ายประสาทเทียมที่รองรับพร้อมประสิทธิภาพต่อวัตต์ที่แข็งแกร่ง FPGA เหมาะกว่าเมื่ออินเทอร์เฟซ เซนเซอร์ แบบกำหนดเอง การประมวลผลล่วงหน้าที่กำหนด รูปแบบข้อมูลที่ผิดปกติ หรือไปป์ไลน์พิเศษ เป็นศูนย์กลางของการออกแบบ หลายระบบใช้ทั้งสองอย่าง
คุณสามารถรันเวิร์กโหลด NPU บน FPGA ได้หรือไม่
FPGA สามารถใช้ตัวเร่งความเร็วโครงข่ายประสาทเทียมหรือไปป์ไลน์การอนุมานได้ แต่จะไม่เทียบเท่ากับ NPU เฉพาะโดยอัตโนมัติ การค้าขายเกี่ยวข้องกับทรัพยากรลอจิกที่ตั้งโปรแกรมได้ หน่วยความจำ ความสมบูรณ์ของ toolchain การสนับสนุนโมเดล ความพยายามในการตรวจสอบ และกำลัง
การอนุมาน AI ของ FPGA สมเหตุสมผลเมื่อใด
การอนุมาน AI ของ FPGA มีความน่าสนใจ เมื่อการอนุมานต้องเชื่อมโยงอย่างแนบแน่นกับการประมวลผลล่วงหน้าตามที่กำหนด อินเทอร์เฟซแบบกำหนดเอง หรือการเคลื่อนย้ายข้อมูลเฉพาะทาง มีประโยชน์อย่างยิ่งเมื่อรันไทม์ NPU มาตรฐานไม่พอดีกับพาธ เซนเซอร์ หรือข้อจำกัดด้านเวลาแฝง
โดยที่ TinyML เหมาะกับ การประมวลผลที่อุปกรณ์ปลายทาง
การประมวลผลที่อุปกรณ์ปลายทาง อธิบายการประมวลผลใกล้กับแหล่งข้อมูล edge AI ใช้การอนุมานของแมชชีนเลิร์นนิงที่นั่น TinyML จัดการกับระดับการใช้งานที่มีข้อจำกัดมากขึ้น ซึ่งมักจะใช้กับไมโครคอนโทรลเลอร์ที่มีหน่วยความจำและพลังงานจำกัด ตัวแยกประเภทการสั่นสะเทือนขนาดเล็กและไปป์ไลน์การรับรู้แบบหลายกล้องจึงต้องใช้งบประมาณด้านฮาร์ดแวร์ที่แตกต่างกันมาก แม้ว่าทั้งสองจะเป็น Edge AI ก็ตาม
สำหรับเป้าหมายไมโครคอนโทรลเลอร์ ให้ตรวจสอบขนาดรุ่น หน่วยความจำรันไทม์ ตัวดำเนินการที่รองรับ และค่าใช้จ่ายในการรับข้อมูล สำหรับการออกแบบที่ใช้ NPU หรือ FPGA ให้ประเมินการเคลื่อนไหวของหน่วยความจำและพาร์ติชันระหว่างงานที่เร่งและไม่เร่งด้วย เลือกสถาปัตยกรรมที่เล็กที่สุดที่ตรงกับงานที่วัดได้และข้อกำหนดในการกู้คืน แทนที่จะเลือกเทคโนโลยีจากตัวย่อเพียงอย่างเดียว
ข้อมูลอ้างอิงทางเทคนิค
- Rockchip: ส่วนประกอบซอฟต์แวร์ RKNN และเครื่องมือการปรับใช้
- Rockchip: ตัวอย่างการแปลงโมเดลและการอนุมาน
- Gallego และคณะ: วิสัยทัศน์ตามเหตุการณ์ - แบบสำรวจ
- TensorFlow Lite Micro: การอนุมานบนอุปกรณ์ที่จำกัดหน่วยความจำ
ตัวอย่างแบนด์วิดท์เป็นการคำนวณที่ชัดเจน ไม่ใช่การวัดประสิทธิภาพผลิตภัณฑ์ ตรวจสอบสถาปัตยกรรมที่เลือกกับปริมาณงานที่ต้องการ
แบ่งพาร์ติชันภาระงาน AI Edge ที่แท้จริงของคุณ
ส่งอินเทอร์เฟซ เซนเซอร์ ประเภทรุ่น อัตราข้อมูล ขอบเขตพลังงาน และข้อจำกัดในการใช้งาน เราสามารถแมปพวกมันเข้ากับสถาปัตยกรรม MPU/NPU/FPGA และคลาสโมดูลคำนวณที่เหมาะสม
