실행 프로그램과 확장
최종 업데이트
Intel Arc와 RTX를 같이 쓰면? XeStrata 혼합 GPU 설정
혼합 GPU에서는 각 장치가 맡은 레이어와 상태를 따로 보유하고, 레이어 경계에서 데이터를 넘겨요.
XeStrata는 같은 PC 안의 여러 GPU1에 모델 레이어를 나누는 실험적 실행 경로를 제공해요. ./setup.sh --gpus 1,2로 두 장치를 지정하고 필요하면 레이어 경계를 고를 수 있어요. 각 GPU는 자신에게 할당된 가중치·상태·전문가 캐시를 보유하므로, 남은 VRAM2이 자동으로 공유되는 구조는 아니에요. 현재 문서는 --serve와 전문가 프로파일 설정을 전제로 해요.
XeStrata 혼합 GPU는 한 대의 Linux PC에 Intel·AMD·NVIDIA 카드를 함께 설치해 레이어를 나누는 설정이에요. 이 가이드는 소스 체크아웃에서 GPU를 확인하고, 한 장으로 먼저 실행한 다음 같은 모델을 두 장 구성으로 비교하는 순서예요.
카드별 VRAM이 따로 남아도 레이어·상태·캐시 배치가 맞지 않으면 기대한 이득이 나지 않을 수 있어요. 먼저 기본 단일 GPU 서버를 실행해 본 뒤, 두 번째 카드가 맡을 레이어를 조절하는 순서가 좋아요.
혼합 GPU 모드에서 장치마다 맡는 것
XeStrata는 모델 레이어를 여러 GPU에 나눠 배치하고, 각 장치에 해당 레이어의 dense 가중치와 PLE3 텐서를 올려요. 세션 상태도 GPU별로 유지돼요. 문서상 GDN recurrent state와 QSA KV cache4가 여기에 포함되며, 전문가 캐시도 각 장치가 따로 가져요.
GPU들은 검증 구간마다 CPU5 메모리를 거쳐 결과를 넘겨요. 전문가 캐시가 더 큰 VRAM에 올라가 CPU가 계산할 전문가가 줄 수 있지만, 이 전달 단계가 남아 있으므로 VRAM 합계를 곧바로 하나의 풀이나 선형적인 속도 증가로 볼 수는 없어요.

장치 번호와 레이어 경계 지정하기
먼저 저장소를 내려받고 ./setup.sh --check를 실행해요. 표시된 번호에서 한 장 구성에 쓸 GPU를 고르세요. NVIDIA를 포함한 혼합 구성에는 contrib-llvm 빌드가 필요하며 소스 setup의 기본 경로도 이 빌드를 선택해요. Intel·AMD만 쓰는 환경에서도 같은 검사 결과의 실제 장치 번호를 사용해요.
GPU 번호는 아래 명령의 0과 0,1을 실제 --check 결과로 바꿔요. 먼저 한 장으로 설치와 첫 실행을 마친 뒤 모델·양자화6·문맥 길이, 짧은 요청, 첫 응답 시간과 완료 시간을 기록하세요. 서버를 종료하고 같은 모델과 문맥으로 두 장을 실행하면 비교 기준을 맞출 수 있어요. 자동 분할부터 시작한 뒤 메모리 사용량과 응답 시간을 보고 경계를 조정하세요.
git clone https://github.com/MistVVK/XeStrata.git
cd XeStrata
./setup.sh --check./setup.sh --gpu 0./setup.sh --gpus 0,1 --layer-split auto
서빙에서 실행하고 결과를 확인해요
setup.sh는 빌드와 모델 다운로드를 마친 뒤 서버를 시작하고, 선택한 GPU와 레이어 분할을 모델 설정에 기록해요. 이 경로의 서버는 --serve와 --expert-profile을 함께 전달해요. 별도 터미널에 플래그 조각을 붙여 실행할 필요는 없어요. 서버가 준비되면 브라우저에서 http://127.0.0.1:8095를 열고, 두 카드 모두 할당됐는지와 GPU별 메모리 사용량이 분할 설정에 맞는지 확인해요.
같은 짧은 요청을 단일 GPU와 두 GPU 구성에서 각각 실행하고 첫 응답 시간과 전체 완료 시간을 기록해요. XeStrata는 GPU 사이의 상태를 CPU 메모리를 거쳐 전달하므로, GPU별 사용량과 이 전달 단계가 포함된 응답 시간을 함께 비교하세요.

장치 할당이나 속도가 기대와 다를 때
두 번째 GPU 사용량이 없다면 --gpus에 넣은 번호가 xestrata --check 결과와 같은지, setup이 두 장치를 인식하는지 확인해요. 한 카드에 메모리가 몰리면 자동 분할과 수동 경계를 비교해요. 여러 분할 지점이나 장치 순서를 세밀하게 조정할 때는 멀티 GPU 문서의 --split-device, --split-order 설명과 서버 설정 방식을 함께 확인해요.
할당은 되었지만 단일 GPU보다 느리다면 같은 입력·출력 길이로 잰 시간, GPU별 사용량, CPU 메모리를 거치는 전달 구간을 함께 살펴봐요. 경계를 바꿔도 작업 시간이 줄지 않으면 이 작업에서는 단일 GPU를 기본으로 두는 편이 나아요. 멀티 GPU는 모델을 여러 카드에 나눠 싣거나 GPU에 캐시를 더 두려는 목적에 맞는지 판단하면 돼요.
용어 각주
GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기VRAM — 그래픽카드의 GPU가 사용하는 메모리입니다. 모델 가중치와 계산 중간값을 저장합니다.
본문으로 돌아가기PLE 임베딩 테이블 — Per-Layer Embedding의 약자로, 모델의 특정 층에 임베딩 정보를 더하는 구조입니다. Qwen Flash-Next 계열은 n-그램 테이블을 사용하며, 지원되는 실행 경로에서는 이 테이블을 RAM이나 SSD로 오프로딩할 수 있습니다.
본문으로 돌아가기KV 캐시 — 어텐션에서 이전 토큰의 키·값을 저장해 다음 토큰 생성 때 재사용하는 메모리입니다. 문맥 길이와 배치 크기에 따라 용량이 달라집니다.
본문으로 돌아가기CPU — 운영체제와 일반 프로그램 명령을 실행하고, AI에서는 전처리·데이터 이동 등 범용 연산을 맡는 중앙 처리 장치입니다.
본문으로 돌아가기양자화 — 모델의 가중치나 계산값을 더 적은 비트로 표현해 저장 공간과 메모리 사용량을 줄이는 방법입니다. 표현 단계가 거칠어져 정확도에도 영향을 줄 수 있습니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- XeStrata는 같은 PC 안의 여러 GPU에 모델 레이어를 나누는 실험적 실행 경로를 제공해요. `./setup.sh --gpus 1,2`로 두 장치를 지정하고 필요하면 레이어 경계를 고를 수 있어요. 각 GPU는 자신에게 할당된 가중치·상태·전문가 캐시를 보유하므로, 남은 VRAM이 자동으로 공유되는 구조는 아니에요. 현재 문서는 `--serve`와 전문가 프로파일 설정을 전제로 해요.
- 필요한 메모리는 어느 정도인가요?
- GPU 번호는 아래 명령의 `0`과 `0,1`을 실제 `--check` 결과로 바꿔요. 먼저 한 장으로 설치와 첫 실행을 마친 뒤 모델·양자화·문맥 길이, 짧은 요청, 첫 응답 시간과 완료 시간을 기록하세요. 서버를 종료하고 같은 모델과 문맥으로 두 장을 실행하면 비교 기준을 맞출 수 있어요. 자동 분할부터 시작한 뒤 메모리 사용량과 응답 시간을 보고 경계를 조정하세요.
