Memulai | Panduan pemasangan | Pedoman Berkontribusi | Sumber Daya | Komunikasi
NVIDIA Modulus adalah kerangka pembelajaran mendalam sumber terbuka untuk membangun, melatih, dan menyempurnakan model pembelajaran mendalam menggunakan metode SciML canggih untuk sains dan teknik AI4.
Modulus menyediakan utilitas dan saluran yang dioptimalkan untuk mengembangkan model AI yang menggabungkan pengetahuan fisika dengan data, sehingga memungkinkan prediksi waktu nyata.
Baik Anda sedang menjajaki penggunaan operator Neural, GNN, atau transformator, atau tertarik dengan Jaringan Neural berbasis Fisika atau pendekatan hibrid di antaranya, Modulus memberi Anda tumpukan optimal yang memungkinkan Anda melatih model dalam skala besar.
Lebih Lanjut Tentang Modulus
Paket Khusus Domain
Perpustakaan pelatihan yang dioptimalkan untuk GPU yang dapat diskalakan
Serangkaian Model ML Berdasarkan Fisika
Integrasi PyTorch yang Mulus
Kustomisasi dan Ekstensi yang Mudah
Perpustakaan Sains AI4
Siapa yang berkontribusi pada Modulus
Mengapa menggunakan Modulus
Memulai
Sumber daya
Instalasi
Berkontribusi
Komunikasi
Lisensi
Pada tingkat granular, Modulus menyediakan perpustakaan yang terdiri dari beberapa komponen utama:
Komponen | Keterangan |
---|---|
modul.model | Kumpulan model yang dioptimalkan, dapat disesuaikan, dan mudah digunakan seperti Fourier Neural Operators, Graph Neural Networks, dan banyak lagi |
modulus.datapipes | Pustaka pipeline dan pemuat data, termasuk pipa data benchmark, pipa data cuaca, dan pipa data grafik |
modulus.terdistribusi | Pustaka komputasi terdistribusi yang dibangun di atas torch.distributed untuk memungkinkan pelatihan paralel hanya dengan beberapa langkah |
modulus.sim.geometri | Pustaka untuk menangani geometri untuk pelatihan DL menggunakan pemodelan Geometri Padat Konstruktif dan file CAD dalam format STL. |
modulus.sym.eq | Pustaka untuk menggunakan PDE dalam pelatihan DL Anda dengan beberapa implementasi persamaan yang umum diamati dan cara penyesuaian yang mudah. |
Untuk daftar lengkapnya, lihat dokumentasi Modulus API untuk Modulus Core dan Modulus Sym.
Biasanya, Modulus digunakan sebagai:
Alat pelengkap Pytorch saat menjelajahi aplikasi AI untuk SciML dan AI4Science.
Platform penelitian pembelajaran mendalam yang memberikan skala dan kinerja optimal pada GPU NVIDIA.
Menguraikan Lebih Lanjut:
Modulus menyediakan perpustakaan pelatihan yang sangat optimal dan terukur untuk memaksimalkan kekuatan GPU NVIDIA. Utilitas komputasi terdistribusi memungkinkan penskalaan yang efisien dari satu GPU ke cluster GPU multi-node dengan beberapa baris kode, memastikan skala besar. Model pembelajaran mesin (ML) berbasis fisika dapat dilatih dengan cepat dan efektif. Kerangka kerja ini mencakup dukungan untuk tingkat lanjut. utilitas pengoptimalan, pipa data yang dibuat khusus, utilitas validasi untuk meningkatkan kecepatan pelatihan ujung ke ujung.
Modulus menawarkan perpustakaan lengkap model canggih yang dirancang khusus untuk aplikasi fisika-ML. Model Zoo mencakup arsitektur model yang dapat digeneralisasikan seperti Fourier Neural Operators (FNOs), DeepONet, Physics-Informed Neural Networks (PINNs), Graph Neural Networks (GNNs), dan model AI generatif seperti Diffusion Models serta model khusus domain seperti Prediksi Cuaca Pembelajaran Mendalam (DLWP) dan Jaringan Resolusi Super (SrNN) antara lain. Model ini dioptimalkan untuk berbagai domain fisika, seperti dinamika fluida komputasi, mekanika struktur, dan elektromagnetik. Pengguna dapat mengunduh, menyesuaikan, dan mengembangkan model ini agar sesuai dengan kebutuhan spesifik mereka, sehingga secara signifikan mengurangi waktu yang dibutuhkan untuk mengembangkan simulasi dengan ketelitian tinggi.
Modulus dibangun di atas PyTorch, memberikan pengalaman yang familier dan ramah pengguna bagi mereka yang sudah mahir menggunakan PyTorch. Ini mencakup antarmuka Python sederhana dan desain modular, sehingga memudahkan penggunaan Modulus dengan alur kerja PyTorch yang ada. Pengguna dapat memanfaatkan ekosistem PyTorch yang luas, termasuk perpustakaan dan alatnya sambil memanfaatkan kemampuan khusus Modulus untuk fisika-ML. Integrasi yang lancar ini memastikan pengguna dapat dengan cepat mengadopsi Modulus tanpa kesulitan belajar.
Untuk informasi selengkapnya, lihat Mengonversi Model PyTorch ke Model Modulus
Modulus dirancang agar sangat dapat diperluas, memungkinkan pengguna menambahkan fungsionalitas baru dengan sedikit usaha. Kerangka kerja ini menyediakan API Pythonic untuk mendefinisikan model fisika baru, geometri, dan batasan, sehingga memudahkan untuk memperluas kemampuannya ke kasus penggunaan baru. Kemampuan beradaptasi Modulus semakin ditingkatkan dengan fitur-fitur utama seperti dukungan ONNX untuk penerapan model yang fleksibel, utilitas logging yang kuat untuk penanganan kesalahan yang efisien, dan pos pemeriksaan yang efisien untuk menyederhanakan pemuatan dan penyimpanan model.
Ekstensibilitas ini memastikan bahwa Modulus dapat beradaptasi dengan kebutuhan para peneliti dan insinyur yang terus berkembang, memfasilitasi pengembangan solusi inovatif di bidang fisika-ML.
Informasi terperinci tentang fitur dan kemampuan dapat ditemukan di dokumentasi Modulus.
Sampel referensi mencakup spektrum luas alur kerja yang dibatasi oleh fisika dan berdasarkan data agar sesuai dengan keragaman kasus penggunaan dalam disiplin sains dan teknik.
Tip
Ada pertanyaan tentang bagaimana Modulus dapat membantu Anda? Coba chatbot [Eksperimental] kami, Panduan Modulus, untuk mendapatkan jawabannya.
Anda dapat mulai menggunakan Modulus dalam kode PyTorch Anda sesederhana yang ditunjukkan di sini:
python>>> impor obor>>> dari modulus.models.mlp.full_connected import FullyConnected>>> model = FullyConnected(in_features=32, out_features=64)>>> input = torch.randn(128, 32)>>> keluaran = model(masukan)>>> keluaran.bentuktorch.Ukuran([128, 64])
Modulus Simbolik: Gudang algoritme dan utilitas ini memungkinkan peneliti dan pengembang SciML untuk menginformasikan pelatihan model dan validasi model secara fisika. Ini juga memberikan abstraksi tingkat yang lebih tinggi bagi pakar domain yang berasal dari sains dan teknik.
Berikut ini adalah paket yang didedikasikan untuk pakar domain dari komunitas tertentu yang memenuhi kebutuhan eksplorasi unik mereka.
Earth-2 Studio: Proyek sumber terbuka yang memungkinkan peneliti dan ilmuwan iklim mengeksplorasi dan bereksperimen dengan model AI untuk cuaca dan iklim.
Berikut ini adalah paket penelitian yang dikemas ke dalam Modulus setelah stabil.
Modulus Makani: Perpustakaan eksperimental yang dirancang untuk memungkinkan penelitian dan pengembangan model cuaca dan iklim berbasis pembelajaran mesin.
Earth2 Grid: Pustaka eksperimental dengan utilitas untuk mengerjakan data geografis yang ditentukan pada berbagai grid.
MIP Earth-2: Perpustakaan eksperimental dengan utilitas untuk interperbandingan model untuk model cuaca dan iklim.
Modulus merupakan proyek open source dan mendapatkan kontribusi dari para peneliti di bidang SciML dan AI4science. Sementara tim Modulus berupaya mengoptimalkan tumpukan SW yang mendasarinya, komunitas berkolaborasi dan menyumbangkan arsitektur model, kumpulan data, dan aplikasi referensi sehingga kami dapat berinovasi dalam upaya mengembangkan arsitektur dan algoritme model yang dapat digeneralisasikan.
Beberapa contoh terbaru dari kontributor komunitas adalah tim HP Labs 3D Printing, tim peneliti Kardiovaskular Stanford, tim UIUC, tim CMU, dll.
Contoh terbaru tim peneliti yang menggunakan Modulus adalah tim ORNL, tim CFD TU Munich, dll.
Silakan navigasikan ke halaman ini untuk daftar lengkap penelitian yang memanfaatkan Modulus. Untuk daftar perusahaan yang menggunakan Modulus, lihat di sini.
Menggunakan Modulus dan tertarik untuk memamerkan karya Anda di Blog NVIDIA? Isi formulir proposal ini dan kami akan menghubungi Anda kembali!
Berikut adalah beberapa manfaat utama pengembangan model Modulus untuk SciML:
Tolok Ukur dan Validasi SciML | Kemudahan menggunakan resep SciML umum dengan kumpulan data heterogen | Performa dan skalabilitas yang luar biasa |
Modulus memungkinkan peneliti untuk membandingkan model AI mereka dengan arsitektur yang telah terbukti untuk masalah benchmark standar dengan kriteria validasi khusus domain yang terperinci. | Modulus memungkinkan peneliti memilih arsitektur SOTA SciML dan menggunakan pipeline data bawaan untuk kasus penggunaannya. | Modulus menyediakan pipeline pelatihan dengan performa yang luar biasa termasuk pipeline ETL yang dioptimalkan untuk rekayasa heterogen dan kumpulan data ilmiah serta penskalaan yang luar biasa di seluruh GPU multi-GPU dan multi-node. |
Lihat apa yang dikatakan rekan peneliti SciML Anda tentang Modulus (Segera hadir).
Sumber daya berikut akan membantu Anda mempelajari cara menggunakan Modulus. Cara terbaik adalah memulai dengan sampel referensi dan kemudian memperbaruinya untuk kasus penggunaan Anda sendiri.
Menggunakan Modulus dengan model PyTorch Anda
Menggunakan model bawaan Modulus
Panduan Memulai
Sampel Referensi
Dokumentasi panduan pengguna
Memulai Webinar
Kamp Pelatihan Modulus AI4Science
Model Modulus yang telah dilatih sebelumnya
Kumpulan Data Modulus dan Materi Pelengkap
Pelatihan Modulus DLI mandiri
Seri Kuliah Pembelajaran Mendalam Sains dan Teknik dengan Modulus
Modulus: tujuan dan penggunaan
Video Tutorial
Metode yang disarankan untuk menginstal Modulus versi terbaru adalah menggunakan PyPi:
pip instal nvidia-modulus
Instalasi dapat diverifikasi dengan menjalankan contoh hello world seperti yang ditunjukkan di sini.
Modulus memiliki banyak dependensi opsional yang digunakan dalam komponen tertentu. Saat menggunakan pip, semua dependensi yang digunakan di Modulus dapat diinstal dengan pip install nvidia-modulus[all]
. Jika Anda mengembangkan Modulus, dependensi pengembang dapat diinstal menggunakan pip install nvidia-modulus[dev]
. Jika tidak, dependensi tambahan dapat diinstal berdasarkan kasus per kasus. Informasi terperinci tentang menginstal dependensi opsional dapat ditemukan di Panduan Memulai.
Gambar buruh pelabuhan Modulus yang direkomendasikan dapat diambil dari NVIDIA Container Registry (lihat registri NGC untuk tag terbaru):
buruh pelabuhan menarik nvcr.io/nvidia/modulus/modulus:24.09
Di dalam container, Anda dapat mengkloning repositori Modulus git dan mulai dengan contohnya. Perintah di bawah ini menunjukkan instruksi untuk meluncurkan wadah modulus dan menjalankan contoh dari repo ini.
menjalankan buruh pelabuhan --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia --rm -it nvcr.io/nvidia/modulus/modulus:24.09 bash git clone https://github.com/NVIDIA/modulus.gitcd modulus/examples/cfd/darcy_fno/ pip install warp-lang # instal NVIDIA Warp untuk menjalankan contoh darcypython train_fno_darcy.py
Untuk kontainer NVAIE yang didukung perusahaan, lihat Modulus Secured Feature Branch
Untuk build lokal paket Modulus Python dari penggunaan sumber:
git clone [email protected]:NVIDIA/modulus.git && cd modulus instalasi pip --upgrade pip pemasangan pip.
Untuk membangun image buruh pelabuhan Modulus:
docker build -t modulus:deploy --build-arg TARGETPLATFORM=linux/amd64 --target penerapan -f Dockerfile .
Alternatifnya, Anda dapat menjalankan make container-deploy
Untuk membangun citra CI:
buruh pelabuhan membangun -t modulus:ci --build-arg TARGETPLATFORM=linux/amd64 --target ci -f Dockerfile .
Alternatifnya, Anda dapat menjalankan make container-ci
.
Saat ini, hanya platform linux/amd64
dan linux/arm64
yang didukung. Jika menggunakan linux/arm64
, beberapa dependensi seperti warp-lang
mungkin tidak diinstal dengan benar.
Modulus adalah kolaborasi sumber terbuka dan keberhasilannya berakar pada kontribusi komunitas untuk memajukan bidang Fisika-ML. Terima kasih telah berkontribusi pada proyek ini sehingga orang lain dapat memanfaatkan kontribusi Anda.
Untuk panduan berkontribusi pada Modulus, silakan lihat pedoman berkontribusi.
Jika Modulus membantu penelitian Anda dan Anda ingin mengutipnya, silakan lihat pedomannya
Diskusi Github: Diskusikan arsitektur baru, implementasi, penelitian Fisika-ML, dll.
Masalah GitHub: Laporan bug, permintaan fitur, masalah instalasi, dll.
Forum Modulus: Forum Modulus menampung audiens pengguna dan pengembang tingkat baru hingga menengah untuk obrolan umum, diskusi online, kolaborasi, dll.
Ingin menyarankan beberapa perbaikan pada Modulus? Gunakan formulir masukan kami di sini.
Modulus disediakan di bawah Lisensi Apache 2.0, silakan lihat LICENSE.txt untuk teks lisensi lengkap.