TRENDSHIFT 딥다이브 · 일간 #20 · 2026-06-18

GLM-5 딥다이브
— Apache-2.0로 풀린 프론티어급 '에이전트 엔지니어링' MoE

GLM-5는 Zhipu AI(Z.ai, 옛 THUDM)가 만든 초거대 언어모델이다. 총 744B(7,440억) 파라미터를 품고 있지만, 토큰 하나를 처리할 때 그중 40B(400억)만 깨워 쓰는 MoE(전문가 혼합) 구조다 — 덩치는 거대한데 한 번 쓰는 연산은 40B급. 한 저장소 안에 GLM-5 → 5.1 → 5.2가 차곡차곡 쌓여 있고, 키워드는 "바이브 코딩에서 에이전트 엔지니어링으로" — 한 번에 코드를 토해내는 걸 넘어, 수백 라운드·수천 번의 도구 호출을 끈질기게 이어가는 장기 자율 작업에 맞춰 다듬었다. 코딩 벤치마크에서 오픈소스 1위를 자처하며, 라이선스는 제약 없는 Apache-2.0. (저장소: zai-org/GLM-5 · '문서 전용' 런치 허브 · ★3.3k · Apache-2.0 · 최신 GLM-5.2 · 기술보고서 arXiv 2602.15763)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리(저장소) 구조 해부
  6. 학습 포인트 (기술별)
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

한 문장으로 이 프로젝트가 뭘 하는지부터.

GLM-5 = "거대한 두뇌(744B)를 통째로 켜지 않고, 질문마다 필요한 전문가 40B만 깨워 쓰는, 코딩·에이전트 특화 오픈 LLM." 중국 Zhipu AI가 공개한 이 모델은 덩치(총 파라미터)와 비용(활성 파라미터)을 분리한 게 핵심이다. 그리고 단순 채팅 모델이 아니라, "오래 돌릴수록 결과가 좋아진다"는 장기 자율 작업(agentic)에 무게를 뒀다.

한 가지 먼저 짚을 것 — 이 GitHub 저장소(zai-org/GLM-5)는 코드가 거의 없는 '런치 허브(모델 카드)'다. 파일이 16개뿐이고, 실제 모델 가중치와 설정(config.json 등)은 전부 Hugging Face에 있다. 그래서 이 문서는 "코드를 한 줄씩 읽는" 공부가 아니라, "프론티어 LLM 한 대가 어떤 설계로, 어떻게 배포·서빙되는지"를 해부하는 공부다 — 그게 이 레포가 진짜 가르쳐 주는 것이다.

🧠 한 줄 비유

"한 명의 만물박사"가 아니라, "744명의 전문가가 대기하는 종합병원에서, 환자마다 담당 40명만 호출하는 것"

보통의 밀집(dense) 모델은 질문이 뭐든 두뇌 전체를 한꺼번에 굴린다 — 감기 환자에게도 병원 의사 전원이 달려드는 셈이라, 똑똑하지만 비싸다.

GLM-5의 MoE는 다르다. 접수처(라우터)가 "이 토큰엔 이 전문가들"이라며 744B 중 40B어치 전문가만 호출한다. 그래서 지식의 총량은 744B급인데, 한 번 추론하는 비용은 40B급이다. 큰 머리, 가벼운 발놀림.

용어
MoE (Mixture of Experts, 전문가 혼합)
모델 내부를 여러 개의 '전문가(작은 신경망)'로 나눠 두고, 토큰마다 라우터가 그중 일부만 골라 쓰는 구조. 전체 파라미터(744B)는 거대하지만 매 토큰에 실제로 계산하는 '활성 파라미터'(40B)는 적어, 큰 지식과 낮은 추론비용을 동시에 노린다. 744B-A40B 표기에서 A=Active(활성).
용어
활성 파라미터 (Active Parameters)
토큰 하나를 처리할 때 실제로 계산에 참여하는 가중치의 수. GLM-5는 총 744B 중 40B만 활성. 추론 속도·메모리 대역폭 비용은 대략 이 활성값에 비례하므로, "총 744B인데 40B처럼 빠르다"가 MoE의 세일즈 포인트다. (참고: 이전 세대 GLM-4.5는 총 355B / 활성 32B였다.)
용어
에이전트(Agentic) 작업 · 장기 지평(Long-horizon)
모델이 한 번 답하고 끝내는 게 아니라, 도구를 호출하고 → 결과를 읽고 → 다음 수를 정하는 루프를 수백·수천 번 이어가며 큰 문제를 푸는 것. GLM-5의 캐치프레이즈 "에이전트 엔지니어링"이 가리키는 영역으로, "오래 돌릴수록 잘한다"가 목표다.

정리하면 GLM-5가 한 저장소에서 보여주는 것은 셋이다: ① 거대 MoE를 싸게 굴리는 아키텍처 트릭(희소 어텐션·IndexShare·MTP), ② 1M(100만) 토큰 장문맥, ③ 장기 자율 작업에 맞춘 후처리(RL) 설계. 그리고 이 모든 걸 Apache-2.0으로 풀었다.

2왜 주목받는가

TrendShift 일간 20위 — 프론티어를 향해 달려드는 오픈 모델.

2026년의 LLM 판은 "닫힌 프론티어(Claude·GPT·Gemini) vs 빠르게 추격하는 오픈웨이트(DeepSeek·Qwen·GLM)"의 구도다. GLM-5가 시선을 끄는 건, 그 격차를 '코딩·에이전트'라는 가장 실전적인 전장에서, 제약 없는 라이선스로 좁혔다고 주장하기 때문이다. 이유를 다섯으로 정리한다.

① Apache-2.0 오픈웨이트인데 프론티어에 근접

가장 큰 화제. README에 따르면 GLM-5.2는 터미널에서 실제 작업을 시키는 Terminal-Bench 2.1에서 81.0점을 기록 — Claude Opus 4.8(85.0)에 불과 몇 점 차이고 Gemini 3.1 Pro는 앞선다고 밝힌다. "닫힌 최상위 모델 바로 아래"를, 그것도 상업적 사용까지 자유로운 Apache-2.0으로 받을 수 있다는 게 핵심 매력이다.

② "바이브 코딩"을 넘어 "에이전트 엔지니어링"

대부분의 코딩 모델은 한두 번에 그럴듯한 코드를 뱉지만, 길게 끌면 금세 밑천이 떨어져 정체한다. GLM-5.1의 핵심 주장은 그 반대 — 수백 라운드·수천 번의 도구 호출에 걸친 최적화를 끈질기게 이어가고, "오래 돌릴수록 결과가 좋아진다"는 것. 복잡한 문제를 쪼개고, 실험을 돌려 결과를 읽고, 막힌 지점을 정확히 짚어 전략을 수정하는 '엔지니어처럼 일하는' 능력을 내세운다.

③ 1M 토큰 장문맥을 '싸게' 해내는 아키텍처

GLM-5.2는 견고한 100만 토큰 컨텍스트를 표방한다. 단순히 길게 늘린 게 아니라, DeepSeek Sparse Attention(DSA)로 어텐션 비용을 줄이고, 새 기법 IndexShare1M 문맥에서 토큰당 연산량(FLOPs)을 2.9배 절감했다. "긴 문맥 = 비싼 문맥"이라는 통념을 설계로 깬 게 기술적으로 흥미롭다.

④ 빠른 출시 케이던스 + 당일 생태계 지원

GLM-5 → 5.1 → 5.2가 짧은 간격으로 쏟아졌고(저장소 최종 갱신 2026-06-17), 공개와 동시에 vLLM·SGLang·Transformers·KTransformers + 화웨이 Ascend NPU까지 추론 레시피가 붙어 나왔다. "공개됐는데 돌릴 방법이 없다"가 아니라, 첫날부터 서빙 가능한 상태로 던진다.

⑤ 후처리 RL 인프라(slime)까지 함께 공개

모델만 던지는 게 아니라, 이를 만든 비동기 강화학습(RL) 인프라 slime(THUDM/slime)도 오픈소스로 공개했다. "어떻게 이만큼 끌어올렸나"의 레시피 일부를 함께 푼 셈이라, 연구·재현 가치가 크다.

모델총/활성 파라미터성격
닫힌 프론티어
(Claude·GPT·Gemini)
비공개최상위 성능. 단 가중치 비공개·API 종속·사용 제약.
오픈 dense 모델전부 활성다루기 쉽지만, 같은 성능을 내려면 추론비용이 큼.
GLM-5 (MoE)744B / 활성 40B큰 지식·낮은 활성비용. Apache-2.0 + 당일 서빙 + 에이전트 특화.
강점
"내 인프라 위에서 도는 프론티어급 코딩 에이전트"

API에 데이터를 보내기 곤란하거나, 장기 에이전트 작업을 대량으로 싸게 돌려야 하는 팀에게 GLM-5는 매력적인 선택지다. 가중치를 직접 받아 사내 GPU에서 서빙하면서도, 코딩·툴 사용 성능은 최상위 근처 — 이 조합이 2026년에 희소하다.

냉정하게 보기
"오픈"이라고 만만하진 않다 — 돌리는 데 8-GPU 노드가 필요

가중치가 공개됐다고 노트북에서 도는 건 아니다. 744B는 FP8로도 가중치만 약 750GB라, 현실적으로 H100/H200 8장짜리 노드(텐서 병렬 8)가 사실상 최소선이다. 또 벤치마크 수치는 제작사(Zhipu) 발표 기준이며 일부는 내부 벤치(CC-Bench-V2)다 — 독립 검증 전까지는 "주장"으로 받아들이는 게 안전하다. 7번 섹션에서 현실적인 하드웨어 그림을 따로 정리한다.

3기술 스택 전체 지도

README · requirements.txt · Ascend 배포 문서에서 직접 확인한 실제 구성.

이 저장소는 코드가 아니라 '모델 카드'라서, 여기서 말하는 '기술 스택'은 두 층으로 나뉜다 — (가) 모델 그 자체를 구성하는 부품(나) 그 모델을 실제로 돌리는 추론·서빙 생태계. 둘을 나눠서 본다.

ⓐ 모델 본체 — 4가지 핵심 부품

부품무엇역할 / 효과
MoE 백본전문가 혼합 트랜스포머총 744B 중 토큰당 40B만 활성. glm_moe_dsa라는 모델 타입으로 Transformers에 등록.
DSADeepSeek Sparse Attention(희소 어텐션)모든 토큰쌍을 보지 않고 일부만 골라 봐서, 긴 문맥의 어텐션 비용을 크게 절감.
IndexShare인덱서 공유(GLM-5.2 신규)희소 어텐션 4개 층마다 같은 인덱서를 재사용 → 1M 문맥 토큰당 FLOPs 2.9× 절감.
MTP 헤드Multi-Token Prediction(다중 토큰 예측)투기적 디코딩용. 다음 토큰 여러 개를 미리 추측해 생성 속도를 높임(5.2에서 수용 길이 +20%).

ⓑ 모델 라인업 — 한 저장소, 3세대 × 2정밀도

흥미롭게도 세 세대(5/5.1/5.2)가 모두 같은 사이즈 744B-A40B다. 커진 건 파라미터가 아니라 '학습·후처리의 질'이다. 각 세대마다 BF16(원본)과 FP8(경량) 두 정밀도가 Hugging Face에 올라와 있다.

모델크기정밀도비고
GLM-5.2 (최신)744B-A40BBF16 / FP81M 문맥, IndexShare, 개선된 MTP, '유연한 추론 노력'.
GLM-5.1744B-A40BBF16 / FP8장기 에이전트 지속성 강화(수백 라운드·수천 툴콜).
GLM-5744B-A40BBF16 / FP8최초 공개. Vending Bench 2 오픈소스 1위.

ⓒ 추론·서빙 런타임 — 첫날부터 붙은 생태계

런타임성격비고(문서 기준)
vLLM고성능 서빙 엔진v0.23.0+. MTP 투기적 디코딩·툴콜 파서 지원.
SGLang고성능 서빙 엔진v0.5.13+. EAGLE 투기적 디코딩 경로.
Transformers표준 추론 라이브러리requirements.txt 기준 transformers>=5.12.0. 모델 문서 glm_moe_dsa.
KTransformers로컬·이종 추론CPU+GPU 혼합 등 제한된 자원에서 큰 MoE를 굴리는 경로.
xLLM / *-Ascend화웨이 Ascend NPUvLLM-Ascend·SGLang-Ascend로 비(非)엔비디아 가속기 지원.

ⓓ 저장소 자체의 의존성 — 딱 세 줄

코드가 없으니 requirements.txt도 단출하다. 모델을 직접 구현한 게 아니라 표준 도구를 가리킬 뿐이다.

# requirements.txt — 저장소 전체의 파이썬 의존성
transformers>=5.12.0   # 모델 로딩/추론 (glm_moe_dsa 지원 버전)
accelerate>=1.14.0     # 멀티-GPU 분산 배치
pre-commit>=4.6.0      # 문서 저장소용 린트 훅(공백/yaml/대용량 파일 차단)
용어
BF16 / FP8 (정밀도)
가중치를 몇 비트로 저장하느냐. BF16=16비트(원본 품질), FP8=8비트(용량·메모리 절반, 약간의 품질 손해). 744B는 BF16면 가중치만 ~1.5TB라 현실적으로 FP8(~750GB)이 실전 배포의 기본 경로다. 저장소가 FP8 버전을 공식 제공하는 이유.
용어
서빙 엔진 (vLLM · SGLang)
LLM을 API 서버로 띄워, 여러 요청을 빠르게 동시 처리해 주는 전용 소프트웨어. PagedAttention·연속 배칭·투기적 디코딩 같은 최적화로 단순 transformers 추론보다 처리량이 몇 배 높다. GLM-5는 둘 다 당일 지원.

4아키텍처 심화 분석

토큰 하나가 거대 MoE를 통과해 답이 되기까지 — 그리고 비용을 줄인 네 가지 트릭.

GLM-5의 설계 철학은 한 문장이다 — "성능은 프론티어급으로, 그러나 매 토큰의 계산은 최대한 아끼게." 그 절약을 네 군데에서 한다: ① 어떤 전문가를 켤지(MoE 라우팅), ② 어떤 과거를 볼지(DSA 희소 어텐션), ③ 인덱싱을 얼마나 재활용할지(IndexShare), ④ 토큰을 몇 개씩 뽑을지(MTP). 먼저 전체 그림을 보고, 하나씩 따라간다.

정직하게 짚기
정확한 층수·은닉차원·전문가 개수는 이 저장소에 없다

레이어 수, hidden size, 전문가 총 개수, RoPE 설정 같은 '숫자로 된 하이퍼파라미터'는 README가 아니라 Hugging Face의 config.json과 기술보고서(arXiv 2602.15763)에 있다. 아래 구조도는 README가 명시한 부품(MoE·DSA·IndexShare·MTP)만으로 그린 개념도이며, 구체 수치는 일부러 비워 뒀다(추정으로 채우지 않음).

먼저 전체 그림 한 장 (개념도)

입력 토큰들 [ "파이썬", "으로", "정렬", "함수", ... ] (최대 1M 토큰) │ │ ① 임베딩 — 토큰을 벡터로 ▼ ┌────────────── GLM-5 디코더 블록 ×N ──────────────┐ │ │ │ [ DSA 희소 어텐션 ] ← 모든 과거가 아니라 │ │ │ '인덱서'가 고른 일부만 봄 │ │ │ ※ IndexShare: 4개 블록마다 인덱서 재사용 │ │ ▼ │ │ [ 라우터 ] → 744B 전문가 중 일부만 선택 │ │ │ │ │ ▼ │ │ [ 활성 전문가 40B어치만 계산 ] (나머지는 잠듦) │ │ │ └───────────────────────┬─────────────────────────────┘ │ │ ② (옵션) 추론 모드 — 답하기 전 '생각'을 펼침 │ reasoning_effort = max / high, 끄려면 enable_thinking=false ▼ ┌────────────── 출력 단계 ──────────────┐ │ [ 메인 헤드 ] → 다음 토큰 1개 │ │ [ MTP 헤드 ] → 다음 토큰 여러 개 미리 │ │ 추측(투기적 디코딩) │ └─────────────────────────────────────────┘ │ ▼ 출력: 코드 / 도구 호출 / 답변 → (에이전트면) 결과를 읽고 다시 위로 루프

핵심 설계 패턴 ① — MoE 라우팅: 큰 머리, 가벼운 발놀림

블록마다 수많은 '전문가' FFN(작은 신경망)이 대기하고, 라우터가 토큰을 보고 그중 소수에게만 일을 맡긴다. 그래서 총 744B의 지식을 품되 매 토큰엔 40B만 계산한다. 이전 세대(GLM-4.5: 355B/32B)보다 총량을 2배 키우면서도 활성은 40B로 묶어, "지식은 늘리되 추론비용 증가는 최소화"한 게 5세대의 스케일링 방향이다. (사전학습 데이터도 23T → 28.5T 토큰으로 늘었다.)

핵심 설계 패턴 ② — DSA(희소 어텐션): 다 보지 않고 골라 본다

일반 어텐션은 토큰 수가 N이면 비용이 N²로 폭증한다 — 1M 토큰이면 감당 불가. DeepSeek Sparse Attention은 '인덱서'가 각 토큰이 정말 봐야 할 과거 토큰만 추려서 거기에만 어텐션을 건다. 덕분에 1M 문맥에서도 비용이 현실적으로 떨어진다. README의 표현은 "배포 비용을 크게 줄이면서 장문맥 능력을 보존". Transformers의 모델 타입 이름 glm_moe_dsa에 'moe + dsa'가 박혀 있는 이유다.

핵심 설계 패턴 ③ — IndexShare: 인덱싱을 4겹마다 한 번만

DSA가 "어디를 볼지" 고르려면 매 층마다 인덱서를 돌려야 하는데, 이게 또 비용이다. GLM-5.2의 IndexShare(arXiv 2603.12201)는 희소 어텐션 4개 층이 같은 인덱서 결과를 공유하게 만들어, 인덱싱을 4번이 아니라 1번만 하게 한다. 그 결과가 "1M 문맥에서 토큰당 FLOPs 2.9배 절감". 1M 컨텍스트를 '말은 되는데 비싼 기능'이 아니라 '실제로 쓸 만한 기능'으로 바꾼 핵심 한 수다.

핵심 설계 패턴 ④ — MTP: 토큰을 한 개씩 말고 여러 개씩

보통 LLM은 토큰을 한 번에 하나씩 뽑아 느리다. MTP(다중 토큰 예측) 헤드는 다음 토큰 여러 개를 미리 추측하고, 메인 모델이 그 추측을 한꺼번에 검증해 맞은 만큼 건너뛴다(=투기적 디코딩). GLM-5.2는 이 MTP 헤드를 개선해 한 번에 받아들여지는 길이를 최대 20% 늘렸다. 서빙 시 vLLM은 --speculative-config.method mtp, SGLang은 EAGLE 경로로 이 헤드를 활용한다.

핵심 설계 패턴 ⑤ — '생각의 양'을 조절하는 추론 모드

GLM-5는 답하기 전에 속으로 추론을 펼치는 thinking 모드를 켜고 끌 수 있다. 파라미터 reasoning_effortmax(기본)·high를 고르고, 아예 끄려면 enable_thinking=false. GLM-5.2는 여기에 '유연한 노력(flexible effort)'을 더해 여러 단계로 성능 ↔ 지연시간을 거래하게 했다. (벤치마크 재현은 Max 기준이라고 문서가 명시.)

# vLLM 서빙 예시 (문서의 GLM-5.1-FP8 기준) — MTP·툴콜·추론 파서가 한 줄에
vllm serve zai-org/GLM-5.1-FP8 \
  --tensor-parallel-size 8            # GPU 8장에 모델을 쪼개 올림
  --gpu-memory-utilization 0.85 \
  --speculative-config.method mtp \    # MTP 투기적 디코딩 켜기
  --speculative-config.num_speculative_tokens 3 \
  --tool-call-parser glm47 \           # 네이티브 도구 호출 파싱
  --reasoning-parser glm45 \           # thinking 출력 파싱
  --enable-auto-tool-choice
후처리(Post-training)
"오래 돌릴수록 잘한다"는 RL로 빚어졌다 — slime

GLM-5의 장기 에이전트 능력은 그냥 나온 게 아니라, 비동기 강화학습 인프라 slime(THUDM/slime)으로 다듬어졌다. LLM 규모에서 RL 학습이 비효율적이던 문제를 풀어, "더 잘게 쪼갠 후처리 반복"을 가능하게 했다는 것. 모델뿐 아니라 이 RL 스택까지 공개돼, 후처리 방법론을 연구하기 좋은 교본이 된다.

용어
투기적 디코딩 (Speculative Decoding)
작은/빠른 예측기가 다음 토큰 여러 개를 '미리 찍고', 큰 본모델이 한 번에 검증해 맞은 만큼 건너뛰는 가속 기법. 품질은 그대로 두고 속도만 올린다. GLM-5는 이 예측기를 모델 안의 MTP 헤드로 내장했다.
용어
텐서 병렬 (Tensor Parallelism, TP)
한 대에 안 들어가는 거대 모델의 각 층을 여러 GPU에 가로로 쪼개 동시에 계산하는 분산 방식. --tensor-parallel-size 8은 "GPU 8장에 나눠 싣는다"는 뜻. 744B가 8-GPU 노드를 기본 전제로 하는 이유.

5디렉토리(저장소) 구조 해부

파일 16개가 전부 — '코드 저장소'가 아니라 '런치 허브'다.

저장소를 열면 가장 먼저 놀라는 점 — 추론 코드도, 모델 설정 파일도, 가중치도 없다. 전부 합쳐 16개 파일이고, 대부분 문서(README·배포 가이드·라이선스)와 벤치마크 이미지다. 모델의 '실체'는 Hugging Face/ModelScope에 있고, 이 저장소는 "여기 모델 나왔으니 이렇게 받아서 이렇게 돌려라"를 안내하는 관문이다.

GLM-5/ ├── README.md ← ★ 영문 모델 카드: 5.2/5.1/5 소개·다운로드표·배포·인용 ├── README_zh.md 중문판(1:1 동일 내용) ├── LICENSE Apache-2.0 · © 2026 Zhipu AI · 추가 제약 없음 ├── requirements.txt 딱 3줄: transformers / accelerate / pre-commit ├── .pre-commit-config.yaml 문서 린트 훅(공백·yaml·비밀키 탐지·대용량 차단) │ ├── example/ │ └── ascend.md ← 화웨이 Ascend NPU 배포 + 추론 최적화 7기법(보석 같은 문서) │ ├── skills/ │ └── glm-master-skill/ │ └── SKILL.md GLM 에이전트 스킬 카탈로그(OCR·Image·V) — 문서 전용, clawhub 설치 │ ├── resources/ ← 벤치마크 차트 PNG 모음(숫자의 출처) │ ├── bench.png bench_51.png bench_52.png bench_52_lh.png │ ├── realworld_bench.png CC-Bench-V2 실세계 차트 │ ├── vending_bench.png Vending Bench 2 차트 │ ├── logo.svg wechat.png WECHAT.md │ └── .github/ PR/이슈 템플릿
위치역할 / 공부 포인트
README.md가장 먼저·끝까지 읽을 문서. 모델 라인업, 아키텍처 주장(DSA·IndexShare·MTP), 벤치마크, 서빙 명령이 전부 여기.
example/ascend.md이 저장소의 숨은 보석. 거대 MoE를 실제로 빠르게 서빙하는 추론 최적화 7가지가 정리돼 있다(6번 섹션 ⑤ 참고).
skills/glm-master-skill/GLM 주변 에이전트 스킬(GLM-OCR·Image·V) 카탈로그. npx clawhub install로 설치, ZHIPU_API_KEY 필요. 보안심사 통과 위해 스크립트 없는 '문서 전용'.
resources/*.png본문 수치의 1차 출처(차트 이미지). 표로 옮겨진 숫자의 근거를 눈으로 확인할 곳.
LICENSE순정 Apache-2.0. 상업적 사용·수정·재배포 허용, 사용분야 제약 없음 — '오픈웨이트' 중에서도 깨끗한 편.
한 줄 비유

이 저장소는 "신차 발표회장"이다. 실제 엔진(가중치)은 공장(Hugging Face)에 있고, 여기엔 사양서(README)·정비 매뉴얼(ascend.md)·성능 그래프(resources)·보증서(LICENSE)가 걸려 있다. 차를 뜯어보는 공부가 아니라, "이 차가 어떤 설계로 뭘 잘하고, 어떻게 출고·정비하는지"를 읽는 공부다.

6학습 포인트 (기술별)

이 레포에서 실제로 무엇을 배울 수 있는가 — 기술별 + 실습 아이디어.

학습 포인트 ①

MoE — '총 파라미터 ≠ 추론 비용'을 몸으로 이해하기

GLM-5는 "744B인데 40B처럼 빠르다"의 교과서다. 왜 총량을 키워도 추론비용이 덜 오르는지, 라우터가 전문가를 고른다는 게 무슨 뜻인지 — MoE의 직관을 잡기에 더없이 좋은 사례다.

실습 아이디어: Hugging Face의 config.json을 열어 전문가 총수·토큰당 선택 수(top-k)·활성 파라미터를 직접 찾아, "744B/40B"가 어디서 나오는지 계산해 본다.

학습 포인트 ②

희소 어텐션(DSA) — 장문맥을 '싸게' 만드는 법

1M 토큰을 다루려면 어텐션의 N² 비용을 깨야 한다. "모든 과거를 보지 말고, 인덱서가 고른 일부만 보게 한다"는 DSA의 발상은 장문맥 LLM의 최신 흐름(DeepSeek 계열)을 그대로 보여준다.

실습 아이디어: 일반(dense) 어텐션과 희소 어텐션의 비용을 N=1k/16k/1M으로 손계산해, IndexShare의 "2.9× 절감"이 왜 1M에서 의미가 큰지 표로 정리한다.

학습 포인트 ③

투기적 디코딩(MTP·EAGLE) — 품질 그대로 속도만 올리기

"다음 토큰 여러 개를 미리 찍고 한 번에 검증"이라는 트릭이 왜 공짜 속도인지, GLM-5의 내장 MTP 헤드로 구체적으로 본다. 요즘 서빙 엔진의 필수 기능이다.

실습 아이디어: vLLM에서 --speculative-config.method mtp를 켰을 때/껐을 때 토큰 생성 속도(tok/s)를 측정해 차이를 기록한다(작은 공개 모델로 대체 실습 가능).

학습 포인트 ④

프론티어 모델 '서빙'의 실제 — TP·FP8·파서

모델을 만드는 것만큼 돌리는 것도 공학이다. 텐서 병렬(TP=8), FP8 정밀도, 도구호출 파서(glm47)·추론 파서(glm45)가 한 줄 명령에 어떻게 조합되는지가 실전 LLMOps 그 자체다.

실습 아이디어: README의 vLLM/SGLang 서빙 명령을 한 줄씩 주석으로 해부하고, 같은 의미의 SGLang 명령으로 '번역'해 본다.

학습 포인트 ⑤

추론 최적화 엔지니어링 — ascend.md의 7가지 기법

저장소의 진짜 보석. 거대 MoE를 가속기에서 빠르게 굴리려는 시스템 레벨 최적화가 응축돼 있다: MoE 연산 융합(Mega-Fusion), 통신-연산 융합(AllReduce를 ReduceScatter+AllGather로 쪼개 파이프라이닝), PD 분리(Prefill/Decode 단계 분리)+프리픽스 캐싱, IndexCache+Chunked Prefill, W8A8 양자화.

실습 아이디어: 7기법을 "연산 줄이기 / 통신 줄이기 / 메모리 줄이기"로 분류하고, 각각이 지연(latency)·처리량(throughput) 중 무엇을 노리는지 한 줄씩 단다.

7하드웨어 / 시스템 요구사항

내 손으로 돌릴 수 있나? — 솔직히 말하면 '노트북은 불가'.

냉정하게 시작하자. 744B는 FP8로도 가중치만 약 750GB, BF16면 약 1.5TB다. 단일 GPU엔 절대 안 들어간다. README의 서빙 명령이 모두 --tensor-parallel-size 8인 것에서 보듯, 현실적 최소선은 고용량 GPU 8장짜리 노드다. (저장소가 정확한 VRAM 수치를 못박진 않았으므로 아래는 가중치 크기로부터의 합리적 추정이다.)

경로대략의 자원현실성
BF16 풀 정밀도가중치 ~1.5TB → GPU 16장급(2노드)연구기관/대형 클라우드용. 개인엔 비현실적.
FP8 (권장)가중치 ~750GB → H100/H200 ×8 (TP=8)자체 서빙의 사실상 기본선. 한 노드로 가능.
KTransformers(CPU+GPU 혼합)대용량 RAM + GPU 1~수장속도를 포기하고 '돌아가게'는 가능. 실험·맛보기용.
Ascend NPU화웨이 Atlas 계열 + W8A8비엔비디아 환경(중국권)용 공식 경로.
API / 웹챗하드웨어 0대부분의 학습자에게 현실적 출발점(아래).
현실적인 길
하드웨어가 없다면 — API와 웹챗으로 '능력'부터 체험

8-GPU 노드가 없는 대다수에겐, 가중치를 받기 전에 Z.ai API(docs.z.ai)·BigModel(bigmodel.cn)·웹챗(chat.z.ai)으로 모델의 코딩·에이전트 능력을 먼저 체감하는 게 합리적이다. "이 모델이 내 작업에 값을 하는가"를 확인한 뒤에, 자체 서빙(FP8 8-GPU)을 검토하면 된다.

용어
W8A8 양자화 (Ascend 경로)
가중치(Weight)와 활성값(Activation)을 둘 다 8비트로 낮춰 메모리·대역폭을 아끼는 기법. Ascend 문서는 QuaRot 전처리 + Flex SmoothQuant + SSZ 가중치 양자화를 조합한 하이브리드 W8A8을 쓴다. (저장소엔 INT4·GGUF 같은 더 가벼운 양자화는 포함돼 있지 않다.)

8직접 해볼 수 있는 실습 과제

난이도별로 — 가중치가 없어도 대부분 손으로 해볼 수 있다.

대부분의 서빙 엔진과 Z.ai API는 OpenAI 호환 인터페이스를 제공한다. 즉 모델만 바꾸면 익숙한 코드로 GLM-5를 부를 수 있다. 아래는 추론 모드를 켠 호출의 골격이다(엔드포인트·키는 환경에 맞게).

# OpenAI 호환 클라이언트로 GLM-5 호출 (개념 예시)
from openai import OpenAI
client = OpenAI(base_url="https://api.z.ai/v1", api_key="...")

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role":"user","content":"이 레포의 버그를 찾아 고쳐줘 ..."}],
    extra_body={"reasoning_effort":"high"}  # 생각 더 깊게 (끄려면 enable_thinking=false)
)
print(resp.choices[0].message.content)
실습 1

"오래 돌릴수록 잘한다"를 직접 시험난이도 ★☆☆ 입문

웹챗(chat.z.ai)이나 API로, 한 번에 끝나지 않는 다단계 작업(예: 작은 레포 리팩터링, 테스트 통과시키기)을 시킨다. reasoning_efforthigh로 켰을 때와 껐을 때(enable_thinking=false) 결과 품질·응답시간을 비교 기록한다.

실습 2

config.json으로 "744B/40B" 검산난이도 ★☆☆ 입문

Hugging Face zai-org/GLM-5.2config.json을 열어 전문가 총수·top-k·층수·hidden을 찾고, 총 파라미터와 활성 파라미터를 직접 어림 계산해 본다. README가 비워 둔 '숫자'를 1차 출처에서 확인하는 훈련.

실습 3

서빙 명령 해부 + SGLang으로 번역난이도 ★★☆ 중급

README의 vLLM 서빙 한 줄을 플래그별로 주석 달아 해부하고(--tensor-parallel-size, --speculative-config, --tool-call-parser …), 같은 의미의 SGLang 명령으로 옮긴다. 두 엔진의 옵션 철학 차이를 표로 정리.

실습 4

투기적 디코딩 속도 측정난이도 ★★☆ 중급

GLM-5가 없어도 OK — 작은 공개 모델 + vLLM으로 --speculative-config.method(MTP/EAGLE)를 켰을 때/껐을 때 tok/s를 재서, "투기적 디코딩이 공짜 속도"라는 주장을 수치로 확인한다.

실습 5

추론 최적화 7기법 분류 리포트난이도 ★★★ 고급

example/ascend.md의 7가지 최적화를 정독하고, 각 기법을 (연산↓ / 통신↓ / 메모리↓) × (지연↓ / 처리량↑) 매트릭스에 배치한 한 장짜리 분석 노트를 만든다. 가능하면 FP8 + KTransformers로 실제 서빙까지 시도.

9관련 기술 심화 학습 로드맵

GLM-5를 발판으로 '거대 MoE LLM의 설계·서빙'을 제대로 — 6주 계획.

주차주제학습 자료 / 할 일
1주차트랜스포머·디코더 기초"Attention Is All You Need" + GPT형 디코더 구조. 어텐션 N² 비용 직관 잡기.
2주차MoE의 모든 것라우터·top-k·로드밸런싱·활성 vs 총 파라미터. GLM-4.5→5 스케일링(355B/32B→744B/40B) 비교.
3주차장문맥 & 희소 어텐션DeepSeek Sparse Attention(DSA)·IndexShare 논문(arXiv 2603.12201). 1M 문맥 비용 문제.
4주차추론 가속투기적 디코딩(MTP·EAGLE)·KV 캐시·PagedAttention. vLLM/SGLang으로 직접 측정.
5주차대형 모델 서빙(LLMOps)텐서/파이프라인 병렬·FP8/W8A8 양자화·PD 분리·프리픽스 캐싱. ascend.md 정독.
6주차후처리(RL) & 에이전트 평가GLM-5 기술보고서(arXiv 2602.15763) + slime RL 인프라. Terminal-Bench·SWE-bench 류 이해.

10핵심 키워드 사전

문서·코드에 자주 나오는 용어 — 한 줄 정의.

용어의미
MoE전문가 혼합. 총 파라미터의 일부(전문가)만 토큰마다 켜는 구조. GLM-5=744B 총, 40B 활성.
활성/총 파라미터활성=토큰당 실제 계산되는 가중치(비용에 비례), 총=모델이 품은 전체 지식량.
DSADeepSeek Sparse Attention. 모든 과거가 아닌 인덱서가 고른 일부만 보는 희소 어텐션.
IndexShare희소 어텐션 4개 층이 인덱서를 공유 → 1M 문맥 토큰당 FLOPs 2.9× 절감(GLM-5.2).
MTPMulti-Token Prediction. 다음 토큰 여러 개를 미리 예측하는 헤드(투기적 디코딩용).
투기적 디코딩미리 찍고 한 번에 검증해 맞은 만큼 건너뛰는 생성 가속. 품질 동일, 속도↑.
reasoning_effort답하기 전 '생각'의 양 조절(max/high). enable_thinking=false로 끔.
TP (텐서 병렬)거대 모델을 여러 GPU에 가로로 쪼개 동시 계산. GLM-5는 보통 TP=8.
FP8 / W8A88비트 양자화. FP8=공식 경량 가중치, W8A8=가중치+활성값 8비트(Ascend 경로).
PD 분리Prefill(입력 처리)과 Decode(토큰 생성)를 분리 운영해 처리량을 올리는 서빙 기법.
slimeGLM 후처리에 쓰인 비동기 강화학습(RL) 인프라(오픈소스, THUDM/slime).
에이전트/장기지평도구 호출→결과 읽기→다음 수의 루프를 수백·수천 번 이어가는 자율 작업.

11참고 링크

원문으로 더 깊이 — 공식 소스 위주.