'q'에 해당되는 글 1건

  1. 2023.06.11 Meta LLAMA를 잘 돌리기 위한 데스크탑 PC 업그레이드 2
머신러닝AI2023. 6. 11. 17:50

 LLM을 돌리다보니 집의 데스크탑을 계속 개선하고 있는 나를 바라보면서 쌓인 지식들을 정리해두면 어떨까 싶어 기록해둔다. LLM이 돌아가려면 고용량 메모리, 고속의 CPU, 고속의 저장장치, 고속의 인터페이스 등에 대한 의외의 지식들이 필요하다. 더군다나 llama.cpp를 통해 촉발된 GPU없이 돌리는 LLAMA가 나온 마당에 데스크톱을 잘 업그레이드하면 괜찮은 실험환경을 구축할 수 있는 상황이 지속 마련되고 있다.

 

LLM을 위한 가정용 GPU 선택:

https://infoengineer.tistory.com/106

 

GPU없이 데스크탑 Ubuntu에서 돌리는 LLAMA인 llama.cpp 구동방법

https://infoengineer.tistory.com/107

 

결론부터 이야기하면 i7, i9의 최신 세대 CPU(13세대)에 가급적 Z계열(현재기준 Z690이나 Z790)의 메인보드와 DDR5메모리, PCIe-4.0이상 기반으로 구성하라는 이야기를 하고 싶은데, 각자의 상황에 따라 어떤 변화가 가능한지 아래  간단하게 필요한 지식을 알아보자.

 

1. PCI-Express 3,4,5 이해하기

 

GPU나 M.2 NVMe SSD 스토리지 든 이 PCI-Express 방식으로 메인보드에 연결되어 통신하는데 이 녀석이 버전이 있다. 3.0, 4.0, 5.0인데 속도 차이가 꽤 있다. 

wiki 참조

 대개 요즘 GPU는 PCI-e 4.0을 많이 지원한다. 그런데 메인보드가 PCI-e 3.0만 지원한다면 그 통신 속도가 줄어들 수 밖에 없다. 따라서 가급적 PCI-e 4.0을 지원하는 CPU와 메인보드 조합을 찾자. 참고로 인텔은 11세대 CPU부터 이 PCI-e 4.0을 지원한다고 한다. 대개 고가의 GPU가 PCIe-4.0x16 (16은 통신 lane 수) 정도를 지원하니 그에 맞춰서 CPU/메인보드를 선택해 주면 별다른 큰 가격차이 없이 통신 속도가 늘어날 수 있겠다.

 

 참고로 PCI-e는 하위 호환성이 있으므로 높은 버전의 PCI-e라고 해도 낮은 버전의 PCI-e에 꼽아서 작동시킬 수는 있다. 속도는 낮은 버전을 따라간다.

 

--> 최소 PCIe-4.0을 기준으로 부품들을 살펴보자

 

2. DDR4 vs DDR5 메모리

 

 메모리도 세대가 바뀌어서 DDR4에서 DDR5로 넘어왔다. 그리고 이 둘은 메모리 꼽는 슬롯의 모양이 달라서 서로 호환이 되지 않는다. 또한 CPU도 이 각각을 지원해야만 해당 메모리를 사용할 수 있다. 그런데 CPU는 이 둘을 다 지원하는 모델도 많다(DDR4, DDR5). 하지만 메인보드는 양쪽을 다 지원할 수 없다. 왜냐하면 슬롯 모양이 다르니 선택을 해야하기 때문이다(듀얼로 서로 다른 슬롯을 채용하는 경우는 없는 것으로 알고 있다). 따라서 DDR4냐 DDR5냐는 결정을 해야한다.

 

 그렇게 CPU가 결정되고, 메인보드가 결정되면 지원되는 메모리를 알 수 있다. 개인적으로는 여유가 있다면 인텔 13세대 이상에서 지원하는 DDR5로 가라고 권하고 싶다. DDR4나 DDR5가 속도차이가 크게 나지 않는다는 평이 있으나 클락스피드가 후자가 더 높고 앞으로 계속 그렇게 활용되지 않겠는가. 그리고 메인보드 별로 이 램 지원은 각기 다르니, 원하는 메인보드를 자세히 들여다볼 필요가 있다. 주의가 필요하다. 특히 메모리 관련해서는 메인보드의 최대 용량 확인도 필요하다. 최근 사양이면 128GB를 지원하고 예전 것도 64GB정도는 지원이 되는게 일반적이긴 하다.

 

 그리고 단면램/양면램 논쟁 등이 있는데 메모리 지원은 해당 메인보드사의 홈페이지에 대부분 자세히 설명되어 있다. 단면/양면의 구분은 최근에는 중요하지 않다고 한다.

 

--> DDR5로 갈 수 있으면 가는데, 안되면 DDR4도 나쁘지 않다. 다만 꼽을 수 있는 메모리 종류와 최대 메모리는 메인보드 확인이 필요하다. 여유가 있어 128GB를 확보하면(32GB*4) llama.cpp에서 엄청난 모델을 돌려볼 수 있을지 모른다.

 

3. M.2 NVMe SSD 내장 스토리지

 

 이제 SATA방식보다는 NVMe가 훨씬 고속의 인터페이스이기 때문에 저장장치는 NVMe SSD를 고르는게 좋다. 그런데 여기서 잘 봐야하는 것은 PCIe 3.0인지 4.0인지나 실제 읽고 쓰는 속도이다. 삼성 980 pro M.2 NVMe정도 되면 PCIe-4.0을 지원하면서 7GB/s의 순차 읽기 속도를 지원한다. 반면에 970은 PCIe-3.0급이다. 가격차이가 크지 않으니 PCIe-4.0급의 NVMe를 고르고, 메인보드도 그렇게 지원하는지 확인하자. 대개 고사양 메인보드는 M.2를 4개까지 장착할 수 있는 경우가 많으니 고사양을 몇개 달아 사용해도 좋다. 과거보다 NVMe SSD는 타 부품대비 그렇게 비싸지 않다.

 

--> PCIe-4.0급의 NVMe SSD를 스토리지로 활용하자.


4. CPU는 어디까지 올릴 수 있는가?

 현행 인텔 CPU는 i3,i5,i7,i9에 13세대까지 출시되었다. 그리고 i3~i9는 숫자가 높을수록 코어수나 내부 캐시가 올라간다. 즉, 점점더 전문가용이다. 대개는 i7정도면 전문 게임용으로 홍보해서 판매한다. 

인텔 CPU의 세대별 속도 보는법

사실 최근에는 의외로 CPU별로 성능 차이가 크지 않지만, CPU는 메인보드 칩셋을 결정하고 그에 따라 앞서 밝힌 DDR4/DDR5여부, PCIe 지원 버전등을 같이 결정한다. 즉 메모리의 속도, 컴퓨터의 인터페이스 속도까지(메모리/CPU간, GPU/메인보드간) CPU와 그 시기 출시된 메인보드가 같이 세트가 되어 정해버리는 것이다. 아래는 10세대의 i3~i9 비교 표이다. core나 thread, cache등을 확인해보자.

물론 후자로 갈수록 소비 전력도 크다(i9정도면 100W급이라고 가정하면 된다)

정보공장 tistory 발췌, 10세대 인텔 CPU i값에 따른 비교 예시

여기서는 따라서 최신 세대(13세대)의 i7이나 i9를 추천한다. 주변 인터페이스의 속도가 최신이기 때문이다. 그리고 CPU에 맨 뒤에 알파벳이 붙는데 F는 내장 그래픽카드가 없고, K는 개선버전/오버클락 가능 버전이다. 어차피 GPU를 쓴다면 F버전을 선택해서 가격을 낮추는 방법도 있겠다. 오버클러킹을 하겠다면 K가 붙은 CPU를 구매하면 된다.

 

--> i7 13세대 CPU 이상 선택을 추천한다. 바로 이어 설명할 고급형 Z계열 메인보드와 오버클러킹 등 염두해두려면 K가 붙은 오버클러킹 허용 개선 버전을 선택하자.

 

5. 메인보드

 

 개인적으로는 메인보드를 중요하게 생각한다. 특히 LLM용 메인보드는 여러가지 발열 처리 등 때문에 ATX형(micro ATX같은 미니형이 아닌)을 채용해야 하고 그렇게 하면 디스크 장착 등에도 공간 여유가 있다.

 메인보드는 CPU와 그에 따른 칩셋으로 크게 결정되는데 흔히 H(보급형), B(작은크기용, mATX), Z(고급형, 오버클러킹용)로 시작된다. 이를 테면 Asrock Z790이면 고급형 보드이면서 오버클러킹도 가능하다. 따라서 이 계열에서는 상기 CPU에서 마지막 K붙은 것을 구매해 여러가지 오버클러킹도 같이 할 수 있다.

 

 H,B,Z의 각 뒤 숫자도 중요하다. 그 안에서는 해당 숫자가 높을수록 고급형이기 때문이다. H7xx, H8xx정도 되면 중고급에 속하게 된다.

각 CPU세대 별로 해당 숫자의 차이가 클 수도 작을 수도 있다. 일례로 고급형인 Z690과 Z790은 특이한 성능 차이는 없다고 평가받는다.

(통상은 Z790이 좋아야 한다)

 

--> H상위 버전, Z버전을 구매한다. 여기서는 13세대 CPU를 추천하고 있으므로 그에 맞는 Z690, Z790계열의 고급형 메인보드를 추천한다.

 

6. 케이스/파워

 고성능 PC는 생각보다 발열 관리가 중요하다. 파워도 마찬가지다. CPU가 100W, GPU가 400W쯤 소모한다고 잡으면 나머지 여러가지 잡다한 팬/스토리지 등 해서 100W를 추가하면 600W급의 파워가 필수가 되는데, 시장에서는 600W급 파워를 사도 500W정도 밖에 공급이 안된다는 설이 많다. 따라서 제대로 대응하려면 800W 정도를 사야 갑자기 PC가 꺼지는 상황을 막을 수 있다.

 

 케이스는 전면과 후면 모두에 팬이 붙되 조금 조용한 버전을 사야한다. CPU의 쿨러도 기본 쿨러보다는 발열을 줄일 수 있는 쿨러를 탑재하자. ATX보드를 기본으로 할테니 사이즈가 좀 클 것이다. ATX형 케이스도 가끔씩은 대형 GPU(?)는 들어가지 않을 수도 있으니 사전에 GPU 크기에 대한 고려가 되어있는 케이스인지 확인이 필요하다.

 

--> ATX형 좀 넉넉한 케이스에 팬은 전반/후반 모두 채용된 것으로 구매한다. 안이 보이거나 잘 열리면 더 좋다. 파워는 상황에 따라 다르지만 최소 700W이상, 많으면 1,000W까지 고려하자.

 

 

여기까지 일단 간단히 살펴보았다. 생각보다 전체를 고려하면 쉽지 않지만 이 틀하에서 잘 선택하여 가성비 좋은 구성이 되도록 빈다.

반응형
Posted by 작동미학