PolymathicAI/the_well
요약
The Well은 생물학, 유체 역학, 천체 물리학 등 다양한 물리 시스템의 수치 시뮬레이션을 포함하는 15TB 규모의 대규모 머신러닝 데이터셋 컬렉션입니다. 도메인 과학자들과 협력하여 구축되었으며, 계산 과학 연구 및 모델 학습을 위한 벤치마크로 활용될 수 있습니다.
핵심 포인트
- 16개의 데이터셋, 총 15TB 규모의 대규모 물리 시뮬레이션 데이터 제공
- 생물학, 유체 역학, 초신성 폭발 등 광범위한 과학 도메인 포함
- PyPI를 통한 간편한 패키지 설치 및 Python 환경 지원
- 머신러닝 및 계산 과학 연구 가속화를 위한 벤치마크 활용 가능
다양한 시공간적 물리 시스템 (spatiotemporal physical systems)의 수치 시뮬레이션 (numerical simulations)을 포함하는 대규모 머신러닝 (machine learning) 데이터셋 컬렉션인 The Well에 오신 것을 환영합니다. The Well은 도메인 과학자 (domain scientists) 및 수치 소프트웨어 개발자 (numerical software developers)로부터 협력을 얻어, 생물학적 시스템 (biological systems), 유체 역학 (fluid dynamics), 음향 산란 (acoustic scattering)뿐만 아니라 은하 외 유체 (extra-galactic fluids) 또는 초신성 폭발 (supernova explosions)의 자기 유체 역학 (magneto-hydrodynamic) 시뮬레이션을 포함하는 다양한 영역에 걸쳐 16개의 데이터셋에 이르는 15TB의 데이터를 제공합니다. 이 데이터셋들은 머신러닝 (machine learning) 및 계산 과학 (computational sciences) 연구를 가속화하기 위해 개별적으로 사용되거나 더 넓은 벤치마크 제품군 (benchmark suite)의 일부로 사용될 수 있습니다.
Well 패키지를 설치하고 데이터를 다운로드하면 학습 파이프라인 (training pipeline)에서 사용할 수 있습니다.
from the_well.data import WellDataset
from torch.utils.data import DataLoader
trainset = WellDataset(
...
인터페이스에 관한 더 자세한 정보는 API 및 튜토리얼 (tutorials)을 참조하십시오.
Deep Learning 모델을 학습하거나 평가하기 위해 The Well 데이터셋을 사용할 계획이라면, 충분한 컴퓨팅 리소스 (computing resources)를 갖춘 머신을 사용할 것을 권장합니다. 또한, Well을 설치하기 위해 새로운 Python (>=3.10) 환경을 생성하는 것을 권장합니다. 예를 들어, venv를 사용하는 방법은 다음과 같습니다:
python -m venv path/to/env
source path/to/env/activate/bin
The Well 패키지는 PyPI에서 직접 설치할 수 있습니다.
pip install the_well
소스 코드로부터도 설치할 수 있습니다. 이를 위해 리포지토리 (repository)를 클론 (clone)하고 종속성 (dependencies)과 함께 패키지를 설치하십시오.
git clone https://github.com/PolymathicAI/the_well
cd the_well
pip install .
가속 하드웨어 (acceleration hardware)에 따라, 관련 PyTorch 버전을 설치하기 위해 --extra-index-url을 지정할 수 있습니다. 예를 들어, CUDA 12.1용으로 빌드된 종속성을 설치하려면 다음과 같이 사용하십시오:
pip install . --extra-index-url https://download.pytorch.org/whl/cu121
벤치마크 (benchmarks)를 실행하려면 추가 종속성을 설치해야 합니다.
pip install the_well[benchmark]
The Well 데이터셋은 각각 6.9GB에서 5.1TB 사이의 데이터 규모를 가지며, 전체 컬렉션의 총 용량은 15TB에 달합니다. 다운로드하려는 데이터셋을 수용할 수 있도록 시스템에 충분한 여유 디스크 공간이 있는지 확인하십시오.
the_well이 설치되면, the-well-download 명령어를 사용하여 The Well의 모든 데이터셋을 다운로드할 수 있습니다.
the-well-download --base-path path/to/base --dataset active_matter --split train
--dataset과 --split을 생략하면 모든 데이터셋과 분할(split) 데이터가 다운로드됩니다. 이 작업에는 시간이 오래 걸릴 수 있습니다!
대부분의 Well 데이터셋은 Hugging Face에도 호스팅되어 있습니다. 다음 코드를 사용하여 허브(hub)에서 데이터를 직접 스트리밍(streaming)할 수 있습니다.
from the_well.data import WellDataset
from torch.utils.data import DataLoader
# 다음 줄은 데이터 모듈(datamodule)을 인스턴스화하는 데 몇 분 정도 걸릴 수 있습니다.
...
대규모 학습(large training) 시 더 나은 성능을 위해, 네트워크를 통해 스트리밍하는 대신 데이터를 로컬에 다운로드하는 것을 권장합니다.
이 저장소(repository)를 통해 Well을 구성하는 다양한 데이터셋에서 대리 모델(surrogate models)의 벤치마킹(benchmarking)을 수행할 수 있습니다. 일부 최첨단(state-of-the-art) 모델들은 이미 models에 구현되어 있으며, 데이터셋 클래스들이 Well의 원시 데이터(raw data)를 처리합니다.
벤치마크는 설정 파일(configuration files)로부터 다양한 클래스(예: 데이터셋, 모델, 옵티마이저)를 인스턴스화하기 위해 Hydra를 사용하는 학습 스크립트에 의존합니다.
예를 들어, active matter 데이터셋에 대해 기본 FNO 아키텍처의 학습 스크립트를 실행하려면 다음 명령어를 실행하십시오:
cd the_well/benchmark
python train.py experiment=fno server=local data=active_matter
각 인자(argument)는 특정 설정 파일에 대응합니다. 위 명령어에서 server=local은 학습 스크립트가 데이터에 대한 상대 경로만을 선언하는 local.yaml을 사용하도록 지정합니다. 설정은 직접 재정의(override)하거나 새로운 YAML 파일로 편집할 수 있습니다. 설정을 편집하는 방법은 Hydra 문서를 참조하십시오.
Slurm을 사용하여 학습을 시작하려면 sbatch 스크립트 내에서 이 명령어를 사용할 수 있습니다.
The Well의 원본 논문에서 벤치마크된 모델들은 단순한 베이스라인 (baseline)으로 설계되었습니다. 이 모델들을 최첨단 (state-of-the-art) 기술로 간주해서는 안 됩니다. 우리는 커뮤니티가 이러한 결과물을 바탕으로 PDE 대리 모델링 (surrogate modeling)을 위한 더 나은 아키텍처 (architectures)를 개발하기를 희망합니다.
모델 체크포인트 (checkpoints)의 대부분은 Hugging Face에서 사용할 수 있습니다. 특정 체크포인트를 로드하려면 active_matter 데이터셋으로 학습된 FNO 모델의 아래 예시를 따르십시오.
from the_well.benchmark.models import FNO
model = FNO.from_pretrained("polymathic-ai/FNO-active_matter")
이 프로젝트는 Polymathic AI 조직이 주도하였으며, Flatiron Institute, University of Colorado Boulder, University of Cambridge, New York University, Rutgers University, Cornell University, University of Tokyo, Los Alamos National Laboratory, University of California, Berkeley, Princeton University, CEA DAM, 그리고 University of Liège의 연구진과 협력하여 진행되었습니다.
만약 이 프로젝트가 귀하의 연구에 유용하다고 판단된다면, 아래와 같이 인용해 주시기 바랍니다.
@article{ohana2024well,
title={The well: a large-scale collection of diverse physics simulations for machine learning},
author={Ohana, Ruben and McCabe, Michael and Meyer, Lucas and Morel, Rudy and Agocs, Fruzsina and Beneitez, Miguel and Berger, Marsha and Burkhart, Blakesly and Dalziel, Stuart and Fielding, Drummond and others},
...
이 프로젝트와 관련된 질문은 {rohana,mmccabe}@flatironinstitute.org로 Ruben Ohana와 Michael McCabe에게 문의하십시오.
버그(데이터 또는 코드 관련)를 보고하거나, 새로운 기능을 요청하거나, 혹은 단순히 질문이 있는 경우 리포지토리 (repository)에 이슈 (issue)를 생성할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Jupyter Notebook (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기