กลับไปหน้าบทความ

อ่าน 5 นาที

การคำนวณโดยประมาณ

การคำนวณโดยประมาณ เป็นกระบวนทัศน์ใหม่ที่กำลังเกิดขึ้นสำหรับการออกแบบที่ประหยัดพลังงานและ/หรือมีประสิทธิภาพสูง [ 1 ] ซึ่งรวมถึงเทคนิคการคำนวณมากมายที่ให้ผลลัพธ์ที่ไม่แม่นยำ...

การคำนวณโดยประมาณ

การคำนวณโดยประมาณเป็นกระบวนทัศน์ใหม่ที่กำลังเกิดขึ้นสำหรับการออกแบบที่ประหยัดพลังงานและ/หรือมีประสิทธิภาพสูง[ 1 ]ซึ่งรวมถึงเทคนิคการคำนวณมากมายที่ให้ผลลัพธ์ที่ไม่แม่นยำ แทนที่จะเป็นผลลัพธ์ที่แม่นยำอย่างแน่นอน และสามารถใช้สำหรับแอปพลิเคชันที่ผลลัพธ์โดยประมาณเพียงพอต่อวัตถุประสงค์[ 2 ]ตัวอย่างหนึ่งของสถานการณ์ดังกล่าวคือเครื่องมือค้นหาที่อาจไม่มีคำตอบที่แน่นอนสำหรับคำค้นหาบางอย่าง ดังนั้นคำตอบหลายคำตอบจึงอาจยอมรับได้ ในทำนองเดียวกัน การที่เฟรมบางเฟรม หายไปเป็นครั้งคราว ในแอปพลิเคชันวิดีโออาจไม่ถูกตรวจพบเนื่องจากข้อจำกัดในการรับรู้ของมนุษย์ การคำนวณโดยประมาณนั้นขึ้นอยู่กับการสังเกตว่าในหลายสถานการณ์ แม้ว่าการคำนวณที่แม่นยำจะต้องการทรัพยากรจำนวนมาก แต่การอนุญาตให้มีการประมาณค่าแบบจำกัดสามารถให้ผลประโยชน์ที่ไม่สมดุลในด้านประสิทธิภาพและพลังงาน ในขณะที่ยังคงได้ความแม่นยำของผลลัพธ์ที่ยอมรับได้ ตัวอย่างเช่น ใน อัลกอริทึมการจัดกลุ่ม k -meansการอนุญาตให้สูญเสียความแม่นยำในการจำแนกประเภทเพียง 5% สามารถประหยัดพลังงานได้ถึง 50 เท่าเมื่อเทียบกับการจำแนกประเภทที่แม่นยำอย่างสมบูรณ์

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

กลยุทธ์

สามารถใช้กลยุทธ์หลายอย่างในการคำนวณโดยประมาณได้

วงจรโดยประมาณ
วงจรคำนวณโดยประมาณ: [ 3 ]ตัวบวกโดยประมาณ[ 4 ] [ 5 ]ตัวคูณโดยประมาณ[ 6 ]และวงจรตรรกะ อื่นๆ สามารถลดภาระฮาร์ดแวร์ได้[ 7 ] [ 8 ] [ 9 ] ตัวอย่างเช่น ตัวบวกหลายบิตโดยประมาณสามารถละเว้นโซ่ตัวทด ได้ ดังนั้นจึงอนุญาตให้ตัวบวกย่อยทั้งหมดดำเนินการบวกแบบขนานได้[ 10 ] [ 11 ]
ตัวเร่งฮาร์ดแวร์โดยประมาณ
พื้นที่จัดเก็บและหน่วยความจำโดยประมาณ
แทนที่จะจัดเก็บค่าข้อมูลอย่างแม่นยำ สามารถจัดเก็บโดยประมาณได้ เช่น โดยการตัดบิตล่างใน ข้อมูล จุดลอยตัวอีกวิธีหนึ่งคือการยอมรับหน่วยความจำที่มีความน่าเชื่อถือน้อยลง สำหรับเรื่องนี้ ในDRAM [ 12 ]และeDRAMสามารถลดหรือควบคุมการกำหนดอัตราการรีเฟรชได้[ 13 ]ในSRAMสามารถลดแรงดันไฟฟ้าที่จ่ายได้[ 14 ]หรือควบคุมได้[ 15 ]การจัดเก็บโดยประมาณสามารถนำมาใช้เพื่อลดการใช้พลังงานในการเขียนที่สูงของ MRAM [ 16 ] โดยทั่วไป กลไก การตรวจจับและแก้ไขข้อผิดพลาด ใดๆ ควรถูกปิดใช้งาน
การประมาณค่าระดับซอฟต์แวร์
มีหลายวิธีในการประมาณค่าในระดับซอฟต์แวร์สามารถใช้การจดจำหรือการจดจำแบบคลุมเครือ (การใช้ฐานข้อมูลเวกเตอร์สำหรับการเรียกข้อมูลโดยประมาณจากแคชเช่น การแคชแบบคลุมเครือ) ได้ สามารถข้าม การวนซ้ำ บางส่วน ของลูปได้ (เรียกว่าการเจาะลูป ) เพื่อให้ได้ผลลัพธ์ที่เร็วขึ้น นอกจากนี้ยังสามารถข้ามงานบางอย่างได้ เช่น เมื่อเงื่อนไขขณะรันไทม์บ่งชี้ว่างานเหล่านั้นจะไม่เป็นประโยชน์ ( การข้ามงาน ) อัลกอริทึม Monte Carloและอัลกอริทึมแบบสุ่ม จะ แลกเปลี่ยนความถูกต้องกับการรับประกันเวลาในการดำเนินการ[ 17 ]การคำนวณสามารถกำหนดรูปแบบใหม่ได้ตามแบบแผนที่อนุญาตให้เร่งความเร็วบนฮาร์ดแวร์เฉพาะทางได้ง่าย เช่น หน่วยประมวลผลประสาท[ 18 ]
ระบบโดยประมาณ
ในระบบโดยประมาณ[ 19 ] [ 20 ]ระบบย่อยต่างๆ ของระบบ เช่น โปรเซสเซอร์ หน่วยความจำ เซ็นเซอร์ และโมดูลการสื่อสาร จะถูกประมาณค่าร่วมกันเพื่อให้ได้เส้นโค้งการแลกเปลี่ยน QE ระดับระบบที่ดีกว่ามาก เมื่อเทียบกับการประมาณค่าแต่ละระบบย่อยแยกกัน

ขอบเขตการใช้งาน

การคำนวณโดยประมาณถูกนำมาใช้ในหลากหลายโดเมนที่แอปพลิเคชันมีความทนทานต่อข้อผิดพลาด เช่นการประมวลผลมัลติมีเดียการเรียนรู้ของเครื่องการประมวลผลสัญญาณการคำนวณทางวิทยาศาสตร์ดังนั้น การคำนวณโดยประมาณจึงส่วนใหญ่ขับเคลื่อนโดยแอปพลิเคชันที่เกี่ยวข้องกับการรับรู้/การรู้คิดของมนุษย์และมีความทนทานต่อข้อผิดพลาดโดยธรรมชาติ แอปพลิเคชันเหล่านี้จำนวนมากใช้การคำนวณทางสถิติหรือความน่าจะเป็น เช่น การประมาณค่าที่แตกต่างกันสามารถทำได้เพื่อให้เหมาะสมกับวัตถุประสงค์ที่ต้องการมากขึ้น[ 21 ] แอปพลิเคชันที่โดดเด่นอย่างหนึ่งในการเรียนรู้ของเครื่องคือ Google ใช้แนวทางนี้ในหน่วยประมวลผล Tensor (TPU ซึ่งเป็น ASICแบบกำหนดเอง) [ 22 ]

กระบวนทัศน์ที่ได้มา

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

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Approximate_computing&oldid=1355394003 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การคำนวณโดยประมาณ

การคำนวณโดยประมาณ เป็นกระบวนทัศน์ใหม่ที่กำลังเกิดขึ้นสำหรับการออกแบบที่ประหยัดพลังงานและ/หรือมีประสิทธิภาพสูง [ 1 ] ซึ่งรวมถึงเทคนิคการคำนวณมากมายที่ให้ผลลัพธ์ที่ไม่แม่นยำ...

กลยุทธ์

สามารถใช้กลยุทธ์หลายอย่างในการคำนวณโดยประมาณได้

ขอบเขตการใช้งาน

การคำนวณโดยประมาณถูกนำมาใช้ในหลากหลายโดเมนที่แอปพลิเคชันมีความทนทานต่อข้อผิดพลาด เช่นการประมวลผล มัลติมีเดีย การเรียนรู้ของเครื่อง การ ประมวลผลสัญญาณ การ คำนวณทางวิทยาศาสตร์ ดังนั้น...

กระบวนทัศน์ที่ได้มา

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