2017-05-23 6 views
0

GPU (1080 ti)를 ​​사용하여 신경망을 훈련 시켰습니다. GPU의 교육 속도는 CPU를 사용하는 것보다 훨씬 낫습니다.TensorFlow 모델 제공에 GPU를 사용하면 어떤 영향이 있습니까?

현재 TensorFlow Serving을 사용하여이 모델을 제공하고 싶습니다. 나는 서빙 프로세스에서 GPU를 사용하면 성능에 동일한 영향을 미치는지 알고 싶습니다.

교육은 일괄 처리에 적용되지만 추론 (서빙)은 비동기 요청을 사용하므로 TensorFlow 제공을 사용하여 모델 제공에 GPU를 사용 하시겠습니까?

답변

1

무언가를 예측하기 위해 여전히 그래프에서 많은 텐서 연산을 수행해야합니다. 따라서 GPU는 여전히 추론을위한 성능 향상을 제공합니다. 이 nvidia paper를 살펴 보자 것은, 그들은 TF에 자신의 물건을 테스트하지 않은,하지만 여전히 관련 :

우리의 결과는 GPU는을 만드는 최첨단 추론 성능과 에너지 효율성을 제공하는 것을 보여 분야에서 훈련 된 신경망을 배치하고자하는 모든 사람들을 위해 을 선택하십시오. 특히 타이탄 X는 성능을 16 코어 제온 E5 CPU보다 5.3에서 6.7 배 높게 제공하며, 에너지 효율성은 3.6에서 4.4 배 높습니다.

1

짧은 대답은 예입니다. 교육을 마친 후 GPU에서 실행하는 속도는 거의 같습니다. 몇 가지 사소한 자격이 있습니다.

피드 포워드 추론 중에 작업량이 적을 때 교육 과정에서 데이터가 2 회 통과되므로 계산과 관련하여 GPU 메모리로 데이터를 전송하는 데 더 많은 시간이 소요됩니다 훈련보다. 이것은 사소한 차이 일 수 있습니다. 문제가 발생하면 비동기식으로 GPU를로드 할 수 있습니다 (https://github.com/tensorflow/tensorflow/issues/7679).

실제로 GPU를 추론 할 필요가 있는지 여부는 작업 부하에 따라 다릅니다. 워크로드가 과도하게 CPU 사용과 관련하여 지나치게 까다로운 작업을 수행하지 않는다면 결국 계산 작업량이 샘플 당 절반 이하가되므로 초당 처리해야 할 요청 수를 고려하고 테스트해야하는지 이를 달성하기 위해 CPU에 과부하가 걸립니다. 그렇다면 GPU를 꺼내시기 바랍니다!