حققت شركة Qualcomm قفزات هائلة في أداء الذكاء الاصطناعي مع Snapdragon 865 SoC الجديد. نقوم بتحليل التغييرات التي أجرتها شركة كوالكوم لتسريع التعلم الآلي.
يبدو أننا لا نستطيع أن نمضي يومًا دون رؤية "الذكاء الاصطناعي" في الأخبار، ولم يكن الأسبوع الماضي استثناءً إلى حد كبير بفضل قمة Snapdragon Tech Summit. في كل عام، تكشف شركة كوالكوم عن مجموعة كبيرة من التحسينات التي تقدمها إلى Hexagon DSP ومحرك Qualcomm AI، مصطلح يستخدمونه لمنصة الحوسبة غير المتجانسة بالكامل - وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) ومعالج الإشارة الرقمية (DSP) - عند الحديث عن الذكاء الاصطناعي أعباء العمل. قبل بضع سنوات، كان إصرار شركة كوالكوم على نقل المحادثة بعيدًا عن نقاط الحديث التقليدية، مثل تحسين أداء وحدة المعالجة المركزية سنويًا، يبدو غريبًا بعض الشيء. ومع ذلك، في عام 2019 ومع Snapdragon 865، نرى أن الحوسبة غير المتجانسة هي بالفعل على رأس دفعة الحوسبة المحمولة، مثل الذكاء الاصطناعي. ويبدو أن أعباء العمل المتسارعة للأجهزة تتسلل إلى نطاق واسع من حالات الاستخدام والتطبيقات، بدءًا من وسائل التواصل الاجتماعي وحتى الحياة اليومية خدمات.
يقدم معالج Snapdragon 865 الجيل الخامس من محرك الذكاء الاصطناعي من Qualcomm، ويأتي معه تحسينات كبيرة في الأداء وكفاءة الطاقة - ولكن هذا أمر متوقع. في بحر من المواصفات وأرقام الأداء والمصطلحات الهندسية الفاخرة والكلمات التسويقية الطنانة، من السهل أن نغفل ما تعنيه هذه التحسينات فعليًا. ماذا يصفون؟ لماذا تعتبر هذه الترقيات مفيدة جدًا لأولئك الذين يطبقون الذكاء الاصطناعي في تطبيقاتهم اليوم، وربما الأهم من ذلك، لأولئك الذين يتطلعون إلى القيام بذلك في المستقبل؟
في هذه المقالة، سنأخذ جولة ودودة وشاملة لمحرك Qualcomm AI Engine، حيث نستعرض تاريخه ومكوناته وترقيات Snapdragon 865، والأهم من ذلك، لماذا أو كيف وقد ساهم كل واحد من هؤلاء في تجربة الهاتف الذكي اليوم، بدءًا من المرشحات المضحكة وحتى المساعدين الرقميين.
Hexagon DSP وQualcomm AI Engine: عندما تُحدث العلامة التجارية فرقًا
على الرغم من أنني لم أتمكن من حضور قمة Snapdragon Tech لهذا الأسبوع، إلا أنني حضرت جميعها منذ عام 2015. إذا كنت تتذكر، الذي - التي كان هذا هو عام الفوضى التي شهدها معالج Snapdragon 810، ولذلك كان الصحفيون في دور علوي في تشيلسي في مدينة نيويورك حريصين على معرفة كيف يمكن لـ Snapdragon 820 أن يستعيد الشركة. لقد كانت مجموعة شرائح رائعة، حسنًا: لقد وعدت بتحسينات صحية في الأداء (بدون أي قيود) من خلال العودة إلى النوى المخصصة التي تمت تجربتها وحقيقتها في ذلك الوقت والتي اشتهرت بها شركة Qualcomm. ومع ذلك، أتذكر أيضًا إعلانًا دقيقًا للغاية، كان ينبغي أن يحظى بمزيد من الاهتمام، عند النظر إلى الماضي: وهو الجيل الثاني من Hexagon 680 DSP وتعليماته الفردية أو امتدادات ناقل البيانات المتعددة (SIMD) أو هفكس. ربما لو لم يقم المهندسون بتسمية هذه الميزة، لكانت قد حظيت بالاهتمام الذي تستحقه.
يسمح هذا المعالج المشترك لخيوط أجهزة وحدة DSP العددية بالوصول إلى "سياقات" HVX (ملفات التسجيل) للحصول على إمكانات معالجة متجهات واسعة. لقد أتاح تفريغ أحمال عمل الحوسبة الكبيرة من وحدة المعالجة المركزية أو وحدة معالجة الرسومات المتعطشة للطاقة إلى وحدة المعالجة المركزية معالج الإشارة الرقمي (DSP) الموفر للطاقة بحيث تعمل مهام التصوير ورؤية الكمبيوتر بأداء محسّن بشكل كبير لكل ملي واط. إنها مثالية لتطبيق عمليات متطابقة على عناصر متجهة متجاورة (في الأصل مجرد أعداد صحيحة)، مما يجعلها مناسبة تمامًا لأحمال عمل رؤية الكمبيوتر. لقد كتبنا مقالة متعمقة عن DSP وHVX في الماضي، مع ملاحظة أن بنية HVX تتناسب بشكل جيد مع الموازاة ومعالجة ناقلات المدخلات الكبيرة بشكل واضح. في ذلك الوقت، قامت شركة Qualcomm بالترويج لكل من DSP وHVX بشكل حصري تقريبًا من خلال وصف التحسينات التي قامتا بها من شأنه أن يجلب أعباء عمل رؤية الكمبيوتر مثل كاشف زاوية Harris والنوافذ المنزلقة الأخرى طُرق.
لم يكن الأمر كذلك حتى ظهور التعلم العميق في تطبيقات الأجهزة المحمولة للمستهلكين، حيث كان DSP هو ناقله سوف تتزوج وحدات المعالجة (والآن، مسرع التوتر) مع الذكاء الاصطناعي والشبكات العصبية خاص. لكن بالنظر إلى الوراء، نجد أن الأمر منطقي تمامًا: بنية معالج الإشارات الرقمية (DSP)، المصممة في الأصل للتعامل مع الإشارات الرقمية إن مدخلات الإشارات الواقعية أو التناظرية، تفسح المجال للعديد من أعباء العمل نفسها مثل العديد من خوارزميات التعلم الآلي والأنظمة العصبية. الشبكات. على سبيل المثال، تم تصميم معالجات الإشارة الرقمية (DSP) خصيصًا لنواة المرشح، وعمليات الالتفاف والارتباط، وحسابات 8 بت، والكثير من الجبر الخطي (منتجات المتجهات والمصفوفات) وعمليات التراكم المضاعف (MAC)، كلها أكثر كفاءة عندما بالتوازي. يعتمد وقت تشغيل الشبكة العصبية أيضًا بشكل كبير على مضاعفة المتجهات و/أو المصفوفات و/أو الموترات الكبيرة، لذلك ومن الطبيعي أن تترجم مزايا أداء معالج الإشارات الرقمية (DSP) بدقة إلى معماريات الشبكات العصبية حسنًا. وسنعود إلى هذا الموضوع باختصار!
وفي السنوات اللاحقة، واصلت شركة كوالكوم التأكيد على أنها لا تقدم ذلك فقط شرائح، ولكن منصات متنقلة، وأنهم لا يركزون فقط على تحسين مكونات معينة، ولكن تقديم حوسبة "غير متجانسة". في عام 2017، أطلقوا SDK لمحرك المعالجة العصبية Snapdragon (لتسريع وقت التشغيل) على شبكة مطوري كوالكوم، وفي أوائل عام 2018 قاموا أعلنت شركة Qualcomm عن محرك الذكاء الاصطناعي لدمج أجهزتها المتعددة التي تدعم الذكاء الاصطناعي (وحدة المعالجة المركزية، وحدة معالجة الرسومات، معالج الإشارة الرقمية) ومكونات البرامج في إطار واحد اسم. باستخدام هذه التسميات المفيدة، تمكنوا من الإعلان بدقة عن تحسينات أداء الذكاء الاصطناعي الخاصة بهم على كل من Snapdragon 855 وSnapdragon 855. Snapdragon 865، القدرة على توضيح عدد تريليونات العمليات في الثانية (TOPS) والنسبة المئوية على أساس سنوي بشكل مريح تحسينات. الاستفادة من تحسينات الأجيال في وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) ومعالج الإشارة الرقمية (DSP) - والتي تركز جميعها على الذكاء الاصطناعي الخاص بها الترقيات - الشركة قادرة على نشر معايير رائعة ضد المنافسين، وهو ما سنتناوله قريبا. وبفضل الجهود التسويقية الأخيرة التي بذلتها الشركة والرسائل الموحدة والمتسقة حول الحوسبة غير المتجانسة، اكتسبت علامتها التجارية الخاصة بالذكاء الاصطناعي قوة جذب بين الصحفيين وعشاق التكنولوجيا.
إزالة الغموض عن الشبكات العصبية: كومة عادية من الجبر الخطي
لتفكيك الكثير من المصطلحات التي سنواجهها لاحقًا في المقالة، نحتاج إلى كتاب تمهيدي قصير ما هي الشبكة العصبية و ما تحتاجه لجعله أسرع. أريد أن أتناول بإيجاز بعض الأسس الرياضية للشبكات العصبية، مع تجنب أكبر قدر ممكن من المصطلحات والرموز. الغرض من هذا القسم هو ببساطة تحديد ما تفعله الشبكة العصبية، بشكل أساسي: العمليات الحسابية يتم تنفيذه، بدلاً من الأساس النظري الذي يبرر العمليات المذكورة (وهذا أكثر تعقيدًا بكثير!). لا تتردد في المتابعة إلى القسم التالي إذا كنت تريد الانتقال مباشرة إلى ترقيات Qualcomm AI Engine.
"الرياضيات المتجهة هي أساس التعلم العميق." - ترافيس لانيير، المدير الأول لإدارة المنتجات في شركة Qualcomm في قمة Snapdragon Tech لعام 2017
ستجد أدناه مخططًا نموذجيًا لشبكة عصبية متصلة بالكامل ومتصلة بالكامل. في الواقع، الرسم البياني يجعل العملية برمتها تبدو أكثر تعقيدا قليلا مما هي عليه (على الأقل، حتى تعتاد عليه). سوف نقوم بحساب التمريرة الأمامية، وهو في النهاية ما تفعله الشبكة عندما تنتج تمريرة الإستنباط، وهو مصطلح سنواجهه لاحقًا في المقالة أيضًا. في الوقت الحالي، سنهتم فقط بالآلة وأجزائها، مع شرح مختصر لكل مكون.
تتكون الشبكة العصبية من تسلسل طبقات، يتكون كل منها من عدة "خلايا عصبية" (موضحة على شكل دوائر في الرسم التخطيطي) متصلة ببعضها البعض الأوزان (كما هو موضح في الخطوط في الرسم التخطيطي). بشكل عام، هناك ثلاثة أنواع من الطبقات: طبقة الإدخال، الذي يأخذ المدخلات الخام؛ طبقات مخفية، والتي تحسب العمليات الحسابية من الطبقة السابقة، و طبقة الإخراجوالتي توفر التوقعات النهائية. في هذه الحالة، لدينا طبقة مخفية واحدة فقط، مع ثلاث طبقات وحدات مخفية. ال مدخل يتكون من متجه أو مصفوفة أو قائمة أرقام ذات بعد أو طول معين. في المثال، سيكون لدينا مدخلات ثنائية الأبعاد، على سبيل المثال [1.0, -1.0]. هنا، انتاج تتكون الشبكة من رقم عددي أو رقم فردي (وليس قائمة). ترتبط كل وحدة مخفية بمجموعة من الأوزان و أ مصطلح التحيز، يظهر بجانب كل عقدة وأسفلها. لحساب مبلغ مرجح الناتج من الوحدة، يتم ضرب كل وزن مع كل مدخلات مقابلة، ثم يتم إضافة المنتجات معًا. بعد ذلك، سنقوم ببساطة بإضافة مصطلح التحيز إلى مجموع المنتجات، مما يؤدي إلى إخراج الخلية العصبية. على سبيل المثال، مع مدخلاتنا لـ [1.0,-1.0]، سيكون للوحدة المخفية الأولى ناتج 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. بسيطة، أليس كذلك؟
تمثل الخطوة التالية في الرسم البياني وظيفة التنشيطوهو ما سيسمح لنا بإنتاج متجه الإخراج لكل طبقة مخفية. في حالتنا، سنستخدم الطريقة الشائعة جدًا والبسيطة للغاية وحدة خطية مصححة أو ReLU، والذي سيأخذ رقم الإدخال ويخرج إما (i) صفر، إذا كان هذا الرقم سالبًا أو صفر (ii) رقم الإدخال نفسه، إذا كان الرقم موجبًا. على سبيل المثال، ريلو(-0.1) = 0، لكن ريلو (0.1) = 0.1. باتباع مثال مدخلاتنا كما هو ينتشر من خلال تلك الوحدة المخفية الأولى، سيتم تمرير ناتج 1.1 الذي قمنا بحسابه إلى وظيفة التنشيط، مما يؤدي إلى ريلو(1.1)=1.1. ستعمل طبقة الإخراج، في هذا المثال، تمامًا مثل الوحدة المخفية: فهي ستضرب مخرجات الوحدات المخفية مقابل أوزانها، ثم تضيف مصطلح التحيز الخاص بها وهو 0.2. وظيفة التنشيط الأخيرة، وظيفة الخطوة، سوف يحول المدخلات الإيجابية إلى 1 والقيم السالبة إلى 0. بمعرفة كيفية عمل كل عملية من العمليات في الشبكة، يمكننا كتابة الحساب الكامل لاستدلالنا على النحو التالي:
هذا هو كل ما في حسابات شبكتنا العصبية المغذية. كما ترون، تتكون العمليات بالكامل تقريبًا من المنتجات ومبالغ الأرقام. وظيفة التنشيط لدينا ريلو (خ) يمكن تنفيذها بسهولة شديدة أيضًا، على سبيل المثال عن طريق الاتصال ببساطة الحد الأقصى (س، 0)، بحيث تُرجع x عندما يكون الإدخال أكبر من 0، ولكن بخلاف ذلك تُرجع 0. لاحظ أن الخطوة (x) يمكن حسابها بالمثل. توجد العديد من وظائف التنشيط الأكثر تعقيدًا، مثل وظيفة السيني أو ال الظل الزائدي، والتي تنطوي على حسابات داخلية مختلفة وأكثر ملاءمة لأغراض مختلفة. شيء آخر يمكنك أن تبدأ في ملاحظته بالفعل هو أننا أيضًا يمكنه تشغيل حسابات الوحدات الثلاث المخفية وتطبيقات ReLU الخاصة بها بالتوازي، حيث أن قيمها ليست مطلوبة في نفس الوقت حتى نحسب مجموعها المرجح عند عقدة الإخراج.
لكن ليس علينا أن نتوقف عند هذا الحد. أعلاه، يمكنك رؤية نفس العملية الحسابية، ولكن هذه المرة ممثلة بعمليات ضرب المصفوفات والمتجهات بدلاً من ذلك. للوصول إلى هذا التمثيل، نقوم "بزيادة" متجه الإدخال الخاص بنا عن طريق إضافة 1.0 إليه (لون أفتح)، بحيث عندما نضع الأوزان وتحيزنا (اللون الأفتح) في المصفوفة كما هو موضح أعلاه، فإن الضرب الناتج ينتج عنه نفس الوحدة المخفية النواتج. بعد ذلك، يمكننا تطبيق ReLU على متجه الإخراج، من حيث العناصر، ثم "زيادة" مخرجات ReLU لضربه بأوزان وتحيز طبقة الإخراج لدينا. يبسط هذا التمثيل التدوين إلى حد كبير، حيث يمكن وضع المعلمات (الأوزان والتحيزات) للطبقة المخفية بأكملها تحت متغير واحد. لكن الأهم بالنسبة لنا هو أنه يوضح ذلك الحسابات الداخلية للشبكة هي في الأساس ضرب المصفوفات والمتجهات أو المنتجات النقطية. نظرًا لكيفية قياس حجم هذه المتجهات والمصفوفات مع أبعاد مدخلاتنا وعدد المعلمات في شبكتنا، سيتم قضاء معظم وقت التشغيل في إجراء هذا النوع من الحسابات. حفنة من الجبر الخطي!
مثال لعبتنا هو، بالطبع، جداً محدودة النطاق. من الناحية العملية، يمكن أن تحتوي نماذج التعلم العميق الحديثة على عشرات إن لم يكن مئات الطبقات المخفية، وملايين المعلمات المرتبطة بها. بدلاً من مثال الإدخال المتجه ثنائي الأبعاد، يمكنهم استيعاب متجهات تحتوي على آلاف الإدخالات، في مجموعة متنوعة من الأشكال، مثل المصفوفات (مثل الصور أحادية القناة) أو الموترات (ثلاث قنوات RGB الصور). لا يوجد أيضًا ما يمنع تمثيل المصفوفة من استيعاب متجهات مدخلات متعددة في وقت واحد، عن طريق إضافة صفوف إلى مدخلاتنا الأصلية. يمكن أيضًا أن تكون الشبكات العصبية "سلكية" بشكل مختلف عن شبكتنا العصبية المغذية، أو يمكنها تنفيذ وظائف تنشيط مختلفة. هناك حديقة حيوانات واسعة من بنيات وتقنيات الشبكات، لكنها في النهاية خاصة قم بتقسيمها إلى نفس العمليات الحسابية الموازية التي نجدها في مثال لعبتنا، ولكن على نطاق أكبر بكثير.
مثال مرئي لطبقات الالتواء التي تعمل على الموتر. (حقوق الصورة: نحو علم البيانات)
على سبيل المثال الشعبية الشبكات العصبية التلافيفية (CNN) التي من المحتمل أنك قرأت عنها ليست "متصلة بالكامل" مثل شبكتنا الوهمية. "الأوزان" أو معالمها المخفية طبقات تلافيفية يمكن اعتبارها نوعًا من المرشحات، نافذة منزلقة يتم تطبيقها بشكل تسلسلي على بقع صغيرة من المدخلات كما هو موضح أعلاه - هذا "الالتفاف" هو في الواقع مجرد منتج نقطي منزلق! ينتج عن هذا الإجراء ما يسمى غالبًا أ خريطة الميزة. تعمل طبقات التجميع على تقليل حجم المدخلات أو مخرجات الطبقة التلافيفية، عن طريق حساب القيمة القصوى أو المتوسطة للبقع الصغيرة من الصورة. تتكون بقية الشبكة عادة من طبقات متصلة بالكامل، مثل تلك الموجودة في مثالنا، ووظائف التنشيط مثل ReLU. يُستخدم هذا غالبًا لاستخراج المعالم في الصور حيث يمكن لخرائط ميزات الطبقات التلافيفية المبكرة "اكتشاف" يمكن للأنماط مثل الخطوط أو الحواف، والطبقات اللاحقة اكتشاف ميزات أكثر تعقيدًا مثل الوجوه أو التعقيد الأشكال.
كل ما قيل هو تقتصر بشكل صارم على الاستدلالأو تقييم الشبكة العصبية بعد العثور على معلماتها تمرين وهو إجراء أكثر تعقيدًا. ومرة أخرى، استبعدنا الكثير من التفسيرات. في الواقع، يتم تضمين كل مكون من مكونات الشبكة لغرض ما. على سبيل المثال، أولئك منكم الذين درسوا الجبر الخطي يمكنهم بسهولة ملاحظة ذلك بدون وظائف التنشيط غير الخطية، يتم تبسيط شبكتنا إلى نموذج خطي مع تنبؤ محدود للغاية سعة.
محرك AI تمت ترقيته على Snapdragon 865 - ملخص للتحسينات
مع هذا الفهم المفيد لمكونات الشبكة العصبية وعملياتها الرياضية، يمكننا أن نبدأ في فهم سبب أهمية تسريع الأجهزة بالضبط. في القسم الأخير، يمكننا أن نلاحظ أن التوازي أمر حيوي لتسريع الشبكة نظرا لذلك يسمح لنا، على سبيل المثال، بحساب العديد من المنتجات النقطية المتوازية المقابلة لكل خلية عصبية التنشيط. يتكون كل من منتجات النقاط هذه في حد ذاته من عمليات الضرب والإضافة على الأرقام، عادةً بدقة 8 بت في حالة تطبيقات الهاتف المحمول، والتي يجب أن تحدث في أسرع وقت ممكن. يقدم محرك الذكاء الاصطناعي مكونات مختلفة لتفريغ هذه المهام اعتمادًا على اعتبارات الأداء وكفاءة الطاقة الخاصة بالمطور.
رسم تخطيطي لشبكة CNN لمجموعة بيانات MNIST الشهيرة، معروض على خشبة المسرح في قمة Snapdragon لهذا العام. تعتبر وحدة معالجة المتجهات مناسبة تمامًا للطبقات المتصلة بالكامل، كما هو الحال في مثالنا الوهمي. وفي الوقت نفسه، يتعامل المعالج الموتر مع الطبقات التلافيفية والتجميعية التي تعالج الانزلاق المتعدد النوى بالتوازي، كما هو الحال في الرسم البياني أعلاه، وكل طبقة تلافيفية قد تنتج العديد من الميزات المنفصلة خرائط.
أولاً، دعونا نلقي نظرة على وحدة معالجة الرسومات (GPU)، والتي نتحدث عنها عادةً في سياق الألعاب ثلاثية الأبعاد. لقد حفز السوق الاستهلاكي لألعاب الفيديو التطوير في أجهزة معالجة الرسومات لعقود من الزمن، ولكن لماذا تعد وحدات معالجة الرسومات مهمة جدًا للشبكات العصبية؟ بالنسبة للمبتدئين، يقومون بتصفح قوائم ضخمة من الإحداثيات ثلاثية الأبعاد لرؤوس المضلعات مرة واحدة لتتبع حالة العالم داخل اللعبة. يجب على وحدة معالجة الرسومات أيضًا إجراء عمليات مضاعفة عملاقة للمصفوفات لتحويل (أو تعيين) هذه الأبعاد الثلاثية الإحداثيات على مستوى ثنائي الأبعاد، والإحداثيات التي تظهر على الشاشة، وكذلك التعامل مع معلومات الألوان الخاصة بالبكسلات موازي. علاوة على ذلك، فهي توفر نطاقًا تردديًا عاليًا للذاكرة للتعامل مع مخازن الذاكرة المؤقتة الضخمة للصور النقطية المتراكبة على الشكل الهندسي داخل اللعبة. تتوافق مزاياها في الموازاة وعرض النطاق الترددي للذاكرة وقدرات الجبر الخطي الناتجة مع متطلبات أداء الشبكات العصبية.
وبالتالي فإن خط Adreno GPU يلعب دورًا كبيرًا في محرك Qualcomm AI، وعلى المسرح، ذكرت شركة Qualcomm أن هذا المكون المحدث في Snapdragon 865 يمكّن ضعف قدرات النقطة العائمة و ضعف عدد القمم مقارنة بالجيل السابق، وهو أمر مثير للدهشة نظرًا لأنهم حققوا زيادة في الأداء بنسبة 25٪ فقط في عرض الرسومات. ومع ذلك، بالنسبة لهذا الإصدار، تفتخر الشركة بـ زيادة بنسبة 50% في عدد وحدات المنطق الحسابي (ALUs)، على الرغم من أنهم، كالعادة، لم يكشفوا عن ترددات وحدة معالجة الرسومات الخاصة بهم. أدرجت شركة كوالكوم أيضًا دقة مختلطة تعليمات، وهو ما يبدو عليه الأمر تمامًا: دقة رقمية مختلفة عبر العمليات بطريقة حسابية واحدة.
Hexagon 698 DSP هو المكان الذي نرى فيه جزءًا كبيرًا من مكاسب الأداء التي يقدمها Snapdragon 865. هذا العام، لم تعلن الشركة عن تحسينات في امتدادات المتجهات الخاصة بـ DSP (التي تضاعف أدائها أربع مرات مقارنة بـ 855 العام الماضي)، ولا في وحداتها العددية. ومع ذلك، فقد لاحظوا أنه بالنسبة إلى Tensor Accelerator الخاص بهذه الكتلة، فقد حققوا ذلك أربعة أضعاف القمم مقارنة بالإصدار الذي تم تقديمه العام الماضي في Hexagon 695 DSP، مع القدرة أيضًا على العرض كفاءة أفضل في استهلاك الطاقة بنسبة 35%. يعد هذا أمرًا كبيرًا بالنظر إلى انتشار بنيات الشبكات العصبية التلافيفية في حالات استخدام الذكاء الاصطناعي الحديثة التي تتراوح من اكتشاف كائن الصورة إلى التعرف التلقائي على الكلام. كما هو موضح أعلاه، تنتج عملية الالتفاف في هذه الشبكات مجموعة ثنائية الأبعاد من مخرجات المصفوفة كل مرشح، مما يعني أنه عند تكديسها معًا، يكون إخراج الطبقة التلافيفية عبارة عن مصفوفة ثلاثية الأبعاد أو الموتر.
كما روجت شركة كوالكوم لمنتجها "الجديد والفريد" ضغط عرض النطاق الترددي للتعلم العميق التقنية، والتي يمكن على ما يبدو ضغط البيانات دون خسارة بنسبة 50% تقريبًا، مما يؤدي بدوره إلى نقل نصف البيانات وتحرير النطاق الترددي لأجزاء أخرى من مجموعة الشرائح. وينبغي أيضًا أن يوفر الطاقة عن طريق تقليل إنتاجية البيانات، على الرغم من أننا لم نحصل على أي أرقام ويجب أن تكون هناك تكلفة طاقة صغيرة لضغط البيانات أيضًا.
وفيما يتعلق بموضوع النطاق الترددي، يدعم Snapdragon 865 ذاكرة LPDDR5، الأمر الذي سيفيد أيضًا أداء الذكاء الاصطناعي لأنه سيزيد من سرعة نقل الموارد وبيانات الإدخال. وبعيدًا عن الأجهزة، فإن منتجات كوالكوم الجديدة مجموعة أدوات كفاءة نموذج الذكاء الاصطناعي يجعل من السهل ضغط النموذج وتوفير الطاقة الناتج للمطورين. غالبًا ما تحتوي الشبكات العصبية على عدد كبير من المعلمات "الزائدة عن الحاجة"؛ على سبيل المثال، قد يجعلون الطبقات المخفية أوسع مما ينبغي. إحدى ميزات مجموعة أدوات الذكاء الاصطناعي التي تمت مناقشتها على المسرح هي: ضغط النموذج، مع اثنين من الطرق المذكورة وهما تحليل القيمة المفردة المكانية (SVD) والضغط البايزي، وكلاهما والتي تعمل على تقليم الشبكة العصبية بشكل فعال عن طريق التخلص من العقد الزائدة وتعديل بنية النموذج مطلوب. وتتعلق تقنية ضغط النموذج الأخرى المعروضة على المسرح بالتكميم، والتي تتضمن تغيير الدقة العددية لمعلمات الوزن وحسابات عقدة التنشيط.
تشير الدقة العددية لأوزان الشبكة العصبية إلى ما إذا كانت القيم الرقمية المستخدمة في الحساب يتم تخزينها ونقلها ومعالجتها كقيم 64 أو 32 أو 16 (نصف دقة) أو قيم 8 بت. يؤدي استخدام دقة رقمية أقل (على سبيل المثال، INT8 مقابل FP32) إلى تقليل الاستخدام الإجمالي للذاكرة وسرعات نقل البيانات، مما يسمح بعرض نطاق ترددي أعلى واستدلالات أسرع. لقد تحولت الكثير من تطبيقات التعلم العميق اليوم إلى نماذج دقة 8 بت للاستدلال، وهو ما قد يبدو من المثير للدهشة: ألا تتيح الدقة العددية الأعلى تنبؤات أكثر "دقة" في التصنيف أو الانحدار مهام؟ ليس بالضرورة؛ قد يتم إهدار الدقة العددية الأعلى، خاصة أثناء الاستدلال، حيث يتم تدريب الشبكات العصبية على التعامل مع المدخلات الصاخبة أو اضطرابات صغيرة طوال التدريب على أي حال، والخطأ في تمثيل البت الأدنى لقيمة معينة (FP) يكون "عشوائيًا" بشكل موحد كافٍ. بمعنى ما، تتعامل الشبكة مع الدقة المنخفضة للحسابات كمصدر آخر للضوضاء، وتظل التنبؤات قابلة للاستخدام. وبغض النظر عن التفسيرات الإرشادية، فمن المحتمل أنك ستتعرض لعقوبة الدقة عند قياس نموذج بشكل رديء دون مراعاة بعض الاعتبارات المهمة، ولهذا السبب تجري الكثير من الأبحاث حول هذا الأمر موضوع
العودة إلى مجموعة أدوات Qualcomm AI: من خلالها يقدمون التكميم خالية من البيانات، مما يسمح بقياس النماذج بدون بيانات أو ضبط دقيق للمعلمات مع الاستمرار في تحقيق أداء النموذج شبه الأصلي في المهام المختلفة. بشكل أساسي، فهو يكيف معلمات الوزن من أجل القياس الكمي ويصحح خطأ التحيز الذي يحدث عند التبديل إلى أوزان أقل دقة. نظرًا للفوائد الناتجة عن القياس الكمي، فإن أتمتة الإجراء بموجب استدعاء واجهة برمجة التطبيقات (API) من شأنه تبسيط إنتاج النموذج ونشره، كما تدعي شركة كوالكوم أكثر من أربعة أضعاف الأداء لكل واط عند تشغيل النموذج الكمي.
ولكن مرة أخرى، هذا ليس صادمًا: يمكن لنماذج القياس الكمي أن توفر فوائد هائلة من حيث النطاق الترددي والتخزين. إن تحويل نموذج إلى INT8 لا يؤدي فقط إلى تقليل عرض النطاق الترددي بمقدار 4 أضعاف، ولكن أيضًا الاستفادة من حسابات الأعداد الصحيحة الأسرع (اعتمادًا على الجهاز). من البديهي إذن أن تؤدي الأساليب المتسارعة بالأجهزة لكل من القياس الكمي والحساب العددي إلى تحقيق مكاسب هائلة في الأداء. على مدونتهعلى سبيل المثال، كتب بيت واردن من Google أن التعاون بين فرق Qualcomm وTensorflow يمكّن نماذج 8 بت من تشغيل ما يصل إلى أسرع سبع مراتعلى HVX DSP منه على وحدة المعالجة المركزية. من الصعب المبالغة في تقدير إمكانات القياس الكمي سهل الاستخدام، خاصة بالنظر إلى كيفية تركيز Qualcomm على أداء INT8.
لا تزال وحدة المعالجة المركزية Kryo المستندة إلى ARM الخاصة بـ Snapdragon 865 مكونًا مهمًا في محرك الذكاء الاصطناعي. على الرغم من أن تسريع الأجهزة الذي تمت مناقشته في الفقرات أعلاه هو الأفضل، إلا أننا في بعض الأحيان لا يمكن تجنب التطبيقات التي لا تستفيد بشكل صحيح من هذه الكتل، مما يؤدي إلى وحدة المعالجة المركزية تراجع. في الماضي، قدمت ARM مجموعات تعليمات محددة تهدف إلى تسريع العمليات الحسابية القائمة على المصفوفات والمتجهات. في معالجات ARMv7، رأينا تقديم ARM NEON، وهو امتداد لبنية SIMD يتيح تعليمات تشبه DSP. ومع البنية الدقيقة لـ ARMv8.4-A، رأينا تقديم تعليمات مخصصة للمنتجات النقطية.
تتعلق جميع مكاسب الأداء المنشورة بالعديد من أعباء العمل التي وصفناها في القسم السابق، ولكن من الجدير أيضًا أن نأخذ في الاعتبار أن ترقيات Snapdragon 865 هذه هي فقط الأحدث تحسينات في قدرات الذكاء الاصطناعي لشركة كوالكوم. في عام 2017، قمنا بتوثيق مضاعفة قدرات الذكاء الاصطناعي لديهم ثلاث مرات باستخدام Hexagon 685 DSP وتحديثات الشرائح الأخرى. في العام الماضي، قدموا مسرع التوتر، والدعم المتكامل للوظائف غير الخطية (مثل ReLU المذكورة أعلاه!) على مستوى الأجهزة. كما قاموا أيضًا بمضاعفة عدد مسرعات المتجهات وتحسين أداء وحدة المعالجة العددية بنسبة 20%. وبإقران كل هذا مع التحسينات على جانب وحدة المعالجة المركزية، مثل عمليات المنتجات النقطية الأسرع هذه بفضل ARM، ووحدات ALU الإضافية في وحدة معالجة الرسومات، فإن Qualcomm في النهاية تضاعف ثلاث مرات قدرات الذكاء الاصطناعي الخام أيضًا.
مكاسب عملية وحالات استخدام موسعة
أدت كل هذه الترقيات إلى زيادة قدرات الذكاء الاصطناعي في معالج Snapdragon 865 بخمسة أضعاف مقارنة بما كان عليه قبل عامين فقط، ولكن ولعل الأهم من ذلك هو أن التحسينات جاءت أيضًا مع أداء أفضل لكل ملي واط، وهو مقياس بالغ الأهمية للجوال الأجهزة. في قمة Snapdragon 2019، قدمت لنا شركة Qualcomm بعض المعايير التي تقارن محرك الذكاء الاصطناعي الخاص بها مع اثنين من المنافسين على شبكات التصنيف المختلفة. ويبدو أنه تم جمع هذه الأرقام باستخدام AIMark، وهو تطبيق قياس الأداء عبر الأنظمة الأساسية، والذي يتيح إجراء مقارنات مع معالجات A-series من Apple ومعالجات HiSilicon من Huawei. تدعي شركة كوالكوم أن هذه النتائج تستفيد من محرك الذكاء الاصطناعي بالكامل، وسيتعين علينا الانتظار حتى المزيد قياس شامل لفصل تأثير كل مكون بشكل صحيح وتحديد كيفية إجراء هذه الاختبارات أُجرِي. على سبيل المثال، هل تشير النتائج من الشركة "ب" إلى احتياطي وحدة المعالجة المركزية؟ على حد علمي، لا تستفيد AIMark حاليًا من وحدة NPU الخاصة بمعالج Kirin 990 في وحدات Mate 30 Pro، على سبيل المثال. لكنه يدعم محرك المعالجة العصبية Snapdragon، لذلك سيستفيد بالتأكيد من محرك Qualcomm AI؛ نظرًا لأنه اختبار داخلي، فليس من الواضح بشكل صريح ما إذا كان المعيار يستخدم بشكل صحيح المكتبات المناسبة أو SDK لمنافسيه.
ويجب أن يقال أيضًا أن شركة Qualcomm تقارن بشكل فعال قدرات معالجة الذكاء الاصطناعي الخاصة بـ Snapdragon 865 مع الشرائح التي تم الإعلان عنها مسبقًا أو التي تم إصدارها. ومن المحتمل جدًا أن يجلب منافسوها تحسينات مماثلة في الأداء في الدورة التالية، وإذا حدث ذلك في هذه الحالة، ستحتفظ شركة Qualcomm بالتاج لمدة نصف عام تقريبًا من لحظة وصول أجهزة Snapdragon 865 إلى الرفوف. ومع ذلك، لا يزال هذا مؤشرًا على نوع المطبات التي يمكن أن نتوقعها من Snapdragon 865. لقد كانت شركة Qualcomm دقيقة جدًا بشكل عام عند توصيل تحسينات الأداء والنتائج المعيارية للإصدارات القادمة.
تقوم جميع الشبكات المقدمة في هذه المعايير بتصنيف الصور من قواعد البيانات مثل ImageNet، واستلامها كمدخلات وإخراج واحدة من بين مئات الفئات. مرة أخرى، يعتمدون على نفس أنواع العمليات التي وصفناها في القسم الثاني، على الرغم من تعدد بنياتها أكثر تعقيدًا من هذه الأمثلة وقد تم اعتبارها أحدث الحلول في وقت نشرها. وفي أفضل الحالات، يقدم أقرب منافس لهم أقل من نصف عدد الاستدلالات في الثانية.
فيما يتعلق باستهلاك الطاقة، قدمت شركة كوالكوم استنتاجات لكل واط لعرض مقدار معالجة الذكاء الاصطناعي الممكنة في كمية معينة من الطاقة. في أفضل الحالات (MobileNet SSD)، يمكن لمحرك Snapdragon AI أن يقدم ضعف عدد الاستدلالات في ظل نفس ميزانية الطاقة.
الطاقة مهمة بشكل خاص للأجهزة المحمولة. فكر، على سبيل المثال، في مرشح Snapchat القائم على الشبكة العصبية. من الناحية الواقعية، يقوم خط أنابيب الرؤية الحاسوبية باستخراج معلومات الوجه وتطبيق قناع أو إدخال يحتاج التحول فقط إلى التشغيل بمعدل 30 أو 60 عملية إكمال في الثانية لتحقيق السائل خبرة. ستمكنك زيادة أداء الذكاء الاصطناعي الخام من الحصول على مدخلات ذات دقة أعلى وإخراج مرشحات ذات مظهر أفضل، ولكن قد يكون ذلك ممكنًا من الأفضل أيضًا قبول الدقة عالية الدقة لعمليات تحميل أسرع وتقليل استهلاك الطاقة والاختناق الحراري. في العديد من التطبيقات، لا يعني "الأسرع" بالضرورة "الأفضل"، ومن ثم يمكن للمرء جني فوائد تحسين كفاءة الطاقة.
خلال اليوم الثاني من قمة Snapdragon، اعتلى يوري موناستيرشين، كبير مديري الهندسة في Snapchat، المنصة ليوضح كيف يتم تسريع أحدث المرشحات القائمة على التعلم العميق بشكل كبير بواسطة Hexagon Direct NN باستخدام Hexagon 695 DSP على Snapdragon 865.
علاوة على ذلك، حيث يتمكن المطورون من الوصول إلى تطبيقات الشبكة العصبية الأسهل ومع بدء المزيد من التطبيقات في استخدام تقنيات الذكاء الاصطناعي، ستحظى حالات الاستخدام المتزامن بمزيد من الاهتمام حيث سيتعين على الهاتف الذكي التعامل مع العديد من التطبيقات خطوط أنابيب الذكاء الاصطناعي المتوازية في وقت واحد (إما لتطبيق واحد لمعالجة إشارات الإدخال من مصادر مختلفة أو لتشغيل العديد من التطبيقات بشكل منفصل على الجهاز). على الرغم من أننا نرى مكاسب محترمة في كفاءة الطاقة عبر معالج الإشارة الرقمية (DSP) ووحدة معالجة الرسومات (GPU) ووحدة المعالجة المركزية (CPU)، فإن Qualcomm Sensing Hub يتعامل مع حالات الاستخدام دائمًا للاستماع إلى كلمات التشغيل عند استهلاك منخفض جدًا للطاقة. فهو يتيح مراقبة الصوت والفيديو وتغذيات المستشعر عند تيار أقل من 1 مللي أمبير، مما يسمح للجهاز باكتشاف إشارات صوتية معينة (مثل بكاء طفل)، بالإضافة إلى الكلمات الرئيسية للمساعد الرقمي المألوفة. في هذا الصدد، يتيح Snapdragon 865 اكتشاف ليس فقط الكلمة الرئيسية ولكن أيضًا من يتحدثها، لتحديد المستخدم المصرح له والتصرف وفقًا لذلك.
المزيد من الذكاء الاصطناعي على أجهزة Edge
يمكن أن تترجم هذه التحسينات في النهاية إلى فوائد ملموسة لتجربة المستخدم الخاصة بك. الخدمات التي تتضمن الترجمة أو التعرف على الكائنات ووضع العلامات عليها أو توقعات الاستخدام أو توصيات العناصر، إن فهم اللغة الطبيعية وتحليل الكلام وما إلى ذلك سيستفيد من العمل بشكل أسرع واستهلاك أقل قوة. يتيح الحصول على ميزانية حوسبة أعلى أيضًا إمكانية إنشاء حالات استخدام وتجارب جديدة، ونقل العمليات التي كانت تحدث في السحابة إلى جهازك. في حين تم استخدام مصطلح الذكاء الاصطناعي بطرق مشبوهة وخادعة وحتى خاطئة في الماضي (حتى من قبل مصنعي المعدات الأصلية)، تعتمد العديد من خدماتك التي تستمتع بها اليوم في النهاية على خوارزميات التعلم الآلي بشكل أو بآخر آخر.
ولكن بخلاف شركة كوالكوم، قام صانعو الشرائح الآخرون بالتكرار والتحسين بسرعة على هذه الجبهة أيضًا. على سبيل المثال، يأتي معالج 990 5G بتصميم أساسي 2+1 NPU مما يؤدي إلى أداء يصل إلى 2.5 مرة أداء معالج Kirin 980، ومرتين أداء Apple A12. عندما تم الإعلان عن المعالج، تبين أنه يقدم ما يصل إلى ضعف الإطارات (الاستدلالات) في الثانية من Snapdragon 855 في INT8 MobileNet، وهو أمر يصعب التوفيق بينه وبين النتائج التي تقدمها شركة Qualcomm. من ناحية أخرى، يقال إن Apple A13 Bionic عرضت مضاعفة مصفوفة أسرع بست مرات من سابقتها وحسّنت تصميم محركها العصبي ثماني النواة. سيتعين علينا الانتظار حتى نتمكن من اختبار Snapdragon 865 بشكل صحيح على الأجهزة التجارية ضد منافسيه الحاليين والمستقبليين، لكنه من الواضح أن المنافسة في هذا المجال لا تظل ثابتة أبدًا حيث كانت الشركات الثلاث تضخ الكثير من الموارد لتحسين الذكاء الاصطناعي الخاص بها أداء.