عن المشروع

توفر micrograd محركًا عدديًا بسيطًا للتفاضل التلقائي ومكتبة شبكات عصبية خفيفة مبنية عليه. يقوم تجريد `Value` الأساسي بتسجيل العمليات في رسم بياني موجه غير دوري مبني ديناميكيًا ويدعم الانتشار العكسي من خلال العمليات الحسابية والتنشيط المدعومة، بما في ذلك الجمع والضرب والأس والقسمة والطرح وReLU. يصف ملف README مكونات المحرك والشبكة العصبية بأنها حوالي 100 و50 سطرًا على التوالي، مع التركيز على الوضوح والاستخدام التعليمي بدلاً من أداء التنسور على نطاق الإنتاج. يمكن تثبيت الحزمة باستخدام `pip install micrograd`. يوضح المثال بناء التعبيرات من كائنات `Value`، وقراءة نتائج التمرير الأمامي من `.data`، واستدعاء `backward()`، وفحص تدرجات الإدخال من خلال `.grad`. توفر وحدة `micrograd.nn` المضمنة كتل بناء للخلايا العصبية والطبقات وMLP بواجهة شبيهة بـ PyTorch. يوضح `demo.ipynb` تدريب شبكة متعددة الطبقات ثنائية الطبقات كمصنف ثنائي على مجموعة بيانات القمر باستخدام خسارة الهامش الأقصى ونزول التدرج العشوائي. يستخدم دفتر ملاحظات آخر، `trace_graph.ipynb`، Graphviz لتصور عُقد الحساب مع قيمها وتدرجاتها. تستخدم مجموعة الاختبار PyTorch كمرجع للتحقق من التدرجات المحسوبة ويتم تشغيلها باستخدام pytest. يربط ملف README أيضًا بمثال خارجي microgpt يوضح كيف يمكن استخدام نهج تفاضل تلقائي مشابه لتدريب وأخذ عينات من محول شبيه بـ GPT-2. تم إصدار المشروع بموجب ترخيص MIT.