2018.01.10

DIY GPU 서버 : 딥 러닝용 PC 직접 만들기

Ian Pointer | InfoWorld

딥 러닝을 하다 보면 딥 러닝용 컴퓨터를 직접 만들어 클라우드를 벗어나고 싶다는 생각이 들 때가 있다. 클라우드는 딥 러닝을 시작하기에 이상적이며 대규모 딥 러닝 모델을 학습하기 위한 최선의 방법인 경우가 많다. 그러나 자기만의 딥 러닝 시스템을 만들면 비용 효율성을 훨씬 더 높일 수 있다.

비용 효율적이라는 말은 값이 싸다는 말은 아니다. 딥 러닝 모델을 처리할 정도의 컴퓨터와 고급 GPU를 갖추기 위해서는 1,500~2,000달러 정도가 든다. 그러나 매번 며칠에 걸쳐 광범위한 모델 학습을 실행하는 경우라면 자체 전용 컴퓨터를 제작하면 3~4개월 내에 비용을 회수할 수 있다. 특히 연산 시간과 클라우드 스토리지 및 진입 비용을 감안하면 더욱 매력적이다.

Image Credit : GettyImagesBank

여기서는 필자가 올해 초 제작한 딥 러닝 컴퓨터에 대해 알아보면서 이 과정에서 직면하게 되는 여러 가지 선택과 비용에 대해 설명할 것이다. 가격은 2017년 12월 기준 아마존 가격이다.

딥 러닝에 더 깊게 들어가고자 한다면(더 큰 데이터 집합을 대상으로 연구하거나 캐글(Kaggle) 대회에 참여할 예정이거나 둘 다인 경우 등) 자체 딥 러닝 시스템을 만드는 편이 유리하다. 엄청나게 큰 데이터 집합을 다루면서 학습을 위해 수십 개의 GPU가 필요해지는 상황이 될 때가지는 자체 컴퓨터에서 모델을 실행하는 것이 최선일 가능성이 높다. 그런 상황이 되면 다시 클라우드를 찾으면 된다. 단, 그 연산 시간에 대한 비용을 지불할 수 있을 만큼 자금 사정이 넉넉한 친구도 함께 필요할 것이다.

딥 러닝 PC 만들기 : GPU와 CPU
딥 러닝 PC를 직접 만들 때 가장 중요하고 많은 비용을 좌우하는 의사 결정은 그래픽 카드, 즉 GPU 선택이다. 그러나 선택의 여지 자체는 별로 없다. 700~900달러의 가격대를 감당할 수만 있다면 엔비디아 지포스 GTX 1080 Ti를 사야 한다. 1080 Ti는 이제 주요 클라우드 업체에서 채택하기 시작한 신형 엔비디아 볼타 GPU보다는 성능이 떨어지지만 캐글 용도로는 충분하다.

1080 Ti는 엔비디아의 최신 타이탄 X 카드와 동일한 파스칼 아키텍처를 기반으로 하지만 더 빠르면서 가격은 낮다. 많은 수의 코어(3584개)와 풍부한 메모리(11GB) 덕분에 현재 시중의 모든 일반 소비자용 그래픽 카드를 통틀어 가장 빠르게 대규모 신경망을 실행하고 학습할 수 있다. 딥 러닝 시스템의 성능을 더 높이고 싶다면 1000달러 미만 제품 중 최선의 CPU를 선택해야 한다.

1080 Ti는 파운더스 에디션(엔비디아 레퍼런스 설계로 만들어진 카드) 또는 그래픽 카드 제조업체 자체 설계 제품 중 선택할 수 있다. 후자는 원래 게임용 카드답게 일반적으로 여러 개의 팬과 GPU 오버클럭 기능이 있다. 필자는 과열에 매우 민감해서 3개의 팬이 달린 895달러짜리 카드를 선택했지만 파운더스 에디션 카드를 선택하면 100달러 정도를 절약할 수 있다.

1080 Ti의 높은 가격을 감당하기 어렵다면 엔비디아 지포스 GTX 1080도 괜찮은 차선책이다. 1080 Ti보다 느리고 메모리 용량도 8GB로 1080 Ti의 11GB에 비해 작지만 대신 200달러 가량 저렴하다. AMD의 새로운 GPU 제품군도 추천하고 싶지만 파이토치(PyTorch), 텐서플로우(Tensorflow)와 같은 주요 라이브러리의 지원이 아직 부족하다. 지원 문제는 2018년 중에 해결될 가능성이 높고 AMD의 ROCm 개발도 계속 진행되고 있으니 어느 시점이 되면 라데온 RX 베가 인스팅트(Instinct)와 프론티어(Frontier) 역시 상당히 매력적인 선택안이 될 것이다. 특히 엔비디아가 볼타 플랫폼의 텐서 코어를 소비자 제품군으로 가져오지 않는다면 AMD 카드의 매력은 더 커질 것이다.

시스템의 성능을 가장 크게 좌우하는 요소는 GPU지만 애플리케이션을 실행하고 데이터 엔지니어링 작업(예: 증강)을 처리할 좋은 CPU도 필요하다. 앞으로 여러 개의 GPU를 넣어 컴퓨터를 확장할 생각이라면 최대 40개의 PCIe 익스프레스 레인을 처리할 수 있는 CPU를 골라야 한다. 최신 제품일 필요는 없다. 7세대 인텔 코어 i7-7700K도 좋다. 쿨러도 필요하지만 복잡한 수랭식 쿨러까지는 필요 없고, 쿨러 마스터의 30달러짜리 하이퍼 212 EVO 정도면 충분하다.

딥 러닝 PC 만들기 : 스토리지와 메모리
고민하지 않고 500달러짜리 1TB SSD M.2 카드를 살 수도 있다. 그만큼 SSD는 좋다. 하지만 생각해 보자. 데이터로 모델을 학습시키는 동안에는 그 빠른 SSD 스토리지를 사용할 일이 별로 없다. 차라리 현재 진행 중인 학습을 위한 “핫” 스토리지와 비활성 프로젝트를 위한 “콜드” 스토리지로 구분해서 투자하는 편이 더 효과적이다. 2TB HDD 비용은 약70달러이며 250GB SSD는 130달러다. 절반이 채 안 되는 금액으로 두 배 이상의 스토리지 용량을 확보할 수 있다.

메모리는 32GB를 추천한다. 앞으로 64GB까지 확장할 가능성도 감안해야 하므로 16GB 스틱으로 구입해야 한다. 대부분의 메인보드에는 DDR4 메모리가 필요하다. 16GB DIMM 두 개를 구입하는 데는 300 ~ 400달러 정도가 든다.

딥 러닝 PC 만들기 : 메인보드, 파워 서플라이, 케이스
이렇게 해서 핵심 부품을 모두 갖추었으니 이제 별로 재미는 없지만 시스템을 완성하기 위해 필요한 부품을 고를 차례다. 필자의 조언대로 7세대 인텔 CPU를 구입했다면 Z270 기반 메인보드를 선택해야 한다. 최신 상품이 좋아 8세대 CPU를 구입했다면 Z370 기반 메인보드를 구입해야 한다.

짝을 맞추지 않으면 곤란하다. 7세대 CPU는 Z370 보드에서 작동하지 않는다(메인보드와 CPU의 호환성을 거듭 확인해야 함). 앞으로 GPU를 더 추가할 가능성이 있다면 선택한 메인보드가 이를 지원하는지 여부도 확인해야 한다. 이렇게 말하는 필자도 그 부분을 간과한 탓에 앞으로 지포스 GTX 1080 Ti를 하나 더 추가하려면 메인보드를 업그레이드해야 한다.

파워 서플라이는 컴퓨터를 조립하는 과정에서 가장 재미없는 부품이다. 한 가지, 상당한 전력이 필요하다는 점만 유의해서 선택하면 된다. 85달러 정도의 가격에 850W 파워 서플라이를 구입하면 충분하고 앞으로 어느 정도의 확장도 가능하다.


2018.01.10

DIY GPU 서버 : 딥 러닝용 PC 직접 만들기

Ian Pointer | InfoWorld

딥 러닝을 하다 보면 딥 러닝용 컴퓨터를 직접 만들어 클라우드를 벗어나고 싶다는 생각이 들 때가 있다. 클라우드는 딥 러닝을 시작하기에 이상적이며 대규모 딥 러닝 모델을 학습하기 위한 최선의 방법인 경우가 많다. 그러나 자기만의 딥 러닝 시스템을 만들면 비용 효율성을 훨씬 더 높일 수 있다.

비용 효율적이라는 말은 값이 싸다는 말은 아니다. 딥 러닝 모델을 처리할 정도의 컴퓨터와 고급 GPU를 갖추기 위해서는 1,500~2,000달러 정도가 든다. 그러나 매번 며칠에 걸쳐 광범위한 모델 학습을 실행하는 경우라면 자체 전용 컴퓨터를 제작하면 3~4개월 내에 비용을 회수할 수 있다. 특히 연산 시간과 클라우드 스토리지 및 진입 비용을 감안하면 더욱 매력적이다.

Image Credit : GettyImagesBank

여기서는 필자가 올해 초 제작한 딥 러닝 컴퓨터에 대해 알아보면서 이 과정에서 직면하게 되는 여러 가지 선택과 비용에 대해 설명할 것이다. 가격은 2017년 12월 기준 아마존 가격이다.

딥 러닝에 더 깊게 들어가고자 한다면(더 큰 데이터 집합을 대상으로 연구하거나 캐글(Kaggle) 대회에 참여할 예정이거나 둘 다인 경우 등) 자체 딥 러닝 시스템을 만드는 편이 유리하다. 엄청나게 큰 데이터 집합을 다루면서 학습을 위해 수십 개의 GPU가 필요해지는 상황이 될 때가지는 자체 컴퓨터에서 모델을 실행하는 것이 최선일 가능성이 높다. 그런 상황이 되면 다시 클라우드를 찾으면 된다. 단, 그 연산 시간에 대한 비용을 지불할 수 있을 만큼 자금 사정이 넉넉한 친구도 함께 필요할 것이다.

딥 러닝 PC 만들기 : GPU와 CPU
딥 러닝 PC를 직접 만들 때 가장 중요하고 많은 비용을 좌우하는 의사 결정은 그래픽 카드, 즉 GPU 선택이다. 그러나 선택의 여지 자체는 별로 없다. 700~900달러의 가격대를 감당할 수만 있다면 엔비디아 지포스 GTX 1080 Ti를 사야 한다. 1080 Ti는 이제 주요 클라우드 업체에서 채택하기 시작한 신형 엔비디아 볼타 GPU보다는 성능이 떨어지지만 캐글 용도로는 충분하다.

1080 Ti는 엔비디아의 최신 타이탄 X 카드와 동일한 파스칼 아키텍처를 기반으로 하지만 더 빠르면서 가격은 낮다. 많은 수의 코어(3584개)와 풍부한 메모리(11GB) 덕분에 현재 시중의 모든 일반 소비자용 그래픽 카드를 통틀어 가장 빠르게 대규모 신경망을 실행하고 학습할 수 있다. 딥 러닝 시스템의 성능을 더 높이고 싶다면 1000달러 미만 제품 중 최선의 CPU를 선택해야 한다.

1080 Ti는 파운더스 에디션(엔비디아 레퍼런스 설계로 만들어진 카드) 또는 그래픽 카드 제조업체 자체 설계 제품 중 선택할 수 있다. 후자는 원래 게임용 카드답게 일반적으로 여러 개의 팬과 GPU 오버클럭 기능이 있다. 필자는 과열에 매우 민감해서 3개의 팬이 달린 895달러짜리 카드를 선택했지만 파운더스 에디션 카드를 선택하면 100달러 정도를 절약할 수 있다.

1080 Ti의 높은 가격을 감당하기 어렵다면 엔비디아 지포스 GTX 1080도 괜찮은 차선책이다. 1080 Ti보다 느리고 메모리 용량도 8GB로 1080 Ti의 11GB에 비해 작지만 대신 200달러 가량 저렴하다. AMD의 새로운 GPU 제품군도 추천하고 싶지만 파이토치(PyTorch), 텐서플로우(Tensorflow)와 같은 주요 라이브러리의 지원이 아직 부족하다. 지원 문제는 2018년 중에 해결될 가능성이 높고 AMD의 ROCm 개발도 계속 진행되고 있으니 어느 시점이 되면 라데온 RX 베가 인스팅트(Instinct)와 프론티어(Frontier) 역시 상당히 매력적인 선택안이 될 것이다. 특히 엔비디아가 볼타 플랫폼의 텐서 코어를 소비자 제품군으로 가져오지 않는다면 AMD 카드의 매력은 더 커질 것이다.

시스템의 성능을 가장 크게 좌우하는 요소는 GPU지만 애플리케이션을 실행하고 데이터 엔지니어링 작업(예: 증강)을 처리할 좋은 CPU도 필요하다. 앞으로 여러 개의 GPU를 넣어 컴퓨터를 확장할 생각이라면 최대 40개의 PCIe 익스프레스 레인을 처리할 수 있는 CPU를 골라야 한다. 최신 제품일 필요는 없다. 7세대 인텔 코어 i7-7700K도 좋다. 쿨러도 필요하지만 복잡한 수랭식 쿨러까지는 필요 없고, 쿨러 마스터의 30달러짜리 하이퍼 212 EVO 정도면 충분하다.

딥 러닝 PC 만들기 : 스토리지와 메모리
고민하지 않고 500달러짜리 1TB SSD M.2 카드를 살 수도 있다. 그만큼 SSD는 좋다. 하지만 생각해 보자. 데이터로 모델을 학습시키는 동안에는 그 빠른 SSD 스토리지를 사용할 일이 별로 없다. 차라리 현재 진행 중인 학습을 위한 “핫” 스토리지와 비활성 프로젝트를 위한 “콜드” 스토리지로 구분해서 투자하는 편이 더 효과적이다. 2TB HDD 비용은 약70달러이며 250GB SSD는 130달러다. 절반이 채 안 되는 금액으로 두 배 이상의 스토리지 용량을 확보할 수 있다.

메모리는 32GB를 추천한다. 앞으로 64GB까지 확장할 가능성도 감안해야 하므로 16GB 스틱으로 구입해야 한다. 대부분의 메인보드에는 DDR4 메모리가 필요하다. 16GB DIMM 두 개를 구입하는 데는 300 ~ 400달러 정도가 든다.

딥 러닝 PC 만들기 : 메인보드, 파워 서플라이, 케이스
이렇게 해서 핵심 부품을 모두 갖추었으니 이제 별로 재미는 없지만 시스템을 완성하기 위해 필요한 부품을 고를 차례다. 필자의 조언대로 7세대 인텔 CPU를 구입했다면 Z270 기반 메인보드를 선택해야 한다. 최신 상품이 좋아 8세대 CPU를 구입했다면 Z370 기반 메인보드를 구입해야 한다.

짝을 맞추지 않으면 곤란하다. 7세대 CPU는 Z370 보드에서 작동하지 않는다(메인보드와 CPU의 호환성을 거듭 확인해야 함). 앞으로 GPU를 더 추가할 가능성이 있다면 선택한 메인보드가 이를 지원하는지 여부도 확인해야 한다. 이렇게 말하는 필자도 그 부분을 간과한 탓에 앞으로 지포스 GTX 1080 Ti를 하나 더 추가하려면 메인보드를 업그레이드해야 한다.

파워 서플라이는 컴퓨터를 조립하는 과정에서 가장 재미없는 부품이다. 한 가지, 상당한 전력이 필요하다는 점만 유의해서 선택하면 된다. 85달러 정도의 가격에 850W 파워 서플라이를 구입하면 충분하고 앞으로 어느 정도의 확장도 가능하다.


X