เพิ่มประสิทธิภาพสูงสุดในแอปพลิเคชัน Edge AI - KDnuggets

เพิ่มประสิทธิภาพสูงสุดในแอปพลิเคชัน Edge AI – KDnuggets

โหนดต้นทาง: 2919295

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

  • การเลือกเครื่องคำนวณที่มีขนาดเหมาะสมเพื่อให้ตรงตามหรือเกินระดับประสิทธิภาพที่ต้องการ สำหรับแอปพลิเคชัน AI กลไกประมวลผลเหล่านี้จะต้องทำหน้าที่ของไปป์ไลน์การมองเห็นทั้งหมด (เช่น การประมวลผลวิดีโอก่อนและหลังการประมวลผล การอนุมานโครงข่ายประสาทเทียม)

อาจจำเป็นต้องใช้ตัวเร่งความเร็ว AI เฉพาะ ไม่ว่าจะเป็นแบบแยกหรือรวมเข้ากับ SoC (ซึ่งตรงข้ามกับการรันการอนุมาน AI บน CPU หรือ GPU)

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

ข้อกำหนดด้านประสิทธิภาพที่แท้จริงขึ้นอยู่กับแอปพลิเคชัน โดยทั่วไป เราอาจคาดหวังได้ว่าสำหรับการวิเคราะห์วิดีโอ ระบบจะต้องประมวลผลสตรีมข้อมูลที่เข้ามาจากกล้องที่ 30-60 เฟรมต่อวินาทีและมีความละเอียด 1080p หรือ 4k กล้องที่ใช้ AI จะประมวลผลสตรีมเดียว อุปกรณ์ Edge จะประมวลผลสตรีมหลายรายการพร้อมกัน ไม่ว่าในกรณีใด ระบบ Edge AI จะต้องรองรับฟังก์ชันการประมวลผลล่วงหน้าเพื่อแปลงข้อมูลเซ็นเซอร์ของกล้องให้อยู่ในรูปแบบที่ตรงกับข้อกำหนดอินพุตของส่วนการอนุมาน AI (รูปที่ 1)

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

 

เพิ่มประสิทธิภาพสูงสุดในแอปพลิเคชัน Edge AI
รูปที่ 1 สำหรับการอนุมานโมเดล AI โดยทั่วไปฟังก์ชันก่อนและหลังการประมวลผลจะดำเนินการบนตัวประมวลผลแอปพลิเคชัน
 

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

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

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

ในกล้องอัจฉริยะหรืออุปกรณ์ Edge SoC ในตัว (เช่น โปรเซสเซอร์โฮสต์) จะรับเฟรมวิดีโอและดำเนินการขั้นตอนก่อนการประมวลผลที่เราอธิบายไว้ก่อนหน้านี้ ฟังก์ชันเหล่านี้สามารถทำงานได้ด้วยแกน CPU หรือ GPU ของ SoC (หากมี) แต่ก็สามารถทำได้โดยใช้ตัวเร่งฮาร์ดแวร์เฉพาะใน SoC (เช่น ตัวประมวลผลสัญญาณภาพ) หลังจากขั้นตอนก่อนการประมวลผลเหล่านี้เสร็จสิ้น ตัวเร่งความเร็ว AI ที่รวมเข้ากับ SoC จะสามารถเข้าถึงอินพุตเชิงปริมาณนี้โดยตรงจากหน่วยความจำระบบ หรือในกรณีของตัวเร่งความเร็ว AI แบบแยกส่วน อินพุตจะถูกส่งเพื่อการอนุมาน ซึ่งโดยทั่วไปจะอยู่เหนือ อินเทอร์เฟซ USB หรือ PCIe 

SoC แบบรวมสามารถมีหน่วยประมวลผลได้หลากหลาย รวมถึง CPU, GPU, ตัวเร่งความเร็ว AI, ตัวประมวลผลภาพ, ตัวเข้ารหัส/ตัวถอดรหัสวิดีโอ, ตัวประมวลผลสัญญาณภาพ (ISP) และอื่นๆ หน่วยประมวลผลเหล่านี้ใช้บัสหน่วยความจำเดียวกันและเข้าถึงหน่วยความจำเดียวกันได้ นอกจากนี้ CPU และ GPU อาจต้องมีบทบาทในการอนุมาน และหน่วยเหล่านี้จะยุ่งอยู่กับการทำงานอื่นๆ ในระบบที่ปรับใช้ นี่คือสิ่งที่เราหมายถึงโดยค่าใช้จ่ายระดับระบบ (รูปที่ 2)

นักพัฒนาจำนวนมากประเมินประสิทธิภาพของตัวเร่งความเร็ว AI ในตัวใน SoC อย่างผิดพลาด โดยไม่พิจารณาถึงผลกระทบของค่าใช้จ่ายระดับระบบต่อประสิทธิภาพทั้งหมด ตามตัวอย่าง ให้พิจารณาเรียกใช้การวัดประสิทธิภาพ YOLO บนตัวเร่งความเร็ว AI 50 TOPS ที่รวมอยู่ใน SoC ซึ่งอาจได้รับผลลัพธ์การวัดประสิทธิภาพที่ 100 การอนุมาน/วินาที (IPS) แต่ในระบบที่ใช้งานโดยมีหน่วยประมวลผลอื่นๆ ทำงานอยู่ 50 TOPS เหล่านั้นอาจลดลงเหลือประมาณ 12 TOPS และประสิทธิภาพโดยรวมจะให้ผลเพียง 25 IPS โดยถือว่ามีปัจจัยการใช้งานที่เพียงพอ 25% ค่าใช้จ่ายของระบบจะเป็นปัจจัยหนึ่งเสมอหากแพลตฟอร์มประมวลผลสตรีมวิดีโออย่างต่อเนื่อง อีกทางหนึ่ง ด้วยตัวเร่งความเร็ว AI แบบแยก (เช่น Kinara Ara-1, Hailo-8, Intel Myriad X) การใช้งานระดับระบบอาจมากกว่า 90% เนื่องจากเมื่อ SoC โฮสต์เริ่มต้นฟังก์ชันการอนุมานและถ่ายโอนอินพุตของโมเดล AI ข้อมูล ตัวเร่งความเร็วจะทำงานโดยอัตโนมัติโดยใช้หน่วยความจำเฉพาะสำหรับการเข้าถึงน้ำหนักและพารามิเตอร์ของโมเดล

 

เพิ่มประสิทธิภาพสูงสุดในแอปพลิเคชัน Edge AI
รูปที่ 2 บัสหน่วยความจำแบบแบ่งใช้จะควบคุมประสิทธิภาพระดับระบบ ดังที่แสดงไว้ที่นี่พร้อมค่าโดยประมาณ ค่าที่แท้จริงจะแตกต่างกันไปขึ้นอยู่กับรูปแบบการใช้งานแอปพลิเคชันของคุณและการกำหนดค่าหน่วยประมวลผลของ SoC

จนถึงจุดนี้ เราได้พูดคุยถึงประสิทธิภาพของ AI ในแง่ของเฟรมต่อวินาทีและ TOPS แต่เวลาแฝงที่ต่ำเป็นข้อกำหนดที่สำคัญอีกประการหนึ่งในการตอบสนองแบบเรียลไทม์ของระบบ ตัวอย่างเช่น ในการเล่นเกม เวลาแฝงที่ต่ำเป็นสิ่งสำคัญสำหรับประสบการณ์การเล่นเกมที่ราบรื่นและตอบสนอง โดยเฉพาะอย่างยิ่งในเกมที่ควบคุมด้วยการเคลื่อนไหวและระบบความเป็นจริงเสมือน (VR) ในระบบขับขี่อัตโนมัติ เวลาแฝงที่ต่ำมีความสำคัญสำหรับการตรวจจับวัตถุแบบเรียลไทม์ การจดจำคนเดินถนน การตรวจจับเลน และการจดจำป้ายจราจร เพื่อหลีกเลี่ยงความปลอดภัย โดยทั่วไประบบการขับขี่อัตโนมัติต้องการเวลาแฝงจากต้นทางถึงปลายทางน้อยกว่า 150 มิลลิวินาทีตั้งแต่การตรวจจับจนถึงการดำเนินการจริง ในทำนองเดียวกัน ในการผลิต เวลาแฝงที่ต่ำถือเป็นสิ่งสำคัญสำหรับการตรวจจับข้อบกพร่องแบบเรียลไทม์ การจดจำความผิดปกติ และคำแนะนำของหุ่นยนต์ขึ้นอยู่กับการวิเคราะห์วิดีโอที่มีความหน่วงต่ำ เพื่อให้มั่นใจว่าการทำงานมีประสิทธิภาพและลดเวลาหยุดทำงานของการผลิตให้เหลือน้อยที่สุด

โดยทั่วไป เวลาในการตอบสนองมีสามองค์ประกอบในแอปพลิเคชันการวิเคราะห์วิดีโอ (รูปที่ 3):

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

 

เพิ่มประสิทธิภาพสูงสุดในแอปพลิเคชัน Edge AI
รูปที่ 3 ไปป์ไลน์การวิเคราะห์วิดีโอประกอบด้วยการเก็บข้อมูล การถ่ายโอนข้อมูล และการประมวลผลข้อมูล
 

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

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

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต