البداية | دليل التثبيت | إرشادات المساهمة | الموارد | تواصل
NVIDIA Modulus هو إطار عمل مفتوح المصدر للتعلم العميق لبناء نماذج التعلم العميق والتدريب عليها وضبطها باستخدام أحدث أساليب SciML لعلوم وهندسة الذكاء الاصطناعي.
توفر Modulus أدوات مساعدة وخطوط أنابيب محسنة لتطوير نماذج الذكاء الاصطناعي التي تجمع بين المعرفة الفيزيائية والبيانات، مما يتيح التنبؤات في الوقت الفعلي.
سواء كنت تستكشف استخدام المشغلين العصبيين أو شبكات GNN أو المحولات أو كنت مهتمًا بالشبكات العصبية المستنيرة بالفيزياء أو النهج المختلط بينهما، فإن Modulus يوفر لك حزمة مُحسّنة ستمكنك من تدريب نماذجك على نطاق واسع.
المزيد عن المعامل
الحزم الخاصة بالمجال
مكتبة تدريب قابلة للتطوير ومُحسّنة لوحدة معالجة الرسومات
مجموعة من نماذج تعلم الآلة المبنية على الفيزياء
التكامل السلس مع PyTorch
سهولة التخصيص والتوسيع
مكتبة AI4Science
من يساهم في Modulus
لماذا استخدام المعامل
ابدء
موارد
تثبيت
المساهمة
تواصل
رخصة
على المستوى التفصيلي، يوفر Modulus مكتبة تضم بعض المكونات الرئيسية:
عنصر | وصف |
---|---|
وحدات.نماذج | مجموعة من النماذج المحسنة والقابلة للتخصيص وسهلة الاستخدام مثل Fourier Neural Operators وGraph Neural Networks وغيرها الكثير |
modulus.datapipes | خط أنابيب البيانات ومكتبة أداة تحميل البيانات، بما في ذلك أنابيب البيانات القياسية وأنابيب البيانات الخاصة بالطقس وأنابيب بيانات الرسم البياني |
modulus.distributed | مكتبة حوسبة موزعة مبنية على torch.distributed لتمكين التدريب الموازي بخطوات قليلة فقط |
modulus.sym.geometry | مكتبة للتعامل مع الهندسة لتدريب DL باستخدام نمذجة الهندسة الصلبة البناءة وملفات CAD بتنسيق STL. |
modulus.sym.eq | مكتبة لاستخدام PDEs في تدريب DL الخاص بك مع العديد من تطبيقات المعادلات الشائعة وطرق التخصيص السهلة. |
للحصول على قائمة كاملة، راجع وثائق Modulus API الخاصة بـ Modulus Core وModulus Sym.
عادة، يتم استخدام المعامل إما على النحو التالي:
أداة تكميلية لـ Pytorch عند استكشاف الذكاء الاصطناعي لتطبيقات SciML وAI4Science.
منصة بحثية للتعلم العميق توفر الأداء الأمثل على وحدات معالجة الرسومات NVIDIA.
مزيد من التفصيل:
يوفر Modulus مكتبة تدريب محسنة للغاية وقابلة للتطوير لزيادة قوة وحدات معالجة الرسومات NVIDIA. تتيح أدوات الحوسبة الموزعة إمكانية التوسع بكفاءة من وحدة معالجة رسومات واحدة إلى مجموعات وحدات معالجة الرسومات متعددة العقد باستخدام بضعة أسطر من التعليمات البرمجية، مما يضمن النطاق الواسع. يمكن تدريب نماذج التعلم الآلي المبنية على الفيزياء (ML) بسرعة وفعالية. يتضمن الإطار دعمًا متقدمًا. أدوات مساعدة للتحسين، وأنابيب بيانات مصممة خصيصًا، وأدوات مساعدة للتحقق لتعزيز سرعة التدريب الشاملة.
تقدم Modulus مكتبة شاملة لأحدث النماذج المصممة خصيصًا لتطبيقات الفيزياء-ML. تشتمل حديقة الحيوان النموذجية على بنيات نموذجية قابلة للتعميم مثل مشغلي فورييه العصبيين (FNOs)، وDeepONEt، والشبكات العصبية المستنيرة بالفيزياء (PINNs)، والشبكات العصبية الرسومية (GNNs)، ونماذج الذكاء الاصطناعي التوليدية مثل نماذج الانتشار بالإضافة إلى النماذج الخاصة بالمجال مثل التعلم العميق للتنبؤ بالطقس (DLWP) وشبكة الدقة الفائقة (SrNN) وغيرها. تم تحسين هذه النماذج لمختلف مجالات الفيزياء، مثل ديناميكيات الموائع الحسابية، والميكانيكا الهيكلية، والكهرومغناطيسية. يمكن للمستخدمين تنزيل هذه النماذج وتخصيصها والبناء عليها لتناسب احتياجاتهم الخاصة، مما يقلل بشكل كبير من الوقت اللازم لتطوير عمليات محاكاة عالية الدقة.
تم بناء Modulus على قمة PyTorch، مما يوفر تجربة مألوفة وسهلة الاستخدام لأولئك الذين يتقنون PyTorch بالفعل. يتضمن ذلك واجهة Python بسيطة وتصميمًا معياريًا، مما يجعل من السهل استخدام Modulus مع سير عمل PyTorch الحالي. يمكن للمستخدمين الاستفادة من نظام PyTorch البيئي الشامل، بما في ذلك مكتباته وأدواته مع الاستفادة من قدرات Modulus المتخصصة في فيزياء ML. يضمن هذا التكامل السلس أن المستخدمين يمكنهم اعتماد Modulus بسرعة دون منحنى تعليمي حاد.
لمزيد من المعلومات، راجع تحويل نماذج PyTorch إلى نماذج Modulus
تم تصميم Modulus ليكون قابلاً للتوسعة بدرجة كبيرة، مما يسمح للمستخدمين بإضافة وظائف جديدة بأقل جهد. يوفر الإطار واجهات برمجة التطبيقات Pythonic لتحديد نماذج فيزيائية وأشكال هندسية وقيود جديدة، مما يجعل من السهل توسيع قدراته لتشمل حالات استخدام جديدة. يتم تعزيز قدرة Modulus على التكيف بشكل أكبر من خلال الميزات الرئيسية مثل دعم ONNX لنشر النماذج المرنة وأدوات التسجيل القوية لمعالجة الأخطاء بشكل مبسط وفحص فعال لتبسيط تحميل النموذج وحفظه.
تضمن قابلية التوسعة قدرة Modulus على التكيف مع الاحتياجات المتطورة للباحثين والمهندسين، مما يسهل تطوير حلول مبتكرة في مجال الفيزياء-ML.
يمكن العثور على معلومات تفصيلية حول الميزات والقدرات في وثائق Modulus.
تغطي العينات المرجعية نطاقًا واسعًا من مسارات العمل المقيدة بالفيزياء والمعتمدة على البيانات لتناسب تنوع حالات الاستخدام في تخصصات العلوم والهندسة.
نصيحة
هل لديك أسئلة حول كيف يمكن لـ Modulus مساعدتك؟ جرب برنامج الدردشة الآلي [التجريبي] الخاص بنا، دليل Modulus، للحصول على الإجابات.
يمكنك البدء في استخدام Modulus في كود PyTorch الخاص بك بهذه البساطة كما هو موضح هنا:
python >>> استيراد الشعلة >>> من modulus.models.mlp.fully_connected import FullyConnected >>> model = FullyConnected(in_features=32, out_features=64)>>> input = torch.randn(128, 32)>>> الإخراج = النموذج (الإدخال) >>> الإخراج.شكل الشعلة.الحجم ([128، 64])
المعامل الرمزي: يتيح مستودع الخوارزميات والأدوات المساعدة هذا للباحثين والمطورين في SciML إمكانية تدريب الفيزياء على النماذج والتحقق من صحتها. كما أنه يوفر تجريدًا عالي المستوى لخبراء المجال الأصليين للعلوم والهندسة.
فيما يلي حزم مخصصة لخبراء المجال في مجتمعات محددة تلبي احتياجات الاستكشاف الفريدة الخاصة بهم.
Earth-2 Studio: مشروع مفتوح المصدر لتمكين الباحثين والعلماء في مجال المناخ من استكشاف وتجربة نماذج الذكاء الاصطناعي للطقس والمناخ.
فيما يلي حزم الأبحاث التي يتم تجميعها في Modulus بمجرد استقرارها.
Modulus Makani: مكتبة تجريبية مصممة لتمكين البحث والتطوير لنماذج الطقس والمناخ القائمة على التعلم الآلي.
Earth2 Grid: مكتبة تجريبية تحتوي على أدوات مساعدة للعمل مع البيانات الجغرافية المحددة على شبكات مختلفة.
Earth-2 MIP: مكتبة تجريبية تحتوي على أدوات مساعدة لمقارنة النماذج لنماذج الطقس والمناخ.
Modulus هو مشروع مفتوح المصدر ويحصل على مساهمات من الباحثين في مجالات SciML وAI4science. بينما يعمل فريق Modulus على تحسين مكدس SW الأساسي، يتعاون المجتمع ويساهم في بنيات النماذج ومجموعات البيانات والتطبيقات المرجعية حتى نتمكن من الابتكار في السعي لتطوير بنيات وخوارزميات نموذجية قابلة للتعميم.
بعض الأمثلة الحديثة للمساهمين في المجتمع هي فريق الطباعة ثلاثية الأبعاد HP Labs، وفريق أبحاث القلب والأوعية الدموية في جامعة ستانفورد، وفريق UIUC، وفريق CMU وما إلى ذلك.
أحدث الأمثلة على فرق البحث التي تستخدم Modulus هي فريق ORNL وفريق TU München CFD وما إلى ذلك.
يرجى الانتقال إلى هذه الصفحة للحصول على قائمة كاملة بالأعمال البحثية التي تستفيد من Modulus. للحصول على قائمة بالمؤسسات التي تستخدم Modulus، قم بالرجوع هنا.
هل تستخدم Modulus وتهتم بعرض أعمالك على مدونات NVIDIA؟ املأ نموذج الاقتراح هذا وسنقوم بالرد عليك!
فيما يلي بعض الفوائد الرئيسية لـ Modulus لتطوير نموذج SciML:
قياس SciML والتحقق من صحتها | سهولة استخدام وصفات SciML المعممة مع مجموعات البيانات غير المتجانسة | أداء خارج الصندوق وقابلية للتوسع |
يمكّن Modulus الباحثين من قياس نموذج الذكاء الاصطناعي الخاص بهم مقابل البنى المثبتة لمشاكل القياس القياسية مع معايير التحقق التفصيلية الخاصة بالمجال. | يمكّن Modulus الباحثين من الاختيار من بنيات SOTA SciML واستخدام خطوط أنابيب البيانات المضمنة لحالة الاستخدام الخاصة بهم. | يوفر Modulus خطوط أنابيب تدريب عالية الأداء خارج الصندوق، بما في ذلك خطوط أنابيب ETL المحسنة لمجموعات البيانات الهندسية والعلمية غير المتجانسة والتوسع خارج الصندوق عبر وحدات معالجة الرسومات المتعددة ووحدات معالجة الرسومات متعددة العقد. |
تعرف على ما يقوله زملائك من الباحثين في SciML عن Modulus (قريبًا).
ستساعدك الموارد التالية في تعلم كيفية استخدام Modulus. أفضل طريقة هي البدء بعينة مرجعية ثم تحديثها لحالة الاستخدام الخاصة بك.
استخدام Modulus مع نموذج PyTorch الخاص بك
استخدام نماذج Modulus المضمنة
دليل البدء
العينات المرجعية
وثائق دليل المستخدم
البدء في الندوة عبر الويب
المعسكر التدريبي لمعامل AI4Science
نماذج مُدربة مسبقًا
مجموعات بيانات المعامل والمواد التكميلية
تدريب ذاتي على معامل DLI
التعلم العميق لسلسلة محاضرات العلوم والهندسة مع المعامل
المعامل: الغرض والاستخدام
دروس الفيديو
الطريقة الموصى بها لتثبيت أحدث إصدار من Modulus هي استخدام PyPi:
نقطة تثبيت nvidia-modulus
يمكن التحقق من التثبيت عن طريق تشغيل مثال helloworld كما هو موضح هنا.
لدى Modulus العديد من التبعيات الاختيارية المستخدمة في مكونات محددة. عند استخدام النقطة، يمكن تثبيت جميع التبعيات المستخدمة في Modulus باستخدام pip install nvidia-modulus[all]
. إذا كنت تقوم بتطوير Modulus، فيمكن تثبيت تبعيات المطور باستخدام pip install nvidia-modulus[dev]
. وبخلاف ذلك، يمكن تثبيت تبعيات إضافية على أساس كل حالة على حدة. يمكن العثور على معلومات تفصيلية حول تثبيت التبعيات الاختيارية في دليل البدء.
يمكن سحب صورة Modulus docker الموصى بها من NVIDIA Container Registry (راجع سجل NGC للحصول على أحدث علامة):
عامل ميناء سحب nvcr.io/nvidia/modulus/modulus:24.09
داخل الحاوية، يمكنك استنساخ مستودعات Modulus git والبدء في الأمثلة. يعرض الأمر أدناه تعليمات تشغيل حاوية المعامل وتشغيل الأمثلة من هذا الريبو.
تشغيل عامل الميناء --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia --rm -it nvcr.io/nvidia/modulus/modulus:24.09 باش استنساخ بوابة https://github.com/NVIDIA/modulus.gitcd modulus/examples/cfd/darcy_fno/ pip install warp-lang # تثبيت NVIDIA Warp لتشغيل darcy examplepython Train_fno_darcy.py
بالنسبة لحاوية NVAIE المدعومة من قبل المؤسسة، راجع فرع ميزة Modulus Secured
للإنشاء المحلي لحزمة Modulus Python من الاستخدام المصدر:
git clone [email protected]:NVIDIA/modulus.git && cd modulus تثبيت النقطة - ترقية النقطة تثبيت النقطة .
لبناء صورة عامل ميناء Modulus:
عامل بناء عامل -t معامل:نشر --build-arg TARGETPLATFORM=linux/amd64 --targetploy -f Dockerfile .
وبدلاً من ذلك، يمكنك تشغيل make container-deploy
لبناء صورة CI:
عامل بناء عامل -t معامل:ci --build-arg TARGETPLATFORM=linux/amd64 --target ci -f Dockerfile .
وبدلاً من ذلك، يمكنك تشغيل make container-ci
.
حاليًا، يتم دعم الأنظمة الأساسية linux/amd64
و linux/arm64
فقط. إذا كنت تستخدم linux/arm64
، فقد لا يتم تثبيت بعض التبعيات مثل warp-lang
بشكل صحيح.
Modulus عبارة عن تعاون مفتوح المصدر ونجاحه متجذر في مساهمة المجتمع في تعزيز مجال Physics-ML. نشكرك على مساهمتك في المشروع حتى يتمكن الآخرون من البناء على مساهمتك.
للحصول على إرشادات حول المساهمة في Modulus، يرجى الرجوع إلى إرشادات المساهمة.
إذا كان Modulus قد ساعد في بحثك وترغب في الاستشهاد به، فيرجى الرجوع إلى الإرشادات
مناقشات Github: مناقشة البنى الجديدة والتطبيقات وأبحاث الفيزياء-ML وما إلى ذلك.
مشكلات GitHub: تقارير الأخطاء وطلبات الميزات ومشكلات التثبيت وما إلى ذلك.
منتدى Modulus: يستضيف منتدى Modulus جمهورًا من المستخدمين والمطورين الجدد إلى المتوسطين للدردشة العامة والمناقشات عبر الإنترنت والتعاون وما إلى ذلك.
هل تريد اقتراح بعض التحسينات على Modulus؟ استخدم نموذج الملاحظات الخاص بنا هنا.
يتم توفير Modulus بموجب ترخيص Apache 2.0، يرجى مراجعة LICENSE.txt للحصول على نص الترخيص الكامل.