2016-06-10 3 views
2

this TensorFlow tutorial에서 N 개의 GPU를 사용하여 각 미니 GPU에 N 개의 미니 배치 (각 M 개의 샘플을 포함)를 배포하고 그라디언트를 동시에 계산할 수 있습니다.TensorFlow에서 Multi-GPU 교육의 장점은 무엇입니까?

그러면 N GPU에서 수집 한 그라디언트를 평균화하고 모델 매개 변수를 업데이트합니다.

그러나 이것은 단일 GPU를 사용하여 N * M 트레이닝 샘플의 그래디언트를 계산 한 다음 매개 변수를 업데이트하는 것과 동일한 효과가 있습니다.

그래서 나에게 유리한 점은 동일한 시간에 더 큰 크기의 미니 배치를 사용할 수 있다는 것입니다.

그러나 더 큰 크기의 미니 배치가 반드시 더 좋습니까?

최적화 된 안장 점을 만들기 위해 대형 미니 배치를 사용하지 않아야한다고 생각했습니다.

큰 크기의 미니 배치가 실제로 좋지 않은 경우 왜 멀티 GPU 학습 또는 다중 서버 학습을 고려해야합니까?

(상기 가이드 동기식 훈련이다.이 비동기 훈련 되었다면, I는 이점을 볼 수 있으며, 파라미터는 각 GPU에 의해 산출 된 기울기 평균화없이 갱신 될 것이기 때문에)

+0

큰 미니 배치는 더 좋을 필요는 없지만 더 작은 소형 배치는 아닙니다. 배치 크기의 최적 선택은 다양한 요소에 크게 의존합니다. – Aenimated1

+0

VRAM 크기 때문에 GPU 당 1,000 개의 샘플로 묶여 있다고 가정 해 봅니다. 그리고 최적의 미니 배치 크기가 2,000이라고 가정합시다. 그런 다음이 동기식 멀티 -GPU 설정에서 3 개 이상의 GPU를 사용하면 어떤 이점도 없어야합니다. 권리? – mp2893

+0

나는 반대로, 이론적으로는 (실제로는 아니지만) 2000 GPU의 이점을 누릴 수 있다고 생각합니다. 각 GPU는 단일 예제의 그라디언트를 계산합니다. 현실적으로 GPU는 상당한 양의 병렬 처리를 사용하지만 그럼에도 불구하고 (예 : 4 GPU (각 배치 당 500 샘플의 그라디언트를 계산하는 데 책임이 있음) 사이에서 계산을 분산하여 성능 향상을 기대합니다. – Aenimated1

답변

2

멀티 주된 목적 -GPU 학습은 짧은 시간에 대규모 데이터 세트를 학습 할 수있게 해줍니다. 더 큰 미니 배치를 사용하는 것이 반드시 좋은 것은 아니지만 최소한 가능한 한 빨리 학습을 마칠 수 있습니다.

비동기 SGD 알고리즘을 사용하면 N 개의 미니 배치가 동기화 된 방식으로 트레이닝되지 않습니다. 멀티 GPU를 사용하는 경우 알고리즘이 변경되므로 SGD 알고리즘이있는 단일 GPU에서 MxN 크기의 미니 배치를 사용하는 것과 동일하지 않습니다.

멀티 GPU 동기화 교육을 사용하는 경우 이점은 주로 시간 단축입니다. M/N 크기의 미니 일치를 사용하여 효과적인 미니 배치 크기를 유지할 수 있으며, 물론 미니 배치 크기가 작을수록 더 많은 오버 헤드가 발생하므로 확장 성이 제한됩니다. 다수의 컴퓨팅 노드에서 데이터 교환 및 동기화는 재해입니다.

마지막으로 확장 성 문제를 해결하기 위해 많은 수의 GPU를 동시에 사용할 경우 사람들이 A-SGD로 이동합니다. 수백 개의 GPU (또는 심지어 수십 개의 GPU)에서 멀티 GPU 동기화 교육을 사용하는 사용자는 볼 수 없습니다.

+0

극단적 인 경우 GPU 수가 무한한 경우에는 전체 트레이닝 샘플을 미니 배치로 나누어 무한 GPU에 배포 할 수 있습니다. 그런 다음 무한 GPU로 계산 된 그라디언트를 평균화하고 매개 변수를 업데이트하는 것은 "배치 학습"과 완전히 동일합니다. 이것에 대해 어떤 확률도 없습니다.그러나 우리가 매우 큰 훈련 샘플을 가지고 있더라도 가능한 한 빨리 모델을 훈련 할 수 있기 때문에 이것은 괜찮습니다. 내 이해가 맞습니까? – mp2893

+0

비동기 멀티 gpu 교육은 다른 이야기입니다. 이 포스트에서, 나는 동기 multi-gpu 훈련에 집중하고있다. – mp2893

+0

@ mp2893, 좋아요, 멀티 -GPU 동기화 교육의 경우 이점은 시간 단축입니다. 하지만 효과적인 미니 배치 크기를 유지하기 위해 M/N 크기의 미니 일치를 사용할 수 있으며 물론 확장 성은 제한적입니다. – kangshiyin

관련 문제