▪︎ مجلس نيوز
كانت الحروب الدينية حجر الزاوية في التكنولوجيا. سواء كان الأمر يتعلق بالمناقشة حول إيجابيات وسلبيات أنظمة التشغيل المختلفة ، أو موفري الخدمات السحابية ، أو أطر التعلم العميق – فإن القليل من البيرة ، تنزلق الحقائق جانبًا ويبدأ الناس في القتال من أجل التكنولوجيا الخاصة بهم كما لو كانت الكأس المقدسة.
مجرد التفكير في الحديث الذي لا نهاية له عن IDEs. بعض الناس يفضلون VisualStudio ، والبعض الآخر يستخدم IntelliJ ، ومرة أخرى يستخدم البعض الآخر محررات قديمة بسيطة مثل Vim. هناك مناقشة لا تنتهي، نصف سخرية بالطبع ، حول ما قد يقوله محرر النصوص المفضل لديك عن شخصيتك.
يبدو أن حروبًا مماثلة تشتعل حول PyTorch و TensorFlow. كلا المعسكرين لهما دفين من المؤيدين. وكلا المعسكرين لديهم حجج جيدة لاقتراح سبب وجود إطار التعلم العميق المفضل لديهم قد يكون الأفضل.
احصل على تذاكرك لـ TNW فالنسيا مارس!
يأتي قلب التكنولوجيا إلى قلب البحر الأبيض المتوسط
ومع ذلك ، فإن البيانات تتحدث عن حقيقة بسيطة إلى حد ما. TensorFlow هو ، حتى الآن ، إطار التعلم العميق الأكثر انتشارًا. يتلقى ما يقرب من ضعف عدد الأسئلة على StackOverflow كل شهر مثل PyTorch.
من ناحية أخرى ، لم ينمو TensorFlow منذ حوالي عام 2018. كانت PyTorch تكتسب زخمًا بشكل مطرد حتى يوم نشر هذا المنشور.
من أجل الاكتمال ، قمت أيضًا بتضمين Keras في الشكل أدناه. تم إصداره في نفس وقت إصدار TensorFlow تقريبًا. ولكن ، كما يمكن للمرء أن يرى ، فقد تم تحطيمه في السنوات الأخيرة. التفسير المختصر لذلك هو أن كيراس قليل تبسيطي وبطيء جدا لمتطلبات معظم ممارسي التعلم العميق.
قد لا تنخفض حركة مرور StackOverflow لـ TensorFlow بسرعة كبيرة ، لكنها تتراجع مع ذلك. وهناك أسباب للاعتقاد بأن هذا التراجع سيصبح أكثر وضوحًا في السنوات القليلة المقبلة ، لا سيما في عالم بايثون.
يبدو PyTorch أكثر بيثونية
تم تطوير TensorFlow بواسطة Google ، وربما كان أحد الأطر الأولى التي ظهرت في مجموعة التعلم العميق في أواخر عام 2015. ومع ذلك ، كان الإصدار الأول مرهقًا إلى حد ما للاستخدام – كما هو الحال مع العديد من الإصدارات الأولى من أي برنامج.
هذا هو السبب في أن Meta بدأت في تطوير PyTorch كوسيلة لتقديم نفس الوظائف إلى حد كبير مثل TensorFlow ، ولكن جعلها أسهل في الاستخدام.
سرعان ما لاحظ الأشخاص الذين يقفون وراء TensorFlow هذا الأمر ، واعتمدوا العديد من ميزات PyTorch الأكثر شيوعًا في TensorFlow 2.0.
من القواعد الجيدة أنه يمكنك فعل أي شيء تفعله PyTorch في TensorFlow. سوف يستغرق الأمر ضعف مجهودك لكتابة الكود. إنه ليس بديهيًا ويشعر بأنه غير بيثوني تمامًا ، حتى اليوم.
من ناحية أخرى ، يبدو استخدام PyTorch طبيعيًا جدًا إذا كنت تستمتع باستخدام Python.
لدى PyTorch المزيد من النماذج المتاحة
لا تمتلك العديد من الشركات والمؤسسات الأكاديمية القوة الحسابية الهائلة اللازمة لبناء نماذج كبيرة. الحجم هو الملك ، مع ذلك ، عندما يتعلق الأمر بالتعلم الآلي ؛ كلما كان النموذج أكبر كلما كان أداؤه أكثر إثارة للإعجاب.
مع تعانق الوجه، يمكن للمهندسين استخدام نماذج كبيرة ومدربة ومضبوطة ودمجها في خطوط الأنابيب الخاصة بهم باستخدام بضعة أسطر من التعليمات البرمجية. ومع ذلك ، فإن 85٪ من هذه النماذج يمكن أن تفعل ذلك تستخدم فقط مع PyTorch. حوالي 8٪ فقط من نماذج HuggingFace هي حصرية لـ TensorFlow. الباقي متاح لكلا الإطارين.
هذا يعني أنك إذا كنت تخطط لاستخدام نماذج كبيرة ، فمن الأفضل الابتعاد عن TensorFlow أو الاستثمار بكثافة في موارد الحوسبة لتدريب نموذجك الخاص.
PyTorch أفضل للطلاب والأبحاث
تشتهر PyTorch بأنها تحظى بتقدير أكبر من قبل الأوساط الأكاديمية. هذا ليس غير مبرر. ثلاثة من أصل أربعة أوراق بحثية تستخدم PyTorch. حتى من بين هؤلاء الباحثين الذين بدأوا استخدام TensorFlow – تذكر أنه وصل في وقت سابق إلى حفلة التعلم العميق – هاجر الغالبية إلى PyTorch الآن.
هذه الاتجاهات مذهلة ومستمرة على الرغم من حقيقة أن Google لها بصمة كبيرة في أبحاث الذكاء الاصطناعي وتستخدم بشكل أساسي TensorFlow.
ربما يكون الأمر الأكثر إثارة للدهشة في هذا الأمر هو أن البحث يؤثر على التدريس ، وبالتالي يحدد ما قد يتعلمه الطلاب. سيكون الأستاذ الذي نشر غالبية أوراقه باستخدام PyTorch أكثر ميلًا لاستخدامها في المحاضرات. ليس فقط أنهم أكثر راحة في التدريس والإجابة على الأسئلة المتعلقة بـ PyTorch ؛ قد يكون لديهم أيضًا معتقدات أقوى فيما يتعلق بنجاحه.
لذلك قد يحصل طلاب الجامعات على رؤى أكثر حول PyTorch من TensorFlow. وبالنظر إلى أن طلاب الجامعات اليوم هم عمال الغد ، يمكنك على الأرجح تخمين إلى أين يتجه هذا الاتجاه …
نما النظام البيئي لشركة PyTorch بشكل أسرع
في نهاية اليوم ، تعتبر أطر البرامج مهمة فقط بقدر ما تلعب دورًا في نظام بيئي. يمتلك كل من PyTorch و TensorFlow أنظمة بيئية مطورة تمامًا ، بما في ذلك مستودعات للنماذج المدربة بخلاف HuggingFace وأنظمة إدارة البيانات وآليات منع الفشل والمزيد.
من الجدير بالذكر أنه اعتبارًا من الآن ، يمتلك TensorFlow ملف أكثر تطورا قليلا النظام البيئي من PyTorch. ومع ذلك ، ضع في اعتبارك أن PyTorch قد ظهرت لاحقًا في الحفلة وحققت بعض النمو في عدد المستخدمين خلال السنوات القليلة الماضية. لذلك يمكن للمرء أن يتوقع أن النظام البيئي لـ PyTorch قد يتفوق على نظام TensorFlow في الوقت المناسب.
يتمتع TensorFlow ببنية أساسية أفضل للنشر
على الرغم من صعوبة استخدام TensorFlow في البرمجة ، فإنه بمجرد كتابتها يكون نشرها أسهل بكثير من PyTorch. أدوات مثل TensorFlow Serving و TensorFlow Lite تقوم بالنشر على السحابة والخوادم والأجهزة المحمولة وأجهزة إنترنت الأشياء في لمح البصر.
من ناحية أخرى ، كانت PyTorch بطيئة بشكل ملحوظ في إطلاق أدوات النشر. ومع ذلك ، فقد تم إغلاق الفجوة مع TensorFlow بسرعة كبيرة مؤخرًا.
من الصعب التنبؤ في هذه المرحلة الزمنية ، ولكن من المحتمل جدًا أن تتطابق PyTorch أو حتى تتفوق على البنية التحتية لنشر TensorFlow في السنوات القادمة.
من المحتمل أن يستمر رمز TensorFlow لفترة من الوقت لأنه من المكلف تبديل الأطر بعد النشر. ومع ذلك ، فمن المتصور أن تطبيقات التعلم العميق الأحدث ستتم كتابتها ونشرها بشكل متزايد مع PyTorch.
TensorFlow ليس كل شيء عن بايثون
TensorFlow لم يمت. إنها ليست شائعة كما كانت من قبل.
السبب الأساسي لذلك هو أن العديد من الأشخاص الذين يستخدمون Python للتعلم الآلي يتحولون إلى PyTorch.
لكن بايثون ليست اللغة الوحيدة المتاحة للتعلم الآلي. إنها OG للتعلم الآلي ، وهذا هو السبب الوحيد الذي جعل مطوري TensorFlow يركزون دعمهم على Python.
هذه الأيام، يمكن للمرء استخدامها TensorFlow مع JavaScript و Java و C ++. بدأ المجتمع أيضًا في تطوير الدعم للغات أخرى مثل Julia و Rust و Scala و Haskell ، من بين آخرين.
من ناحية أخرى ، تتمحور PyTorch حول Python – وهذا هو السبب في أنها تبدو بيثونية للغاية بعد كل شيء. هناك API C ++، ولكن لا يوجد نصف الدعم للغات الأخرى التي يقدمها TensorFlow.
من المتصور تمامًا أن تتفوق PyTorch على TensorFlow داخل Python. من ناحية أخرى ، ستظل TensorFlow ، مع نظامها الإيكولوجي الرائع وميزات النشر ودعم اللغات الأخرى ، لاعبًا مهمًا في التعلم العميق.
سواء اخترت TensorFlow أو PyTorch لمشروعك التالي يعتمد في الغالب على مدى حبك ل Python.
كتب هذا المقال آري جوري ونُشر في الأصل على موقع Medium. يمكنك قراءتها هنا.