중화사전망 - 서예자전 - 제 10 판 피토치 포켓 브로셔

제 10 판 피토치 포켓 브로셔

실제 응용 프로그램에서는 이전 장보다 더 많은 데이터에 직면할 수 있으며 모델의 네트워크 구조가 더 복잡할 수 있습니다 (더 많은 매개변수가 있을 수 있음). 이를 위해서는 모델을 최적화하고 가속화해야 합니다.

이 장에서 저자는 네트워크 가속 및 최적화를 위한 몇 가지 방법에 대해 설명합니다.

구글은 자체 신경망 가속 전용 집적 회로 (TPU) 를 개발했다.

TPU 는 NN 컴퓨팅 최적화를 위해 특별히 설계되었기 때문에 GPU 에 결함이 없습니다. 구글은 구글 클라우드 TPU 에 대한 서비스도 제공합니다. 구글 콜라브를 실행할 때도 TPU 서비스를 선택할 수 있습니다.

예산이 충분하다면 TPU 는 좋은 선택이다. 여기서는 TPU 사용을 시연하지 않습니다. 결국 당분간 사용하기 불편합니다. 앞으로 실제 응용에서는 재학습이 사용될 것이다.

지금 TPU 를 사용해야 하는 경우, Pytorch 는 현재 직접 TPU 를 지원하지 않으므로 중간 패키지 PyTorc/XLA (가속 선형 대수학) 를 설치하여 통신을 완료해야 합니다. 좀 더 자세한 Pytorc/XLA 는 공식 문서: /pytorch/xla/

멀티 GPU 모드 (독립 실행형 멀티 GPU)

좋은 아키텍처는 기존 하드웨어의 가치를 충분히 발휘하여 자원이 유휴 상태가 되는 것을 방지하는 것이다. 이 섹션에서는 주로 독립 실행형 멀티 GPU 사용을 보여줍니다.

여러 GPU 의 애플리케이션을 병렬 처리라고 합니다.

분산 데이터 처리 (DDP) 는 단일 시스템의 여러 프로세스나 여러 시스템의 여러 프로세스에 사용할 수 있습니다.

1. torch.distributed 를 통해 프로세스 그룹 초기화

2. torch.nn.to () 에서 로컬 모델을 생성합니다

3. torch.nn.parallel 을 통해 모델을 DDP 로 캡슐화합니다

4. torch.multiprocessing 을 통해 프로세스 작업을 시작합니다

다음 내용은 두세 개의 필기에서 완벽하며, 이 노트는 여기서 끝난다.

멀티머신 멀티 GPU

-하이퍼매개 변수 튜닝 (하이퍼매개 변수 튜닝)

-정량화 (정량화)

자르기 (자르기)