درجة الحرارة أخذ العينات

لقد صادفت مؤخرًا سؤالًا في دردشة ODS : لماذا تقوم خوارزمية إنشاء النص بالحرف p'=softmax(log(p)/t) خطاب ليس من p (متجه احتمالية الحرف التالي الذي تنبأ به نموذج اللغة ) ، ولكن من p'=softmax(log(p)/t) ( أين t هو عدد غريب إيجابي آخر)؟


إجابة سريعة وغير مفهومة: t هي "درجة الحرارة" ، وتتيح لك التحكم في مجموعة متنوعة من النصوص التي تم إنشاؤها. من أجل إجابة طويلة ومفصلة ، في الواقع ، تم كتابة هذا المنشور.


قليلا من الرياضيات


أولاً ، softmax(x)=exp(x)/sum(exp(x)) أن softmax(x)=exp(x)/sum(exp(x)) بأن softmax(x)=exp(x)/sum(exp(x)) (exp ، log ، وتقسيم المتجهات يكون مكونًا). اتضح أنه إذا كانت t=1 ، فسيتم إبطال اللوغاريثم والأس ، ونحصل على p'=p . وهذا هو ، مع درجة حرارة وحدة ، هذا التحول لا يغير شيئا.


ماذا يحدث إذا قمت بارتفاع درجة الحرارة؟ يحصل Softmax على أصفار (تقريبًا) ، وفي الإخراج نحصل (تقريبًا) على نفس الأرقام ، حوالي 1/n ، حيث n هي البعد p (عدد الحروف في الأبجدية). وهذا هو ، في درجات حرارة مرتفعة للغاية ، نطرق إلى ما تنبأ به نموذج اللغة ، وعينة من جميع الحروف محتملة بنفس القدر.


وإذا قمنا بضبط درجة الحرارة بالقرب من الصفر ، فسيكون كل مكون p' عبارة عن أصل كبير للغاية مقسومًا على مجموع الأسس الكبيرة جدًا. في الحد الأقصى ، ستهيمن تلك الرسالة ، التي تتوافق مع أكبر قيمة لـ p ، على جميع الحروف الأخرى ، وسوف تميل p' إلى الوحدة من أجلها وإلى الصفر بالنسبة لجميع الأحرف الأخرى. وهذا هو ، في درجات حرارة منخفضة للغاية ، نختار دائمًا الحرف الأكثر احتمالًا (حتى لو كان احتماله المطلق ليس مرتفعًا جدًا - قل ، 5٪ فقط).


الاستنتاج الرئيسي


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


توضح الصورة أعلاه أمثلة لأخذ العينات في درجات حرارة مختلفة من نموذج GPT-2 ، من خلال هذه الصفحة الرائعة المدعومة من مجموعة Hugging Face. ينشئ GPT-2 نصوصًا ليس بأحرف أو كلمات ، ولكن بواسطة رموز BPE (تسلسلات مختارة خصيصًا من الحروف) ، لكن جوهر هذا لا يتغير حقًا.


قليلا من الفيزياء


وما علاقة درجة الحرارة به ، قد تسأل. الجواب هو إشارة إلى توزيع بولتزمان المستخدمة في الديناميكا الحرارية. يصف هذا التوزيع احتمال الحالات التي يقع فيها النظام (على سبيل المثال ، العديد من جزيئات الغاز محبوس في زجاجة) ، وهذا يتوقف على درجة حرارة النظام ومستوى الطاقة المحتملة المقابلة لهذه الحالات. عند الانتقال من حالة الطاقة العالية إلى حالة الطاقة المنخفضة ، يتم إطلاقها (يتم تحويلها إلى حرارة) ، ولكن على العكس ، يتم إنفاقها. لذلك ، سينتهي النظام في كثير من الأحيان في حالات منخفضة الطاقة (من السهل الدخول إليها ، ومن الصعب الخروج منها ، ومن المستحيل نسيانه ) ، ولكن كلما ارتفعت درجة الحرارة ، زاد تواجد النظام في حالات الطاقة العالية أيضًا. بولتزمان ، في الواقع ، وصف هذه الانتظامات بالصيغة ، وحصلت على نفس درجة p=softmax(-energy/t) .


لقد كتبت بالفعل في مقالي عن الانتروبيا ( 1 ، 2 ، 3 ) ، لكن لم أشرح حقيقة كيف يرتبط الانتروبيا الإحصائية بمفهوم الانتروبيا في الفيزياء. ولكن في الواقع ، من خلال توزيع بولتزمان ، يبدو أنها مرتبطة. لكنني أفضل حالاً أن أرسل إليك لقراءة أعمال الفيزياء ، وأنا سأذهب إلى أبعد من ذلك مع البرمجة اللغوية العصبية. منخفض لك الحيرة!


ملاحظة: تمت كتابة هذا النص عند درجة حرارة حوالي 38 درجة ، لذا لا تفاجأ إذا كان عشوائيًا أكثر قليلاً مما كنت تتوقع ¯\_(ツ)_/¯

Source: https://habr.com/ru/post/ar467189/


All Articles