การใช้ ASIC สำหรับการเร่งความเร็วของ AI ทำงานอย่างไร


9

เราสามารถอ่านในหน้า Wikipediaว่า Google สร้างชิป ASIC แบบกำหนดเองสำหรับการเรียนรู้ของเครื่องและปรับแต่งสำหรับ TensorFlow ซึ่งช่วยเร่ง AI

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

ดังนั้นการเร่งความเร็วของ AI โดยใช้ชิป ASIC ทำงานอย่างไรถ้าอัลกอริทึมไม่สามารถเปลี่ยนแปลงได้? ส่วนไหนของการเร่งความเร็ว


1
ไม่มีเทคนิค AI หลักที่ฉันรู้ว่าต้องมีการปรับเปลี่ยนอัลกอริทึมแต่ส่วนใหญ่ขึ้นอยู่กับความสามารถในการปรับเปลี่ยนข้อมูล (จุดแข็งของการเชื่อมต่อสมาชิกในกลุ่มประชากร) ฯลฯ
NietzscheanAI

ดังนั้นส่วนไดนามิกเช่นสถานะของเครือข่ายจึงถูกเก็บไว้ในหน่วยความจำแฟลชหรือไดรฟ์บางส่วน?
kenorb

ตามที่en.wikipedia.org/wiki/Application-specific_integrated_circuit ASICs ที่ทันสมัยสามารถมี RAM ...
NietzscheanAI

คำตอบ:


4

การทำงานของเทนเซอร์

งานสำคัญในแอปพลิเคชั่น ML ส่วนใหญ่นั้นเป็นเพียงชุดของการดำเนินการเทนเซอร์ (ใหญ่มาก) เช่นการคูณเมทริกซ์ คุณสามารถทำเช่นนั้นได้อย่างง่ายดายใน ASIC และทุกขั้นตอนวิธีการอื่น ๆ ที่สามารถทำงานได้เพียงด้านบนของที่


1
จุดสำคัญคือ TPU นั้นใช้การคูณแบบ 8 บิตซึ่งสามารถนำไปใช้อย่างมีประสิทธิภาพมากกว่าการคูณแบบกว้างที่ CPU มอบให้ ความแม่นยำต่ำนั้นเพียงพอและอนุญาตให้บรรจุตัวคูณทวีคูณหลายพันตัวบนชิปตัวเดียว
maaartinus

3

ฉันคิดว่าอัลกอริทึมมีการเปลี่ยนแปลงน้อยที่สุด แต่ฮาร์ดแวร์ที่จำเป็นได้รับการตัดแต่งให้กระดูก

จำนวนการเปลี่ยนเกตจะลดลง (อาจจะเป็น ops และความแม่นยำที่มากเกินไป) เช่นเดียวกับจำนวนการดำเนินการย้ายข้อมูลซึ่งช่วยประหยัดพลังงานและรันไทม์ Google แนะนำให้ TPU ของพวกเขาประหยัดค่าใช้จ่าย 10 เท่าเพื่อให้ทำงานเหมือนเดิม

https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html


1

ASIC - ย่อมาจาก IC เฉพาะแอปพลิเคชัน โดยทั่วไปคุณเขียนโปรแกรมในการออกแบบชิปในHDL ฉันจะพิจารณากรณีที่คอมพิวเตอร์สมัยใหม่ทำงานเพื่ออธิบายประเด็นของฉัน:

  • ซีพียู - ซีพียูนั้นเป็นไมโครโปรเซสเซอร์โดยมีผู้ช่วย IC หลายคนทำงานเฉพาะด้าน ในไมโครโปรเซสเซอร์มีหน่วยประมวลผลทางคณิตศาสตร์เพียงหน่วยเดียวเท่านั้น (เรียกว่าคำศัพท์) เรียกว่าAccumulatorซึ่งต้องเก็บค่าไว้เนื่องจากการคำนวณจะดำเนินการเพียงค่าที่เก็บไว้ในตัวสะสมเท่านั้น ดังนั้นทุกคำสั่งทุกการดำเนินการการดำเนินการ R / W ทุกครั้งจะต้องดำเนินการผ่านตัวสะสม (นั่นคือสาเหตุที่คอมพิวเตอร์รุ่นเก่าใช้ในการหยุดเมื่อคุณเขียนจากไฟล์ไปยังอุปกรณ์บางอย่างแม้ว่าในปัจจุบันกระบวนการได้รับการปรับปรุงแล้ว ที่จะมาในระหว่างDMAโดยเฉพาะ) ตอนนี้ในอัลกอริธึม ML คุณต้องทำการคูณเมทริกซ์ซึ่งสามารถขนานกันได้ง่าย แต่เรามีหน่วยประมวลผลเดียวของเราเท่านั้นและมาถึง GPU
  • GPU's - GPU's มีหน่วยประมวลผล 100 รายการ แต่ขาดสิ่งอำนวยความสะดวกอเนกประสงค์ของ CPU ดังนั้นมันจึงดีสำหรับการคำนวณแบบขนาน เนื่องจากไม่มีการซ้อนทับหน่วยความจำ (ส่วนเดียวกันของหน่วยความจำที่ถูกจัดการโดย 2 กระบวนการ) ในการคูณแบบหลายจุดทำให้ GPU ทำงานได้ดีมาก แม้ว่า GPU จะไม่ใช่มัลติฟังก์ชั่น แต่ก็จะทำงานได้เร็วเท่ากับ CPU ที่ป้อนข้อมูลลงในหน่วยความจำ
  • ASIC - ASIC สามารถเป็นอะไรก็ได้ไม่ว่าจะเป็น GPU, CPU หรือโปรเซสเซอร์ที่คุณออกแบบพร้อมหน่วยความจำจำนวนเท่าใดก็ได้ที่คุณต้องการมอบให้ สมมติว่าคุณต้องการออกแบบโปรเซสเซอร์ ML ของคุณเองออกแบบโปรเซสเซอร์บน ASIC คุณต้องการหมายเลข FP 256 บิตหรือไม่ สร้างหน่วยประมวลผล 256 บิต คุณต้องการให้ข้อสรุปของคุณรวดเร็วหรือไม่ ปรับใช้ adder แบบขนานได้สูงกว่าบิตมากกว่าโปรเซสเซอร์ทั่วไปหรือไม่? คุณต้องการnจำนวนแกน? ไม่มีปัญหา. คุณต้องการกำหนด data-flow จากหน่วยการประมวลผลที่แตกต่างกันไปยังที่ต่างๆหรือไม่? คุณสามารถทำมันได้. นอกจากนี้ด้วยการวางแผนอย่างรอบคอบคุณจะได้แลกเปลี่ยนระหว่างพื้นที่ ASIC กับกำลังไฟฟ้าและความเร็ว ปัญหาเดียวคือทั้งหมดนี้คุณต้องสร้างมาตรฐานของคุณเอง โดยทั่วไปแล้วบางมาตรฐานที่กำหนดไว้อย่างดีมีการออกแบบโปรเซสเซอร์เช่นจำนวนพินและฟังก์ชันการทำงานมาตรฐาน IEEE 754 สำหรับการแสดงจุดลอยตัว ฯลฯ ซึ่งเกิดขึ้นหลังจากการทดลองและข้อผิดพลาดมากมาย ดังนั้นหากคุณสามารถเอาชนะสิ่งเหล่านี้ได้คุณสามารถสร้าง ASIC ของคุณเองได้อย่างง่ายดาย

ฉันไม่รู้ว่า google กำลังทำอะไรกับ TPU ของพวกเขา แต่เห็นได้ชัดว่าพวกเขาออกแบบ Integer และ FP มาตรฐานสำหรับ 8 บิตแกนของพวกเขาขึ้นอยู่กับข้อกำหนดในมือ พวกเขาอาจนำไปใช้กับ ASIC เพื่อพิจารณาด้านพลังงานพื้นที่และความเร็ว


0

ความแม่นยำต่ำช่วยให้การคำนวณแบบขนานสูงในชั้น Convo และ FC สถาปัตยกรรมคงที่ของ CPU และ GPU แต่ ASIC / FPGA สามารถออกแบบตามสถาปัตยกรรมเครือข่ายนิวรัล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.