تقنية

التكميم الثابت والديناميكي: متى يحدد مقياس التنشيط؟

فرع لمعاملات تنشيط ثابتة من معايرة سابقة وفرع لمعاملات ديناميكية تحسب لكل مرور وتراجع مع بطاقته
رسم توضيحي من إعداد بحر العلوم؛ لم نجر معايرة أو استدلالًا.

وقت حساب مقياس التنشيط في التكميم هو الفرق الذي نراجعه هنا. يميز ONNX Runtime معاملات التنشيطات المحسوبة مسبقًا للثابت من معاملات الديناميكي المحسوبة لكل مرور أمامي. [1] لا نسمي إعادة تحديد تمثيل قيمة تحديثًا للأوزان.

الخلاصة السريعة

اسأل متى تحدد معاملات تمثيل التنشيط: مسبقًا من المعايرة أم أثناء المرور؛ هذا الاختلاف وحده لا يعني تعلم وزن جديد من طلب المستخدم.

  • في ONNX Runtime يثبت التكميم الثابت معاملات التنشيطات المحسوبة بالمعايرة، بينما يحسبها الديناميكي لكل مرور أمامي. [1]
  • نضع بطاقتين ديناميكيتين مفترضتين، مقياساهما 0.5 و 1 ونقطة الصفر فيهما صفر؛ تنشيط 2 يمثله الرمزان 4 و 2، ويعود إلى 2 في كل بطاقة.
  • إذا اخترنا عقدًا ثابتًا بمقياس 1 ونقطة صفر صفر، يبقى رمز التنشيط نفسه 2 في مرورينا؛ الفروض العددية ليست نتائج خوارزمية نفذناها.
  • نثبت الأوزان في المقارنة؛ تغير عقد تمثيل التنشيط ليس تحديثًا لها. لا نستنتج فرق دقة أو زمن، ولا نعمم السلوك على كل تنسور أو أداة.

أي معاملات يغير توقيت حسابها؟

توضح الوثيقة أن الثابت يحسب مقياس التنشيطات ونقطة صفرها مسبقًا ببيانات معايرة ويستخدمهما في كل مرور، بينما الديناميكي يحسبهما لكل مرور أمامي. [1]

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

نحصر الوصف في المسار الموثق. لا نقول إن كل شيء في نموذج ديناميكي يغير أوزانه، أو إن كل مكتبة تحمل الاسم نفسه تختار الإعداد بالطريقة نفسها. كذلك لا نختار طريقة معايرة بعينها من مجرد كلمة «ثابت».

قارن رمزين لقيمة واحدة

نؤلف سجلًا لموضع تنشيط في مرورين، ونعلن أن قيمته الحقيقية 2 في كليهما. في بطاقة المرور أ نضع مقياسًا 0.5 ونقطة صفر صفرًا، وفي بطاقة ب مقياسًا 1 ونقطة صفر صفرًا. هذه إعدادات عددية مفترضة لا مستخرجة من بيانات.

في أ يمثل الرمز 4 القيمة 2 لأن نصفًا مضروبًا في أربعة يساوي اثنين. وفي ب يمثل الرمز 2 القيمة نفسها لأن واحدًا مضروبًا في اثنين يساوي اثنين. لا يوجد تقريب أو قص في هذين العددين المختارين.

اختلاف الرمزين لا يثبت اختلاف القيمة المفكوكة. ولا ندعي أن أداة ديناميكية يجب أن تنتج هذين المقياسين لقيمتنا؛ لم نقدم بقية قيم التنسور أو قاعدة حساب مقياس فعلية. البطاقة تظهر فقط نتيجة اختيار عقدين معلنين.

كيف تبدو المقارنة مع عقد ثابت؟

نضع سجلًا ثابتًا مستقلًا بمقياس 1 ونقطة صفر صفر. تحت هذا العقد تفسر قيمة 2 برمز 2 في المرورين. لا نغير الإعداد بين البطاقتين ثم نستمر في وصفه بالثبات.

إذا غابت بيانات المعايرة عن سجل فعلي، لا نستنتج منها مقدار المقياس أو كفايته. معرفة موعد حسابه ليست معرفة كل الحالات التي غطتها العينة. هذه مسألتان مختلفتان ينبغي ألا تندمجا في نتيجة واحدة.

ونحتاج إلى القيمة المفكوكة وعقدها عند مقارنة سجلين. نقل الرمز 4 من بطاقة أ إلى العقد الثابت المختار يفكه إلى 4، بدل 2. هذا خطأ تفسير في الورقة، لا دليل أن نموذجًا تغير تلقائيًا.

هل تعلم النموذج من المرور الجديد؟

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

قد يحتاج تقرير فعلي إلى فحص المدخلات ومعاملات التكميم ومخرجات المهمة والجهاز. لا تمنح هذه البطاقات ترتيبًا لأفضل أسلوب أو مقدار زمن إضافي؛ لم ننفذ الاستدلال أو المعايرة.

الرسم يقابل توقيت إعداد المعاملات في المسارين، دون دمجه مع تغيير الأوزان. احتفظ بتسمية المكتبة والإعداد والموضع والمرور، ثم اقرأ الأرقام بالعقد الذي أنتجها بدل الاعتماد على الاسم وحده.

المصادر ومتابعة القراءة

  1. ONNX Runtime: Quantize ONNX Models — static/dynamic (يفتح في نافذة جديدة)onnxruntime.ai

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.