인공지능 AI/딥러닝 Deep Learning

딥러닝Deep Learning 공부를 위한 서버용 데스크탑 컴퓨터 구입기

Tap to restart 2021. 9. 11. 16:00

금액이 커서 한번 실패하면 또 살 수 없어서 이것저것 찾아 봤다.

그냥 Dell의 딥러닝을 위한 서버 컴퓨터를 살까 싶어서 알아봤지만 너무 비쌌다.

그래서 그냥 직접 맞추기로 결정했다.

 

딥러닝을 공부하는데 왜 컴퓨터가 따로 필요할까? GPU 때문!

GPU 때문이다. 딥러닝Deep Learning 코드를 돌려 보려면 GPU 달린 컴퓨터가 필요하다.

그것도 Nvidia. 많은 딥러닝 코드가 CUDA를 기본으로 쓰고 있기 때문이다.

엔비디아의 GPU가 달려 있지 않은 컴퓨터에서 실행하면? 당연히 에러가 난다.

코드를 돌려보지도 못한다면? 공부가 불가능하다.

 

CPU는 어떤 걸 해야할까? Intel인텔!

AMD도 빠르다던데 왜 인텔을 해야 할까.

MKL 같은 인텔 기반 수학 라이브러리를 쓰는 코드를 실행하려면 인텔이어야 한다.

내 컴퓨터가 인텔이 아니라 AMD라면? 관련 코드를 다 바꿔줘야 한다.

초보자는 당연히 어렵다. 그것 때문에 딥러닝 코드는 돌려보지도 못하게 된다.

 

GPU는 어떤 걸? 당연히 Nvidia엔비디아!

당연히 엔비디아 걸 사야 한다. AMD 라데온 사면 안 된다.

AMD 라데온을 사면, CUDA를 쓰는 코드를 돌려볼 수가 없다.

딥러닝 공부를 위한 용도인데 딥러닝 공부를 할 수 없게 된다.

내 경우 그래픽카드가 너무 비싸서 고민 끝에 RTX-3060을 구입했다.

이 때 잘 봐야하는 지점은 PCI-Express4.0(x16) 이 부분이다.

만약 보드가 PCI-Express3.0까지밖에 지원해주지 않는다면?

그래픽카드가 제 성능을 발휘하기 어렵다.

 

메인보드는? GPU를 1개만? 2개?

GPU를 1개만 지원하는 경우는 보드가 비싸지 않다.

하지만 그래픽 카드를 두 개 지원하는 경우 엄청 비싸진다.

딥러닝 코드를 돌리는 경우 train을 먼저하게 되는데, 이때 멀티 GPU(GPU를 2개 이상)를 기본으로 설정한 코드를 꽤 만나게 된다. 그런데 만약 내 컴퓨터는 GPU가 1개뿐이라면? 멀티 GPU 코드를 단일 GPU 쓰는 코드로 모두 바꿔야 한다.

이게 또 초보자한테는 힘든 일이다. 그냥 코드를 돌리는 것도 어려운데 원래 코드를 수정해야 하니.

멀티 GPU가 되는 보드 중 저렴한 걸 찾았다. 일단 GPU 1개만 꼽아서 쓰더라도 나중에 2개 꼽아 쓸 경우를 대비해서.

ROG STRIX Z590-E GAMING WIFI

관련 설명은 바로 2 x PCIe 4.0/3.0 x16 (x16, x8/x8, x8/x4) 이 부분이다.

PCIe 4.0으로 2개 지원이 되고 두 개 꼽을 경우 각각 x8/x8로 지원이 된다는 의미.

저렴한 보드는 1개는 PCIe4.0이고 다른 1개는 PCIe3.0만 지원한다고 나온다.

이렇게 될 경우 RTX-3060 2개를 꼽았을 때 제 성능을 발휘할 수 없다.

 

메모리는? 32GB 이상

보통 그래픽카드 메모리의 2배 이상이 좋다고 나온다.

RTX-3060이 12GB라 32GB로 맞췄다.

 

파워는? 큰 걸로

GPU 2개 달 거에 대비해서 1000W가 넘는 걸로 샀다.

좀 비싸도 조용하다는 평이 있는 걸로.

 

케이스는? 크고 조용한 걸로

딥러닝 서버로 쓸 거니 돈이 좀 들어도 조용하다는 평이 있는 걸로 샀다.

꽤 크고, 팬도 여러개 달려 있는 걸로.

 

딥러닝 공부용 컴퓨터 구성

CPU - [INTEL] 코어11세대 i5-11400
메인보드 - [ASUS] ROG STRIX Z590-E GAMING WIFI
RAM - [삼성전자] 삼성 DDR4 16GB PC4-25600

SSD - [삼성전자] 공식인증 980 series 500GB M.2 NVMe 500GB MZ-V8V500BW

케이스 - [BRAVOTEC] 스텔스 EX270 파노라마 윈도우 블랙(빅타워)
파워서플라이 - [마이크로닉스] Classic II 1050W 80PLUS GOLD 230V EU 풀모듈러 (ATX/1050W)

CPU 쿨러 - [THERMOLAB] TRINITY 6.0 [CPU쿨러]

그래픽카드 - 이엠텍 지포스 RTX 3060 STORM X Dual OC D6 12GB

 

그래픽카드를 뺀 나머지는 컴퓨존에서 구매했고 조립은 직접해도 되지만 시간이 없어서 맡겼다. 구매 전에 상담 기능이 있어서 이 구성으로 하면 진짜 멀티 GPU 사용 가능한지 한번 더 확인하고 구매했다. 중고 부품 혹시 쓸까 걱정했는데, 제품 박스를 다 같이 보내줘서 좋았다. 꼭 컴퓨존 아니더라도 조립대행과 조립 상담 해주는 곳이 많으니 후기를 살펴보고 정하기를 권한다.

그래픽카드는 따로 주문한 걸 꼽았다. 이 때 GPU를 위한 전원공급선을 꼭 꼽아줘야 한다.

 

대략 2021년 8월 기준 200만원 정도 들었다.

그래도 케이스, 파워서플라이, CPU 쿨러에 돈을 들여서 정말 조용하다.

항상 켜놓고 있는데 거슬리지 않는다.

그냥 비슷한 사양의 조립된 컴퓨터를 사면 훨씬 싸게 살 수 있지만, 그래도 더 돈 들여서 케이스, 파워, 쿨러 등 좋은 거 사서 만족하고 있다. 조용하니까. 조용하지 않으면 작업실에 켜둘 수가 없으니..

 

두 박스로 따로 왔다.

 

본체가 담긴 박스

 

부품 박스가 담긴 박스

완충재가 충분히 들어 있는 상태였다.

뒷면이 찌그러진 경우가 있다고 해서 봤는데 괜찮았다.

내부 모습

그래픽카드를 꼽은 상태. 여기서 그래픽카드에 추가로 PCI-E 전원선을 꼽아줘야 한다.

 

GPU 2개도 설치 가능하다. 추후 추가로 설치한 예이다.

nvidia-smi로 확인하면 2개 잘 뜨는 것을 확인할 수 있다.

 

초기 설정 시행착오

만약 메인보드를 내가 산 것과 같은 것으로 산다면, Ubuntu Desktop 20.04 설치를 권한다.

서버 버전을 설치했을 때 18.04는 랜카드 인식이 안 되었고, 20.04는 설치 직후에는 인식이 되었는데 시간이 지나니 인식이 안 되어서 접속할 수 없었다.

Ubuntu 데스크탑 버전을 설치해서 nvidia-smi로 살펴보니 메모리를 살펴보니 기본 14MiB 정도 메모리를 잡아 먹는다. 뭐 그 정도야 무시할 수준이니 괜찮다.

 

최근 Ubuntu Server 22.04가 출시되어 설치해보니 wifi도 잘 잡힌다. Ubuntu Server 22.04 설치하기를 권한다.