جنسن هوانغ وCUDA وصعود NVIDIA
مقدمة
عندما شارك جنسن هوانغ في تأسيس NVIDIA عام 1993، كان هدفها جلب الرسومات ثلاثية الأبعاد إلى ألعاب الحاسوب والوسائط المتعددة. واليوم تُستخدم معالجات الشركة نفسها لتدريب نماذج الذكاء الاصطناعي وتشغيلها. ولفهم هذا التحول، من المفيد أن نبدأ بخلفية هوانغ الهندسية ومنصة البرمجيات التي بنتها NVIDIA، وهي CUDA. [1] [1]
1. المسيرة الهندسية لهوانغ
وُلد هوانغ في تايوان، وحصل على درجة البكالوريوس في الهندسة الكهربائية من جامعة ولاية أوريغون عام 1984. عمل مصمم معالجات دقيقة في AMD من 1984 إلى 1985، ثم شغل عدة مناصب في LSI Logic من 1985 إلى 1993. وأصبح مدير Coreware، القسم المسؤول عن استراتيجية الشركة لدمج مكونات متعددة من نظام الحاسوب في شريحة واحدة. وخلال تلك الفترة، حصل أيضاً على درجة الماجستير في الهندسة الكهربائية من جامعة ستانفورد عام 1992. [2] [1]
في 5 أبريل 1993، أسس هوانغ شركة NVIDIA مع كريس مالاكوسكي وكيرتس بريم. ويشغل منصب الرئيس والرئيس التنفيذي وعضو مجلس الإدارة منذ بدء الشركة. في عام 1999، أجرت NVIDIA طرحها العام الأولي. وفي العام نفسه، قدمت GeForce 256، وهو حدث بارز في تاريخ وحدات معالجة الرسومات (GPU) لدى الشركة. [1] [1]
2. ما هي CUDA؟
قدمت NVIDIA منصة CUDA عام 2006 كمنصة برمجيات ونموذج برمجة لإجراء العديد من العمليات الحسابية بالتوازي على وحدات معالجة الرسومات الخاصة بها. فوحدة معالجة الرسومات هي العتاد الذي ينفذ العمليات الحسابية، بينما توفر CUDA أدوات البرمجة التي يستخدمها المطورون لتشغيل عملياتهم الحسابية على ذلك العتاد. وهذا فتح وحدات معالجة الرسومات المخصصة للرسومات أمام تطبيقات البحث العلمي والحوسبة عالية الأداء والذكاء الاصطناعي. [1] [1]
تخيل أنك تزيد سطوع صورة تحتوي على مليون بكسل. يمكن أن تتقدم العملية الحسابية لبكسل واحد بشكل مستقل عن غيره. ويمكن لبرنامج CUDA تقسيم ذلك العمل إلى عمليات حسابية أصغر وتشغيلها على وحدة معالجة الرسومات. وتسمى الدالة التي تعمل على وحدة معالجة الرسومات بالنواة (kernel). وتنفذها خيوط معالجة كثيرة بالتوازي، يعمل كل منها على الجزء المخصص له من البيانات. وينطبق المبدأ نفسه المتمثل في تقسيم العمل إلى أجزاء يمكن تشغيلها بالتوازي على حسابات الذكاء الاصطناعي مثل عمليات ضرب المصفوفات الكبيرة. [3] [1]
3. كيف ساعدت CUDA صناعة الذكاء الاصطناعي
عند تدريب شبكة عصبية، يقدم النموذج أولاً تنبؤاً. ثم يقيس التدريب الخطأ ويحدث معاملات النموذج، ويكرر هذه العملية مرات عديدة. وتسرع وحدات معالجة الرسومات عمليات مثل ضرب المصفوفات، مما يمنح الباحثين وقتاً لإجراء مزيد من التجارب ويجعل تدريب نماذج أكبر أمراً عملياً. وتُستخدم وحدات معالجة الرسومات أيضاً بعد التدريب، أثناء الاستدلال، عندما ينتج نموذج مثل نموذج اللغة استجابة للمستخدم. [4] [1]
قدمت AlexNet برهاناً عملياً في عام 2012. فبعد تدريبها على وحدات معالجة الرسومات من NVIDIA، فازت بمسابقة ImageNet لتصنيف الصور. وأظهر أداؤها كيف يمكن لمعالجات الرسومات المستخدمة في ألعاب الحاسوب أن تدرب أيضاً نماذج للتعرف على الصور. [1] [1]
4. كيف منحت CUDA شركة NVIDIA ميزة دائمة
بنت NVIDIA مكتبات وأدوات محسنة للعمليات الحسابية التي يحتاجها المطورون بشكل متكرر. فمكتبة cuBLAS تسرع عمليات المصفوفات، وcuDNN تدعم العمليات الشائعة للشبكات العصبية، وNCCL تتولى الاتصال بين وحدات معالجة الرسومات، وTensorRT تساعد النماذج المدربة على العمل بشكل أسرع. وتدعم أطر عمل مثل PyTorch منصة CUDA، بحيث يمكن للمطورين استخدام هذه القدرات دون كتابة كل عملية على وحدة معالجة الرسومات من الصفر. [5] [1]
الخلاصة
عززت تلك المنظومة البرمجية أعمال العتاد لدى NVIDIA. ويمكن لفريق أن ينتقل من تجربة صغيرة إلى نظام يعمل عبر العديد من وحدات معالجة الرسومات مع الاستمرار في استخدام برمجيات وأدوات مألوفة. وقد يتطلب تغيير العتاد من الفريق مراجعة اعتمادياته على CUDA وتكييف أجزاء من برمجياته واختبار الأداء من جديد. وباستثمارها في البرمجيات إلى جانب العتاد لسنوات، كانت لدى NVIDIA أدوات جاهزة للمطورين الذين كانوا يعرفون كيفية استخدامها عندما نما الطلب على حوسبة الذكاء الاصطناعي. [1] [1]
المراجع
- https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
- https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
- https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
- https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
- https://developer.nvidia.com/machine-learning
أسئلة حول جنسن هوانغ وCUDA وصعود NVIDIA
ما هي CUDA ولماذا بنتها NVIDIA؟
CUDA هي منصة برمجيات ونموذج برمجة قدمتها NVIDIA عام 2006 لتشغيل العديد من العمليات الحسابية بالتوازي على وحدات معالجة الرسومات الخاصة بها. وحدة معالجة الرسومات هي العتاد؛ أما CUDA فتوفر أدوات البرمجة التي فتحت عتاد الرسومات أمام البحث العلمي والحوسبة عالية الأداء والذكاء الاصطناعي.
كيف ساعدت CUDA صناعة الذكاء الاصطناعي؟
يعني تدريب شبكة عصبية تكرار التنبؤ وقياس الخطأ وتحديث المعاملات مرات عديدة. وتسرع وحدات معالجة الرسومات عمليات مثل ضرب المصفوفات، مما يتيح للباحثين إجراء مزيد من التجارب وتدريب نماذج أكبر. وأثبتت AlexNet، التي دُربت على وحدات معالجة الرسومات من NVIDIA، ذلك بفوزها بمسابقة ImageNet لعام 2012.
لماذا تمنح CUDA شركة NVIDIA ميزة دائمة؟
بنت NVIDIA مكتبات محسنة يحتاجها المطورون كثيراً – cuBLAS لعمليات المصفوفات، وcuDNN لعمليات الشبكات العصبية، وNCCL للاتصال بين وحدات معالجة الرسومات المتعددة، وTensorRT لاستدلال أسرع – وتدعم أطر عمل مثل PyTorch منصة CUDA، بحيث يمكن للفرق التوسع من تجربة صغيرة إلى العديد من وحدات معالجة الرسومات دون إعادة كتابة برمجياتها.
Powered By K7
