모델별 실행 레시피

최종 업데이트

GLM-5.3-Flash 서빙 가이드: 320B 서버급 MoE 레시피

GLM-5.3-Flash 실행 설정: Mac과 멀티 GPU 서버

GLM-5.3-Flash는 질문이나 문서를 입력하면 답변을 만들고, 코드 작성을 도와주는 언어 모델이에요. 로컬에서 실행하는 방법은 크게 두 가지예요. 공식 모델을 여러 GPU1에 나눠 올리거나, 압축한 MLX2 변환본을 대용량 메모리의 Mac에서 실행할 수 있어요. 여기서는 장비에 맞는 실행 경로를 고르고, 서버를 시작해 첫 답변을 받는 과정을 설명해요.

혼자 사용하는 Mac이라면 oMLX 경로부터 살펴보세요. 여러 사람이 같은 모델을 함께 쓰는 GPU 서버라면 SGLang이나 vLLM을 선택할 수 있어요. 실행에 성공한 뒤에는 입력 길이와 동시 사용자 수를 늘려, 실제 작업에서도 빠르게 답하는지 확인해요.

실행 조건과 핵심 내용
  • 공식 모델은 SGLang·vLLM, Mac의 MLX 변환본은 oMLX로 실행해요.
  • 전체 가중치는 320B이고, 토큰마다 약 18B가 계산에 참여해요.
  • GPU 서버는 16K 문맥으로 시작하고, 짧은 API 요청부터 보내세요.
장비별 실행 설정으로 이동

장비에 맞는 실행 방법을 골라요

GLM-5.3-Flash는 여러 전문가 네트워크 중 일부를 골라 계산하는 MoE3 모델이에요. 전체 가중치는 320B이고, 토큰4 하나를 만들 때 약 18B가 활성화돼요. 실행하려면 전체 가중치를 저장할 메모리를 확보해야 해요. 공식 zai-org/GLM-5.3-Flash 모델은 SGLang이나 vLLM에서 여러 GPU에 나눠 올려 실행해요.

Mac에서는 커뮤니티가 양자화5하고 MLX 형식으로 변환한 파일을 사용해요. oMLX 0.7.0은 GLM-5.3-Flash의 Lightning MTP6와 DFlash2를 지원해요. DFlash2를 사용할 때는 incoai/GLM-5.3-Flash-DFlash2 초안 모델을 함께 준비하세요. 두 방식은 필요한 모델 파일이 다르므로 원하는 가속 방식을 먼저 고르면 준비가 쉬워져요.

GLM-5.3-Flash의 두 실행 경로
장비모델 파일실행 프로그램
멀티 GPU 서버공식 zai-org/GLM-5.3-FlashSGLang 또는 vLLM
대용량 메모리 Mac커뮤니티 MLX 양자화 변환본oMLX 0.7.0
서류가 든 초록 상자와 어두운 블록 상자 아래에 큰 블록 줄과 작은 블록 줄이 놓여 있어요.
장비에 맞는 모델 파일과 실행 프로그램을 함께 선택하세요.

Mac에서 MLX-VLM 서버를 열고 API를 확인해요

Mac 경로는 mlx-community/GLM-5.3-Flash-4bit 변환본과 mlx-vlm을 사용해요. 모델 카드에는 파일 크기가 190GiB이고 메모리 256GB 이상의 Mac이 필요하다고 안내돼 있어요. 이 아키텍처는 mlx-lm이 아니라 mlx-vlm 사용 경로로 제시되므로 실행기와 체크포인트7를 함께 맞춰요.

먼저 서버를 127.0.0.1:8080에 열고 /v1/models에서 모델 ID가 응답하는지 확인해요. 목록에 mlx-community/GLM-5.3-Flash-4bit가 보이면 같은 ID로 짧은 코드 질문을 보내요. 응답의 choices[0].message.content에 첫 요소와 빈 입력 처리를 설명하는 문장이 돌아오면 기본 텍스트 경로를 확인한 거예요.

명령을 찾지 못하면 같은 Python 환경에 mlx-vlm이 설치됐는지 확인하고, 체크포인트 로드 오류가 나면 mlx-vlm 버전과 정확한 모델 ID를 확인해요. 메모리 오류가 나면 실행 중 다른 앱이 쓰는 통합 메모리8를 확인해요. 모델 카드의 190GiB 파일과 256GB 이상 권장 조건도 함께 고려하세요.

MLX-VLM을 설치하고 로컬 서버 시작
python -m pip install -U mlx-vlm
mlx_vlm.server --model mlx-community/GLM-5.3-Flash-4bit --host 127.0.0.1 --port 8080
Apple Silicon의 MLX-VLM 경로에서 변환본을 읽고 loopback 서버를 열어요.
서버 상태와 모델 ID 확인
curl --fail-with-body http://127.0.0.1:8080/v1/models
모델 목록에서 실행에 사용할 식별자를 확인해요.
Mac 서버에 짧은 코드 질문 보내기
curl --fail-with-body http://127.0.0.1:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"mlx-community/GLM-5.3-Flash-4bit","messages":[{"role":"user","content":"Explain this function empty-input behavior in one sentence: def first_item(items): return items[0]"}],"temperature":0,"max_tokens":128}'
응답 본문에서 함수 동작 설명이 끝까지 돌아오는지 확인해요.

GPU 서버를 16K 문맥으로 시작해요

아래 명령 중 사용할 프로그램에 맞는 하나를 실행하세요. GPU_COUNT=8은 물리 GPU 여덟 장을 사용하는 예시예요. 설치한 GPU 수와 프로그램이 지원하는 텐서 병렬9 구성에 맞춰 값을 바꾸세요. GPU마다 메모리 용량이 다르면 모델을 균등하게 나누는 데 제약이 생길 수 있어요.

두 명령 모두 문맥을 16K로 설정해요. 모델을 올린 뒤에도 KV 캐시10와 작업 공간에 쓸 메모리가 남아 있어야 해서, 처음에는 이 길이로 시작하는 편이 좋아요. 짧은 질문에 답하는지 확인한 뒤 실제로 읽힐 문서 길이까지 늘리세요.

서버 주소는 127.0.0.1:8000이에요. 같은 컴퓨터에서 접속할 수 있고, 외부에서는 접속할 수 없어요. 팀원에게도 열어 줄 때는 인증과 접근 통제를 먼저 설정하세요. 요청에 사내 자료가 들어간다면 로그의 저장 범위와 보관 기간도 정해야 해요.

SGLang으로 멀티 GPU 서버 시작하기
GPU_COUNT=8 # Change this to the number of physical GPUs
python -m sglang.launch_server   --model-path zai-org/GLM-5.3-Flash   --tp "$GPU_COUNT"   --host 127.0.0.1   --port 8000   --context-length 16384
실제 GPU 수에 맞춰 TP를 설정하고 127.0.0.1:8000에서 서버를 시작해요.
vLLM으로 멀티 GPU 서버 시작하기
GPU_COUNT=8 # Change this to the number of physical GPUs
vllm serve zai-org/GLM-5.3-Flash   --tensor-parallel-size "$GPU_COUNT"   --host 127.0.0.1   --port 8000   --max-model-len 16384   --gpu-memory-utilization 0.90
실제 GPU 수로 텐서 병렬을 설정해 로컬 서버를 열어요.

첫 답변을 받고 속도를 확인해요

모델 로드가 끝나고 서버가 요청을 받을 준비가 되면 새 터미널을 열어 아래 명령을 실행하세요. 질문에 대한 답이 조금씩 출력되면 스트리밍 응답이 작동하는 거예요. 답변이 끝날 때까지 확인하고, 각 GPU의 메모리 사용량과 서버 로그도 살펴보세요.

한 번 실행해 준비를 마친 뒤 같은 질문을 세 번 보내세요. 첫 토큰이 나올 때까지 걸린 시간, 디코드11 속도, 최대 메모리 사용량의 중앙값을 기록하면 다음 설정과 비교하기 좋아요. 입력을 처음 읽는 요청과 캐시를 재사용하는 요청은 따로 기록하세요. 문서를 읽는 양이 달라지면 대기 시간도 달라져요.

Mac에서 어느 정도 속도로 답하는지 궁금하다면 공개된 M5 Ultra 기록을 참고할 수 있어요.

공개 기록의 Mac은 M5 Ultra 256GB·80코어 GPU예요. 커뮤니티 MLX oQ4 MTP 변환본을 oMLX 0.7.0으로 실행했고, code_python 입력에 출력 예산 128토큰, temperature 0을 사용했어요. KV 캐시는 TurboQuant 4비트, 메모리 가드는 aggressive였어요. 아래 수치는 이 조합에서 얻은 결과예요.

M5 Ultra 256GB의 GLM-5.3-Flash 공개 기록
입력 길이프리필디코드
4K 토큰2,270 tok/s64.0 tok/s
16K 토큰2,313 tok/s83.6 tok/s

여러 개발자가 함께 쓰는 서버는 동시 요청도 시험해보세요. 예를 들어 팀원 네 명이 같은 시간에 질문한다면, 네 요청을 함께 보내 각각의 첫 응답과 완료 시간을 기록해요. 그동안 서버가 처리한 총 토큰 수도 함께 기록하면 개인의 대기 시간과 팀 전체 처리량12을 모두 확인할 수 있어요.

짧은 질문 보내기
curl -N http://127.0.0.1:8000/v1/chat/completions   -H "Content-Type: application/json"   -d '{
    "model": "zai-org/GLM-5.3-Flash",
    "messages": [
      {"role": "user", "content": "대규모 분산 추론 환경의 이점을 정리해줘."}
    ],
    "max_tokens": 512,
    "stream": true
  }'
127.0.0.1:8000으로 스트리밍 요청을 보내고 응답 종료를 확인해요.
노트북이 굽은 경로를 따라 서버 여덟 대와 연결되고 각 서버 위에 초록색 체크 표시가 있어요.
GPU별 메모리와 통신을 살펴 모든 가속기가 요청을 처리하는지 확인해요.

긴 문서와 동시 요청에 맞춰 설정해요

긴 문서를 읽힐 때는 원하는 정보를 실제로 찾아내는지 확인해야 해요. 날짜나 예외 조건처럼 답을 확인할 수 있는 내용을 문서 중간에 넣고 질문해보세요. 입력을 16K보다 길게 늘릴 때마다 답변의 정확성과 메모리 사용량을 함께 기록하세요.

문맥 길이, 캐시 설정, MTP는 하나씩 바꿔보세요. 그래야 어떤 설정이 속도를 높였는지 알 수 있어요. GPU별 메모리와 서버 로그도 함께 남겨두면 오류가 났을 때 원인을 찾기 쉬워요. 짧은 질문에는 답하지만 긴 입력에서만 오류가 난다면 KV 캐시와 작업 공간에 쓸 메모리가 부족한지 먼저 살펴보세요.

내 작업으로 모델 선택을 마무리해요

모델 선택은 자주 하는 작업으로 마무리하는 게 좋아요. 함수가 쓰인 위치 찾기, 설정 변경 커밋 요약, 두 파일의 차이 설명처럼 답을 확인할 수 있는 질문을 몇 개 준비하세요. 같은 자료를 작은 모델과 GLM에 넣고, 답의 정확성과 응답 시간, 메모리 사용량을 비교해보세요.

작은 모델로도 필요한 답을 얻고 여러 사람의 요청을 처리할 수 있다면 가볍게 운영할 수 있어요. GLM이 더 잘 처리하는 중요한 작업이 있다면 그 차이를 기준으로 선택하세요. 사용자가 늘어나도 기다리는 시간이 괜찮은지까지 확인하면 장비를 고르는 데 도움이 돼요.

잘 작동한 조합은 모델 식별자, 프로그램 버전, GPU 구성, 문맥 길이, 동시 요청 수와 함께 저장해두세요. 다음 업데이트를 같은 질문으로 시험하면 성능이 좋아졌는지 바로 비교할 수 있어요. 문제가 생겨도 이전 설정으로 돌아갈 수 있고요.

수납장의 색 블록이 컨베이어와 계기판으로 이어지고 옆에 큰 블록 묶음과 색별 서류함이 있어요.
자주 하는 작업의 답변 품질과 대기 시간을 비교해 모델을 고르세요.

NVFP4에는 GLM5-next 로더를 사용해요

RadixArk/GLM-5.3-Flash-NVFP4 파일을 사용한다면 GLM5-next 모델 로더와 혼합 정밀도 MoE 커널을 포함한 SGLang 경로를 선택하세요. 이 파일은 전용 로더가 필요한 형식이에요. 사용할 SGLang 분기에 해당 로더와 커널이 포함돼 있는지 확인한 뒤 모델을 올리세요.

용어 각주

  1. GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.

    본문으로 돌아가기
  2. MLX — Apple이 개발하는 머신러닝 프레임워크로, Apple Silicon의 CPU와 GPU가 공유하는 메모리를 활용해 모델을 실행합니다.

    본문으로 돌아가기
  3. MoE — 여러 전문가 하위망 중 일부를 입력에 따라 선택해 사용하는 모델 구조입니다. 총 파라미터 수와 한 토큰 처리에 활성화되는 파라미터 수는 다를 수 있습니다.

    본문으로 돌아가기
  4. 토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.

    본문으로 돌아가기
  5. 양자화 — 모델의 가중치나 계산값을 더 적은 비트로 표현해 저장 공간과 메모리 사용량을 줄이는 방법입니다. 표현 단계가 거칠어져 정확도에도 영향을 줄 수 있습니다.

    본문으로 돌아가기
  6. MTP — 한 번에 여러 미래 토큰을 예측하도록 학습하는 목표 또는 이를 수행하는 모델 구성입니다. 추측 디코딩에서는 이 예측을 후보 토큰으로 제안할 수 있습니다.

    본문으로 돌아가기
  7. 체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.

    본문으로 돌아가기
  8. 통합 메모리 — CPU와 GPU가 같은 물리 메모리 풀을 공유하는 구조입니다.

    본문으로 돌아가기
  9. 텐서 병렬 — 모델 층 안의 행렬과 연산을 여러 장치로 분할해 함께 계산하는 방식입니다. 부분 결과를 모으기 위해 장치 간 통신이 필요합니다.

    본문으로 돌아가기
  10. KV 캐시 — 어텐션에서 이전 토큰의 키·값을 저장해 다음 토큰 생성 때 재사용하는 메모리입니다. 문맥 길이와 배치 크기에 따라 용량이 달라집니다.

    본문으로 돌아가기
  11. 토큰 디코드 — 입력과 앞서 만든 답변을 바탕으로 다음 출력 토큰을 차례로 생성하는 단계입니다.

    본문으로 돌아가기
  12. 처리량 — 일정 시간 동안 처리하거나 생성한 작업량입니다. 토큰/초, 요청/초처럼 단위를 함께 확인해야 비교할 수 있습니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
GLM-5.3-Flash는 질문이나 문서를 입력하면 답변을 만들고, 코드 작성을 도와주는 언어 모델이에요. 로컬에서 실행하는 방법은 크게 두 가지예요. 공식 모델을 여러 GPU에 나눠 올리거나, 압축한 MLX 변환본을 대용량 메모리의 Mac에서 실행할 수 있어요. 여기서는 장비에 맞는 실행 경로를 고르고, 서버를 시작해 첫 답변을 받는 과정을 설명해요.
필요한 메모리는 어느 정도인가요?
Mac 경로는 `mlx-community/GLM-5.3-Flash-4bit` 변환본과 `mlx-vlm`을 사용해요. 모델 카드에는 파일 크기가 190GiB이고 메모리 256GB 이상의 Mac이 필요하다고 안내돼 있어요. 이 아키텍처는 `mlx-lm`이 아니라 `mlx-vlm` 사용 경로로 제시되므로 실행기와 체크포인트를 함께 맞춰요.
조건과 출처는 어디서 확인하나요?
명령을 찾지 못하면 같은 Python 환경에 `mlx-vlm`이 설치됐는지 확인하고, 체크포인트 로드 오류가 나면 `mlx-vlm` 버전과 정확한 모델 ID를 확인해요. 메모리 오류가 나면 실행 중 다른 앱이 쓰는 통합 메모리를 확인해요. 모델 카드의 190GiB 파일과 256GB 이상 권장 조건도 함께 고려하세요.

실행 레시피

장비별 설정

한 사람이 사용할 때

사용할 장비를 고르면 실행 명령과 조정할 옵션이 나옵니다.

가용 메모리: 236GB / 대역폭: 1200GB/s

운용 프로필

Apple Mac Studio M5 Ultra (256GB)

메모리 적정

권장 런타임: oMLX (Q4_K_M · MLX 체크포인트) · 문서화된 런타임 설정

설치 직후 처음 실행하거나 매일 안정적으로 사용할 때

선택 프로필 문맥

16,384 토큰

런타임 문서 기반Studio M5 Ultra 256GB · Q4 · 요청 1개

런타임 문서에 따른 시작 설정입니다. 아래 순서로 조정하며 속도를 비교하세요.

계산기 예상 디코드

66.9 ~ 100.3 tok/s

단일 사용자 예상치

계산기 예상 TTFT

5.9 ~ 8.9 초

프리필: 1850.4 ~ 2775.6 tok/s

예상 메모리 점유

약 192.94GB / 236GB

남은 여유: 약 43.1GB

서버 주소

http://127.0.0.1:8000

로컬 전용 127.0.0.1

예상치는 계산기의 추천 양자화·가속과 16,384토큰 기준입니다. 위 실행 설정의 실측값은 아닙니다.

이 프로필의 실제 설정

적용값왜 이렇게 잡았나
가중치Q4_K_M · MLX 체크포인트MLX 모델 디렉터리를 사용합니다. GGUF의 Q4_K_M과 같은 파일 형식이 아닙니다.
입력 길이 확인16,384요청 전 모델 설정의 입력 제한을 확인합니다. 이 실행 명령은 문맥 길이를 지정하지 않습니다.
KV 캐시모델 설정에서 확인이 실행 명령은 KV 캐시 정밀도를 지정하지 않습니다.
프리필 배치런타임 설정에서 확인llama.cpp의 batch-size와 ubatch-size를 MLX 설정값으로 대신 쓰지 않습니다.
동시 요청1한 요청의 속도를 확인합니다. 여러 요청의 합산 처리량과 구분합니다.
메모리 여유2GB 이상모델을 불러온 뒤 실제 메모리와 스왑 여부를 확인합니다.

Studio M5 Ultra 256GB 실행 명령어 (oMLX)

Apple Silicon · MLX 모델 · 메모리 가드
MODEL_DIR="$HOME/.omlx/models"
omlx serve \
  --model-dir "$MODEL_DIR" \
  --host 127.0.0.1 \
  --port 8000 \
  --max-concurrent-requests 1 \
  --memory-guard balanced
먼저 이 설정으로 기준 속도를 기록한 뒤 아래 튜닝 순서를 따라 한 항목씩 바꿉니다.

실행 후 확인

  1. 01서버 시작 로그에서 모델 적재 완료와 실제 컨텍스트 길이를 확인합니다.
  2. 02준비 실행 뒤 요청은 하나씩 보냅니다. 길이가 같은 서로 다른 입력 세 개로 첫 입력 처리 시간을 기록합니다.
  3. 03같은 입력을 반복한 결과는 캐시 재사용으로 따로 기록합니다. 첫 입력 결과와 합치지 않습니다.
  4. 04프리필 tok/s, 디코드 tok/s, 피크 메모리를 함께 기록한 뒤 한 항목씩만 바꿉니다.

바뀌는 점

  • 문맥과 동시 요청을 보수적으로 잡아 장비의 최대 처리량보다 낮게 나올 수 있습니다.

한 항목씩 조정

속도를 올리는 순서

여러 값을 한꺼번에 바꾸면 원인을 찾기 어렵습니다.

  1. STEP 1

    기준값 저장

    첫 입력과 캐시 재사용을 구분하고 각각 세 번 기록합니다. 프리필·디코드·피크 메모리를 함께 비교합니다.

    멈출 때: 오류가 있거나 메모리 여유가 2GB보다 작으면 다음 단계로 넘어가지 않습니다.

  2. STEP 2

    프리필 청크 조정

    1,024 → 2,048 → 4,096 순서로 올리며 긴 입력의 TTFT와 피크 메모리를 비교합니다.

    멈출 때: TTFT가 줄지 않거나 메모리 정점이 급증하면 직전 값으로 돌아갑니다.

  3. STEP 3

    KV 캐시 조정

    문맥이 부족할 때만 F16/BF16 기준값과 Q8 캐시를 같은 질문으로 비교합니다.

    멈출 때: 출력 차이가 생기거나 필요한 문맥이 이미 확보됐다면 기본 정밀도를 유지합니다.

  4. STEP 4

    MTP·투기 디코딩

    지원 모델에서만 켠 뒤 코드와 일반 문장을 나눠 수락률과 실제 디코드 tok/s를 측정합니다.

    멈출 때: 세 번의 중앙값이 기준보다 좋아지지 않으면 끕니다.

  5. STEP 5

    문맥 확장

    실제로 필요한 길이까지 두 배씩 늘리고 중간 정보 검색과 스왑 여부를 확인합니다.

    멈출 때: 검색 정확도가 떨어지거나 스왑·메모리 압축이 시작되면 한 단계 줄입니다.

내 장비 측정 기록 보내기

같은 조건으로 3회 이상 측정한 JSON을 가져오세요. 전송 버튼을 누르기 전에는 이 브라우저에서만 확인합니다.

장비·모델·실행 조건과 측정값만 받습니다. 질문·답변·원본 로그·파일 경로는 넣지 마세요.

기록 파일이 없다면, 실행 중인 로컬 서버에서 측정 도구로 만들 수 있습니다. Node.js 20 이상이 필요하며 결과를 자동 전송하지 않습니다.

검토한 이용자 제출 기록입니다. 이 사이트의 직접 측정과는 구분합니다.

설정 오류 제보

선택한 설정에서 막힌 부분을 알려주세요. 제보는 관리자만 확인합니다.

전송할 설정 · Studio M5 Ultra 256GB · GLM-5.3-Flash (MoE) · 균형 설정

수정 내역

사이트의 안내가 바뀐 기록입니다. 설치된 엔진·모델 버전을 자동으로 확인한 결과는 아닙니다.

  1. 장비·프로필 저장과 다시 열기 추가

    실행 가능한 프로필은 장비와 함께 이 브라우저에 최대 5개까지 저장하고, 가이드 목록에서 다시 열 수 있게 했습니다. 저장한 뒤 공개 설정이 바뀌거나 프로필이 없어지면 실행 전에 다시 확인하도록 안내합니다.

  2. 실행 엔진 설명으로 이어지는 링크 추가

    설정에 표시된 엔진 이름에서 해당 실행 프로그램의 설명으로 이어지도록 했습니다. 엔진이 확인되지 않은 경로에는 임의의 프로그램을 연결하지 않습니다.