CUDA and the rise of NVIDIA - editorial illustration

เจนเซน หวง, CUDA และการผงาดขึ้นของ NVIDIA

บทนำ

เมื่อเจนเซน หวงร่วมก่อตั้ง NVIDIA ในปี 1993 เป้าหมายคือการนำกราฟิก 3 มิติมาสู่เกมคอมพิวเตอร์และมัลติมีเดีย ปัจจุบัน หน่วยประมวลผลของบริษัทเดียวกันถูกใช้เพื่อฝึกและรันโมเดลปัญญาประดิษฐ์ เพื่อให้เข้าใจการเปลี่ยนแปลงนั้น ควรเริ่มจากภูมิหลังด้านวิศวกรรมของหวงและแพลตฟอร์มซอฟต์แวร์ที่ NVIDIA สร้างขึ้น นั่นคือ CUDA [1] [1]

1. เส้นทางวิศวกรรมของหวง

หวงเกิดในไต้หวัน สำเร็จปริญญาตรีวิศวกรรมไฟฟ้าจากมหาวิทยาลัยรัฐออริกอนในปี 1984 เขาทำงานเป็นผู้ออกแบบไมโครโปรเซสเซอร์ที่ AMD ตั้งแต่ปี 1984 ถึง 1985 จากนั้นดำรงตำแหน่งต่าง ๆ ที่ LSI Logic ตั้งแต่ปี 1985 ถึง 1993 เขากลายเป็นผู้อำนวยการของ Coreware แผนกที่รับผิดชอบกลยุทธ์ของบริษัทในการรวมส่วนประกอบหลายส่วนของระบบคอมพิวเตอร์ไว้บนชิปเดียว ในช่วงเวลานั้น เขายังสำเร็จปริญญาโทวิศวกรรมไฟฟ้าจากมหาวิทยาลัยสแตนฟอร์ดในปี 1992 [2] [1]

เมื่อวันที่ 5 เมษายน 1993 หวงก่อตั้ง NVIDIA ร่วมกับ Chris Malachowsky และ Curtis Priem เขาดำรงตำแหน่งประธาน ประธานเจ้าหน้าที่บริหาร และสมาชิกคณะกรรมการตั้งแต่บริษัทเริ่มก่อตั้ง ในปี 1999 NVIDIA จำหน่ายหุ้นแก่ประชาชนทั่วไปเป็นครั้งแรก ในปีเดียวกันนั้น บริษัทเปิดตัว GeForce 256 ซึ่งเป็นเหตุการณ์สำคัญในประวัติศาสตร์หน่วยประมวลผลกราฟิก (GPU) ของบริษัท [1] [1]

2. CUDA คืออะไร?

NVIDIA เปิดตัว CUDA ในปี 2006 ในฐานะแพลตฟอร์มซอฟต์แวร์และรูปแบบการเขียนโปรแกรมสำหรับประมวลผลการคำนวณจำนวนมากแบบขนานบน GPU ของตน GPU คือฮาร์ดแวร์ที่ทำการคำนวณ CUDA มอบเครื่องมือเขียนโปรแกรมที่นักพัฒนาใช้รันการคำนวณของตนบนฮาร์ดแวร์นั้น สิ่งนี้เปิดทางให้ GPU ที่สร้างมาเพื่อกราฟิกถูกใช้ในงานวิจัยทางวิทยาศาสตร์ การประมวลผลสมรรถนะสูง และปัญญาประดิษฐ์ [1] [1]

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

3. CUDA ช่วยอุตสาหกรรม AI อย่างไร

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

AlexNet ให้การพิสูจน์เชิงปฏิบัติในปี 2012 เมื่อฝึกบน GPU ของ NVIDIA มันชนะการแข่งขันจำแนกภาพ ImageNet ประสิทธิภาพของมันแสดงให้เห็นว่าหน่วยประมวลผลกราฟิกที่ใช้สำหรับเกมคอมพิวเตอร์สามารถฝึกโมเดลให้จดจำภาพได้เช่นกัน [1] [1]

4. CUDA มอบข้อได้เปรียบระยะยาวให้ NVIDIA อย่างไร

NVIDIA สร้างไลบรารีและเครื่องมือที่ปรับให้เหมาะสมสำหรับการคำนวณที่นักพัฒนาต้องใช้บ่อย cuBLAS เร่งการดำเนินการเมทริกซ์ cuDNN รองรับการดำเนินการโครงข่ายประสาทเทียมทั่วไป NCCL จัดการการสื่อสารข้าม GPU และ TensorRT ช่วยให้โมเดลที่ฝึกแล้วรันเร็วขึ้น เฟรมเวิร์กอย่าง PyTorch รองรับ CUDA ดังนั้นนักพัฒนาจึงใช้ความสามารถเหล่านี้ได้โดยไม่ต้องเขียนการดำเนินการ GPU แต่ละอย่างขึ้นมาใหม่ [5] [1]

บทสรุป

ระบบนิเวศซอฟต์แวร์นั้นเสริมความแข็งแกร่งให้ธุรกิจฮาร์ดแวร์ของ NVIDIA ทีมหนึ่งสามารถย้ายจากการทดลองขนาดเล็กไปสู่ระบบที่รันบน GPU หลายตัวโดยยังใช้ซอฟต์แวร์และเครื่องมือที่คุ้นเคยต่อไป การเปลี่ยนฮาร์ดแวร์อาจทำให้ทีมต้องทบทวนการพึ่งพา CUDA ปรับซอฟต์แวร์บางส่วน และทดสอบสมรรถนะใหม่ ด้วยการลงทุนในซอฟต์แวร์ควบคู่กับฮาร์ดแวร์มาหลายปี NVIDIA จึงมีเครื่องมือพร้อมสำหรับนักพัฒนาที่รู้วิธีใช้อยู่แล้วเมื่อความต้องการการประมวลผล AI เพิ่มขึ้น [1] [1]

อ้างอิง

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

คำถามเกี่ยวกับเจนเซน หวง, CUDA และการผงาดขึ้นของ NVIDIA

CUDA คืออะไร และทำไม NVIDIA จึงสร้างมัน?

CUDA คือแพลตฟอร์มซอฟต์แวร์และรูปแบบการเขียนโปรแกรมที่ NVIDIA เปิดตัวในปี 2006 สำหรับรันการคำนวณจำนวนมากแบบขนานบน GPU ของตน GPU คือฮาร์ดแวร์; CUDA มอบเครื่องมือเขียนโปรแกรม ซึ่งเปิดทางให้ฮาร์ดแวร์กราฟิกถูกใช้ในงานวิจัยทางวิทยาศาสตร์ การประมวลผลสมรรถนะสูง และ AI

CUDA ช่วยอุตสาหกรรม AI อย่างไร?

การฝึกโครงข่ายประสาทเทียมหมายถึงการทำซ้ำการทำนาย การวัดความคลาดเคลื่อน และการปรับปรุงพารามิเตอร์หลายครั้ง GPU เร่งความเร็วการดำเนินการอย่างการคูณเมทริกซ์ ทำให้นักวิจัยทำการทดลองได้มากขึ้นและฝึกโมเดลที่ใหญ่ขึ้น AlexNet ที่ฝึกบน GPU ของ NVIDIA พิสูจน์สิ่งนี้ด้วยการชนะการแข่งขัน ImageNet ปี 2012

ทำไม CUDA จึงมอบข้อได้เปรียบระยะยาวให้ NVIDIA?

NVIDIA สร้างไลบรารีที่ปรับให้เหมาะสมซึ่งนักพัฒนาต้องใช้บ่อย ได้แก่ cuBLAS สำหรับการดำเนินการเมทริกซ์ cuDNN สำหรับการดำเนินการโครงข่ายประสาทเทียม NCCL สำหรับการสื่อสารแบบหลาย GPU และ TensorRT สำหรับการอนุมานที่เร็วขึ้น และเฟรมเวิร์กอย่าง PyTorch รองรับ CUDA ทีมจึงสามารถขยายจากการทดลองขนาดเล็กไปสู่ GPU หลายตัวโดยไม่ต้องเขียนซอฟต์แวร์ใหม่

Powered By K7