
【실측】7GB 로컬 AI에 경시 수학과 내 코드, 청구서를 먹여보았다 ―― Gemma 4 E4B QAT가 할 수 있는 것과 할 수 없는 것
요약
Google의 소형 모델인 Gemma 4 E4B QAT를 Apple M5 환경에서 실측 테스트한 결과입니다. 7GB 규모임에도 불구하고 경시 수학, 코드 분석, 청구서 검토 등 복잡한 태스크에서 뛰어난 추론 성능을 보여주었습니다.
핵심 포인트
- Gemma 4 E4B는 사고 모드(Thinking mode)를 통해 복잡한 추론 가능
- 사고 과정에서 토큰을 많이 소모하므로 max_tokens 설정이 매우 중요
- 구조화된 출력(JSON)이 필요할 때는 사고 모드를 끄는 것이 효율적
- 27K 토큰 분량의 코드 분석 및 파일 간 추적 성능 입증
지난번에는 1.74GB의 VibeThinker-3B를 직접 테스트했습니다.
강력한 해답 엔진이었습니다. 하지만 길고 복잡한 태스크에서는 무너졌습니다.
이번에는 다른 소형 모델입니다.
Google의 Gemma 4 E4B (QAT 버전).
결론부터 말씀드리겠습니다.
이 모델은 무너지지 않았습니다.
7GB 모델이 경시 수학을 풀고, 제 코드를 27K 토큰 분량만큼 읽어냈으며, 청구서의 계산 실수까지 지적했습니다.
다만, 한 가지 기억해 두어야 할 조작법이 있습니다.
모델은 mlx-community/gemma-4-e4b-it-qat-OptiQ-4bit입니다.
유효 4B 상당이며, 텍스트와 이미지 모두 다룰 수 있습니다.
사용 환경은 Apple M5이며, MLX로 구동했습니다.
디스크: 7.0GB
로드: 약 2.7초
속도: 26〜32 tok/s
...
숫자만으로는 믿을 수 없습니다.
암기할 수 없는 문제와 저 자신의 비공개 코드, 그리고 직접 만든 이미지로 직접 확인했습니다.
풀 수 있는 것은 코드를 실행하여 채점했고, 수학은 정답을 먼저 계산한 뒤에 제출했습니다.
Gemma 4에는 「사고 모드 (Thinking mode)」가 있습니다.
답변하기 전에, 긴 추론을 내부적으로 작성합니다.
이 부분이 함정이었습니다.
처음에는 JSON을 출력해 달라고 부탁해도 내놓지 않았습니다.
함수를 작성하게 해도 도중에 끊겼습니다.
저는 '지시를 따르지 못하는 모델이다'라고 쓰려던 참이었습니다.
하지만 잠시 멈추고 딱 한 가지만 바꾸었을 때 깨달았습니다.
무너진 것이 아니었습니다.
사고 과정이 토큰 예산을 다 써버린 것뿐이었습니다.
정답이 나오기 전에 도중에 끊겼던 것입니다.
max_tokens를 충분히 부여할 것.
그것만으로 동일한 문제가 모두 깔끔하게 통과되었습니다.
일상 태스크 (번역·요약·JSON·정형화):
enable_thinking = False / max_tokens ≈ 1024
어려운 태스크 (수학·코드·장문):
...
구조화된 출력 (JSON)을 할 때는 사고를 끌 것.
이것만 지키면 더 이상 휘둘리지 않습니다.
토큰은 아끼지 마세요. 사고는 켜둔 채로 두어도 좋습니다.
경시 수학 문제를 냈습니다.
정답은 미리 코드로 뽑아두겠습니다.
100만 이하 중, 제곱수 또는 세제곱수이지만 6제곱수는 아닌 수 → 1080
a+b=100, gcd(a,b)=5인 순서쌍 → 8
{1..12}의 부분집합 중 합이 4의 배수인 것 (공집합 제외) → 1023
모두 정답이었습니다.
특히 마지막 문제입니다.
Gemma는 스스로 「1의 거듭제곱근에 의한 필터」를 사용했습니다.
생성 함수를 구성하고, $i$나 $-1$로 평가하여 0을 찾아내고, 4096÷4를 통해 답을 도출합니다.
경시 수학 능력자들이 사용하는 수법입니다.
7GB 모델이 이를 자발적으로 내놓았습니다.
코드는 암기를 피하기 위해 직접 만든 문제를 내고, 생성된 코드를 그대로 실행했습니다.
소수 분할 DP: 랜덤 500케이스 전원 통과
가중치 구간 스케줄링: 랜덤 400케이스 전원 통과
암기가 아닙니다.
정말로 풀고 있습니다.
이 부분이 이번에 가장 확인하고 싶었던 점입니다.
지난번 VibeThinker는 어떤 문제에서 완전히 무너졌습니다.
제 소스 코드 3개 파일(약 17K 토큰)을 건네고, 파일 간 추적을 시켰을 때입니다.
「찾아보자... 거기에는... 하지만 읽어야 해...」라는 루프에 빠져 9000 토큰을 다 쓰고도 답을 내지 못했습니다.
같은 문제를 Gemma 4 E4B에게 주었습니다.
무너지지 않습니다.
수백 토큰의 사고를 통해, 함수가 어디서 호출되고 무엇을 위해 사용되는지를 파일을 넘나들며 정확하게 설명했습니다.
부하를 더 높여보겠습니다.
4개 파일, 약 27K 토큰.
3단계 추적을 요청했습니다.
Gemma는 제 코드의 실제 한 줄을 그대로 인용하며 답했습니다.
137초 동안 끝까지 달려 나갔고, 무너지지 않았습니다.
「똑똑하다」는 것과 「길게 유지할 수 있다」는 것은 별개의 문제입니다.
창(Window)이 큰 것보다, 안정적으로 사용할 수 있는 작업 기억(Working memory)이 얼마나 있는가.
그것이 소형 모델의 진짜 차이입니다.
이 모델은 이미지도 읽을 수 있습니다.
글자를 읽히는 것만으로 끝내지 않았습니다.
직접 만든 막대그래프를 보여주고, 전월 대비 최대치와 반년 합계를 물었습니다.
6개의 막대를 모두 읽어내고, 5개의 차이를 모두 계산했으며, 답은 정확히 일치했습니다.
가장 효과적이었던 것은 일부러 합계를 틀리게 적은 청구서였습니다.
4개 품목의 실제 합계는 7,930엔.
저는 기재 내용을 일부러 8,930엔으로 적어두었습니다.
Gemma는 스스로 4개 품목을 더해 7,930엔을 산출하고, 기재된 8,930엔과 대조하며 다음과 같이 말했습니다.
일치하지 않습니다. 차액 +1,000엔.
스크린샷이나 도표의 검산.
이것을 오프라인으로, 내 손안에서, 무료로 할 수 있습니다.
찬양하지는 않겠습니다.
명확한 약점이 있습니다.
일본어의 "AI스러운 느낌"을 지우는 퇴고는 서툴렀습니다.
딱딱한 일본어를 자연스럽게 고쳐달라고 부탁해도, 표면적인 부분만 바꿀 뿐이었습니다.
문체를 깊게 바꾸는 작업은 아직 거대 모델 (Large Model)의 영역입니다.
처리량 (Throughput)도 빠르지 않습니다.
26~32 tok/s.
사고 (Reasoning)를 포함하여 4K 토큰을 처리한다면, 한 번에 수십 초가 걸립니다.
저빈도 작업이나 오프라인 보조 용도로 적합합니다.
실시간 주력 모델로는 적합하지 않습니다.
그리고 이것은 OptiQ라는 자원봉사자들에 의한 양자화 (Quantization) 버전입니다.
Google 순정 int4 그 자체는 아닙니다.
모든 테스트는 단 몇 문제뿐입니다.
실력을 확인했을 뿐, 실전에 투입할 수 있다고 판단한 것은 아닙니다.
네 가지 검증을 나열했을 때, 저의 판단은 이렇습니다.
8GB 메모리에 들어가고, 7GB 디스크 용량에 담을 수 있는 로컬 모델이 경시 수학을 풀고, 27K의 코드를 안정적으로 읽으며, 이미지를 검산하여 실수를 지적한다.
반년 전이라면 클라우드의 거대 모델을 호출해야 했던 작업이었습니다.
이것은 제가 최근 계속해서 말하고 있는 것과 같습니다.
모델 그 자체가 소모품이 되어가고 있습니다.
무료인 오프라인 로컬 모델로도 이 정도가 가능하다면, "어떤 모델인가"는 더 이상 해자 (Moat)가 되지 않습니다.
해자는 사용법에 있습니다. 토큰을 충분히 주는지, 사고를 넣는지, 어떤 경계의 문제에 집중하는지, 출력을 무엇으로 검증하는지.
따라서 적합한 작업은 명확합니다.
이미지 구조화, 오프라인 보조 분석, 로컬에서의 코드 독해, 검증 가능한 부분 문제.
적합하지 않은 작업도 명확합니다.
공개 기사 집필 (문체 역량이 부족함), 자동으로 최종 판단을 내리는 사령탑 (느리며, 그 부분은 사람이 결정해야 합니다).
"똑똑함"은 이제 충분합니다.
다음에 질문될 것은, 누가 이를 잘 사용하는가입니다.
―― AI 미래 편집실 「AI 워치」
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기