AI ที่ขอบไม่ได้หมายถึง AI ที่โง่เขลาอีกต่อไป

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

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

AI ที่ขอบไม่ได้หมายถึง AI ที่โง่เขลาอีกต่อไป

การจดจำใบหน้า

ความแตกต่างของ AI ที่ขอบ

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

ตกลงดังนั้นการควบคุมอัลกอริธึมมากขึ้น แต่เพื่ออะไร? คุณต้องการเพิ่มประสิทธิภาพต่อวัตต์ แต่เมตริกมาตรฐาน - TOPS/W - หยาบเกินไป แอปพลิเคชันการถ่ายภาพควรวัดกับเฟรมต่อวินาที (fps) ต่อวัตต์ สำหรับการใช้งานด้านความปลอดภัย เพื่อความปลอดภัยของยานยนต์ หรือการหลีกเลี่ยงการชนกันของโดรน เวลาในการรับรู้ต่อเฟรมนั้นมีความเกี่ยวข้องมากกว่าการดำเนินการดิบต่อวินาที ดังนั้น แพลตฟอร์มอย่าง NeuPro-M ซึ่งสามารถส่งได้ถึงหลายพัน fps/W โดยหลักการแล้วจะรองรับอัตรา fps ที่สมจริงที่ 30-60 เฟรมต่อวินาทีที่ใช้พลังงานต่ำมาก นั่นเป็นความก้าวหน้าอย่างแท้จริงในโซลูชัน AI แบบบรรจุล่วงหน้าแบบเดิม

ทำให้มันเป็นไปได้

อัลกอริธึมขั้นสูงสุดถูกสร้างขึ้นโดยการเรียกเลขหมายในคุณสมบัติที่คุณเคยอ่านมา โดยเริ่มจากตัวเลือกการหาปริมาณที่หลากหลาย เช่นเดียวกับความหลากหลายของประเภทข้อมูลในการเปิดใช้งานและน้ำหนักในช่วงของขนาดบิต neural multiplier unit (NMU) รองรับตัวเลือกความกว้างบิตหลายตัวสำหรับการเปิดใช้งานและน้ำหนัก เช่น 8×2 หรือ 16×4 และจะรองรับรูปแบบต่างๆ เช่น 8×10

โปรเซสเซอร์รองรับ Winograd Transforms หรือ Convolutions ที่มีประสิทธิภาพ โดยให้ประสิทธิภาพที่เพิ่มขึ้นถึง 2 เท่าและพลังงานที่ลดลงด้วยการลดความแม่นยำที่จำกัด เพิ่มเอ็นจิ้น sparsity ให้กับโมเดลเพื่อความเร่งสูงสุด 4X ขึ้นอยู่กับปริมาณของค่าศูนย์ (ในข้อมูลหรือน้ำหนัก) ที่นี่ Neural Multiplier Unit ยังรองรับช่วงของประเภทข้อมูล ซึ่งคงที่ตั้งแต่ 2×2 ถึง 16×16 และจุดลอยตัว (และ Bfloat) จาก 16×16 ถึง 32×32

ลอจิกการสตรีมมีตัวเลือกสำหรับการปรับขนาดจุดคงที่ การเปิดใช้งานและการรวม ตัวประมวลผลเวกเตอร์ช่วยให้คุณสามารถเพิ่มเลเยอร์ที่กำหนดเองลงในโมเดลได้ “แล้วไง ทุกคนสนับสนุน” คุณอาจคิดแต่ดูข้อมูลด้านล่างเกี่ยวกับปริมาณงาน นอกจากนี้ยังมีชุดคุณสมบัติ AI รุ่นต่อไป ได้แก่ การมองเห็น Transformers, 3D Convolution, RNN support และการสลายตัวของเมทริกซ์

ตัวเลือกอัลกอริธึมมากมาย รองรับโดยการปรับเครือข่ายให้เหมาะสมสำหรับโซลูชันแบบฝังตัวของคุณผ่านเฟรมเวิร์ก CDNN เพื่อใช้ประโยชน์จากพลังของอัลกอริธึม ML ของคุณอย่างเต็มที่ CDNN คือการรวมกันของคอมไพเลอร์กราฟการอนุมานเครือข่ายและเครื่องมือเสริม PyTorch โดยเฉพาะ เครื่องมือนี้จะตัดโมเดล เลือกสนับสนุนการบีบอัดโมเดลผ่านการสลายตัวของเมทริกซ์ และเพิ่มการฝึกอบรมซ้ำโดยคำนึงถึง quantization

การเพิ่มประสิทธิภาพปริมาณงาน

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

ตัวอย่างที่เด่นชัดคือ หน่วยประมวลผลเวกเตอร์ ซึ่งโดยทั่วไปใช้เพื่อกำหนดเลเยอร์ที่กำหนดเอง จะอยู่ที่ระดับเดียวกับตัวเร่งความเร็วอื่นๆ อัลกอริทึมของคุณที่ใช้ใน VPU จะได้รับประโยชน์จากการเร่งความเร็วแบบเดียวกันกับส่วนที่เหลือของโมเดล ย้ำอีกครั้งว่า ไม่จำเป็นต้องออฟโหลดและโหลดซ้ำเพื่อเร่งความเร็วเลเยอร์ที่กำหนดเอง นอกจากนี้ คุณสามารถมีเอ็นจิ้น NPM เหล่านี้ได้มากถึง 8 เอ็นจิ้น (ตัวเร่งทั้งหมด บวกกับแคช NPM L1) NeuPro-M ยังเสนอการเพิ่มประสิทธิภาพแบนด์วิดธ์ที่ควบคุมด้วยซอฟต์แวร์ในระดับที่มีนัยสำคัญระหว่างแคช L2 และแคช L1 เพิ่มประสิทธิภาพการจัดการเฟรมและลดความจำเป็นในการเข้าถึง DDR

โดยธรรมชาติแล้ว NeuPro-M จะลดข้อมูลและการรับส่งข้อมูลด้วยน้ำหนัก สำหรับข้อมูล ตัวเร่งความเร็วจะใช้แคช L1 ร่วมกัน โปรเซสเซอร์โฮสต์สามารถสื่อสารข้อมูลโดยตรงกับ NeuPro-M L2 ซึ่งช่วยลดความจำเป็นในการถ่ายโอนข้อมูลแบบ DDR NeuPro-M บีบอัดและขยายน้ำหนักบนชิปในการถ่ายโอนด้วยหน่วยความจำ DDR สามารถทำได้เช่นเดียวกันกับการเปิดใช้งาน

หลักฐานในการเร่งความเร็ว fps/W

CEVA รันการวัดประสิทธิภาพมาตรฐานโดยใช้อัลกอริธึมร่วมกันซึ่งจำลองไว้ในตัวเร่งความเร็ว ตั้งแต่เนทีฟจนถึง Winograd ไปจนถึง Winograd+Sparsity ไปจนถึง Winograd+Sparsity+4×4 เกณฑ์มาตรฐานทั้งสองแสดงการปรับปรุงประสิทธิภาพสูงสุด 3 เท่า โดยกำลัง (fps/W) ประมาณ 5 เท่าสำหรับ ISP NN โซลูชัน NeuPro-M ให้พื้นที่ขนาดเล็กกว่า ประสิทธิภาพ 4 เท่า หรือ 1/3 ของพลังงาน เมื่อเทียบกับ NeuPro-S รุ่นก่อนหน้า

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

แชร์โพสต์นี้ผ่าน: ที่มา: https://semiwiki.com/artificial-intelligence/306655-ai-at-the-edge-no-longer-means-dumbed-down-ai/

ประทับเวลา:

เพิ่มเติมจาก กึ่งวิกิ