في الآونة الأخيرة ، اقترح باحثون من ISTA طريقة تكميم نموذج جديد ، QMoE ، يمكنها ضغط 1.6 تريليون معلمة SwitchTransformer إلى أقل من 160 جيجابايت (0.8 بت لكل معلمة) مع القليل من فقدان الدقة.
مصدر الصورة: تم إنشاؤه بواسطة الذكاء الاصطناعي غير محدود
مع كون بنية GPT-4 "مفتوحة المصدر" من قبل قادة الصناعة المعروفين ، أصبحت بنية الخبراء الهجين (MoE) مرة أخرى محور البحث.
يحتوي GPT-4 على 16 نموذجا خبيرا بإجمالي 1.8 تريليون معلمة. يتطلب كل جيل من الرموز المميزة حوالي 280 مليار معلمة و 560 TFLOPs
ومع ذلك ، فإن تكلفة نموذج أسرع وأكثر دقة هي العدد الهائل من المعلمات والتكلفة العالية التي تأتي معها.
على سبيل المثال ، يتطلب طراز SwitchTransformer-c2048 البالغ 1.6 تريليون معلمة 3.2 تيرابايت من ذاكرة وحدة معالجة الرسومات لتعمل بفعالية.
لحل هذه المشكلة ، اقترح باحثون من المعهد النمساوي للتكنولوجيا (ISTA) إطارا جديدا تماما للضغط والتنفيذ - QMoE.
عنوان:
من خلال استخدام نواة فك تشفير GPU مصممة خصيصا ، تتمتع QMoE باستدلال ضغط فعال من طرف إلى طرف - والذي يمكن أن يحقق ضغطا يصل إلى 20x مع فقدان طفيف للدقة.
على وجه التحديد ، يمكن ل QMoE ضغط طراز SwitchTransformer-c2048 البالغ 1.6 تريليون معلمة إلى أقل من 160 جيجابايت في خادم GPU واحد في يوم واحد ، وهو ما يعادل 0.8 بت فقط لكل معلمة.
يتيح لك ذلك التشغيل على 4 وحدات معالجة رسومات NVIDIA RTX A6000 أو 8 وحدات معالجة رسومات NVIDIA RTX 3090 بأقل من 5٪ من تكلفة الاستدلال لنموذج غير مضغوط.
**تكميم نموذج وزارة التربية والتعليم **
تتمثل الفكرة الأساسية للنموذج الهجين (MoE) في زيادة عدد معلمات النموذج لتحسين قدرات النمذجة للشبكة ، مع الحفاظ على التكلفة الحسابية كما هي تقريبا مقارنة ببنية التغذية الأمامية القياسية.
نظرا لأنه لا يلزم استدعاء سوى جزء صغير من الشبكة لمعالجة كل رمز إدخال ، يمكن لهذا التصميم الاستفادة من 100 أو حتى 1000 "خبير" لبناء نماذج فائقة النطاق للتدريب الفعال والاستدلال.
لقد ثبت أن وزارة التربية والتعليم يمكن أن تحسن بشكل كبير من الدقة وسرعة التدريب عندما تكون سرعة الاستدلال قابلة للمقارنة. لكن مثل هذا الحجم الكبير يعني أن هناك حاجة إلى الكثير من ذاكرة الفيديو لتشغيل النموذج.
يتمثل التحدي الرئيسي في ضغط وزارة التربية والتعليم في الحاجة إلى الحفاظ على مجموعة كبيرة من عمليات التنشيط.
في هذا الصدد ، يمكن التحكم في البيانات الوسيطة التي يجب حسابها في جزء صغير عن طريق ترتيب تنفيذ النموذج بعناية. يؤدي هذا إلى إلغاء تحميل التخزين الرئيسي من وحدة معالجة الرسومات إلى ذاكرة وحدة المعالجة المركزية الأرخص والأكثر تكلفة.
على وجه التحديد ، احتفظ بمخزن مؤقت كبير B وقم بتحديث الجزء الكثيف من كتلة المحول على النحو التالي:
من وحدة المعالجة المركزية إلى وحدة معالجة الرسومات ، احصل على "عينة" X تحتوي على مئات الرموز ؛
من خلال الطبقة الكثيفة المقابلة ، يتم الحصول على النتيجة Y ؛
حساب وتخزين تخصيص الخبراء من الرموز في Y ؛
أرسل Y مرة أخرى إلى وحدة المعالجة المركزية والكتابة فوق X في B.
للأقسام المتناثرة:
من وحدة المعالجة المركزية إلى وحدة معالجة الرسومات ، احصل على جميع الرموز المميزة في B التي تم تعيينها إلى Expert E ، ممثلة ب X \ _E.
استخدمها لإنشاء خبراء E مضغوطين (على سبيل المثال ، باستخدام GPTQ).
قم بتشغيل X \ _E إلى E 'للحصول على Y \ _E '.
أرسل Y \ _E 'مرة أخرى إلى وحدة المعالجة المركزية والكتابة فوق X \ _E في B.
كما هو موضح في الشكل 2 ، تقلل هذه العملية من استهلاك الذاكرة وتكاليف النقل: مطلوب نسخة واحدة فقط من B ، ويتم قراءة كل رمز مميز وكتابته مرتين فقط في كل كتلة محول.
علاوة على ذلك ، صمم الباحثون مخطط ترميز ونواة CUDA لتحقيق ضغط أقل من 1 بت لكل وزن وتقليل الحمل على تنفيذ GPU للاستدلال.
تأثير الضغط
الدقة
أولا ، قام الباحثون بقياس جميع نماذج SwitchTransformer بدقة 2 بت وثلاثية ، ثم قاموا بتقييم خسائر التحقق من صحتها.
بالنسبة ل 128 خبيرا ، يكون حجم عينة المعايرة الافتراضي هو 10 آلاف ؛ بالنسبة لخبراء 2048 ، فإن حجم عينة المعايرة الافتراضي هو 160 كلفن. في الوقت نفسه ، اختبر الباحثون أيضا أحجام العينات 0.5x و 2x.
أظهرت النتائج أنه يمكن تحقيق النموذج المكون من رقمين بأقل خسارة (1.7٪ مقارنة ب C2048) وزيادة طفيفة في الخسارة تحت الدقة الثلاثية (6.7٪ مقارنة ب C2048) باستخدام التكميم المعتمد على البيانات.
هذا لا يثبت فقط فعالية طريقة القياس الكمي المتقدمة المقترحة ، ولكنه يوضح أيضا أن ضغط عرض البتات المنخفض للغاية مناسب بالفعل لوزارة التربية والتعليم على نطاق واسع.
بالإضافة إلى ذلك ، قام الباحثون بتقييم البيانات من arXiv و GitHub و StackExchange و Wikipedia من RedPajama.
على الرغم من أن <0.01٪ فقط من بيانات المعايرة تأتي من هذه المواقع ، إلا أن النموذج المضغوط لا يزال يحافظ على نفس أداء التوزيع الأساسي تقريبا.
في حالة بيانات المعايرة ، عادة ما تؤدي زيادة حجم العينة إلى تحسين الأداء قليلا ، ويكون أكثر وضوحا في التكميم الثلاثي. ولكن هناك أيضا بعض الضوضاء في هذه العملية ، خاصة عند 2 بت.
### ضغط
في الاختبار ، نظر الباحثون في كل من ضغط وحدة MoE وحدها ، وكذلك الضغط بالنسبة للنموذج بأكمله وجميع بياناته الوصفية.
بالنسبة إلى MoE وحدها ، يتم تحقيق ضغط >16x على جميع المقاييس ، وهو ما يعادل 1 بت من مساحة التخزين < لكل معلمة.
في c2048 ، تبلغ نسبة الضغط الإجمالية 19.81 مرة ، أي ما يعادل 0.807 بت لكل معلمة ، حتى بما في ذلك جميع الطبقات الكثيفة غير المضغوطة ، مما يقلل من حجم نقطة التفتيش من 3142 جيجابايت إلى 158.6 جيجابايت.
بالإضافة إلى ذلك ، يمكن ملاحظة أن نسبة الضغط تزداد مع حجم النموذج لسببين:
(أ) زيادة التناثر الطبيعي، وقام الباحثون بتحسين قاموس الترميز ل C2048؛
(ب) كلما كبرت الطبقة، كلما اقترب توزيع الوزن من الاستقلال.
### وقت التشغيل
أخيرا ، قام الباحثون بتقييم الوقت المستغرق لإنشاء نموذج مضغوط على وحدة معالجة رسومات A6000 واحدة لكميات مختلفة من بيانات المعايرة.
تظهر النتائج أنه يمكن ضغط الطرز الأصغر في أقل من ساعة ، وحتى c2048 يمكن إكمالها في أقل من يوم واحد ، مما يؤكد الكفاءة العالية ل QMoE.
من large128 إلى c2048 ، تتناسب الزيادة في وقت التشغيل بشكل أساسي مع الاختلاف في الحجم ، على الرغم من أن الأخير يستخدم عينات أكثر بمقدار 16 ضعفا. وذلك لأن حجم العينة لكل خبير يظل كما هو ، بينما يزداد حجم الخبير قليلا فقط.
### نتيجة الجري
أولا ، مقارنة مباشرة (معزولة) لنواة منتج ناقل المصفوفة المضغوط مع نواة bfloat16 cuBLAS (غير المضغوطة) لمعيار PyTorch.
يوضح الشكل 5 (يسار) الوقت الذي يستغرقه MoE لاكتشاف أشكال المصفوفة على وحدتي معالجة رسومات مختلفتين مقارنة بنوى bfloat16.
على الرغم من أن الباحثين استخدموا أداء تخزين ضعيفا ، إلا أن تنفيذ نواة الضغط استغرق وقتا أقل من خط الأساس bfloat16 شبه المثالي. أسرع بنسبة تصل إلى 35٪ في شكل مصفوفة معين.
كما أن زمن انتقال هذه العمليات منخفض جدا ، حيث تستغرق أصغر مصفوفة < 0.02 مللي ثانية وأكبرها < 0.05 مللي ثانية.
بعد ذلك ، أجرى الباحثون معيارا شاملا للنواة في HuggingFace باستخدام الأوزان الفعلية لنموذج MoE المضغوط.
كما هو موضح في الشكل 5 (يمين) ، فإن التنفيذ الشامل للنموذج المضغوط أبطأ بنسبة <5٪ فقط من النموذج القياسي (غير المضغوط).
على الرغم من أن توقيت كل طبقة أسرع ، إلا أنه لا يزال هناك انخفاض طفيف في السرعة لأن برنامج التشفير يقوم أحيانا بتوجيه رموز مميزة متعددة إلى نفس الخبير.
التنفيذ الحالي هو إجراء منتج متجه مصفوفة منفصل لكل رمز مميز ، بينما يقوم خط الأساس بضرب مصفوفة مشتركة أكثر كفاءة.
في بعض التطبيقات ، هذا هو عنق الزجاجة الكبير. يمكن القيام بذلك عن طريق إدخال حلقة في الرمز المميز في النواة أو ، في حالة وجود عدد كبير من الرموز المميزة ، عن طريق إجراء فك ضغط كامل قبل إجراء ضرب المصفوفة القياسية.
المناقشة والقيود
باختصار ، QMoE هو إطار ضغط واستدلال مفتوح المصدر من طرف إلى طرف لحل مشكلة الحمل الزائد للذاكرة في عملية الاستدلال في MoE.
لأول مرة ، أثبت الباحثون أن نموذج تريليون معلمة مثل SwitchTransformer c2048 يمكن ضغطه بدقة إلى أقل من 1 بت لكل معلمة ، بمعدل ضغط يقارب 20 مرة. ولأول مرة ، يتم تحقيق التنفيذ الفعال من طرف إلى طرف لهذه النماذج على خادم GPU واحد من فئة المستهلك.
ومع ذلك، وبما أن عددا قليلا فقط من مذكرات التفاهم الواسعة النطاق والدقيقة متاحة للجمهور، فإن مجموعة النماذج التي تمت دراستها محدودة.
بالإضافة إلى ذلك ، نظرا لحجمها الهائل ، يتم تدريب معظم MoE ونشرها في أطر مخصصة مختلفة ، الأمر الذي يتطلب تكاملا يدويا معقدا لمزيد من البحث.
ومع ذلك ، غطى الباحثون بعضا من أكبر وزارات وزارة التربية والتعليم وأكثرها دقة ، ولا سيما SwitchTransformer.
موارد:
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
8 3090، 1 يوم ضغط تريليون معلمة نموذج كبير! ينخفض 3.2 تيرابايت إلى 160 جيجابايت ، مع نسبة ضغط تصل إلى 20 مرة
مصدر المادة: نيو تشييوان
مع كون بنية GPT-4 "مفتوحة المصدر" من قبل قادة الصناعة المعروفين ، أصبحت بنية الخبراء الهجين (MoE) مرة أخرى محور البحث.
ومع ذلك ، فإن تكلفة نموذج أسرع وأكثر دقة هي العدد الهائل من المعلمات والتكلفة العالية التي تأتي معها.
على سبيل المثال ، يتطلب طراز SwitchTransformer-c2048 البالغ 1.6 تريليون معلمة 3.2 تيرابايت من ذاكرة وحدة معالجة الرسومات لتعمل بفعالية.
لحل هذه المشكلة ، اقترح باحثون من المعهد النمساوي للتكنولوجيا (ISTA) إطارا جديدا تماما للضغط والتنفيذ - QMoE.
من خلال استخدام نواة فك تشفير GPU مصممة خصيصا ، تتمتع QMoE باستدلال ضغط فعال من طرف إلى طرف - والذي يمكن أن يحقق ضغطا يصل إلى 20x مع فقدان طفيف للدقة.
على وجه التحديد ، يمكن ل QMoE ضغط طراز SwitchTransformer-c2048 البالغ 1.6 تريليون معلمة إلى أقل من 160 جيجابايت في خادم GPU واحد في يوم واحد ، وهو ما يعادل 0.8 بت فقط لكل معلمة.
يتيح لك ذلك التشغيل على 4 وحدات معالجة رسومات NVIDIA RTX A6000 أو 8 وحدات معالجة رسومات NVIDIA RTX 3090 بأقل من 5٪ من تكلفة الاستدلال لنموذج غير مضغوط.
**تكميم نموذج وزارة التربية والتعليم **
تتمثل الفكرة الأساسية للنموذج الهجين (MoE) في زيادة عدد معلمات النموذج لتحسين قدرات النمذجة للشبكة ، مع الحفاظ على التكلفة الحسابية كما هي تقريبا مقارنة ببنية التغذية الأمامية القياسية.
نظرا لأنه لا يلزم استدعاء سوى جزء صغير من الشبكة لمعالجة كل رمز إدخال ، يمكن لهذا التصميم الاستفادة من 100 أو حتى 1000 "خبير" لبناء نماذج فائقة النطاق للتدريب الفعال والاستدلال.
لقد ثبت أن وزارة التربية والتعليم يمكن أن تحسن بشكل كبير من الدقة وسرعة التدريب عندما تكون سرعة الاستدلال قابلة للمقارنة. لكن مثل هذا الحجم الكبير يعني أن هناك حاجة إلى الكثير من ذاكرة الفيديو لتشغيل النموذج.
في هذا الصدد ، يمكن التحكم في البيانات الوسيطة التي يجب حسابها في جزء صغير عن طريق ترتيب تنفيذ النموذج بعناية. يؤدي هذا إلى إلغاء تحميل التخزين الرئيسي من وحدة معالجة الرسومات إلى ذاكرة وحدة المعالجة المركزية الأرخص والأكثر تكلفة.
على وجه التحديد ، احتفظ بمخزن مؤقت كبير B وقم بتحديث الجزء الكثيف من كتلة المحول على النحو التالي:
من وحدة المعالجة المركزية إلى وحدة معالجة الرسومات ، احصل على "عينة" X تحتوي على مئات الرموز ؛
من خلال الطبقة الكثيفة المقابلة ، يتم الحصول على النتيجة Y ؛
حساب وتخزين تخصيص الخبراء من الرموز في Y ؛
أرسل Y مرة أخرى إلى وحدة المعالجة المركزية والكتابة فوق X في B.
من وحدة المعالجة المركزية إلى وحدة معالجة الرسومات ، احصل على جميع الرموز المميزة في B التي تم تعيينها إلى Expert E ، ممثلة ب X \ _E.
استخدمها لإنشاء خبراء E مضغوطين (على سبيل المثال ، باستخدام GPTQ).
قم بتشغيل X \ _E إلى E 'للحصول على Y \ _E '.
أرسل Y \ _E 'مرة أخرى إلى وحدة المعالجة المركزية والكتابة فوق X \ _E في B.
كما هو موضح في الشكل 2 ، تقلل هذه العملية من استهلاك الذاكرة وتكاليف النقل: مطلوب نسخة واحدة فقط من B ، ويتم قراءة كل رمز مميز وكتابته مرتين فقط في كل كتلة محول.
علاوة على ذلك ، صمم الباحثون مخطط ترميز ونواة CUDA لتحقيق ضغط أقل من 1 بت لكل وزن وتقليل الحمل على تنفيذ GPU للاستدلال.
تأثير الضغط
الدقة
أولا ، قام الباحثون بقياس جميع نماذج SwitchTransformer بدقة 2 بت وثلاثية ، ثم قاموا بتقييم خسائر التحقق من صحتها.
بالنسبة ل 128 خبيرا ، يكون حجم عينة المعايرة الافتراضي هو 10 آلاف ؛ بالنسبة لخبراء 2048 ، فإن حجم عينة المعايرة الافتراضي هو 160 كلفن. في الوقت نفسه ، اختبر الباحثون أيضا أحجام العينات 0.5x و 2x.
أظهرت النتائج أنه يمكن تحقيق النموذج المكون من رقمين بأقل خسارة (1.7٪ مقارنة ب C2048) وزيادة طفيفة في الخسارة تحت الدقة الثلاثية (6.7٪ مقارنة ب C2048) باستخدام التكميم المعتمد على البيانات.
هذا لا يثبت فقط فعالية طريقة القياس الكمي المتقدمة المقترحة ، ولكنه يوضح أيضا أن ضغط عرض البتات المنخفض للغاية مناسب بالفعل لوزارة التربية والتعليم على نطاق واسع.
على الرغم من أن <0.01٪ فقط من بيانات المعايرة تأتي من هذه المواقع ، إلا أن النموذج المضغوط لا يزال يحافظ على نفس أداء التوزيع الأساسي تقريبا.
في حالة بيانات المعايرة ، عادة ما تؤدي زيادة حجم العينة إلى تحسين الأداء قليلا ، ويكون أكثر وضوحا في التكميم الثلاثي. ولكن هناك أيضا بعض الضوضاء في هذه العملية ، خاصة عند 2 بت.
في الاختبار ، نظر الباحثون في كل من ضغط وحدة MoE وحدها ، وكذلك الضغط بالنسبة للنموذج بأكمله وجميع بياناته الوصفية.
بالنسبة إلى MoE وحدها ، يتم تحقيق ضغط >16x على جميع المقاييس ، وهو ما يعادل 1 بت من مساحة التخزين < لكل معلمة.
في c2048 ، تبلغ نسبة الضغط الإجمالية 19.81 مرة ، أي ما يعادل 0.807 بت لكل معلمة ، حتى بما في ذلك جميع الطبقات الكثيفة غير المضغوطة ، مما يقلل من حجم نقطة التفتيش من 3142 جيجابايت إلى 158.6 جيجابايت.
بالإضافة إلى ذلك ، يمكن ملاحظة أن نسبة الضغط تزداد مع حجم النموذج لسببين:
(أ) زيادة التناثر الطبيعي، وقام الباحثون بتحسين قاموس الترميز ل C2048؛
(ب) كلما كبرت الطبقة، كلما اقترب توزيع الوزن من الاستقلال.
أخيرا ، قام الباحثون بتقييم الوقت المستغرق لإنشاء نموذج مضغوط على وحدة معالجة رسومات A6000 واحدة لكميات مختلفة من بيانات المعايرة.
تظهر النتائج أنه يمكن ضغط الطرز الأصغر في أقل من ساعة ، وحتى c2048 يمكن إكمالها في أقل من يوم واحد ، مما يؤكد الكفاءة العالية ل QMoE.
من large128 إلى c2048 ، تتناسب الزيادة في وقت التشغيل بشكل أساسي مع الاختلاف في الحجم ، على الرغم من أن الأخير يستخدم عينات أكثر بمقدار 16 ضعفا. وذلك لأن حجم العينة لكل خبير يظل كما هو ، بينما يزداد حجم الخبير قليلا فقط.
أولا ، مقارنة مباشرة (معزولة) لنواة منتج ناقل المصفوفة المضغوط مع نواة bfloat16 cuBLAS (غير المضغوطة) لمعيار PyTorch.
يوضح الشكل 5 (يسار) الوقت الذي يستغرقه MoE لاكتشاف أشكال المصفوفة على وحدتي معالجة رسومات مختلفتين مقارنة بنوى bfloat16.
على الرغم من أن الباحثين استخدموا أداء تخزين ضعيفا ، إلا أن تنفيذ نواة الضغط استغرق وقتا أقل من خط الأساس bfloat16 شبه المثالي. أسرع بنسبة تصل إلى 35٪ في شكل مصفوفة معين.
كما أن زمن انتقال هذه العمليات منخفض جدا ، حيث تستغرق أصغر مصفوفة < 0.02 مللي ثانية وأكبرها < 0.05 مللي ثانية.
كما هو موضح في الشكل 5 (يمين) ، فإن التنفيذ الشامل للنموذج المضغوط أبطأ بنسبة <5٪ فقط من النموذج القياسي (غير المضغوط).
على الرغم من أن توقيت كل طبقة أسرع ، إلا أنه لا يزال هناك انخفاض طفيف في السرعة لأن برنامج التشفير يقوم أحيانا بتوجيه رموز مميزة متعددة إلى نفس الخبير.
التنفيذ الحالي هو إجراء منتج متجه مصفوفة منفصل لكل رمز مميز ، بينما يقوم خط الأساس بضرب مصفوفة مشتركة أكثر كفاءة.
في بعض التطبيقات ، هذا هو عنق الزجاجة الكبير. يمكن القيام بذلك عن طريق إدخال حلقة في الرمز المميز في النواة أو ، في حالة وجود عدد كبير من الرموز المميزة ، عن طريق إجراء فك ضغط كامل قبل إجراء ضرب المصفوفة القياسية.
المناقشة والقيود
باختصار ، QMoE هو إطار ضغط واستدلال مفتوح المصدر من طرف إلى طرف لحل مشكلة الحمل الزائد للذاكرة في عملية الاستدلال في MoE.
لأول مرة ، أثبت الباحثون أن نموذج تريليون معلمة مثل SwitchTransformer c2048 يمكن ضغطه بدقة إلى أقل من 1 بت لكل معلمة ، بمعدل ضغط يقارب 20 مرة. ولأول مرة ، يتم تحقيق التنفيذ الفعال من طرف إلى طرف لهذه النماذج على خادم GPU واحد من فئة المستهلك.
ومع ذلك، وبما أن عددا قليلا فقط من مذكرات التفاهم الواسعة النطاق والدقيقة متاحة للجمهور، فإن مجموعة النماذج التي تمت دراستها محدودة.
بالإضافة إلى ذلك ، نظرا لحجمها الهائل ، يتم تدريب معظم MoE ونشرها في أطر مخصصة مختلفة ، الأمر الذي يتطلب تكاملا يدويا معقدا لمزيد من البحث.
ومع ذلك ، غطى الباحثون بعضا من أكبر وزارات وزارة التربية والتعليم وأكثرها دقة ، ولا سيما SwitchTransformer.
موارد: