يقدم Torchdistill (سابقًا KDKIT ) العديد من أساليب التقطير المعرفة الحديثة ويمكّنك من تصميم تجارب (جديدة) ببساطة عن طريق تحرير ملف تكوين YAML التصريحي بدلاً من رمز Python. حتى عندما تحتاج إلى استخراج التمثيلات المتوسطة في نماذج المعلم/الطلاب ، فلن تحتاج إلى إعادة تنفيذ النماذج ، والتي غالبًا ما تغير واجهة الأمام ، ولكن بدلاً من ذلك حدد مسار (مسارات) الوحدة النمطية في ملف YAML. الرجوع إلى هذه الأوراق لمزيد من التفاصيل.
بالإضافة إلى تقطير المعرفة ، يساعدك هذا الإطار في تصميم وأجر تجارب تعليمية عميقة عامة ( بدون ترميز ) لدراسات التعلم العميق القابلة للتكرار. أي أنه يمكّنك من تدريب النماذج بدون معلمين ببساطة عن طريق استبعاد إدخالات المعلمين من ملف تكوين YAML التصريح. يمكنك العثور على مثل هذه الأمثلة أدناه وفي التكوينات/عينة/.
عندما تشير إلى Torchdistill في ورقتك ، يرجى الاستشهاد بهذه الأوراق بدلاً من مستودع GitHub.
إذا كنت تستخدم Torchdistill كجزء من عملك ، فسيتم تقدير الاقتباس الخاص بك ويحفزني على الحفاظ على هذا الإطار وترقيته!
يمكنك العثور على مشاريع وثيقة API والبحث التي تستفيد من torchdistill على https://yoshitomo-matsubara.net/torchdistill/
باستخدام ForwardHookManager ، يمكنك استخراج تمثيلات وسيطة في النموذج دون تعديل واجهة وظيفتها الأمامية.
سيعطيك دفتر الملاحظات هذا المثال فكرة أفضل عن الاستخدام مثل تقطير المعرفة وتحليل التمثيلات الوسيطة.
في Torchdistill ، يتم استخلاص العديد من المكونات ووحدات Pytorch على سبيل المثال ، على سبيل المثال ، نماذج ، مجموعات بيانات ، مُحسّنات ، خسائر ، وأكثر من ذلك! يمكنك تعريفها في ملف تكوين Pyyaml التصريحي بحيث يمكن اعتباره ملخصًا لتجربتك ، وفي كثير من الحالات ، لن تحتاج إلى كتابة رمز Python على الإطلاق . ألقِ نظرة على بعض التكوينات المتاحة في التكوينات/. سترى الوحدات النمطية المخصصة وكيف يتم تعريفها في ملف تكوين Pyyaml التصريحي لتصميم تجربة.
إذا كنت ترغب في استخدام الوحدات النمطية الخاصة بك (النماذج ، وظائف الخسارة ، مجموعات البيانات ، إلخ) مع هذا الإطار ، يمكنك القيام بذلك دون تحرير رمز في الحزمة المحلية torchdistill/ .
راجع الوثائق والمناقشات الرسمية لمزيد من التفاصيل.
أعلى 1 دقة التحقق من الصحة لـ ILSVRC 2012 (ImageNet)
يمكن العثور على الرمز القابل للتنفيذ في أمثلة/ مثل
بالنسبة إلى CIFAR-10 و CIFAR-100 ، يتم إعادة تنفيذ بعض النماذج ومتاحة كموديلات مسبقة في Torchdistill . يمكن العثور على مزيد من التفاصيل هنا.
تتوفر بعض نماذج المحولات التي تم ضبطها بواسطة Torchdistill لمهام الغراء في Hugging Face Model Hub. عينة من نتائج قياس الغراء والتفاصيل يمكن العثور عليها هنا.
الأمثلة التالية متوفرة في العرض التوضيحي/. لاحظ أن هذه الأمثلة مخصصة لمستخدمي Google Colab ومتوافق مع مختبر Amazon Sagemaker Studio. عادةً ما تكون الأمثلة/ ستكون مرجعًا أفضل إذا كان لديك وحدة معالجة الرسومات الخاصة بك.
تكتب هذه الأمثلة ملفات التنبؤ الاختبار لكي ترى أداء الاختبار في نظام Glue Leaderboard.
إذا وجدت نماذج على Pytorch Hub أو مستودعات Github التي تدعم Pytorch Hub ، فيمكنك استيرادها كطرازات معلم/طالب ببساطة عن طريق تحرير ملف تكوين YAML التصريحي.
على سبيل المثال ، إذا كنت تستخدم RESNEST-50 متاحًا في عانق Pytorch-image-models (المعروف أيضًا باسم TIMM ) كنموذج مدرس لمجموعة بيانات ImageNet ، يمكنك استيراد النموذج عبر Pytorch Hub مع الإدخال التالي في ملف تكوين YAML التعريفي الخاص بك.
models :
teacher_model :
key : ' resnest50d '
repo_or_dir : ' huggingface/pytorch-image-models '
kwargs :
num_classes : 1000
pretrained : True pip3 install torchdistill
# or use pipenv
pipenv install torchdistill
git clone https://github.com/yoshitomo-matsubara/torchdistill.git
cd torchdistill/
pip3 install -e .
# or use pipenv
pipenv install "-e ."
لا تتردد في إنشاء مشكلة إذا وجدت خطأ.
إذا كان لديك سؤال أو طلب ميزة ، فابدأ مناقشة جديدة هنا. يرجى البحث من خلال القضايا والمناقشات والتأكد من عدم معالجة مشكلتك/سؤالك/طلبك بعد.
طلبات السحب موضع ترحيب. يرجى البدء بمشكلة ومناقشة الحلول معي بدلاً من البدء بطلب سحب.
إذا كنت تستخدم Torchdistill في بحثك ، فيرجى الاستشهاد بالأوراق التالية:
[ورقة] [preprint]
@inproceedings { matsubara2021torchdistill ,
title = { {torchdistill: A Modular, Configuration-Driven Framework for Knowledge Distillation} } ,
author = { Matsubara, Yoshitomo } ,
booktitle = { International Workshop on Reproducible Research in Pattern Recognition } ,
pages = { 24--44 } ,
year = { 2021 } ,
organization = { Springer }
}[ورقة] [OpenReview] [preprint]
@inproceedings { matsubara2023torchdistill ,
title = { {torchdistill Meets Hugging Face Libraries for Reproducible, Coding-Free Deep Learning Studies: A Case Study on NLP} } ,
author = { Matsubara, Yoshitomo } ,
booktitle = { Proceedings of the 3rd Workshop for Natural Language Processing Open Source Software (NLP-OSS 2023) } ,
publisher = { Empirical Methods in Natural Language Processing } ,
pages = { 153--164 } ,
year = { 2023 }
} تم دعم هذا المشروع من قبل ائتمانات OSS من Travis CI وبرامج الترخيص المجانية لـ Jetbrain (المصدر المفتوح) منذ نوفمبر 2021 ويونيو 2022 ، على التوالي.