ECCO เป็นไลบรารี Python สำหรับการสำรวจและอธิบายรูปแบบการประมวลผลภาษาธรรมชาติโดยใช้การสร้างภาพข้อมูลแบบโต้ตอบ
ECCO จัดหาอินเทอร์เฟซหลายอย่างเพื่อช่วยในการอธิบายและสัญชาตญาณของแบบจำลองภาษาที่ใช้หม้อแปลง อ่าน: อินเตอร์เฟสสำหรับการอธิบายโมเดลภาษาหม้อแปลง
ECCO ทำงานภายในสมุดบันทึก Jupyter มันถูกสร้างขึ้นบน Pytorch และ Transformers
ECCO ไม่เกี่ยวข้องกับรูปแบบการฝึกอบรมหรือการปรับแต่ง การสำรวจและทำความเข้าใจแบบจำลองที่ผ่านการฝึกอบรมมาก่อนเท่านั้น ปัจจุบันห้องสมุดเป็นโครงการวิจัยอัลฟ่า คุณยินดีที่จะมีส่วนร่วมเพื่อให้ดีขึ้น!
เอกสาร: ecco.readthedocs.io
คุณสามารถติดตั้ง ecco ด้วย pip หรือกับ conda
ด้วย pip
pip install eccoกับ Conda
conda install -c conda-forge eccoคุณสามารถเรียกใช้ตัวอย่างทั้งหมดเหล่านี้ได้จาก [Notebook] | [colab].
ใช้โมเดลภาษาขนาดใหญ่ (T5 ในกรณีนี้) เพื่อตรวจจับความเชื่อมั่นข้อความ นอกเหนือจากความเชื่อมั่นให้ดูโทเค็นรุ่นที่ทำลายข้อความเป็น (ซึ่งสามารถช่วยแก้ไขข้อบกพร่องบางส่วนของขอบ)
การระบุแหล่งที่มาของคุณลักษณะโดยใช้การไล่ระดับสีแบบบูรณาการช่วยให้คุณสำรวจการตัดสินใจแบบจำลอง ในกรณีนี้การสลับ "ความอ่อนแอ" เป็น "ความโน้มเอียง" ช่วยให้แบบจำลองสามารถเปลี่ยนการทำนายเป็น บวก ได้อย่างถูกต้อง
GPT2 รู้หรือไม่ว่าสนามบิน Heathrow อยู่ที่ไหน? ใช่. มันทำ
เห็นภาพโทเค็นเอาท์พุทของผู้สมัครและคะแนนความน่าจะเป็น
โมเดลเลือกลอนดอนโดยสร้างโทเค็นความน่าจะเป็นสูงสุด (จัดอันดับ #1) หลังจากเลเยอร์สุดท้ายในรุ่น แต่ละชั้นมีส่วนช่วยเพิ่มอันดับของ ลอนดอน มากแค่ไหน? นี่คือการสร้างภาพเลนส์ logit ที่ช่วยสำรวจกิจกรรมของเลเยอร์โมเดลที่แตกต่างกัน
กลุ่มของเซลล์ประสาทในเบิร์ตมักจะยิงเพื่อตอบสนองต่อเครื่องหมายจุลภาคและเครื่องหมายวรรคตอนอื่น ๆ กลุ่มเซลล์ประสาทอื่น ๆ มีแนวโน้มที่จะยิงเพื่อตอบสนองต่อคำสรรพนาม ใช้การสร้างภาพข้อมูลนี้เพื่อแยกกิจกรรมของเซลล์ประสาทในแต่ละชั้น FFNN หรือในแบบจำลองทั้งหมด
อ่านกระดาษ:
ECCO: ไลบรารีโอเพนซอร์สสำหรับการอธิบายของแบบจำลองภาษาหม้อแปลงสำหรับการสาธิตระบบการคำนวณภาษาศาสตร์ (ACL), 2021
การอ้างอิง API และหน้าสถาปัตยกรรมอธิบายส่วนประกอบของ ECCO และวิธีการทำงานร่วมกัน
โทเค็นที่คาดการณ์ไว้: ดูการทำนายของโมเดลสำหรับโทเค็นถัดไป (ด้วยคะแนนความน่าจะเป็น) มาดูกันว่าการทำนายพัฒนาผ่านเลเยอร์ของแบบจำลองอย่างไร [โน๊ตบุ๊ค] [colab]

การจัดอันดับข้ามเลเยอร์: หลังจากรุ่นเลือกโทเค็นเอาท์พุทให้มองย้อนกลับไปว่าแต่ละเลเยอร์จัดอันดับโทเค็นนั้นอย่างไร [โน๊ตบุ๊ค] [colab]

การทำนายเลเยอร์: เปรียบเทียบการจัดอันดับของโทเค็นหลายตัวเป็นผู้สมัครสำหรับตำแหน่งที่แน่นอนในลำดับ [โน๊ตบุ๊ค] [colab]

การอ้างเหตุผลหลัก: โทเค็นอินพุตแต่ละครั้งมีส่วนร่วมในการผลิตโทเค็นเอาท์พุทเท่าไหร่? [โน๊ตบุ๊ค] [colab]

การอ้างเหตุผลหลักโดยละเอียด: ดูค่าการอ้างถึงการป้อนข้อมูลที่แม่นยำยิ่งขึ้นโดยใช้มุมมองโดยละเอียด [โน๊ตบุ๊ค] [colab]

การวิเคราะห์การเปิดใช้งานของเซลล์ประสาท: ตรวจสอบรูปแบบพื้นฐานในการเปิดใช้งานเซลล์ประสาทโดยใช้การแยกเมทริกซ์ที่ไม่เป็นลบ [โน๊ตบุ๊ค] [colab]

มีปัญหา?
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 " ,
}