เริ่มต้นใช้งาน | คู่มือการติดตั้ง | แนวทางการมีส่วนร่วม | ทรัพยากร | การสื่อสาร
NVIDIA Modulus เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกแบบโอเพ่นซอร์สสำหรับการสร้าง การฝึกอบรม และการปรับแต่งโมเดลการเรียนรู้เชิงลึกอย่างละเอียดโดยใช้วิธี SciML ที่ล้ำสมัยสำหรับวิทยาศาสตร์ AI4 และวิศวกรรม
โมดูลัสมอบสาธารณูปโภคและไปป์ไลน์ที่ได้รับการปรับปรุงเพื่อพัฒนาแบบจำลอง AI ที่รวมความรู้ทางฟิสิกส์เข้ากับข้อมูล ทำให้สามารถคาดการณ์ได้แบบเรียลไทม์
ไม่ว่าคุณกำลังสำรวจการใช้ตัวดำเนินการ Neural, GNN หรือหม้อแปลงไฟฟ้า หรือสนใจ Neural Networks ที่อิงตามหลักฟิสิกส์ หรือวิธีการแบบไฮบริดในระหว่างนั้น Modulus ก็มอบสแต็กที่ได้รับการปรับปรุงให้เหมาะสม ซึ่งจะช่วยให้คุณฝึกฝนโมเดลของคุณได้ในวงกว้าง
ข้อมูลเพิ่มเติมเกี่ยวกับโมดูลัส
แพ็คเกจเฉพาะโดเมน
ไลบรารีการฝึกอบรมที่ปรับให้เหมาะสมกับ GPU ที่ปรับขนาดได้
ชุดโมเดล ML ตามหลักฟิสิกส์
บูรณาการ PyTorch ได้อย่างราบรื่น
ปรับแต่งและขยายได้ง่าย
ห้องสมุดวิทยาศาสตร์ AI4
ใครเป็นผู้มีส่วนร่วมในโมดูลัส
ทำไมต้องใช้โมดูลัส
เริ่มต้นใช้งาน
ทรัพยากร
การติดตั้ง
มีส่วนร่วม
การสื่อสาร
ใบอนุญาต
ในระดับรายละเอียด Modulus จัดเตรียมคลังองค์ประกอบหลักบางประการ:
ส่วนประกอบ | คำอธิบาย |
---|---|
โมดูล.รุ่น | คอลเลกชันของโมเดลที่ได้รับการปรับปรุง ปรับแต่งได้ และใช้งานง่าย เช่น Fourier Neural Operators, Graph Neural Networks และอื่นๆ อีกมากมาย |
โมดูลัส.datapipes | ไปป์ไลน์ข้อมูลและไลบรารีตัวโหลดข้อมูล รวมถึงดาต้าไปป์มาตรฐาน, daptapipes สภาพอากาศ และดาต้าไปป์กราฟ |
โมดูลัส. กระจาย | ไลบรารีการประมวลผลแบบกระจายที่สร้างขึ้นบน torch.distributed เพื่อให้สามารถฝึกอบรมแบบขนานได้ในเพียงไม่กี่ขั้นตอน |
โมดูลัส.สมมาตร.เรขาคณิต | ไลบรารีสำหรับจัดการเรขาคณิตสำหรับการฝึกอบรม DL โดยใช้การสร้างแบบจำลอง Constructive Solid Geometry และไฟล์ CAD ในรูปแบบ STL |
โมดูลัส.sym.eq | ไลบรารีสำหรับใช้ PDE ในการฝึกอบรม DL ของคุณพร้อมการใช้งานสมการที่สังเกตโดยทั่วไปหลายวิธีและวิธีง่ายๆ ในการปรับแต่ง |
หากต้องการดูรายการทั้งหมด โปรดดูเอกสารประกอบ Modulus API สำหรับ Modulus Core และ Modulus Sym
โดยปกติแล้ว โมดูลัสจะใช้เป็น:
เครื่องมือเสริมสำหรับ Pytorch เมื่อสำรวจ AI สำหรับแอปพลิเคชัน SciML และ AI4Science
แพลตฟอร์มการวิจัยการเรียนรู้เชิงลึกที่ให้ขนาดและประสิทธิภาพสูงสุดบน NVIDIA GPU
อธิบายเพิ่มเติม:
โมดูลัสมอบไลบรารีการฝึกอบรมที่ได้รับการปรับปรุงและปรับขนาดได้สูงเพื่อเพิ่มพลังของ NVIDIA GPU ให้สูงสุด ยูทิลิตี้การประมวลผลแบบกระจายช่วยให้สามารถปรับขนาดได้อย่างมีประสิทธิภาพจากคลัสเตอร์ GPU ตัวเดียวไปจนถึงคลัสเตอร์ GPU แบบหลายโหนดด้วยโค้ดเพียงไม่กี่บรรทัด ทำให้มั่นใจได้ว่ามีขนาดใหญ่ โมเดลการเรียนรู้ของเครื่องตามฟิสิกส์ (ML) สามารถฝึกฝนได้อย่างรวดเร็วและมีประสิทธิภาพ กรอบการทำงานประกอบด้วยการสนับสนุนขั้นสูง ยูทิลิตี้การเพิ่มประสิทธิภาพ, ดาต้าไปป์ที่ออกแบบโดยเฉพาะ, ยูทิลิตี้การตรวจสอบความถูกต้องเพื่อเพิ่มความเร็วการฝึกอบรมตั้งแต่ต้นจนจบ
โมดูลัสนำเสนอไลบรารีแบบจำลองล้ำสมัยที่ครอบคลุมซึ่งได้รับการออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชันฟิสิกส์-ML Model Zoo ประกอบด้วยสถาปัตยกรรมโมเดลทั่วไป เช่น Fourier Neural Operators (FNO), DeepONet, Physics-Informed Neural Networks (PINNs), Graph Neural Networks (GNNs) และโมเดล AI เชิงสร้างสรรค์ เช่น Diffusion Models ตลอดจนโมเดลเฉพาะโดเมน เช่น การทำนายสภาพอากาศแบบ Deep Learning (DLWP) และ Super Resolution Network (SrNN) และอื่นๆ อีกมากมาย แบบจำลองเหล่านี้ได้รับการปรับให้เหมาะสมสำหรับโดเมนฟิสิกส์ต่างๆ เช่น พลศาสตร์ของไหลเชิงคำนวณ กลศาสตร์โครงสร้าง และแม่เหล็กไฟฟ้า ผู้ใช้สามารถดาวน์โหลด ปรับแต่ง และสร้างโมเดลเหล่านี้เพื่อให้เหมาะกับความต้องการเฉพาะของตน ซึ่งช่วยลดเวลาที่ต้องใช้ในการพัฒนาแบบจำลองที่มีความแม่นยำสูงได้อย่างมาก
Modulus สร้างขึ้นจาก PyTorch ซึ่งมอบประสบการณ์ที่คุ้นเคยและเป็นมิตรกับผู้ใช้สำหรับผู้ที่เชี่ยวชาญเกี่ยวกับ PyTorch อยู่แล้ว ซึ่งรวมถึงอินเทอร์เฟซ Python ที่เรียบง่ายและการออกแบบโมดูลาร์ ทำให้ง่ายต่อการใช้ Modulus กับเวิร์กโฟลว์ PyTorch ที่มีอยู่ ผู้ใช้สามารถใช้ประโยชน์จากระบบนิเวศ PyTorch ที่กว้างขวาง รวมถึงไลบรารีและเครื่องมือต่างๆ ในขณะที่ได้รับประโยชน์จากความสามารถเฉพาะทางของ Modulus สำหรับฟิสิกส์-ML การผสานรวมที่ราบรื่นนี้ทำให้ผู้ใช้สามารถนำโมดูลัสมาใช้ได้อย่างรวดเร็วโดยไม่ต้องอาศัยการเรียนรู้ที่สูงชัน
สำหรับข้อมูลเพิ่มเติม โปรดดูที่การแปลงโมเดล PyTorch เป็นโมเดลโมดูลัส
โมดูลัสได้รับการออกแบบมาให้สามารถขยายได้สูง ทำให้ผู้ใช้สามารถเพิ่มฟังก์ชันการทำงานใหม่ๆ ได้โดยใช้ความพยายามเพียงเล็กน้อย เฟรมเวิร์กนี้จัดเตรียม Pythonic API สำหรับการกำหนดโมเดลฟิสิกส์ เรขาคณิต และข้อจำกัดใหม่ ทำให้ง่ายต่อการขยายขีดความสามารถไปยังกรณีการใช้งานใหม่ ความสามารถในการปรับตัวของโมดูลัสได้รับการปรับปรุงเพิ่มเติมด้วยคุณสมบัติหลัก เช่น การสนับสนุน ONNX สำหรับการปรับใช้โมเดลที่ยืดหยุ่น ยูทิลิตี้การบันทึกที่แข็งแกร่งสำหรับการจัดการข้อผิดพลาดที่มีประสิทธิภาพ และจุดตรวจสอบที่มีประสิทธิภาพเพื่อทำให้การโหลดและบันทึกแบบจำลองง่ายขึ้น
ความสามารถในการขยายนี้ช่วยให้แน่ใจว่าโมดูลัสสามารถปรับให้เข้ากับความต้องการที่เปลี่ยนแปลงไปของนักวิจัยและวิศวกร ซึ่งอำนวยความสะดวกในการพัฒนาโซลูชันที่เป็นนวัตกรรมในสาขาฟิสิกส์-ML
ข้อมูลโดยละเอียดเกี่ยวกับคุณสมบัติและความสามารถสามารถพบได้ในเอกสารประกอบของโมดูลัส
ตัวอย่างอ้างอิงครอบคลุมขั้นตอนการทำงานที่ขับเคลื่อนด้วยข้อมูลและข้อจำกัดทางฟิสิกส์ที่หลากหลาย เพื่อให้เหมาะกับกรณีการใช้งานที่หลากหลายในสาขาวิชาวิทยาศาสตร์และวิศวกรรมศาสตร์
เคล็ดลับ
มีคำถามว่าโมดูลัสสามารถช่วยคุณได้อย่างไร? ลองใช้แชทบอท [ทดลอง] คู่มือโมดูลัส ของเราเพื่อหาคำตอบ
คุณสามารถเริ่มใช้ Modulus ในโค้ด PyTorch ของคุณได้ง่ายๆ ดังที่แสดงไว้ที่นี่:
python >>> นำเข้าไฟฉาย >>> จาก modulus.models.mlp.fully_connected นำเข้าเชื่อมต่ออย่างเต็มที่ >>> model = เชื่อมต่ออย่างเต็มที่ (in_features = 32, out_features = 64) >>>> input = torch.randn (128, 32) >>>> เอาท์พุท = รุ่น (อินพุต) >>>> output.shapetorch.Size ([128, 64])
โมดูลัสสัญลักษณ์: พื้นที่เก็บข้อมูลของอัลกอริธึมและยูทิลิตี้นี้ช่วยให้นักวิจัยและนักพัฒนา SciML สามารถแจ้งข้อมูลการฝึกโมเดลและการตรวจสอบโมเดลได้ทางฟิสิกส์ นอกจากนี้ยังมอบสิ่งที่เป็นนามธรรมในระดับที่สูงขึ้นสำหรับผู้เชี่ยวชาญในโดเมนที่มีพื้นฐานด้านวิทยาศาสตร์และวิศวกรรมศาสตร์
ต่อไปนี้เป็นแพ็คเกจสำหรับผู้เชี่ยวชาญโดเมนของชุมชนเฉพาะที่ตอบสนองความต้องการในการสำรวจเฉพาะของพวกเขา
Earth-2 Studio: โครงการโอเพ่นซอร์สเพื่อให้นักวิจัยและนักวิทยาศาสตร์ด้านสภาพอากาศสามารถสำรวจและทดลองโมเดล AI สำหรับสภาพอากาศและสภาพอากาศได้
ต่อไปนี้เป็นแพ็คเกจการวิจัยที่จะบรรจุลงในโมดูลัสเมื่อเสถียรแล้ว
โมดูลัส มาคานิ: ห้องสมุดทดลองที่ออกแบบมาเพื่อให้สามารถวิจัยและพัฒนาแบบจำลองสภาพอากาศและสภาพอากาศที่ใช้การเรียนรู้ของเครื่อง
Earth2 Grid: ห้องสมุดทดลองพร้อมยูทิลิตี้สำหรับการทำงานข้อมูลทางภูมิศาสตร์ที่กำหนดบนกริดต่างๆ
Earth-2 MIP: ห้องสมุดทดลองพร้อมยูทิลิตี้สำหรับการเปรียบเทียบแบบจำลองสำหรับแบบจำลองสภาพอากาศและสภาพภูมิอากาศ
โมดูลัสเป็นโครงการโอเพ่นซอร์สและได้รับการสนับสนุนจากนักวิจัยในสาขา SciML และ AI4science ในขณะที่ทีมโมดูลัสทำงานเพื่อเพิ่มประสิทธิภาพสแต็ก SW พื้นฐาน ชุมชนจะร่วมมือกันและสนับสนุนสถาปัตยกรรมโมเดล ชุดข้อมูล และแอปพลิเคชันอ้างอิง เพื่อให้เราสามารถสร้างสรรค์สิ่งใหม่ ๆ ในการแสวงหาการพัฒนาสถาปัตยกรรมโมเดลและอัลกอริทึมทั่วไปได้
ตัวอย่างล่าสุดของผู้ร่วมให้ข้อมูลในชุมชน ได้แก่ ทีม HP Labs 3D Printing, ทีมวิจัย Stanford Cardiovascular, ทีม UIUC, ทีม CMU เป็นต้น
ตัวอย่างล่าสุดของทีมวิจัยที่ใช้ Modulus ได้แก่ ทีม ORNL, ทีม TU Munich CFD เป็นต้น
โปรดไปที่หน้านี้เพื่อดูรายการงานวิจัยทั้งหมดที่ใช้ประโยชน์จากโมดูลัส สำหรับรายชื่อองค์กรที่ใช้โมดูลัส โปรดดูที่นี่
ใช้โมดูลัสและสนใจที่จะจัดแสดงผลงานของคุณบน NVIDIA Blogs หรือไม่? กรอกแบบฟอร์มข้อเสนอนี้แล้วเราจะติดต่อกลับ!
ต่อไปนี้เป็นประโยชน์หลักบางประการของโมดูลัสสำหรับการพัฒนาโมเดล SciML:
การเปรียบเทียบและการตรวจสอบ SciML | ความง่ายในการใช้สูตร SciML ทั่วไปที่มีชุดข้อมูลต่างกัน | ประสิทธิภาพและความสามารถในการขยายขนาดนอกกรอบ |
โมดูลัสช่วยให้นักวิจัยสามารถเปรียบเทียบโมเดล AI ของตนกับสถาปัตยกรรมที่ได้รับการพิสูจน์แล้วสำหรับปัญหาการวัดประสิทธิภาพมาตรฐานพร้อมเกณฑ์การตรวจสอบความถูกต้องเฉพาะโดเมนโดยละเอียด | โมดูลัสช่วยให้นักวิจัยสามารถเลือกจากสถาปัตยกรรม SOTA SciML และใช้ไปป์ไลน์ข้อมูลในตัวสำหรับกรณีการใช้งานของพวกเขา | โมดูลัสมอบไปป์ไลน์การฝึกอบรมนักแสดงที่พร้อมใช้งานทันที รวมถึงไปป์ไลน์ ETL ที่ปรับให้เหมาะสมสำหรับชุดข้อมูลทางวิศวกรรมและวิทยาศาสตร์ที่แตกต่างกัน และการปรับขนาดแบบนอกกรอบสำหรับ GPU แบบหลาย GPU และหลายโหนด |
ดูว่านักวิจัย SciML เพื่อนร่วมงานของคุณพูดถึงโมดูลัสอย่างไร (เร็วๆ นี้)
แหล่งข้อมูลต่อไปนี้จะช่วยคุณในการเรียนรู้วิธีใช้โมดูลัส วิธีที่ดีที่สุดคือเริ่มต้นด้วยตัวอย่างอ้างอิง จากนั้นอัปเดตสำหรับกรณีการใช้งานของคุณเอง
การใช้โมดูลัสกับโมเดล PyTorch ของคุณ
การใช้โมเดลในตัวโมดูลัส
คู่มือการเริ่มต้นใช้งาน
ตัวอย่างอ้างอิง
คู่มือผู้ใช้ เอกสารประกอบ
เริ่มต้นการสัมมนาผ่านเว็บ
ค่ายฝึกอบรมโมดูลัส AI4Science
โมดูลัส โมเดลที่ผ่านการฝึกอบรมมาแล้ว
ชุดข้อมูลโมดูลัสและวัสดุเสริม
การฝึกอบรม Modulus DLI แบบเรียนรู้ด้วยตนเอง
ชุดบรรยายวิทยาศาสตร์และวิศวกรรมศาสตร์เชิงลึกพร้อมโมดูลัส
โมดูลัส: วัตถุประสงค์และการใช้งาน
วิดีโอสอน
วิธีการที่แนะนำสำหรับการติดตั้ง Modulus เวอร์ชันล่าสุดคือการใช้ PyPi:
pip ติดตั้ง nvidia-modulus
สามารถตรวจสอบการติดตั้งได้โดยการรันตัวอย่าง Hello World ดังที่แสดงไว้ที่นี่
โมดูลัสมีการพึ่งพาทางเลือกมากมายที่ใช้ในส่วนประกอบเฉพาะ เมื่อใช้ pip การพึ่งพาทั้งหมดที่ใช้ในโมดูลัสสามารถติดตั้งได้ด้วย pip install nvidia-modulus[all]
หากคุณกำลังพัฒนาโมดูลัส การพึ่งพาของนักพัฒนาสามารถติดตั้งได้โดยใช้ pip install nvidia-modulus[dev]
มิฉะนั้น สามารถติดตั้งการขึ้นต่อกันเพิ่มเติมได้เป็นรายกรณี ข้อมูลโดยละเอียดเกี่ยวกับการติดตั้งการขึ้นต่อกันที่เป็นตัวเลือกมีอยู่ในคู่มือการเริ่มต้นใช้งาน
สามารถดึงอิมเมจ Modulus docker ที่แนะนำได้จาก NVIDIA Container Registry (โปรดดูรีจิสทรี NGC สำหรับแท็กล่าสุด):
นักเทียบท่าดึง nvcr.io/nvidia/modulus/modulus:24.09
ภายในคอนเทนเนอร์ คุณสามารถโคลนพื้นที่เก็บข้อมูล Modulus git และเริ่มต้นใช้งานตัวอย่างได้ คำสั่งด้านล่างแสดงคำแนะนำในการเปิดใช้โมดูลัสคอนเทนเนอร์และเรียกใช้ตัวอย่างจาก repo นี้
นักเทียบท่าวิ่ง --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia --rm -it nvcr.io/nvidia/modulus/modulus:24.09 ทุบตี git clone https://github.com/NVIDIA/modulus.gitcd โมดูลัส/examples/cfd/darcy_fno/ pip ติดตั้ง warp-lang # ติดตั้ง NVIDIA Warp เพื่อรัน darcy examplepython train_fno_darcy.py
สำหรับคอนเทนเนอร์ NVAIE ที่องค์กรรองรับ โปรดดูที่ Modulus Secured Feature Branch
สำหรับบิลด์ภายในของแพ็คเกจ Modulus Python จากการใช้ซอร์ส:
git clone [email protected]:NVIDIA/modulus.git && โมดูลัสซีดี pip ติดตั้ง -- อัปเกรด pip การติดตั้ง pip
วิธีสร้างอิมเมจโมดูลัสนักเทียบท่า:
นักเทียบท่า build -t โมดูลัส: ปรับใช้ --build-arg TARGETPLATFORM=linux/amd64 --target ปรับใช้ -f Dockerfile
หรือคุณสามารถเรียกใช้ make container-deploy
วิธีสร้างอิมเมจ CI:
นักเทียบท่า build -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 ขอขอบคุณที่มีส่วนร่วมในโครงการนี้ เพื่อให้ผู้อื่นสามารถต่อยอดจากการมีส่วนร่วมของคุณ
สำหรับคำแนะนำในการบริจาคให้กับโมดูลัส โปรดดูที่แนวทางการบริจาค
หากโมดูลัสช่วยคุณในการวิจัยและคุณต้องการอ้างอิง โปรดอ้างอิงตามแนวทางปฏิบัติ
การสนทนา Github: อภิปรายเกี่ยวกับสถาปัตยกรรมใหม่ การใช้งาน การวิจัย Physics-ML ฯลฯ
ปัญหา GitHub: รายงานข้อผิดพลาด คำขอคุณลักษณะ ปัญหาการติดตั้ง ฯลฯ
ฟอรัมโมดูลัส: ฟอรัมโมดูลัสเป็นเจ้าภาพต้อนรับผู้ใช้และนักพัฒนาระดับใหม่และปานกลางสำหรับการแชททั่วไป การสนทนาออนไลน์ การทำงานร่วมกัน ฯลฯ
ต้องการแนะนำการปรับปรุง Modulus บ้างไหม? ใช้แบบฟอร์มคำติชมของเราที่นี่
โมดูลัสมีให้ภายใต้ Apache License 2.0 โปรดดู LICENSE.txt สำหรับข้อความลิขสิทธิ์ฉบับเต็ม