Cover Image

CPU GPU และ NPU แตกต่างกันอย่างไร? Heterogeneous Computing คืออะไร? - iT24Hrs

CPU GPU และ NPU แตกต่างกันอย่างไร? ในยุคที่ AI กลายเป็นส่วนหนึ่งของคอมพิวเตอร์ สมาร์ตโฟน และศูนย์ข้อมูล คำว่า CPU, GPU, NPU, และ AI Chip ถูกกล่าวถึงมากขึ้น แต่คำเหล่านี้ไม่ได้หมายถึงสิ่งเดียวกันทั้งหมด ความแตกต่างที่สำคัญอยู่ที่ ลักษณะงานที่แต่ละหน่วยประมวลผลได้รับการออกแบบมาให้ทำได้ดีที่สุด

CPU GPU และ NPU แตกต่างกันอย่างไร
iT24Hrs

CPU: หน่วยประมวลผลที่มีความยืดหยุ่นสูง

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

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

GPU: จุดแข็งคือการทำงานจำนวนมากพร้อมกัน

GPU (Graphics Processing Unit) หรือหน่วยประมวลผลกราฟิก เดิมถูกพัฒนาขึ้นเพื่อเร่งการประมวลผลภาพ กราฟิกสามมิติ และการแสดงผลที่ต้องคำนวณข้อมูลจำนวนมาก แต่สถาปัตยกรรมของ GPU แตกต่างจาก CPU อย่างมีนัยสำคัญ โดย GPU ประกอบด้วยหน่วยประมวลผลจำนวนมากที่สามารถทำงานพร้อมกันหรือแบบขนานได้ จึงเหมาะกับงานที่สามารถแบ่งออกเป็นงานย่อยจำนวนมากและให้แต่ละหน่วยประมวลผลทำงานในเวลาเดียวกัน ตัวอย่างเช่น การประมวลผลภาพและวิดีโอ การเรนเดอร์กราฟิก การจำลองทางวิทยาศาสตร์ ตลอดจนงานวิเคราะห์ข้อมูลขนาดใหญ่ จุดแข็งของ GPU จึงอยู่ที่ Throughput หรือความสามารถในการประมวลผลข้อมูลจำนวนมากต่อหน่วยเวลา มากกว่าการมุ่งเน้นประสิทธิภาพของคำสั่งเดี่ยว ๆ แบบ CPU

ความสามารถดังกล่าวทำให้ GPU มีบทบาทสำคัญอย่างมากต่อการพัฒนา Machine Learning และ Deep Learning เพราะโมเดล AI ต้องดำเนินการทางคณิตศาสตร์จำนวนมหาศาล โดยเฉพาะการคูณเมทริกซ์และการประมวลผลเวกเตอร์ ซึ่งสามารถแบ่งออกเป็นงานย่อยจำนวนมากเพื่อคำนวณพร้อมกันได้ GPU จึงสามารถช่วยลดระยะเวลาในการฝึกโมเดลและการประมวลผลโมเดล AI ที่มีขนาดใหญ่และซับซ้อน ตั้งแต่การฝึกโมเดล การ Fine-tuning ไปจนถึงการ Inference โดยในระบบ AI ขนาดใหญ่ GPU หลายตัวสามารถทำงานร่วมกันเป็นระบบประมวลผลแบบขนานเพื่อเพิ่มขีดความสามารถได้อีกด้วย อย่างไรก็ตาม GPU ไม่ได้เหมาะกับงานทุกประเภท หากเป็นโมเดล AI ขนาดเล็กหรืองานที่ต้องการความยืดหยุ่นและมีข้อจำกัดด้านต้นทุนหรือพลังงาน การใช้ CPU หรือ AI Accelerator ประเภทอื่นอาจเหมาะสมกว่า

NPU: หน่วยประมวลผลที่สร้างขึ้นมาเพื่อ AI โดยเฉพาะ

NPU (Neural Processing Unit) หรือหน่วยประมวลผลประสาทเทียม เป็นตัวเร่งการประมวลผลที่ได้รับการออกแบบตั้งแต่ระดับสถาปัตยกรรมเพื่อรองรับงาน Artificial Intelligence และ Machine Learning โดยเฉพาะ แตกต่างจาก CPU ที่ต้องรองรับงานทั่วไปหลากหลายประเภท และ GPU ที่แม้จะมีความสามารถในการประมวลผลแบบขนานสูง แต่ไม่ได้ถูกออกแบบมาเพื่อ AI โดยเฉพาะ NPU จะมีวงจรคำนวณที่เหมาะกับลักษณะการทำงานของ Neural Network เช่น Matrix Multiplication, Convolution, Vector และ Tensor Operations ซึ่งเป็นการคำนวณที่เกิดขึ้นซ้ำ ๆ จำนวนมหาศาลในโมเดล AI การออกแบบเฉพาะทางเช่นนี้ช่วยให้ NPU สามารถประมวลผล AI ได้อย่างมีประสิทธิภาพ โดยเฉพาะในขั้นตอน Inference หรือการนำโมเดลที่ผ่านการฝึกแล้วมาใช้งานจริง เช่น การรู้จำเสียง การวิเคราะห์ภาพ การแปลภาษา และ Generative AI บนอุปกรณ์

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

TPU: หน่วยประมวลผลที่ออกแบบมาเพื่อเร่งงาน AI ของ Google

TPU (Tensor Processing Unit) คือชิปประมวลผลแบบ ASIC (Application-Specific Integrated Circuit) ที่ Google ออกแบบขึ้นโดยเฉพาะเพื่อเร่งการทำงานด้าน Machine Learning และ AI โดยเน้นการคำนวณที่เป็นหัวใจของ Neural Network เช่น การคูณเมทริกซ์และการประมวลผล Tensor ซึ่งต้องดำเนินการซ้ำ ๆ ในปริมาณมหาศาล สถาปัตยกรรมของ TPU จึงแตกต่างจาก CPU ที่เป็นหน่วยประมวลผลทั่วไป และ GPU ที่รองรับงานแบบขนานหลากหลายประเภท โดย TPU มีหน่วยประมวลผลเมทริกซ์เฉพาะ เช่น Matrix Multiply Unit (MXU) และใช้แนวคิด Systolic Array เพื่อส่งข้อมูลผ่านหน่วยคำนวณจำนวนมากอย่างต่อเนื่อง ทำให้เหมาะกับงาน AI ที่มีรูปแบบการคำนวณชัดเจนและต้องการ Throughput สูง

TPU และ NPU ต่างก็เป็น AI Accelerator ที่ออกแบบมาเพื่อเร่งการประมวลผล Neural Network แต่มีจุดเน้นและบริบทการใช้งานต่างกัน โดย TPU เป็นชิปแบบ ASIC ที่ Google ออกแบบขึ้นโดยเฉพาะ เพื่อนำไปใช้ในโครงสร้างพื้นฐานของ Google Cloud และ Data Center สำหรับงาน Training และ Inference ขนาดใหญ่ ขณะที่ NPU เป็นหน่วยเร่ง AI มักถูกผนวกเข้ากับโปรเซสเซอร์ของอุปกรณ์ เช่น สมาร์ตโฟนและ AI PC เพื่อเร่งงาน AI บนอุปกรณ์ด้วยการใช้พลังงานต่ำ

CPU, GPU และ NPU ไม่ได้มาแทนที่กัน

CPU, GPU และ NPU ไม่ได้ถูกออกแบบมาเพื่อแข่งขันกัน แต่ถูกออกแบบให้มีจุดแข็งแตกต่างกันและสามารถทำงานร่วมกันได้ โดย CPU เหมาะกับการควบคุมระบบและงานที่มีลำดับขั้นตอนหรือการตัดสินใจที่ซับซ้อน GPU เหมาะกับการประมวลผลข้อมูลจำนวนมากแบบขนาน ส่วน NPU เหมาะกับการคำนวณ Neural Network และ AI โดยเฉพาะ การแบ่งงานในลักษณะนี้ช่วยให้ระบบไม่ต้องใช้หน่วยประมวลผลที่มีประสิทธิภาพสูงสุดกับทุกงาน เช่น หากแอปพลิเคชันต้องประมวลผลข้อมูลทั่วไป CPU สามารถรับผิดชอบได้ แต่เมื่อพบงานที่สามารถทำพร้อมกันจำนวนมากก็ส่งต่อให้ GPU และเมื่อเป็นการคำนวณ AI ที่ NPU รองรับ ก็สามารถส่งงานไปยัง NPU แทนได้ แนวทางดังกล่าวเรียกว่า Heterogeneous Computing

Heterogeneous Computing คืออะไร?

Heterogeneous Computing หรือ การประมวลผลแบบผสม คือแนวทางการออกแบบระบบคอมพิวเตอร์ให้ใช้หน่วยประมวลผลหลายประเภทที่มีสถาปัตยกรรมและจุดเด่นแตกต่างกันทำงานร่วมกัน โดยเลือกส่งงานไปยังหน่วยที่เหมาะสมที่สุด แนวคิดของ Heterogeneous Computing มีความสำคัญมากขึ้นเมื่อ AI มีความซับซ้อนและถูกนำมาใช้งานบนอุปกรณ์ที่มีข้อจำกัดด้านพลังงานและความร้อน เช่น สมาร์ตโฟนและโน้ตบุ๊ก ตัวอย่างเช่น ในระบบ AI Engine ของ Qualcomm มีทั้ง CPU, Adreno GPU, Hexagon NPU, Sensing Hub และระบบหน่วยความจำ ทำงานร่วมกัน โดย CPU สามารถรับผิดชอบการควบคุมและงานที่มีลักษณะ Sequential, GPU รับงานที่ต้องประมวลผลข้อมูลแบบขนาน และ NPU รับงาน AI หลักที่มีการคำนวณ Scalar, Vector และ Tensor การแบ่งงานเช่นนี้ช่วยให้ระบบสามารถรักษาสมดุลระหว่าง ประสิทธิภาพ ความเร็ว การใช้พลังงาน และความร้อน ได้ดีกว่าการให้ CPU หรือหน่วยประมวลผลเพียงชนิดเดียวทำงานทั้งหมด

ในทางปฏิบัติ การทำงานร่วมกันไม่ได้หมายความว่า AI ทุกส่วนจะถูกส่งไปยัง NPU เสมอไป เพราะ แต่ละหน่วยมีข้อจำกัดและรองรับการคำนวณแตกต่างกัน หากโมเดล AI มีบาง Operation ที่ NPU ไม่รองรับ ระบบสามารถส่งส่วนดังกล่าวกลับไปประมวลผลบน GPU หรือ CPU ได้ ซึ่งเรียกว่าแนวทาง Fallback และ Runtime ที่รองรับ Heterogeneous Computing สามารถกระจายงานไปยังหน่วยประมวลผลที่เหมาะสมโดยอัตโนมัติ ดังนั้นระบบ AI สมัยใหม่จึงไม่ได้มอง CPU, GPU และ NPU เป็นคู่แข่ง แต่เป็น ทีมประมวลผลที่ทำงานร่วมกัน โดยเป้าหมายคือเลือกใช้หน่วยที่เหมาะสมที่สุดสำหรับแต่ละงาน เพื่อให้ได้ทั้งประสิทธิภาพสูง การใช้พลังงานต่ำ และประสบการณ์ AI ที่ตอบสนองรวดเร็ว

บทสรุป

หน่วยประมวลผลในยุคปัจจุบันอย่าง CPU, GPU, และ NPU ล้วนถูกออกแบบมาให้มีจุดเด่นเฉพาะตัวและไม่ได้ถูกสร้างมาเพื่อแทนที่กัน ทั้งนี้ อุปกรณ์ยุคใหม่ได้นำแนวคิด Heterogeneous Computing มาใช้ ซึ่งเป็นการผสานการทำงานของชิปทุกประเภทเข้าด้วยกันเป็นทีม โดยระบบจะกระจายงานไปยังหน่วยประมวลผลที่เหมาะสมที่สุด เพื่อให้ได้ผลลัพธ์ที่ทรงประสิทธิภาพ ตอบสนองรวดเร็ว ใช้พลังงานต่ำ และเกิดประโยชน์สูงสุดต่อการใช้งาน

อ้างอิง thailand.intel.com thailand.intel.com intel.com qualcomm.com docs.cloud.google.com intel.com และ cover iT24Hrs

อ่านบทความและข่าวอื่นๆเพิ่มเติมได้ที่ it24hrs.com

CPU GPU และ NPU แตกต่างกันอย่างไร? Heterogeneous Computing คืออะไร?

อย่าลืมกดติดตามอัพเดตข่าวสาร ทิปเทคนิคดีๆกันนะคะ Please follow us

Youtube it24hrs
Twitter it24hrs
Tiktok it24hrs
facebook it24hrs

ติดต่อโฆษณา [email protected] โทร 080234502

Back To Top