현재 소비자 등급 GPU에서 어떤 크기의 신경망을 교육 할 수 있습니까? (1060,1070,1080)


9

일반적인 소비자 급 GPU에서 학습 할 수있는 신경망의 크기에 대한 대략적인 추정치 를 제공 할 수 있습니까? 예를 들면 다음과 같습니다.

운동출현 (강화) 종이는 뉴런의 탄 활성화를 사용하여 네트워크를 훈련시킵니다. 그들은 Planar Walker를 위한 300,200,100 유닛의 3 계층 NN을 가지고 있습니다. 그러나 그들은 하드웨어와 시간을보고하지 않습니다 ...

그러나 경험 법칙을 개발할 수 있습니까? 또한 현재 경험적 결과를 기반으로하므로 다음과 같습니다.

시그 모이 드 활성화를 사용하는 X 장치는 1060에서 h 당 Y 학습 반복을 실행할 수 있습니다.

또는 b 대신 활성화 기능 a를 사용하면 성능이 저하됩니다.

학생 / 연구자 / 호기심 많은 사람들이이 네트워크를 가지고 놀기 위해 GPU를 구매하려고한다면 어떻게 얻을 수 있습니까? 1060은 분명히 엔트리 레벨 예산 옵션이지만, 고성능 데스크톱을 구축하는 대신 엉뚱한 넷북을 구입하고 온 디맨드 클라우드 인프라에 절약 된 비용을 지출하는 것이 더 똑똑하지 않은지 어떻게 평가할 수 있습니까?

질문에 대한 동기 부여 : 방금 1060을 구입하고 $를 유지하고 Google Cloud 계정을 만들어야하는지 궁금합니다. 그리고 GPU에서 마스터 논문 시뮬레이션을 실행할 수 있다면.

답변:


5

일반적으로 문제는 모델을 비디오 RAM에 맞추는 것입니다. 그렇지 않은 경우 큰 노력없이 모델을 전혀 훈련 할 수 없습니다 (예 : 모델의 개별 부품 훈련). 그렇다면 시간이 유일한 문제입니다. 그러나 Nvidia 1080과 같은 소비자 GPU와 Nvidia K80과 같은 훨씬 비싼 GPU 가속기의 훈련 시간 차이는 그리 크지 않습니다. 실제로 최고의 소비자 카드는 GPU 가속기보다 빠르지 만 VRAM과 같은 다른 속성은 없습니다. 무작위 비교 및 ​​벤치 마크 : http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/ , https://medium.com/@alexbaldo/a-comparison-between-nvidias-geforce 심화 학습용 -gtx-1080 및 테슬라 -p100-81a918d5b2c7

모델이 VRAM에 맞는지 계산하려면 데이터의 양과 하이퍼 파라미터 (입력, 출력, 가중치, 레이어, 배치 크기, 데이터 유형 등)를 대략적으로 계산하면됩니다.


1
좋은 대답이지만 6 / 8GB 메모리에 어떤 모델이 맞지 않습니까? 훈련 데이터의 각 배치 + 모델을 가정 해 봅시다. 모델의 크기를 계산하는 방법을 모르지만 수천 개의 뉴런을 상상할 수 없으며 무게가 기가 바이트의 메모리를 채울 수 있습니다. Google의 사전 훈련 된 이미지 인식 모델은 수백 개의 Megs tensorflow.org/tutorials/image_recognition 이며 대부분의 다른 것보다 더 많이 인식 할 수 있습니다. Apple은 iPhone에서 온칩을 처리하므로 모델 자체는 T- 데이터보다 훨씬 작아야합니다. 그리고 그것은 모두 RAM에 있어야 할 필요는 없습니다.
pascalwhoop

종종 NLP 모델, 주로 멀티 레이어 RNN을 사용하고 있으며 어휘 크기가 큰 경우 8GB로 충분하지 않을 수 있습니다. 훈련에는 일반적으로 예측보다 더 많은 공간이 필요합니다 (그라데이션도 공간을 차지함).
C. Yduqoli

3

주의 사항으로, 기본적인 기술적 한계에 부딪치지 않으면 신경망 아키텍처를 개발할 때 계산 속도와 리소스가 이론적 근거를 세우는 데 부차적이어야한다고 제안합니다.

즉, 올해 초 전체 게놈 시퀀싱 데이터가 포함 된 생물 정보학 분석 파이프 라인과 관련된 MS 논문을 완성했습니다.이 프로젝트는 클러스터 작업 관리자에 따라 개발하는 데 10 만 시간 이상의 컴퓨팅 시간이 소요되었습니다. 마감일이되면 리소스가 실질적인 제약이 될 수 있으며 속도가 중요 할 수 있습니다.

따라서 내가 이해 한대로 귀하의 질문에 대답하십시오.

클라우드에서 시간을 벌기 위해 돈을 사용하는 것이 좋을까요?

아마. 1060에 소비 한 수백 달러는 클라우드에서 모델을 교육하는 데 크게 도움이됩니다. 또한 내가 알 수있는 한 GPU가 100 % 크랭크를 요구하지 않아도됩니다 (예를 들어, 마이닝 암호화 통화 인 경우). 마지막으로, 클라우드 인스턴스를 사용하면 한 번에 여러 모델을 교육하고 확장 할 수 있으므로 설정 한 모든 아키텍처의 탐색 및 검증 속도를 높일 수 있습니다.

주어진 GPU에서 신경망의 컴퓨팅 시간을 측정하는 방법이 있습니까?

음, 큰 O는 하나 명의 추정이지만, 좀 더 정확한 방법을 원하는 것 같은데. 나는 그것이 존재한다고 확신하지만 스레드, 메모리, 코드 반복 등을 설명하는 봉투 계산의 간단한 뒷면을 사용하여 추정을 할 수 있다고 반대합니다. 실제로 GPU 처리 파이프 라인을 파고 싶습니까? 1060? 코드와 금속 사이에서 발생하는 모든 것을 이해함으로써 매우 좋은 추정치를 얻을 수 있지만 궁극적으로는 시간과 노력의 가치가 없을 것입니다. Big O 표기법 (간단한 모델 인 경우)이 계산 시간의 변동을 대부분 포착한다는 것을 확인할 수 있습니다. 병목 현상을 발견 한 경우 수행 할 수있는 한 가지는 성능 프로파일 링입니다.


2

필요한 것에 따라 다릅니다. 모든 리소스에서 모든 규모의 네트워크를 교육 할 수 있습니다. 문제는 훈련 시간입니다. 평균 CPU에서 Inception을 훈련 시키려면 수렴하는 데 몇 개월이 걸립니다. 따라서 그것은 모두 네트워크를 기반으로 결과를보기 위해 얼마나 오래 기다릴 수 있는지에 달려 있습니다. 신경망에서와 같이 우리는 하나의 연산 만 가지고 있지 않지만 (연결, 최대 풀링, 패딩 등) 많은 작업을 수행하므로 검색하는 동안 추정을 수행하는 것이 불가능합니다. 악명 높은 네트워크 교육을 시작하고 시간을 측정하십시오. 그런 다음 검색중인 네트워크를 훈련하는 데 걸리는 시간을 보간 할 수 있습니다.


다른 NN 작업에 대한 정보를 수집하는 리소스에 대해 알고 있습니까? NN 유형, 단위 수, 하이퍼 파라미터, 데이터 세트 크기, 사용 된 하드웨어, 소요 시간 목록 그것은 엄지 직관의 규칙을 개발하는 데 도움이 될 것입니다
pascalwhoop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.