MicroLLM Lab – 브라우저에서 돌려보는 초소형 LLM 7종
MicroLLM Lab – Try 7 tiny LLM's in the browser
TL;DR Highlight
WebGPU로 25M~360M 소형 LLM을 브라우저에서 돌리고 속도·정확도를 비교
Who Should Read
서버 비용 없이 온디바이스 LLM으로 분류·라우팅 같은 가벼운 작업을 붙여 보려는 프론트엔드·풀스택 개발자
Core Mechanics
- 서버 없이 브라우저에서 돈다
- WebGPU로 GPU 연산을 브라우저 안에서 직접 실행한다.
- 모델은 브라우저 IndexedDB(브라우저 내장 저장소)에 캐시된다.
- 계정과 서버가 필요 없고 프롬프트가 기기 밖으로 나가지 않는다고 설명한다.
- 대상은 25M~360M 파라미터 모델
- 원문은 이런 모델을 범용 지식용이 아닌 엣지(기기 쪽) 처리 계층으로 쓰라고 소개한다.
- 용도로 쿼리 분류, 스팸 필터, 의도 추출을 든다.
- 비싼 클라우드 LLM을 부를지 판단하는 라우팅에도 쓸 수 있다고 한다.
- Q4 양자화로 메모리 75% 절감
- 16비트 가중치를 4비트로 줄이는 방식이다.
- 100M 이상 모델이 브라우저 메모리 약 50~84MB에 들어간다고 한다.
- 생성 품질은 거의 손실이 없다고 주장한다.
- 속도와 정확도를 직접 재 볼 수 있다
- 벤치마크 탭에서 tok/s(초당 토큰 수)와 정규식·정확 토큰 일치 기반 통과율을 잰다.
- 256토큰 지속 생성 속도 테스트도 있다.
- 원문은 135M 모델이 실패하는 것도 측정의 일부라고 적는다.
Community Reactions
- 작은 모델은 답이 엉망이라는 경험
- 2+2, 고양이는 동물인가 같은 기본 질문에서도 오답과 반복 루프가 나왔다는 댓글이 여러 개다.
- SmolLM2 360M은 캘리포니아 인구를 터무니없이 답했지만 GPU가 부실해도 매우 빨랐다는 경험이 있다.
- 쓸모가 있는지 모르겠다는 의문
- 사이트 자체 벤치마크도 일관되게 통과하지 못하는데 어디에 쓰느냐는 질문이 나왔다.
- 데모 목적이 WebGPU 실행 시연뿐인지 묻는 의견도 있다.
- Firefox와 UI 문제 보고
- Firefox 156.0.1(Arch Linux)에서 GPUShaderStage is not defined 오류로 로드가 안 되고 Chromium에서는 된다는 경험이 있다.
- 실제 인터페이스 앞에 불필요한 설명이 너무 길고 글씨가 작다는 의견이 있다.
- 비슷한 프로젝트 공유
- TinyStories로 학습한 작은 모델 데모(tiny.tobelabs.com)가 소개됐다.
- 대형 모델도 되는 WebGPU 단일 HTML 채팅 앱 HermitUI가 소개됐다.
- 브라우저 표준 온디바이스 모델 API 제안인 Web Models API도 언급됐다.
How to Apply
- Chromium에서 모델 2개 로드해 벤치 돌리기
- 오늘 Chrome으로 사이트를 열고 SmolLM2 같은 모델 하나와 가장 작은 모델 하나를 Load한다.
- Benchmarks 탭에서 Run suite on every loaded model을 눌러 tok/s와 통과율을 비교한다.
- Firefox는 실패 보고가 있으니 쓰지 않는다.
- 우리 서비스 분류 작업을 Custom eval로 만들기
- 의도 분류나 스팸 판정 예시 10개를 골라 JS 체크 함수로 작성한다.
- 정확 일치나 정규식으로 통과율을 재서 소형 모델이 쓸 만한지 숫자로 판단한다.
- 클라우드 호출 전 라우팅 계층으로 시험하기
- 짧은 분류 작업만 소형 모델에 맡기고 나머지는 기존 클라우드 LLM으로 보내는 구조를 설계한다.
- 소형 모델 통과율이 낮은 작업은 라우팅 대상에서 뺀다.
- 대상 브라우저 지원 범위 먼저 확인하기
- 배포 전 WebGPU 지원 여부를 검사하고 없으면 서버 API로 폴백하는 분기를 넣는다.
Try It
// 브라우저 개발자 콘솔 또는 JS 파일에 붙여넣기: WebGPU 지원 여부 확인(원문 사이트의 코드 아님, 표준 API 사용)
async function checkWebGPU() {
if (!navigator.gpu) return 'WebGPU 미지원: 서버 API로 폴백';
const adapter = await navigator.gpu.requestAdapter();
return adapter ? 'WebGPU 사용 가능' : 'adapter 없음: 폴백';
}
checkWebGPU().then(console.log);
// 이어서 해 볼 것: https://stateofutopia.com/experiments/microllmlab/ 에서 모델을 로드하고 Custom eval에 {{우리 서비스 분류 예시}}를 넣어 통과율을 재 본다.Terminology
관련 논문
Mercury 3: 규모를 키운 diffusion LLM, 초당 1,000토큰 이상
Diffusion LLM을 40배 키웠더니 속도 4~8배, 품질은 속도 특화 모델 수준
Timestral: Mistral의 시계열 파운데이션 모델
209M 파라미터 시계열 모델이 3대 벤치마크 1위, CPU에서도 돌아간다
DeepSeek V4.1 Flash 1017 (Max) 성능·속도·가격 분석
DeepSeek V4.1 Flash 1017 Max는 지능 지수 45에 211 tok/s, 입력 $0.30
LLM 프록시를 직접 안 돌리면 무슨 일이 벌어지는지 어떻게 아나
자체 LLM 프록시를 세웠더니 키·모델·캐시 미스를 직접 볼 수 있다
DeepSeek V4.1 Flash 1017: 싼 가격에 1M 컨텍스트를 주는 에이전트용 모델
DeepSeek V4.1 Flash 1017은 입력 $0.05/M, 1M 컨텍스트의 에이전트용 모델
DeepSeek-V4.1-Flash-1017 공개: 더 짧게 생각하고 더 빠르게 일하는 에이전트용 모델
DeepSeek V4.1 Flash 마이너 업데이트로 코딩·에이전트 벤치 점수↑, 실행 시간·출력 길이↓
Llmspeed: 로컬 LLM 속도를 하드웨어 구매 전에 체감해 보는 시뮬레이터
GPU·모델을 고르면 로컬 LLM 속도를 미리 체감하게 해 주는 시뮬레이터
Related Resources
- https://stateofutopia.com/experiments/microllmlab/
- https://tiny.tobelabs.com/
- https://arxiv.org/abs/2305.07759
- https://github.com/moooff/HermitUI
- https://github.com/willaaam/gemma-4-E2B-webgpu-vision
- https://www.webmodels.dev
- https://sonistellar.com/lab/
- https://three-llm.ben3d.ca/?model=qwen3.5-0.8b
- https://ai-attacks.neal.codes/