GPU의 '오버 헤드'에 대한 토론을 보았고 '소규모'네트워크의 경우 실제로 GPU보다 CPU (또는 CPU 네트워크)에서 학습하는 것이 더 빠를 수 있습니다.
'작은'이란 무엇입니까?
예를 들어, 숨겨진 단위가 100 개인 단일 계층 MLP가 '작은'입니까?
'소형'에 대한 정의가 반복 아키텍처에 대해 변경됩니까?
CPU 또는 GPU 훈련 여부를 결정할 때 고려해야 할 다른 기준이 있습니까?
편집 1 :
방금 블로그 게시물을 찾았습니다 (아마 구식입니까? 2014 년 이후).
"... 대부분의 네트워크 카드는 CPU에 등록 된 메모리에서만 작동하므로 두 노드 간 GPU에서 GPU 로의 GPU 전송은 다음과 같습니다. GPU 1에서 CPU 1로 네트워크 카드 1에서 네트워크 카드 2로 CPU로 이는 네트워크 속도가 느린 네트워크를 선택하면 한 대의 컴퓨터에서 속도가 향상되지 않을 수 있다는 것입니다. 네트워크 속도가 빠르더라도 클러스터가 크면 비교할 때 GPU 속도가 향상되지 않습니다. GPU는 네트워크 카드가 GPU를 따라 잡기에는 너무 빨리 작동하기 때문에 CPU에
이것이 구글과 마이크로 소프트와 같은 많은 대기업들이 GPU 네트워크 대신 CPU를 사용하여 큰 신경망을 훈련시키는 이유입니다. "
따라서이 게시물에 따르면 어느 시점에서 CPU를 사용하는 것이 더 빠를 수 있습니다. 이것은 여전히 그렇습니까?
편집 2 : 예, 해당 블로그 게시물은 다음과 같은 이유로 인해 오래되었을 수 있습니다.
이제 노드 내의 GPU가 PCIe 버스를 통해 연결된 것으로 보이므로 약 6GiB / s에서 통신이 이루어질 수 있습니다. (예 : https://www.youtube.com/watch?v=el1iSlP1uOs , 약 35 분) 스피커는 이것이 GPU1에서 CPU2로가는 것보다 빠르다는 것을 암시합니다. 네트워크 카드가 더 이상 병목 현상이 없음을 의미합니다.