AI VIDEO BRIEFING

AMD 라이젠 AI 할로 2대 클러스터로 400B 로컬 LLM 실행 테스트

128GB 메모리를 가진 소형 AI PC 두 대를 10기가 이더넷으로 묶어 3,580억·3,970억 파라미터 모델을 실제로 돌려본 실험. 두 가지 클러스터 방식과 실제 토큰 속도를 정리했다.

미니 PC 두 대를 묶어 4천억 파라미터 모델을 돌려봤다 영상 대표 이미지

핵심 메시지

  • CPU와 GPU가 128GB 메모리를 공유하는 소형 AI PC 두 대를 묶으면 이론상 약 256GB의 메모리를 확보해 대형 모델을 올릴 수 있다.
  • 두 대를 직접 랜선으로 연결하는 것으로는 안 되고, 제조사 안내대로 10기가비트 이더넷 스위치를 사이에 두어야 한다.
  • 클러스터링 방식은 두 가지다. llama.cpp의 RPC 방식은 설정이 간단하고, vLLM과 Ray를 쓰는 텐서 병렬 방식은 복잡하지만 동시 요청 처리에서 유리하다.
  • 실측 결과는 두 방식 모두 초당 8토큰 안팎이었고, 동시 요청 4개에서는 방식에 따라 초당 13토큰대와 18토큰 가까이로 갈렸다.
  • GPU가 쓸 수 있는 공유 메모리 한도는 기본값이 낮게 잡혀 있어, 별도 설정 도구로 직접 올려야 대형 모델이 올라간다.

쉽게 이해하기

주머니에 들어갈 만한 크기의 소형 AI PC가 대형 언어 모델을 얼마나 감당할 수 있는지 실제로 확인한 영상이다. 이 기기는 CPU와 GPU가 한 칩에 들어 있고 128GB 메모리를 둘이 나눠 쓰는 구조라, 한 대만으로도 상당한 크기의 모델을 올릴 수 있다. 제조사는 한 대로 2천억 파라미터급, 두 대를 묶으면 4천억 파라미터급까지 가능하다고 안내하고 있다.

그러나 컴퓨터 두 대가 자동으로 한 대의 큰 컴퓨터가 되지는 않는다. 모델을 어떻게든 쪼개야 하고, 생성이 진행되는 내내 두 GPU가 데이터를 주고받아야 한다. 이 기기에서 그 통신은 유일한 고속 포트인 10기가 이더넷을 통해 이뤄진다. 그래서 영상의 진짜 질문은 '메모리를 합칠 수 있는가'가 아니라 '중간의 네트워크가 이 아이디어 자체를 망치지 않는가'다.

준비 과정에서 걸림돌이 여럿 나왔다. 두 기기를 직결해서는 안 되고 10기가 스위치가 필요했고, 클러스터링 안내 문서가 리눅스 기준이어서 윈도우가 깔린 쪽을 리눅스 설치본으로 복제해 환경을 똑같이 맞춰야 했다. 드라이브를 복제하면 호스트 이름까지 같아지므로 연결 전에 이름을 나눠 주는 손질도 필요했다. 또 하나 까다로웠던 것은 GPU가 쓸 수 있는 공유 메모리 한도인데, 윈도우에서는 96GB가 상한이고 실제로는 64GB로 잡혀 있어 대형 모델이 올라가지 않았다. 이 값은 BIOS에 노출되지 않고 전용 설정 도구에서만 바꿀 수 있었다.

첫 번째 방식은 llama.cpp의 RPC다. 한 대가 자신의 GPU를 원격 작업자로 노출하고 다른 한 대가 그 메모리를 빌려 쓰는 단순한 구조다. 3,580억 파라미터 규모의 혼합 전문가(MoE) 모델을 4비트 양자화 버전으로 올려 실행했고, 대화 한 건을 주고받는 상황에서 초당 8토큰 안팎이 나왔다. 동시 요청을 네 개로 늘리면 초당 13토큰대까지 올라갔지만, 프롬프트 길이를 2048토큰으로 키우자 초당 5.5토큰으로 주저앉았다. 이 지점이 RPC 방식의 한계였다.

두 번째 방식은 통신 라이브러리와 vLLM, Ray를 조합해 텐서 병렬로 모델을 쪼개는 구성이다. 컨테이너로 띄우고 한 대에서 클러스터를 시작한 뒤 다른 한 대가 합류하는 절차인데, 대형 모델은 기동에만 15분가량 걸려 플래그 하나만 틀려도 처음부터 다시 기다려야 했다. 진행자는 그래서 같은 계열의 작은 모델로 먼저 검증하라고 권한다. 3,970억 파라미터 모델을 올린 결과 두 기기가 각각 110GB 정도씩, 합계 220GB가량을 사용했고, 단일 대화에서 초당 7.81토큰, 동시 요청 4개에서는 초당 18토큰 가까이 나왔다.

주요 인사이트

  • 메모리를 합치는 일의 실제 병목은 계산이 아니라 통신이다. 10기가 이더넷 위에서도 동작은 했지만, 프롬프트가 길어지면 처리량이 급격히 떨어지는 구간이 분명히 존재했다.
  • 양자화는 단순히 '모델을 작게 만드는 일'이 아니다. 영상은 어텐션이나 라우터처럼 중요한 부분에 비트를 더 쓰고 자주 쓰이지 않는 전문가 층에는 덜 쓰는 방식이, 같은 용량에서 더 나은 품질을 낸다고 설명한다.
  • 두 번째 기기의 진짜 가치는 '더 큰 모델'보다 '더 좋은 양자화'에 있다. 한 대뿐이라면 품질이 크게 망가지는 저비트 양자화로 내려가야 하지만, 메모리가 늘면 쓸 만한 4비트 버전을 그대로 올릴 수 있다.
  • 설정 기본값이 성능을 조용히 가로막을 수 있다는 점도 실용적인 교훈이다. GPU 공유 메모리 한도가 낮게 잠겨 있으면 하드웨어가 충분해도 모델이 올라가지 않는다.
  • 용도에 따라 방식 선택이 갈린다. 혼자 한 번에 한 대화씩 쓴다면 간단한 RPC로 충분하고, 여러 사람이나 여러 에이전트가 동시에 요청을 보내는 환경이라면 복잡하더라도 텐서 병렬 구성이 낫다.

자주 묻는 질문

소형 AI PC 두 대를 묶으면 메모리가 정확히 두 배가 되나요?

이론상 128GB씩 합쳐 256GB가 되지만, 운영체제가 쓰는 몫이 있어 실제로는 조금 적습니다. 영상의 실측에서는 3,970억 파라미터 모델 실행 시 두 기기 합쳐 약 220GB를 사용했습니다.

두 기기를 랜선으로 직접 연결해도 되나요?

안 됩니다. 각 기기에 10기가 포트가 있어도 제조사 안내는 두 방식 모두 사이에 10기가비트 이더넷 스위치를 두도록 요구합니다.

두 가지 클러스터 방식은 어떻게 다른가요?

llama.cpp의 RPC 방식은 한 대가 다른 대의 GPU 메모리를 빌려 쓰는 단순한 구조로 설정이 쉽지만 동시 요청과 긴 프롬프트에 약합니다. vLLM과 Ray를 쓰는 텐서 병렬 방식은 준비가 복잡하고 기동에 15분가량 걸리지만 동시 요청 처리에서 더 나은 결과를 냈습니다.

실제 생성 속도는 어느 정도였나요?

단일 대화 기준으로 두 방식 모두 초당 8토큰 안팎이었습니다. 동시 요청 4개에서는 RPC가 초당 13토큰대, 텐서 병렬 방식이 초당 18토큰에 가까운 수치를 보였습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식