ECCO هي مكتبة Python لاستكشاف وشرح نماذج معالجة اللغة الطبيعية باستخدام تصورات تفاعلية.
يوفر ECCO واجهات متعددة للمساعدة في شرح وحدس نماذج اللغة القائمة على المحولات. اقرأ: واجهات لشرح نماذج لغة المحولات.
تعمل ECCO داخل دفاتر Jupyter. وهي مبنية على قمة Pytorch والمحولات.
لا تهتم ECCO بالتدريب أو النماذج الدقيقة. فقط استكشاف وفهم النماذج الموجودة مسبقًا. المكتبة هي حاليا إصدار ألفا لمشروع بحثي. اهلا وسهلا بكم للمساهمة في جعلها أفضل!
الوثائق: ecco.ReadTheDocs.io
يمكنك تثبيت ecco إما مع pip أو مع conda .
مع PIP
pip install eccoمع كوندا
conda install -c conda-forge eccoيمكنك تشغيل كل هذه الأمثلة من هذا [Notebook] | [كولاب].
استخدم نموذج لغة كبير (T5 في هذه الحالة) للكشف عن معنويات النص. بالإضافة إلى المشاعر ، راجع الرموز التي حطمت النموذج النص (والتي يمكن أن تساعد في تصحيح بعض حالات الحافة).
إن إسناد الميزات باستخدام التدرجات المتكاملة يساعدك على استكشاف قرارات النماذج. في هذه الحالة ، يتيح تبديل "الضعف" إلى "الميل" للنموذج تبديل التنبؤ بشكل صحيح إلى إيجابية .
هل يعرف GPT2 أين يوجد مطار هيثرو؟ نعم. يفعل.
تصور الرموز المخرجات المرشحة ودرجات احتمالية.
اختار النموذج لندن من خلال جعل الرمز المميز لأعلى احتمال (ترتيبه رقم 1) بعد الطبقة الأخيرة في النموذج. كم ساهم كل طبقة في زيادة ترتيب لندن ؟ هذه تصورات عدسة لوجيت تساعد في استكشاف نشاط طبقات النماذج المختلفة.
تميل مجموعة من الخلايا العصبية في بيرت إلى إطلاق النار استجابةً للفواصل وعلامات الترقيم الأخرى. تميل مجموعات أخرى من الخلايا العصبية إلى إطلاق النار استجابة للضمائر. استخدم هذا التصور لعوامل نشاط الخلايا العصبية في طبقات FFNN الفردية أو في النموذج بأكمله.
اقرأ الورقة:
ECCO: مكتبة مفتوحة المصدر لشرح توضيح نظام النماذج اللغوية لعلم اللغويات الحاسوبية (ACL) ، 2021
تشرح مرجع API وصفحة الهندسة المعمارية مكونات ECCO وكيفية عملها معًا.
الرموز المتوقعة: عرض تنبؤ النموذج للرمز المميز التالي (مع درجات الاحتمالات). انظر كيف تطورت التنبؤات من خلال طبقات النموذج. [دفتر ملاحظات] [كولاب]

التصنيفات عبر الطبقات: بعد أن يختار النموذج رمز الإخراج ، انظر إلى الوراء في كيفية تصنيف كل طبقة من الرمز المميز. [دفتر ملاحظات] [كولاب]

تنبؤات الطبقة: قارن تصنيفات الرموز المتعددة كمرشحين لموقف معين في التسلسل. [دفتر ملاحظات] [كولاب]

السمات الأولية: ما مقدار مساهمة كل رمز مدخلات في إنتاج رمز الإخراج؟ [دفتر ملاحظات] [كولاب]

سمات أساسية مفصلة: راجع قيم سمات إدخال أكثر دقة باستخدام العرض التفصيلي. [دفتر ملاحظات] [كولاب]

تحليل تنشيط الخلايا العصبية: فحص الأنماط الأساسية في تنشيط الخلايا العصبية باستخدام معامل المصفوفة غير السلبي. [دفتر ملاحظات] [كولاب]

تواجه مشكلة؟
bibtex للاستشهادات:
@inproceedings { alammar-2021-ecco ,
title = " Ecco: An Open Source Library for the Explainability of Transformer Language Models " ,
author = " Alammar, J " ,
booktitle = " Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations " ,
year = " 2021 " ,
publisher = " Association for Computational Linguistics " ,
}