
لقد تغيرت تطبيقات التعلم العميق الكثير من الأشياء. بعضها يعطي الأمل لمستقبل أكثر إشراقاً ، وبعضها يثير الشكوك. ومع ذلك ، بالنسبة للمطورين ، فإن نمو تطبيقات التعليم العميق جعلهم أكثر حيرة حول اختيار الأفضل من بين العديد من أطر التعلم العميق هناك.
TensorFlow هي واحدة من أطر التعلم العميقة التي تتبادر إلى الذهن. يمكن القول إنه إطار التعلم العميق الأكثر شعبية هناك. لا يوجد ما يبرر التصريح بشكل أفضل من حقيقة أن Tensorflow يستخدمه أمثال Uber و Nvidia و Gmail من بين الشركات الكبرى الأخرى لتطوير أحدث تطبيقات التعلم العميق.
ولكن الآن ، أنا في محاولة للعثور على ما إذا كان بالفعل أفضل إطار التعلم العميق. أو ربما تجد ما يجعلها الأفضل من بين جميع الأطر الأخرى التي تنافسها.
هنا هو كل شيء عن TensorFlow 2.0
يفضل معظم المطورين وعلماء البيانات استخدام Python مع TensorFlow. لا يعمل TensorFlow عبر أنظمة التشغيل Windows و Linux و Mac فحسب ، بل يعمل أيضًا على أنظمة التشغيل iOS و Android.
يستخدم TF رسم بياني ثابت للعمليات. هذا يعني أن المطورين يحددون الرسم البياني أولاً ، ويقومون بإجراء جميع العمليات الحسابية ، ويقومون بإجراء تغييرات على البنية إذا لزم الأمر ثم يعيدون تدريب النموذج. بشكل عام ، يمكن حل الكثير من مفاهيم التعلم الآلي والتعلم العميق باستخدام مصفوفات متعددة الأبعاد. هذا هو ما يفعله Tensorflow 2.0 الذي يساعد في وصف العلاقات الخطية بين الكائنات الهندسية. Tensor هي وحدة بدائية حيث يمكننا تطبيق عمليات المصفوفة بسهولة وفعالية.
import tensorflow as TF const1 = TF.constant([[05,04,03], [05,04,03]]); const2 = TF.constant([[01,02,00], [01,02,00]]); result = TF.subtract(const1, const2); print(result)
سيظهر إخراج الرمز أعلاه كما يلي: TF.Tensor([[04 02 03] [04 02 03]])
كما ترون ، لقد أعطيت هنا ثوابتين وقمت بطرح قيمة واحدة من الأخرى وحصلت على كائن Tensor بطرح قيمتين. أيضا ، مع Tensorflow 2.0 ليست هناك حاجة لإنشاء جلسات قبل تشغيل التعليمات البرمجية.
شيء واحد يجب معرفته قبل العمل مع TensorFlow 2.0 هو أنه سيتعين عليك ترميز الكثير ولن تحتاج فقط إلى إجراء عمليات حسابية مع TensorFlow. يتعلق الأمر بإجراء أبحاث عميقة للتعلم ، وبناء متنبّهات الذكاء الاصطناعي ، والمصنفات ، والنماذج التوليدية ، والشبكات العصبية ، وهلم جرا. من المؤكد أن TF يساعد في الأخير ، ولكن المهام الهامة مثل تحديد بنية الشبكة العصبية ، وتحديد وحدة تخزين لإدخال البيانات والمدخلات ، يجب أن تتم جميعها بفكر إنساني دقيق.
أسرع طريقة لتدريب نماذج AI هذه هي وحدة معالجة الموتر (TPUs) التي قدمتها Google في عام 2016. تتعامل TPU مع مشكلة تدريب الشبكات العصبية بعدة طرق.
القياس الكمي - إنها أداة قوية تستخدم عددًا صحيحًا من 8 بتات لحساب التنبؤ بالشبكة العصبية. على سبيل المثال ، عند تطبيق القياس على نموذج التعرف على الصور مثل Inception v3 ، سوف تحصل على ضغط حوالي ربع من الحجم الأصلي من 91 ميغابايت إلى 23 ميغابايت.
المعالجة المتوازية -
المعالجة المتوازية على وحدة مضاعف المصفوفة هي طريقة معروفة لتحسين أداء عمليات المصفوفة الكبيرة من خلال معالجة المتجهات. يمكن للآلات التي تدعم معالجة المتجهات معالجة ما يصل إلى مئات وآلاف عناصر العمليات في دورة واحدة على مدار الساعة.
CISC - TPU يعمل على تصميم CISC الذي يركز على تنفيذ تعليمات عالية المستوى تقوم بتشغيل مهام عالية المستوى مثل الضرب وإضافة عدة مرات إلخ. يستخدم TPU الموارد التالية لأداء المهام المعقدة:
- وحدة مصفوفة المضاعف (MXU): 65،536 وحدة متعددة الإضافة 8 بت لعمليات المصفوفة.
- المخزن المؤقت الموحد (UB): 24 ميغابايت من SRAM الذي يعمل كسجلات.
- وحدة التنشيط (AU): وظائف التنشيط Hardwired.
المصفوفة الانقباضية -
المصفوفة الانقباضية تعتمد على البنية الجديدة لوحدة MXU والتي تسمى أيضًا قلب TPU. تقرأ وحدة MXU القيمة مرة واحدة ولكنها تستخدمها في العديد من العمليات المختلفة دون تخزينها مرة أخرى في أحد السجلات. يعيد إدخال عدة مرات لإنتاج الإخراج. تسمى هذه المجموعة الانقباضي لأن البيانات تتدفق عبر الشريحة في الأمواج بالطريقة نفسها التي يضخ بها قلبنا الدم. إنه يحسن المرونة التشغيلية في الترميز ويوفر معدل كثافة تشغيل أعلى بكثير.

كما ترون أن كل هذه النقاط الرئيسية لـ TPU تساعد في تحليل البيانات والتعامل معها بفعالية. بصرف النظر عن ذلك ، فإنه يوفر مجموعات بيانات TensorFlow التي يمكن للمطورين استخدامها لتدريب بعض حلول الذكاء الاصطناعي المصممة خصيصًا وللمزيد من أعمال البحث.
وفقًا لآخر تحديث ، كشفت شركة Cerebras Systems (وهي شركة جديدة للذكاء الاصطناعي) عن أكبر رقاقة لأشباه الموصلات استنادًا إلى نموذج TPU. في هذه الشريحة ، يمكنك العثور على أكبر معالج تم إنشاؤه على الإطلاق تم تصميمه لمعالجة تطبيقات AI وتدريبها والتعامل معها. الشريحة العملاقة تساوي حجم جهاز iPad وتحمل 1.2 ترليون ترنزستور.واحدة من أعظم مزايا TensorFlow على أطر التعلم العميق الأخرى هي من حيث قابلية التوسع. على عكس الأطر الأخرى مثل PyTorch ، تم تصميم TensorFlow للاستدلال على نطاق واسع والتدريب الموزع. ومع ذلك ، يمكن استخدامه أيضًا لتجربة نماذج جديدة للتعلم الآلي والتحسين. تتيح هذه المرونة للمطورين أيضًا نشر نماذج تعليمية عميقة على أكثر من وحدة المعالجة المركزية / وحدة معالجة الرسومات (GPU) مع وحدة TensorFlow.
التوافق عبر منصة
TensorFlow 2.0 متوافق عبر جميع أنظمة التشغيل الرئيسية مثل Windows و Linux و macOS و iOS و Android. بالإضافة إلى ذلك ، يمكن أيضًا استخدام Keras مع TensorFlow كواجهة.
قابلية الأجهزة
TensorFlow 2.0 قابل للنشر على مجموعة واسعة من الأجهزة ، من الأجهزة الخلوية إلى أجهزة الكمبيوتر كبيرة الحجم مع الاجهزة المعقدة. يمكن نشره على مجموعة من الأجهزة مثل الأجهزة الخلوية وأجهزة الكمبيوتر مع الاجهزة المعقدة. يمكن أن تتضمن واجهات برمجة التطبيقات (APIs) المختلفة لتصميم بنيات التعلم العميق مثل CNN أو RNN.
تصور
يعتمد إطار عمل TensorFlow على حساب الرسم البياني ويوفر أداة تصور مفيدة لأغراض التدريب. تتيح أداة التصور هذه ، والتي تسمى TensorBoard للمطورين تصور إنشاء شبكة عصبية ، مما يسهل بدوره التصور السهل وحل المشكلات.
التصحيح
يتيح Tensorflow للمستخدمين تنفيذ الأجزاء الفرعية من الرسم البياني لإدخال واسترجاع البيانات المنفصلة على الحافة ، وبالتالي توفير أسلوب تصحيح أنيق.
الرسم البياني القدرة الديناميكية لسهولة النشر
يستخدم TensorFlow ميزة تسمى "تنفيذ Eager" والتي تسهل إمكانية الرسم البياني الديناميكي للنشر السهل. يسمح بحفظ الرسم البياني كمخزن مؤقت للبروتوكول يمكن بعد ذلك نشره في شيء مختلف عن البنى التحتية ذات الصلة ببايثون ، على سبيل المثال ، جافا.
لماذا TensorFlow سوف تستمر في النمو؟
لدى TensorFlow أسرع معدل نمو بين جميع أطر التعلم العميقة الأخرى الموجودة اليوم. يحتوي على أعلى نشاط لـ GitHub بين جميع المستودعات الأخرى في قسم التعلم العميق ، وأعلى عدد من البدايات أيضًا.
في الدراسة الاستقصائية السنوية لمطوري Stack Overflow 2019 ، تم التصويت على TensorFlow كإطار التعلم الأكثر شعبية ، والإطار الثاني الأكثر شعبية ، Torch / PyTorch كان بعيدًا جدًا.
هذه الإحصائيات كافية لإثبات هيمنة TensorFlow. ولكن إلى متى سوف يستمر هذا النمو؟ هل سينتهي الأمر بتجاوز شعبيته الحالية؟ مع مقدمة واستقبال كبير من TensorFlow 2.0 ، يبدو أن هذا الأخير ممكن.