مدونتنا

Blog Thumbnail

مكتبة بايتورش PYTorch- يمكنك بناء نموذجك باستخدام هاتفك|SHAI

تعد مكتبة باتورش من أسهل مكتبات التعلم الآلي استخدما حيث توفر جميع الأدوات والعمليات الرياضية اللازمة لبناء الشبكة العصبية وغيرها من نماذج التعلم الآلي.

2/9/2025 - 6 دقائق


ما هي مكتبة بايتورش PYTorch, كيفية عملها ومميزاتها

يوما عن يوم تتزايد مكتبات التعلم الآلي والتعلم العميق في الظهور والتي تتركنا حائرين أمام أي واحدة نستخدم, ولكن لنختصر الطريق, مؤكد أنك تبحث عن أسهل الطرق وأسرعها لإنشاء نماذج تعلم آلي ونماذج التعلم العميق كالشبكات العصبية وغيرها, وبأقل الإمكانيات بل وتتساءل ما اذا كان بإمكانك استخدام هاتفك الذكي لإنشائها؟ نتحدث هنا عن مكتبة بايتروش Pytorch, تعد من أسهل المكتبات في مجال التعلم الآلي والتعلم العميق التي يمكنك استخدامها بأقل الإمكانيات, ولكن ما هي تحديدا, وما الذي تقدمه من خدمات, ولماذا اكتسبت هذه الأهمية في مجال الذكاء الاصطناعي؟ هذا وأكثر ما سنعرفه في مقالنا هذا عن مكتبة بايتورش, ابق معنا.


ما هي مكتبة بايتورش Pytorch؟

مكتبة بايتورش هي مكتبة تعلم آلي مفتوحة المصدر, تعتمد على مكتبة تورش Torch, طورت من قبل مختبر الذكاء الاصطناعي الخاص بشركة Facebook ولكنها الآن تعتبر جزء من مظلة مؤسسة Linux لينكس. [1]


تعتمد بشكل أساسي على لغة البرمجة Python, كما تتميز بأهم الأدوات و واجهات البرمجة اللازمة لبناء وتدريب نماذج التعلم الآلي والتعلم العميق, بدءا من مرحلة تنظيم البيانات وصولا الى مرحلة  تدريب النموذج وحتى  مرحلة نشرها, من أهم المميزات التي توفرها هي حوسبة Tensor مثل NumPy والتي تعني استخدام هياكل البيانات المتقدمة التي تعرف باسم Tensor بشكل سريع وأكثر كفاءة من خلال وحدات معالجة الرسومات GPU.


كما أن هذه المكتبة توفر مئات العمليات الرياضية التي تستخدم في عمليات بناء وتشغيل النماذج الذكية, كانت ولا تزال مكتبة بايتورش تحظى بشعبية عالية من قبل علماء البيانات و المهتمين في المجال, بسبب سهولة استخدامها في صناعة شبكات عصبية اصطناعية وغيرها من تطبيقات الذكاء الاصطناعي.


صدرت تحت ترخيص BSD المعدل والذي ينص على حرية استخدام المكتبة والتعديل على الشيفرة المصدرية الخاصة بها وفق الحاجة. 


من التطبيقات التي يمكن استخدام هذه المكتبة فيها هي الرؤية الحاسوبية Computer Vision و معالجة اللغة الطبيعية, بالإضافة الى تطبيقات التعرف على الصور.  



كيف تعمل؟ 

هناك عنصران أساسيان تعتمد عليهما مكتبة بايتورش في كيفية عملها وهما: Tensors و Graphs الرسوم البيانية. [2]


التنسورز Tensors

لنوضح أولا مفهوم التنسورز, وهي تعد النوع الأساسي للبيانات في مكتبة بايتورش وهي تشبه مصفوفات متعددة الأبعاد, يتم الاستفادة منها في تخزين ومعالجة بيانات الإدخال والإخراج الخاصة بالنموذج بالإضافة الى تخزين معاملات النموذج. تشبه التنسورز في مكتبة بايتورش ما يسمى ب ndarrays الموجودة  في مكتبة  NumPy، إلا أن الفرق بينهما هو أن التنسورز يمكن تشغيلها على وحدات معالجة الرسومات GPUs مما يسرع من عمليات الحوسبة. 


إذا تكون بيانات الإدخال ومعاملات النموذج مثل الأوزان Weights و الانحيازات Biases مخزنة داخل التنسوز, والهدف هو تحسين هذه المعاملات عن طريق تطبيق بعض العمليات الحسابية عليها مثل الدوال Functions لحساب مشتقاتها الجزئية Gradients بالنسبة لمقياس الخسارة Loss Metric أي أننا نقوم بحساب كيفية تغيير مقياس الفقد بالنسبة لكل معامل في النموذج, بهدف تعزيز أداء النموذج.


في المرحلة الأولى، التي تسمى الانتشار الأمامي  Forward Propagation، تأخذ الشبكة العصبية معاملات الإدخال وتقوم بتنفيذ العمليات الحسابية عليها لتوليد ما يسمى ب Confidence Score  لكل عقدة في الطبقة التالية, تتكرر هذه العملية عبر الطبقات حتى نصل إلى الطبقة المخرجات ثم يحسب خطأ النقطة.


ثم في المرحلة الثانية،  يتم استخدام عملية تعرف بالانتشار العكسي Backward Propagation داخل عملية تعرف باسم النزول التدرجي Gradient Descent، يتم حساب الخطأ لنقاط الناتج وإرساله إلى الوراء عبر الشبكة. يتم ذلك باستخدام مشتقات الخطأ بالنسبة للمعاملات، والتي تسمى التدرجات, ثم يتم استخدام هذه التدرجات لتعديل الأوزان والانحيازات في اتجاه يحسن من أداء النموذج.


الرسوم البيانية Graphs

الرسوم البيانية هي هيكل بيانات يتكون من عقد متصلة وحواف, أصبحت اليوم ذات أهمية كبيرة لأن  كل إطار حديث للتعلم العميق يستند إلى مفهوم الرسوم البيانية من ضمنها الشبكات العصبية, إذ صارت تمثل كهيكل رسوم الحسابات. 


توفر PyTorch نظاما لتسجيل وتتبع العمليات التي تتم على المصفوفات أو التنسورز خلال عمليات التدريب والتحسين, بحيث تستخدم مفهوم الرسم البياني الموجه غير الدائري (DAG) لتمثيل هذه العمليات. يتألف الرسم البياني من كائنات الدوال, تمثل الأوراق في الرسم البياني تنسورز أو مصفوفات الإدخال أما الجذور فتمثل تنسورز الإخراج.


تعتمد مكتبة بايتورش على رسوم حسابية ديناميكية حيث يتم بناء وإعادة بناء الرسم البياني أثناء التشغيل, حيث يستخدم الشيفرة نفسها لتنفيذ العمليات الأمامية وإنشاء هيكل البيانات اللازم للانتشار العكسي, كما أنها تعتبر أول إطار يعتمد على Define-by-run مع أداء قوي يتنافس مع الأطر التي تستخدم رسوما ثابتة مثل TensorFlow. يتيح هذا النهج تحديد النماذج ديناميكيا أثناء التشغيل، مما يجعله مناسبا لمجموعة واسعة من التطبيقات، بدءا من الشبكات التصويرية القياسية إلى الشبكات العصبية العائدة.



ما هي خصائص مكتبة بايتورش؟

اكتسب هذه المكتبة شعبيتها بسبب ما تتمتع به من خصائص مميزة, من أهمها: [3]

  • جاهزة للإنتاج: بسبب وجود ما يعرف ب TorchScript تكون المكتبة سهلة الاستخدام ومرنة بحيث يمكن الانتقال بكل سلاسة ومرونة الى وضع الرسم البياني لتحقيق السرعة والتحسين في الأداء في بيانات تشغيل ++C.


  • بيئة متكاملة: توفر مكتبة بايتورش بيئة متكاملة من الأدوات مثل: Pytorch Lightning و ONNX بالإضافة الى Skorch وغيرها, مما تقلل من تكاليف التطوير وتسهل وصول المستخدمين للنماذج.


  • إمكانية تشغيلها على أنظمة متعددة: تدعم المكتبة سير عمل بناء النماذج من بدايتها الى نهايتها وحتى نشرها على أنظمة مثل iOS و Android, كما أن واجهة التطبيقات الخاصة بها توسعت لتشمل جميع المهام الشائعة للتحضير المسبق والتكامل الضروري لدمج تعلم الآلة في تطبيقات الهواتف المحمولة.


  • واجهة أمامية ل ++C: توفر المكتبة واجهة أمامية نقية للغة البرمجة ++C بتصميم وهندسة تابعة لتلك الواجهة الخاصة بلغة البرمجة Python, صممت لغايات دعم البحث في تطبيقات ++C عالية الأداء.


  • مدعومة على منصات السحابة: مدعومة على منصات الحوسبة السحابية الرئيسية، مما ييسر التطوير بشكل سلس والتوسع بسهولة من خلال توفير صور جاهزة مبنية مسبقا, كما توفر إمكانيات تدريب واسعة النطاق باستخدام وحدات معالجة الرسومات GPUs وقدرة تشغيل النماذج في بيئة إنتاجية قابلة للتوسيع.


  • أوقات تدريب سريعة: تتميز بأوقات تدريب سريعة نسبيا، وذلك بفضل حزمة التفاضل التلقائي Autograd Differentiation Package, مقارنة مع إطارات عمل التعلم الآلي الأخرى.



الخاتمة

مكتبة بايتورش هي مكتبة تعلم آلي تتيح إمكانية بناء نماذج التعلم الآلي والشبكات العصبية وكذلك نماذج معالجة اللغة الطبيعية, تعتمد على لغة البرمجة بايثون وهذا ما يجعلها من أسهل المكتبات للعمل عليها, كما أنها توفر جميع الأدوات والعمليات الرياضية اللازمة لبناء وتدريب النماذج.

تعتمد في عملها على المصفوفات أو التنسورز Tensors والتي تستخدمها لتخزين بيانات ومعاملات الإدخال مثل الأوزان وكذلك تعتمد على  الرسوم البيانية Graphs حيث تستفيد منها في تتبع العمليات على المصفوفات من خلال تمثيلها بالرسم البياني الموجه غير الدائري.

وأخيرا, تتميز مكتبة بايتورش بمرونة استخدامها وإمكانية التنقل بين الأوامر بسهولة وسلاسة, بالإضافة الى إمكانية تشغيلها على أنظمة تشغيل IOS و Android وهذا يعني أنه يمكنك بماء النماذج باستخدام هاتفك الذكي.

 تحظى المكتبة بمستقبل واعد مع استمرار التطور والتحسين المستمر، مما يجعلها خيارا متقدما في مجال تعلم الآلة والبرمجة.

  



المصادر

  1. What is PyTorch?
  2. What is PyTorch? | Data Science | NVIDIA Glossary
  3. Features | PyTorch
لايوجد تعليقات بعد!

سجل الدخول ﻹضافة تعليق

العلامات
التعلم الالي