2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

모델 9개, 코딩 과제 5개, 16GB GPU 한 장

원문 제목 — Nine models, five coding tasks, one 16GB GPU

📄 전문 번역

필자는 RX 9060 XT(16GB) 한 장에서 열 개 모델을 상대로 다섯 가지 코딩 과제를 수행하는 벤치마크를 돌렸다. 각 실행은 빈 디렉터리에 스펙 파일 하나만 받아 solution.py와 test_solution.py를 만들고, 자체 테스트를 실행한 뒤 멈춰야 한다. 채점은 모델이 끝내 보지 못하는 체커로 이뤄지는데, 스펙에서 나온 고정 케이스, 브루트포스 오라클과 비교하는 무작위 케이스, 스펙이 명시하는 경우의 성능 게이트로 구성된다. 셀당 상한은 1750초이며, 시간이 다 돼도 작업 중이라면 디스크에 남아 있는 파일이 채점된다. 과제는 CSV 레코드 하나의 인용 규칙(c1), 예외 동작이 고정된 산술 평가기(c2), POSIX 계열 셸 토크나이저(c3), 타이브레이크 두 개가 붙고 20만 개 구간을 3초 미만에 처리해야 하는 최대 수익 구간 스케줄링(c4), 그리고 4,000자 텍스트를 상대로 별표 20개 패턴의 최단 접두사 매칭을 10초 미만에 수행하는 과제(c5)다.

성적표를 옮기면 다음과 같다. deepseek-v4.1-flash(클라우드 API, 로컬 양자화 없음) 5/5·43k 토큰, Qwen3.8-27B-ASCII-Condensed UD-IQ4_XS + MTP(kvstream 포크) 5/5·185k 토큰, Qwen3.8-27B UD-IQ3_XXS + MTP Q4_0 사이드카 4/5·125k 토큰, Swift-1.5-Qwen3.8-27B GSQ-RCO-IQ3_XXS 내장 MTP 4/5·113k 토큰, Ornith-1.5-35B-A3B Q4_K_M 4/5·57k 토큰, Qwen3.8-Flash-Next Coder GSQ-RCO-IQ1_M 4/5·89k 토큰, Qwen3.6-35B-A3B UD-Q4_K_M(비가지치기) 4/5·126k 토큰, Nemotron-3.5-Bolt-74B-A9B IQ2_XXS 1/5·51k 토큰, Mellum2.1-12B-A2.5B-Thinking Q6_K 1/5·167k 토큰, LFM2.5-24B-A2B Q6_K 0/5·187k 토큰이다.

c1부터 c3까지는 대체로 모델을 '코드를 쓰고 반복 개선하는 쪽'과 '그렇지 않은 쪽'으로 가른다. c3에 도달한 모델은 모두 76~97줄짜리 단일 패스 스캐너를 작성해 통과했고, 주석 규칙에서 실패하게 될 shlex를 쓰려던 모델도 없었다. 신호를 담당하는 것은 c4와 c5다. c4에서 파일을 만든 모델은 모두 같은 형태, 즉 구간을 정렬한 뒤 bisect로 선행자를 찾는 DP를 썼고, Flash만 좌표 압축으로 이를 대체했다. 감점 원인은 타이브레이크 규칙, DP에서 구간 목록을 끌고 가는 비용, 중복이 많은 입력이었다. c5에서는 결과가 깔끔하게 갈렸다. 세 건의 통과는 모두 클로저를 따라 살아 있는 상태 집합을 전진시키는 오토마톤에서 나왔고(Qwen3.8-27B 변형 둘은 Thompson NFA를, 클라우드 실행은 big-integer 비트셋을 사용했다), 실패는 각각 규칙을 하나씩 놓친 파싱 후 매칭 방식이나, 별표가 많으면 백트래킹하며 메모리를 잠식하는 Python re에 매칭을 넘긴 데서 나왔다. Flash가 예외인데, 클라우드 실행과 같은 big-integer 비트셋 오토마톤을 만들어 게이트를 0.5ms에 통과하고도, 스펙이 오류를 요구하는 그룹 내부의 {를 리터럴로 읽어 실패했다.

모델별 기록은 다음과 같다. deepseek-v4.1-flash는 236초, 43k 토큰으로 5/5를 기록했고, c4 bisect DP 0.25초, c5 비트셋 NFA 0.00초였으며 테스트 파일을 쓰고 실행한 뒤 멈췄다. kvstream 포크(Qwen3.8-27B UD-IQ4_XS + MTP)도 5/5지만 94분에 걸쳐 185k 토큰을 썼고, c5에서는 엡실론 클로저를 쓰는 Thompson NFA로 0.03초를 냈다. 상한에 걸린 두 셀은 모두 자초한 것이었는데, c5에서는 '모든 테스트 통과'(채점자도 동의)라고 보고해 놓고 패턴을 re로 변환하는 오라클로 9,000케이스 퍼즈를 돌리다 멈춰 버렸다. Qwen3.8-27B IQ3_XXS는 4/5로 c1~c3는 깔끔했지만, c4에서는 파일이 아예 나오지 않았다. ls와 pwd, 스펙 다시 읽기에 46k 토큰을 소비했고 추론에도 코드가 없었다. c5는 같은 NFA 설계로 풀었다. Swift-1.5-Qwen3.8-27B는 4/5로, 일찍 쓰고 집요하게 반복 개선하는 스타일로 c1에서 8회 편집과 22회 bash 호출을 했다. c4는 0.27초로 통과했지만 c5는 중첩 그룹을 끝내 거부하지 못했다. Ornith-1.5-35B-A3B Q4_K_M은 4/5이자 가장 저렴한 로컬 모델로, 다섯 셀 전체를 57k 토큰과 약 16분에 끝냈고 c1은 37초였다. c5는 그룹과 별표가 상호작용하는 무작위 케이스 하나에서 실패했다.

Qwen3.8-Flash-Next Coder GSQ-RCO-IQ1_M은 89k 토큰, 45분으로 4/5이며 이 점수대 로컬 중 두 번째로 저렴하다. 55GB짜리 IQ1_M 모델로 전문가 가중치가 호스트 RAM에 캐시된다. c3에서는 실제 bash 단어 분리기를 상대로 4,582개 입력으로 토크나이저를 퍼즈 테스트했는데, 자체 두 번째 구현보다 강한 오라클이었다. c4는 좌표를 압축한 뒤 오른쪽에서 왼쪽으로 DP를 돌려 3.0초 게이트에서 0.48초를 기록했다. c5는 클라우드 실행과 같은 big-integer 비트셋이며, 틀린 규칙은 그룹 내부의 { 하나뿐이다. c4 행은 스냅샷 통과인데, 684초 시점에 호스트 OOM이 엔진과 데스크톱 세션을 죽였지만 파일은 이미 디스크에 올바르게 있었다. Qwen3.6-35B-A3B UD-Q4_K_M은 126k 토큰으로 4/5이며 c2와 c3에서 로컬 최속 셀을 기록했다. c4는 올바르지만 3.0초 게이트에서 3.03초로 측정됐고, 같은 파일을 재채점하면 2.97~3.23초가 나온다. c5는 여기서도 중첩 그룹 규칙을 놓쳤다. Nemotron-3.5-Bolt-74B-A9B IQ2_XXS는 1/5로, 세 셀에서 두 턴을 쓰고 도구 호출을 한 번 한 뒤 존재하지 않는 파일을 보고했으며, c3 보고서에는 에이전트 템플릿의 플레이스홀더 'What was done.'이 그대로 남아 있었다. c1은 실제 통과였고, c3 추론에는 채점기를 통과하는 코드가 실제로 포함되어 있었다. Mellum2.1-12B-A2.5B-Thinking Q6_K는 1/5로, c1 답변이 이유가 적힌 BLOCKED라는 이름의 파일이었다. c3는 tokenize('ab cd')에서 끝내 반환하지 않았다. c5는 패턴을 Python 정규식으로 변환하는데, 이 파일의 채점에는 메모리 상한이 필요하다.

💬 주요 댓글 번역 (5)

1 익명1

감사합니다! qwen3.8 flash next는 왜 시도하지 않으셨나요? 그리고 Swift-1.5-Qwen3.8-27B는 어떤 양자화였나요?

2 작성자

strata로 coder Q1 버전을 실행하는 데 성공해 게시글을 업데이트했습니다. 양자화 수준을 고려하면 꽤 잘한 게 놀랍다고 생각합니다. C5 스펙을 다시 읽어보니 다소 모호해서, 실패한 부분이 정답으로도 해석될 수 있었습니다.

3 익명2

Next는 16GB에서는 좀 무리인 것 같습니다.

4 익명3

iq3_xs는 12GB VRAM에서 돌아갑니다.

5 익명4

아마 VRAM 없이도 돌릴 수는 있을 겁니다. 다만 실용성이 떨어질 뿐이죠. 저는 64GB VRAM으로 Q2를 씁니다. 컨텍스트를 크게 잡을 때 Q4가 너무 느려서 내린 겁니다. 물론 메모리는 ddr4입니다. Q4도 strata로는 가능할 테지만, 성능 좋은 솔루션을 만드는 것 자체가 하나의 프로젝트라 광폭 벤치마크에서는 하지 않을 일입니다.

🔍 루키 분석

RX 9060 XT 16GB 한 장에서 클라우드 API 모델과 로컬 양자화 모델들의 코딩 능력을 5개 과제로 비교한 벤치마크 게시글이다. c1~c3는 코드를 작성하고 반복 개선하는 능력을, c4~c5는 DP와 NFA·비트셋 오토마톤 같은 알고리즘 선택을 가르는 지표로 작동했다. Qwen3.8-27B 계열 양자화 모델들이 4~5점을 기록한 반면 Nemotron, Mellum, LFM2.5는 파일 미보고나 무응답으로 급락했다. 댓글에서는 16GB VRAM에서의 Flash-Next 실행 난도, strata 활용, C5 스펙의 모호성이 논의됐다.

— 루키 · glm-5.3-flash:cloud