0

현재 분산 된 교육 구현으로 잠시 게임을 한 후에는 각 GPU를 별도의 작업자로 간주합니다. 그러나 이제는 하나의 상자에 2 ~ 4 개의 GPU가있는 것이 일반적입니다. . 단일 박스 멀티 GPU 방법론을 채택하여 단일 박스에서 평균 그래디언트를 먼저 계산 한 다음 여러 노드에서 동기화하는 것이 더 좋지 않습니까? 이렇게하면 I/O 트래픽이 많이 줄어들고 데이터 병렬 처리에서 항상 병목 현상이 발생합니다.멀티 GPU 방법론을 사용한 텐서 흐름 분산 학습 하이브리드

모든 GPU를 작업자로 단일 상자에 넣는 것이 가능하다고 들었지만 SyncReplicasOptimizer가 옵티 마이저를 직접 입력으로 사용하기 때문에 SyncReplicasOptimizer로 평균 그래디언트를 연결하는 방법을 알 수 없습니다.

누구로부터 아이디어가 있습니까?

답변

2

분산 TensorFlow는 동일한 작업자 작업에서 여러 GPU를 지원합니다. 이미지 모델에 대한 분산 형 교육을 수행하는 일반적인 방법 중 하나는 동일한 작업자의 여러 GPU에서 동기식 교육을 수행하고 다른 구성이 가능하지만 비동기식 교육을 수행하는 것입니다. 이렇게하면 모델 매개 변수를 작업자에게 한 번만 가져오고 로컬 GPU간에 분산되어 네트워크 대역폭 사용을 용이하게합니다.

많은 종류의 교육을 수행하기 위해 많은 사용자가 단일 작업자의 GPU에서 "그래프 내 복제"를 수행합니다. 이것은 the CIFAR-10 example model과 같이 로컬 GPU 장치에서 명시 적 루프를 사용할 수 있습니다. TF-Slim의 model_deploy() 유틸리티 에서처럼 더 높은 수준의 라이브러리 지원을 제공합니다.

관련 문제