Accelerate documentation
Mac에서 PyTorch 학습 가속
Mac에서 PyTorch 학습 가속
PyTorch v1.12 릴리스로 개발자와 연구자는 Apple silicon GPU를 활용하여 모델 학습 속도를 크게 높일 수 있습니다.
이를 통해 프로토타이핑과 파인튜닝과 같은 머신러닝 워크플로를 Mac에서 로컬로 수행할 수 있습니다.
PyTorch의 백엔드로 Apple의 Metal Performance Shaders(MPS)를 사용하면 이를 가능하게 하며, 새로운 "mps" 디바이스를 통해 사용할 수 있습니다.
이는 MPS Graph 프레임워크와 MPS에서 제공하는 튜닝된 커널에 계산 그래프와 프리미티브를 매핑합니다.
자세한 내용은 공식 문서 Introducing Accelerated PyTorch Training on Mac과 MPS BACKEND를 참고하세요.
Apple Silicon 칩을 활용한 학습 및 추론의 이점
- 로컬에서 더 큰 네트워크나 배치 크기를 학습할 수 있도록 사용자를 지원합니다
- 통합 메모리 아키텍처를 통해 데이터 검색 지연 시간을 줄이고 GPU가 전체 메모리 스토어에 직접 접근할 수 있도록 합니다. 따라서 끝에서 끝까지(end-to-end) 성능을 향상시킵니다.
- 클라우드 기반 개발 또는 추가적인 로컬 GPU에 대한 필요로 인한 비용을 줄입니다.
사전 요구 사항: mps 지원이 포함된 torch를 설치하려면, 이 좋은 medium 글 GPU-Acceleration Comes to PyTorch on M1 Macs을 참고하세요.
기본 동작 방식
MPS가 활성화된 Apple Silicon GPU를 탑재한 MacOs 머신에서 기본적으로 활성화됩니다.
비활성화하려면 accelerate launch 명령에 --cpu 플래그를 전달하거나, accelerate config 설문지를 응답할 때 해당 질문에 답하세요.
MPS가 활성화된 Apple Silicon 머신에서 다음 스크립트를 직접 실행하여 테스트할 수 있습니다:
accelerate launch /examples/cv_example.py --data_dir images
주의해야 할 몇 가지 사항
gloo및nccl분산 설정은mps디바이스와 함께 작동하지 않습니다. 즉, 현재mps디바이스 타입의 단일 GPU만 사용할 수 있습니다.
마지막으로, Accelerate는 MPS 백엔드만 통합한다는 점을 기억해 주세요. 따라서 MPS 백엔드 사용과 관련하여 문제나 질문이 있으시면 PyTorch GitHub에 이슈를 등록해 주세요.