ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

Tensor Core กับ CUDA Core ในการ์ดจอ NVIDIA คืออะไร ? และแตกต่างกันอย่างไร ?

Tensor Core กับ CUDA Core ในการ์ดจอ NVIDIA คืออะไร ? และแตกต่างกันอย่างไร ?

เมื่อ :
|  ผู้เข้าชม : 6,552
เขียนโดย :
0 Tensor+Core+%E0%B8%81%E0%B8%B1%E0%B8%9A+CUDA+Core+%E0%B9%83%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%94%E0%B8%88%E0%B8%AD+NVIDIA+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B9%81%E0%B8%95%E0%B8%81%E0%B8%95%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3+%3F
A- A+
แชร์หน้าเว็บนี้ :

Tensor Core กับ CUDA Core แตกต่างกันอย่างไร ?

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

บทความเกี่ยวกับ NVIDIA อื่นๆ

เทคโนโลยี Deep Learning (DL) เป็นส่วนย่อยสำคัญของ ML ที่ใช้ในการจำลองเครือข่ายประสาทเทียม Artificial Neural Networks (ANNs) ซึ่งสำคัญต่อการประเมินผลลัพธ์ หากพลังประมวลผลไม่แรงพอ มันก็จะใช้เวลาในการเรียนรู้ข้อมูลอย่างยาวนาน

สำหรับ หน่วยประมวลผลกลาง (CPU) แบบปกติทั่วไป ไม่สามารถรับมือกับงานจำนวนมหาศาลขนาดนั้นได้ หรือมีพลังไม่มากพอสำหรับการฝึกฝนโมเดล ML แต่ด้วยความก้าวหน้าของ GPU ในยุคนี้ ที่มีการผสานพลัง CUDA Core และ Tensor Core เพื่อทำงานร่วมกัน มันช่วยให้การทำ ML ง่ายขึ้นกว่าเดิมมาก

ความก้าวหน้าในด้านนี้ เครดิตบางส่วนก็ต้องยกให้กับ NVIDIA ที่ได้นำเทคโนโลยีใหม่เข้ามาใส่ใน GPU ด้วย จากการที่ได้พัฒนา Tensor Core กับ CUDA Core ขึ้นมา โดยทั้งคู่ช่วยให้การฝึกฝน ML ทำได้รวดเร็วขึ้นกว่าเดิมมาก อย่างไรก็ดี สองสิ่งนี้แตกต่างกันอย่างไร ? ในบทความนี้จะมาหาคำตอบกัน

เนื้อหาภายในบทความ

GPU คืออะไร ?
(What is Graphical User Interface ?)

GPU (Graphical Processing Unit) หรือหน่วยประมวลกราฟิก เป็นชิปที่ถูกพัฒนาขึ้นมาเพื่อประมวลกราฟิก ทั้ง 2 มิติ และ 3 มิติ ซึ่งก็รวมไปถึงงานแอนิเมชัน, วิดีโอ, ภาพยนตร์ ฯลฯ และในปัจจุบันก็กลายเป็นชิปที่มีบทบาทสำคัญต่อการคำนวณระบบ AI/ML ด้วย อย่างเช่น การฟังคำถาม แล้ววิเคราะห์คำตอบ หรือระบบขับขี่แบบอัตโนมัติ ก็ล้วนแต่ใช้ GPU ในการประมวลผลเป็นหลัก อาจจะฟังดูแปลก แต่อย่างรถยนต์ไฟฟ้า Tesla ก็มี GPU อยู่ภายในตัวเพื่อใช้ในการประมวลผลอยู่ด้วยนะ

ข้อมูลเพิ่มเติม : CPU, GPU และ APU คืออะไร ? แตกต่างกันตรงไหน ใช้แทนกันได้หรือเปล่า ?

Tensor Core กับ CUDA Core ในการ์ดจอ NVIDIA คืออะไร ? และแตกต่างกันอย่างไร ?
Ryzen Embedded V180F ที่อยู่ในรถ Tesla
ภากจาก : https://videocardz.com/newz/tesla-car-computer-features-zen-ryzen-embedded-apu-and-discrete-navi-23-gpu

CUDA Core ใน GPU คืออะไร ?
(What is CUDA Core in GPU ?)

CUDA หรือ Compute Unified Device Architecture เป็นแพลตฟอร์มการประมวลผลแบบขนาน (Parallel) และรูปแบบการเขียนโมเดลโปรแกรม ที่พัฒนาขึ้นมาโดยบริษัท NVIDIA เพื่อใช้ในการป้อนข้อมูลให้กับ GPU ที่รองรับ CUDA นั่นหมายความว่า GPU นั้นจะไม่ได้คำนวณผลได้แค่กราฟิกเท่านั้น แต่ยังสามารถคำนวณงานด้านอื่น อย่างการประมวลผลข้อมูล หรือ ML ได้อีกด้วย

โดย GPU รุ่นแรกของ NVIDIA ที่มีระบบ CUDA Core คือ GT8800 มันได้ปฏิวัติการออกแบบ และวิธีการทำงานของ GPU อย่างก้าวกระโดด ด้วยการทำงานแบบ Stream processors (SP) หรือที่ปัจจุบันนี้เรียกว่า CUDA นั่นเอง 

แม้ CUDA Core จะมีประสิทธิภาพต่ำกว่า Core ของ CPU แต่ว่าจุดแข็งของมันอยู่ที่ "ปริมาณ" อย่างเช่น RTX 4090 นั้นมีมากถึง 16,384 CUDA Core ซึ่งมันสามารถแยกกระจายข้อมูลไปแต่ละ Core เพื่อคำนวณผลแบบขนานไปพร้อมกันได้ทุก Core ทำให้มันสามารถรับมือกับการประมวลผลชุดข้อมูลขนาดใหญ่ได้อย่างรวดเร็ว ซึ่งเป็นคุณสมบัติที่จำเป็นต่อการพัฒนาโมเดล ML เป็นอย่างมาก แม้ CPU จะสามารถคำนวณผลในรูปแบบเดียวกันได้ แต่ CPU ก็มีจำนวน Core น้อยกว่าหลายเท่า อย่าง i9-13900K ก็มีเพียง 24 Core หรือ AMD Ryzen Threadripper ก็มีแค่ 64 Core เท่านั้น

นอกจากนี้ CUDA Core ยังรองรับ APIs ของกราฟิก อย่าง Direct3D, OpenGL หรือ Programming Frameworks อย่าง OpenCL และ OpenMP ได้อีกด้วย

Tensor Core ใน GPU คืออะไร ?
(What is Tensor Core in GPU ?)

ก่อนที่จะมีการพัฒนา Tensor Core ขึ้นมา การฝึกฝน ML และ DL ตกเป็นความรับผิดชอบของ CUDA Core ถึงแม้ว่ามันจะทำงานได้เร็วกว่า CPU หลายเท่า แต่มันก็ยังไม่สมบูรณ์แบบ NVIDIA จึงแก้ปัญหาด้วยการพัฒนา Tensor Core ขึ้นมา โดยมันมีหน้าที่ในการคำนวณงานด้าน ML และ DL เพียงอย่างเดียว ไม่ไปยุ่งเกี่ยวกับการประมวลผลกราฟิกโดยตรง อย่างการคำนวณค่าแสงของ เทคโนโลยี Ray Tracing ที่ทาง NVIDIA ก็จะใช้ Tensor Core ช่วยวิเคราะห์ว่าแสงควรจะมีสภาพเป็นอย่างไร ก่อนจะส่งผลลัพธ์ให้ CUDA Core ไปเรนเดอร์ต่อ

โดย Tensor Core มันเป็นชิปพิเศษที่มีอยู่ใน GPU บางรุ่นของ NVIDIA มันถูกออกแบบเพื่อทำหน้าที่เพิ่มความเร็วในการประมวลผล Deep Learning และ ปัญญาประดิษฐ์ (Artificial Intelligence หรือ AI) โดยเฉพาะ การทำงานจะผสมผสานระหว่าง "Dynamic Calculations" และ "Mix-Precision computing" ซึ่งช่วยเพิ่มประสิทธิภาพโดยรวมให้สูงขึ้นโดยที่ยังคงความแม่นยำในการประมวลผลเอาไว้อยู่

Precision Computing คือ ความแม่นยำในการคำนวณผลค่าใด ๆ ก็ตาม ซึ่งในด้านนี้ Tensor Core จะมีความแม่นยำต่ำกว่าการคำนวณของ CUDA Core เนื่องจากวิธีการทำงานที่แตกต่างกัน โดย Tensor Core ใช้หลักการ Matrix เพื่อคำนวณค่าข้อมูลเป็นชุด (เช่น 1 1 1 x 1 1 1) เพื่อเพิ่มความเร็วในการคำนวณ ในขณะที่ CUDA Core จะคำนวณเพียง 1 ค่า ต่อ 1 รอบสัญญาณนาฬิกา (เช่น 1 x 1)

คำว่า Tensor นั้น ใช้นิยามถึงประเภทของข้อมูลที่สามารถอยู่ในรูปแบบใดก็ได้ โดยเราสามารถมองว่ามันเป็นที่เก็บข้อมูลที่ในนั้นมีข้อมูลอยู่หลายมิติก็ได้ Tensor Core มักนิยมใช้ทำงานร่วมกับไลบรารี่ซอฟต์แวร์แบบ Open-source อย่าง TensorFlow ซึ่งมันช่วยให้นักพัฒนาสามารถออกแบบ และฝึกฝน ML ได้ง่ายขึ้น เพราะไม่ต้องเริ่มสร้างทุกอย่างด้วยตัวเองใหม่จากศูนย์

ด้วยการปรับแต่งระบบการคำนวณให้ประมวลผลแบบ Matrix ได้รวดเร็วยิ่งขึ้น จากการใช้อัลกอริทึมหลายรูปแบบทำงานร่วมกัน ไม่ว่าจะเป็นการคูณ Matrix หรือการคำนวณแบบ Convolution ซึ่งนิยมใช้ในการทำ Deep Learning มารวมพลังกันทำงาน แม้การรคูณ Matrix จะเป็นการทำงานแบบตรงไปตรงมา แต่ทุกการคำนวณจำเป็นต้องมีการ Registers และ Caches เพื่อทดค่าระหว่างการคำนวณด้วย ส่งผลให้ในแต่ละ Core มีจำนวนงานที่ต้องคำนวณสูงมาก มันจึงเหมาะกับการฝึกฝน ML และ DL ที่มีขนาดใหญ่เป็นอย่างมาก

สรุปง่าย ๆ หากงานที่ทำความแม่นยำเป็นปัจจัยสำคัญ ก็ควรใช้ CUDA Core แต่ถ้าเป็นงานขนาดใหญ่ สามารถยอมรับข้อผิดพลาดที่อาจเกิดขึ้นได้บ้าง Tensor Core ก็จะเหมาะสมกว่า

ความแตกต่างระหว่าง CUDA Core และ Tensor Core

Tensor Core

  • NVIDIA ใช้มันในการพัฒนา AI
  • เหมาะสำหรับการประมวลผลข้อมูลขนาดใหญ่โดยไม่ต้องปรับแต่งฮาร์ดแวร์
  • Tensor Core ช่วยประมวลผล Ray tracing ใน GPU ของ NVIDIA

 CUDA Core

  • หนึ่งในเสาหลักที่คอยค่ำจุน GPU ของ NVIDIA
  • แม้จะคำนวณได้ช้า แต่ทดแทนด้วยคอร์จำนวนมากทำงานแบบคู่ขนาน
  • เหมาะกับงานด้านถอดรหัสคริปโต, ฟิสิกส์ และเรนเดอร์กราฟิกภายในเกม

ตารางเปรียบเทียบ ระหว่าง CUDA Core และ Tensor Core

คุณสมบัติ CUDA Core

Tensor Core

ความแม่นยำ

สูง ต่ำ

ความเร็วในการคำนวณ

ช้า เร็ว

Machine Learning

ทำได้ แต่ไม่ใช้ตัวเลือกที่ดีที่สุด เกิดมาเพื่อสิ่งนี้

การนำไปใช้

ประมวลผลกราฟิกระดับสูง พัฒนาระบบ AI
Cycle Reduction

ไม่รองรับ

ลดรอบเพื่อคำนวณทางคณิตศาสตร์ได้
การทำงานต่อ 1 รอบสัญญาณ 1

หลายครั้ง

การประมวลผลกราฟิก

เกิดมาเพื่อสิ่งนี้

ไม่เหมาะสม

ค่าย AMD มีเทคโนโลยีแบบเดียวกันหรือไม่ ?
(Does AMD have the same technology ?)

ทั้ง CUDA Core และ Tensor Core เป็นเทคโนโลยีแบบกรรมสิทธิ์ ที่พัฒนาขึ้นมาโดย NVIDIA ดังนั้น ในท้องตลาดจึงไม่มีคู่แข่งมาเปรียบเทียบมากนัก จะมีก็แต่ฮาร์ดแวร์ระดับองค์กรที่สร้างขึ้นมาเพื่อใช้พัฒนา AI โดยเฉพาะ แต่ก็มีราคาที่สูงมาก

ในกลุ่มสินค้าสำหรับบุคคลทั่วไป นอกจาก NVIDIA แล้ว ก็มีแค่ AMD เท่านั้น แต่ว่า AMD เลือกใช้วิธีการอื่นในการทำ Ray Tracing หรือ Dynamic resolution sharpening แทน โดย Sam Naffziger รองประธานอาวุโสแห่งบริษัท AMD ได้เคยสัมภาษณ์เอาไว้ว่า การใส่ชิปเพิ่มเพื่อคำนวณแบบ Matrix มันเกินความจำเป็นต่อผลิตภัณฑ์สำหรับผู้ใช้งานทั่วไป


ที่มา : history-computer.com , www.acecloudhosting.com , medium.com , www.nvidia.com , videocardz.com , en.wikipedia.org , www.pcguide.com

0 Tensor+Core+%E0%B8%81%E0%B8%B1%E0%B8%9A+CUDA+Core+%E0%B9%83%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%94%E0%B8%88%E0%B8%AD+NVIDIA+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B9%81%E0%B8%95%E0%B8%81%E0%B8%95%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3+%3F
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
ระดับผู้ใช้ : Admin    Thaiware
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

แสดงความคิดเห็น