DGX Spark 한 대에서 Qwen3.6 35B와 27B를 비교해봤다
이번 글은 파라미터 수가 비슷한 Qwen3.6 35B(MoE)와 27B(dense)를 같은 프롬프트로 비교한 기록이다. 35B와 27B는 숫자상으로는 8B 차이일 뿐이지만, 35B는 MoE(Mixture of Experts)로 매번 모든 파라미터를 돌리는 게 아니라 활성화된 experts만 선택해서 계산하고, 27B는 dense라서 매번 모든 270억 개 파라미터를 다 계산해야 한다. 같은 파라미터 수라도 아키텍처가 다르면 속도와 퀄리티가 얼마나 달라지는지, 그 차이를 실제로 체감할 수 있는지 확인하는 게 이 비교의 핵심이다.
참고용으로는 내가 구독 중인 GPT-5.4-mini xhigh도 함께 넣었다. 상용 모델 중에서는 가성비가 좋아서, 로컬 모델과 나란히 비교해볼 만한 기준점으로 충분했다.
실험에 쓴 프롬프트는 단순했다. tmp 폴더 아래에 귀여운 고양이의 특성을 소개하는 웹 페이지를 만들라는 것. 여기에 계획, 파일 분리, 에이전트 병렬 작업 조건까지 붙으니, 단순한 랜딩 페이지가 아니라 작업을 어떻게 나누고 끝맺는지까지 보는 테스트가 됐다.
그래서 이 글은 35B와 27B를 메인으로, GPT-5.4-mini xhigh를 가성비 상용모델 대조군으로 정리한 기록이다.
실험에 쓴 프롬프트
“tmp 폴더 아래에 귀여운 고양이의 특성을 소개하는 웹 페이지 만들어줘. 파일을 적절히 쪼개어 작성하도록 계획하고, 에이전트 팀을 활용해서 병렬로 만들어”
이 프롬프트가 재미있는 이유는 단순한 랜딩 페이지를 요구하면서도, 동시에 “계획을 세우고”, “파일을 나누고”, “에이전트 팀을 활용해서 병렬로” 하라고 시켜 놓았기 때문이다. 결국 이건 코드를 얼마나 잘 쓰느냐보다, 작업을 얼마나 잘 분해하고 마무리하느냐를 보는 테스트에 더 가깝다.
⚠️ 모든 결과물은 프롬프트를 단 한 번 던져서 생성한 결과다. 수정, 피드백, 재시도, 파인튜닝, 보정 과정을 일절 거치지 않았다.
평가 요약
| 항목 | Qwen3.6 35B(MoE) | Qwen3.6 27B(dense) | GPT-5.4-mini xhigh |
|---|---|---|---|
| Reasoning | high | high | xhigh |
| 걸린 시간 | 10m 27s | 25m 51s | 4m 34s |
| 파일 수 | 3개 | 3개 | 3개 |
| 속도 | ★★★☆☆ (3) | ☆☆☆☆☆ (0) | ★★★★★ (5) |
| 정보전달력 | ★★☆☆☆ (2) | ★★★★★ (5) | ★★★★★ (5) |
| 심미성 | ★★★☆☆ (3) | ★★★★★ (5) | ★★★★☆ (4) |
| 코드 완성도 | ★★★☆☆ (3) | ★★★★★ (5) | ★★☆☆☆ (2) |
코드 완성도는 아래 기준으로 봤다.
- 기능 범위
- HTML/CSS/JS 분리
- 상태와 이벤트 처리
- 접근성(ARIA·키보드)
- 반응형 대응
- 나중에 손보기도 쉬운 구조인지
이 기준으로 점수를 매기면:
-
Qwen3.6 27B = 5점
- 3개 결과물 중 가장 “완성된 앱”에 가깝다.
- 섹션이 가장 많고 JS 기능도 가장 많다.
- 접근성과 키보드 네비게이션까지 챙겨 실제로 손볼 만한 구조가 잘 잡혀 있다.
-
Qwen3.6 35B = 3점
- 코드가 깨끗하고 읽기 쉬운 편이지만 범위가 좁다.
- 퀴즈 중심이라 동작은 안정적이지만, 접근성이나 확장성, 인터랙션 다양성은 부족하다.
- HTML 안의 inline onclick과 global 함수 노출도 있어 “깔끔하긴 한데 완성형”까지는 아니다.
-
GPT5.4-mini
- 시각적으로는 좋지만 코드 자체는 가장 단순하다.
- 동작도 렌더링 위주이고 상호작용도 제한적이다.
- 코드 완성도 관점에서는 깊이가 가장 얕다.
한 줄로 줄이면:
- Qwen3.6 27B는 기능/구조/접근성까지 가장 완성형
- Qwen3.6 35B는 잘 짜였지만 범위가 좁은 중간 수준
- GPT5.4-mini는 디자인은 좋지만 코드 완성도는 가장 단순했다.
Qwen3.6 35B(MoE): MoE 구조의 속도 장점
35B는 10분 27초가 걸렸다. MoE 구조라서 활성화된 experts만 계산하면 되니 밀도 높은 dense 모델 대비 확실히 빠르고, 구조도 안정적으로 잡았다. Claude Code에서는 HTML, CSS, JS를 나눠 맡기고 마지막에 리뷰까지 붙였다. 덕분에 초안이 빠르게 나오면서도, 결과물은 한 번 더 정돈된 느낌이 있었다. 아래 로그를 보면 작업이 어떻게 분담됐는지 바로 보인다.
실행 로그
● 완성! 3개 파일이 생성되고 리뷰까지 끝났습니다.
냥이 소개 🐱 웹 페이지 완료
4명의 에이전트가 병렬로 작업했습니다:
┌───────────────┬──────────────────────┐
│ 에이전트 │ 역할 │
├───────────────┼──────────────────────┤
│ HTML 에이전트 │ 페이지 구조 & 콘텐츠 │
│ CSS 에이전트 │ 스타일 & 애니메이션 │
│ JS 에이전트 │ 퀴즈 & 인터랙션 │
│ 리뷰 에이전트 │ 3개 파일 일괄 검토 & 수정 │
└───────────────┴──────────────────────┘
생성된 파일:
┌────────────┬───────┬───────────────────────────────────┐
│ 파일 │ 줄 수 │ 설명 │
├────────────┼───────┼───────────────────────────────────┤
│ index.html │ 194줄 │ HTML 구조 — 헤로, 고양이 소개, 특성 6개, 퀴즈 섹션 │
├────────────┼───────┼───────────────────────────────────┤
│ style.css │ 528줄 │ 고양이 테마 스타일 — CSS 고양이 얼굴, 그라데이션, 호버 애니메이션, 반응형 │
├────────────┼───────┼───────────────────────────────────┤
│ script.js │ 157줄 │ 4문제 성격 테스트 — 점수 집계 및 결과 표시 │
└────────────┴───────┴───────────────────────────────────┘
주요 기능:
- CSS 고양이 얼굴 — 귀, 눈( Blink 애니메이션), 코, 수염, 입술, 볼 분홍색 모두 CSS로 구현
- 특성 카드 — 클릭하면 설명이 확장되는 expand/collapse
- 성격 테스트 — 4문제 → 4가지 고양이 성격 결과 (낭낭아이, 기미낭, 용기낭)
- 그라데이션 & 애니메이션 — 부드러운 scroll, hover 효과가 있는 카드
---
파일들을 바로 확인해보실까요? 브라우저에서 index.html을 열거나 미리보기가 필요하면 말씀해주세요!
✻ Brewed for 10m 27s
결과물 요약
| 파일 | 줄 수 | 역할 |
|---|---|---|
index.html | 194 | HTML 구조 — 헤로, 고양이 소개, 특성 6개, 퀴즈 섹션 |
style.css | 528 | 고양이 테마 스타일 — CSS 고양이 얼굴, 그라데이션, 호버 애니메이션, 반응형 |
script.js | 157 | 4문제 성격 테스트 — 점수 집계 및 결과 표시 |
미리보기
35B는 파일 수가 적어도 흐름은 잘 정리돼 있었고, 리뷰까지 붙은 덕분에 초안치고는 꽤 단정한 결과가 나왔다. 속도와 균형을 함께 챙긴 쪽에 가깝다.
Qwen3.6 27B(dense): 모든 파라미터를 돌리는 dense의 무게
27B는 25분 51초가 걸렸다. dense라서 매번 전체 파라미터를 다 계산해야 하다 보니 시간이 훨씬 더 들었지만, 결과물의 촘촘함은 달랐다. 로컬 환경은 eugr/spark-vllm-docker로 띄웠고, gpu_memory_utilization 0.8, max_num_batched_tokens 8192, max_model_len 262144, num_speculative_tokens 3으로 맞췄다. 시간은 훨씬 더 들었지만, 완성된 결과물은 35B보다 한층 풍부했다. 이 글에서 내가 가장 눈여겨본 부분도 바로 이 차이다.
실행 로그
● Let me do a quick validation of the HTML structure to make sure there are no duplicate IDs.
Thought for 33s, searched for 2 patterns (ctrl+o to expand)
● All tabs and panels match. Let me verify the accordion section has the right number of items.
Thinking for 46s, searching for 5 patterns… (ctrl+o to expand)
├ Create HTML structure · 28 tool uses · 58.2k tokens
│ ⎿ Done
├ Create CSS styles · 0 tool uses
│ ⎿ Done
└ Create JavaScript logic · 5 tool uses · 23.9k tokens
⎿ Done
Thought for 10m 0s (ctrl+o to expand)
● 세 개의 에이전트가 동시에 작업을 완료했습니다. 고양이 특성 소개 페이지가 생성되었습니다! 🐱
파일 확인해보겠습니다.
Thought for 12s, read 3 files (ctrl+o to expand)
● 완벽합니다! 세 에이전트가 모두 성공적으로 작업을 완료했습니다. 🎉
📁 생성된 파일
┌────────────┬─────────┬───────────────────────────────────────┐
│ 파일 │ 라인 수 │ 내용
├────────────┼─────────┼───────────────────────────────────────┤
│ index.html │ 353 │ Hero 배너, 성격 특징 카드(6개), 바디랭귀지 가이드(6개), 재미 사실 어코디언(6개), 품종 탭(5개), 푸터
├────────────┼─────────┼───────────────────────────────────────┤
│ styles.css │ 693 │ 파스텔 오렌지 테마, 카드 그리드, 어코디언/탭 스타일, 반응형(768px/480px), 애니메이션
├────────────┼─────────┼───────────────────────────────────────┤
│ script.js │ 307 │ 스크롤 페이드인, 어코디언, 탭 전환, 마우스 클릭 발자국 효과, 떠다니는 발자국, 모바일 메뉴
└────────────┴─────────┴───────────────────────────────────────┘
✨ 주요 기능
- 🐱 Hero 섹션 — 반동작하는 고양이 이모티콘 + 그라디언트 배경
- 🐾 성격 특징 카드 — 독립성, 애정 표현, 호기심, 청결, 야행성, 민감한 감각 (6개)
- 🐈 바디랭귀지 가이드 — 꼬리, 발, 뱃속, 눈 깜빡임, 주워즈, 귀 (6개)
- 💡 어코디언 — 클릭 시 펼치는 재미 사실 & 팁 (6개)
- 🏆 품종 탭 — 한국 고양이, 페르시안, 브리티시, 시암, 메인쿤 (5개)
- 🎭 인터랙티브 — 클릭 시 🐾 발자국 팝업 + 배경에 떠다니는 발자국 애니메이션
- 📱 반응형 — 모바일 햄버거 메뉴 + 단일 열 레이아웃
로컬에서 index.html을 브라우저로 열면 바로 확인할 수 있습니다! 😺
✻ Baked for 25m 51s
※ recap: 고양이 특성 소개 웹 페이지를 만들었다. index.html, styles.css, script.js 세 파일을 병렬 에이전트로 생성했고, 브라우저에서 바로 확인할 수 있다. (disable recaps in /config)
결과물 요약
| 파일 | 줄수 | 역할 |
|---|---|---|
index.html | 353 | Hero 배너, 성격 특징 카드(6개), 바디랭귀지 가이드(6개), 재미 사실 어코디언(6개), 품종 탭(5개), 푸터 |
styles.css | 693 | 파스텔 오렌지 테마, 카드 그리드, 어코디언/탭 스타일, 반응형(768px/480px), 애니메이션 |
script.js | 307 | 스크롤 페이드인, 어코디언, 탭 전환, 마우스 클릭 발자국 효과, 떠다니는 발자국, 모바일 메뉴 |
미리보기
35B보다 오래 걸렸지만, 결과물의 밀도와 마감은 27B가 더 마음에 들었다. 20B대 모델도 에이전트 도구와 함께라면 생각보다 훨씬 멀리 갈 수 있다는 걸 확인한 게 인상적이었다.
GPT-5.4-mini xhigh 결과: 가성비 상용모델 대조군
GPT-5.4-mini xhigh는 Codex CLI로 돌렸고 4분 34초 만에 끝났다. 내가 직접 구독 중인 모델이라 감각이 익숙하고, 상용 모델 중에서는 가성비가 좋아 대조군으로 넣기 좋았다. 27B/35B와 같은 프롬프트를 쓰되 에이전트 팀 병렬 요청만 뺐다. 처음에는 다른 모델들처럼 high mode로 시도했지만 결과물이 너무 아쉬워서 xhigh로 바꿨다.
그래서 35B/27B처럼 깊게 분해한 결과라기보다는, 상용 모델이 에이전트 요청 없이 어느 정도까지 빠르게 초안을 뽑아내는지 보는 쪽에 가깝다. UI는 가장 간결했고 내용도 나쁘지 않았지만, 고양이 벡터 이미지 하나가 전체 분위기를 좀 깎아 먹었다. 길게 밀어붙인 결과는 아니어도, 가성비 상용모델이 어디까지 오는지 보는 기준점으로는 충분했다.
실행 로그
4m 34s 동안 작업
tmp 아래에 3개 파일로 분리해서 구현했습니다.
* [index.html](/mnt/nvme2t/Programming/tmp/index.html)
* [styles.css](/mnt/nvme2t/Programming/tmp/styles.css)
* [script.js](/mnt/nvme2t/Programming/tmp/script.js)
구성은 이렇게 잡았습니다.
* 반응형 히어로 섹션
* CSS/inline SVG 기반 고양이 일러스트
* 고양이 특성 카드 6개를 script.js에서 렌더링
* 버튼으로 소개 문구를 랜덤 변경
검증도 했습니다.
* script.js 문법 확인 완료
원하면 다음으로 바로 이어서 할 수 있습니다.
1. 더 귀엽고 파스텔한 테마로 조정
2. 실제 고양이 사진/이미지 버전으로 교체
3. 카드 애니메이션을 더 강하게 추가 이거야.
결과물 요약
| 파일 | 줄 수 | 역할 |
|---|---|---|
index.html | 186 | 반응형 히어로 섹션, 고양이 소개, 특성 카드 6개 |
styles.css | 439 | CSS/inline SVG 기반 고양이 일러스트와 파스텔 테마 |
script.js | 139 | 특성 카드 렌더링, 소개 문구 랜덤 변경 |
미리보기
GPT-5.4-mini xhigh의 UI는 가장 간결하고 내용도 밀도 있어 나쁘지 않았지만, 고양이 벡터 이미지 하나가 전체 분위기를 꽤 깎아 먹었다.
마무리
이번 글에서 보고 싶었던 건 단순히 누가 더 빨랐는지가 아니었다. 파라미터 수가 비슷한 두 모델이라도 아키텍처(MoE vs dense)가 다르면 속도와 퀄리티가 얼마나 달라지는지, 그 차이가 실제로 체감될 만큼 큰지 확인하고 싶었다. 결론부터 말하면, 차이가 만든 건 단순한 파라미터 수보다 아키텍처였다. MoE인 35B는 활성화된 experts만 계산해 속도가 월등했고, dense인 27B는 전체 파라미터를 다 돌리느라 시간이 2배 이상 더 걸렸지만 결과물의 밀도와 마감이 더 촘촘했다.
그래서 35B(MoE)는 MoE 구조의 장점인 속도와 균형이 두드러졌고, 27B(dense)는 모든 파라미터를 계산한다는 무게 덕분에 결과물의 밀도가 더 높았다. 같은 파라미터 수라기보다 구조가 다른 모델끼리의 비교여서, “숫자는 비슷한데 속도는 2.5배, 퀄리티의 결은 달랐다”는 게 이 실험의 핵심 결과다. GPT-5.4-mini xhigh는 그 사이에서 가성비 상용모델이 어느 정도 속도와 밀도를 보여주는지 확인하는 대조군 역할을 했다.
한 줄로 정리하면 이렇다.
Qwen3.6 35B(MoE) 나름 할껀 다 한다. Qwen3.6 27B(dense) 생각보다 고퀄리티, 그런데 1대의 DGX Spark에선 너무 느리다. 어차피 진짜 코딩은 지금보다 복잡할 테니 그냥 맘편히 GPT-5.4-mini xhigh 쓰고, 잡일들은 로컬 Qwen3.6 35B로 돌리는 게 현실적이지 않을까 싶다. (제발 100B급 MOE 아무나 공개해줘…!)