서버 없이 브라우저에서 돌아가는 LLM
LLM을 써본다고 하면 보통 ChatGPT 같은 웹 서비스에 접속하거나, API 키를 발급받거나, 로컬에 Ollama를 깔고 몇 GB짜리 모델을 받는 과정을 떠올리실 거예요. 그런데 MicroLLM Lab은 링크 하나만 열면 됩니다. 이 실험 페이지에서는 아주 작은 언어 모델 7개를 브라우저 안에서 바로 돌려볼 수 있거든요. 설치할 것도, 가입할 것도 없어요.
별것 아닌 데모처럼 보여도 지금 보면 재미있는 게 있어요. 요즘 업계는 모델을 키우는 경쟁만큼이나 작게 만들어서 어디서든 돌리는 쪽에도 공을 많이 들이고 있거든요. 이 페이지는 그 흐름을 가장 쉽게 직접 확인해볼 수 있는 방법이에요.
브라우저에서 LLM이 어떻게 돌아가냐면
원리를 쉽게 풀어볼게요. 예전 브라우저는 JavaScript로 화면을 그리고 버튼 이벤트를 처리하는 정도였어요. 요즘은 두 가지 기술 덕분에 훨씬 무거운 계산도 할 수 있어요.
- WebAssembly(WASM): C++나 Rust로 짠 코드를 브라우저에서 거의 네이티브 속도로 돌리게 해주는 기술이에요. "브라우저 안에 들어간 작은 가상 CPU"라고 생각하면 편해요.
- WebGPU: 브라우저가 내 컴퓨터의 GPU를 직접 쓸 수 있게 해주는 API예요. LLM 추론은 결국 큰 행렬 곱셈을 엄청나게 반복하는 일이라서, GPU를 쓸 수 있느냐에 따라 속도가 크게 달라져요.
- WebLLM(MLC): WebGPU로 Llama, Qwen, Phi 계열 모델을 브라우저에서 돌리는 대표적인 프로젝트예요. 성능 최적화에 가장 공을 많이 들인 편이에요.
- Transformers.js(Hugging Face): 파이썬 transformers 라이브러리를 JavaScript로 옮긴 버전이에요. 텍스트 생성 말고도 임베딩, 분류, 음성 인식 같은 작업을 폭넓게 지원해요.
- 브라우저 내장 AI: 크롬은 Gemini Nano를 브라우저에 넣고 Prompt API 같은 걸로 웹페이지에서 호출할 수 있게 하는 작업을 진행 중이에요. 모델 파일을 사이트마다 따로 받을 필요가 없다는 게 큰 차이예요.
흐름은 이래요. 페이지를 열면 모델 가중치(모델이 학습한 숫자 덩어리) 파일을 내려받아서 브라우저 캐시에 저장해요. 그다음 WASM이나 WebGPU로 추론을 돌리고요. 여러분이 입력한 프롬프트는 서버로 가지 않고 내 컴퓨터 안에서만 처리돼요. 개인정보 걱정이 적은 이유가 이거예요.
그럼 왜 "초소형" 모델이어야 할까요? 브라우저에서 수 GB짜리 파일을 받게 하면 사용자는 기다리다가 탭을 닫아버리거든요. 브라우저 탭이 쓸 수 있는 메모리에도 한계가 있고요. 그래서 파라미터(모델 안의 조정 가능한 숫자) 수를 확 줄이고, 양자화(숫자를 32비트 대신 8비트나 4비트로 거칠게 저장해서 용량을 줄이는 기법)까지 적용한 모델이 들어가요. 고화질 사진을 썸네일로 줄여도 뭐가 찍혔는지는 알아볼 수 있는 것과 비슷해요.
이런 걸 직접 돌려보면 좋은 이유
솔직히 초소형 모델로 복잡한 코드 리뷰나 긴 추론은 못 해요. 대신 작은 모델이 어디서부터 무너지는지 눈으로 볼 수 있어요. 문법은 멀쩡한데 사실 관계가 틀리거나, 몇 문장 지나면 같은 말을 반복하거나, 지시를 반쯤 무시하는 모습이 나올 거예요. 이런 한계를 직접 겪어보면 "우리 서비스의 이 기능에는 작은 모델로도 충분하겠다" 혹은 "이건 큰 모델이 꼭 필요하다"는 감이 생겨요.
여러 모델을 나란히 두고 비교할 수 있다는 것도 장점이에요. 같은 프롬프트를 넣었을 때 모델 크기나 학습 방식에 따라 답이 어떻게 달라지는지 비교하는 건 논문 벤치마크 표를 보는 것보다 훨씬 직관적이거든요.
업계에서는 어떤 흐름이냐면
브라우저 LLM 생태계는 이미 꽤 커져 있어요.
한국 개발자에게 주는 시사점
실무 관점에서 몇 가지 생각해볼 점이 있어요.
1. 한국어 성능은 꼭 따로 확인하세요. 초소형 모델은 대부분 영어 데이터 위주로 학습돼서 한국어 실력이 눈에 띄게 떨어져요. 토크나이저(문장을 모델이 읽는 조각으로 자르는 도구)가 한글을 비효율적으로 쪼개는 경우도 많아서, 같은 내용이어도 한국어 입력이 더 느리고 품질도 낮게 나올 수 있어요. 직접 한국어 프롬프트를 넣어보시길 추천해요.
2. 생성보다는 "작은 일"에 어울려요. 검색어 자동완성, 짧은 문장 분류, 폼 입력값 정리, 오프라인 환경의 간단한 도우미처럼 범위가 좁은 작업에서 초소형 모델이 빛나요. 서버 비용이 0원이고 응답 지연도 네트워크 영향을 받지 않아요.
3. 개인정보 규제 측면에서 매력적이에요. 사용자 데이터가 서버로 나가지 않으니 금융, 의료, 사내 보안 문서처럼 민감한 데이터를 다루는 서비스에서 설계 선택지가 하나 더 생겨요.
4. 프론트엔드 개발자에게 좋은 입문 코스예요. 파이썬이나 GPU 서버 없이 익숙한 웹 환경에서 LLM 추론 구조를 뜯어볼 수 있거든요.
마무리
한줄 정리: 브라우저 탭 하나로 초소형 LLM의 가능성과 한계를 직접 느껴볼 수 있는 실험실이에요.
여러분은 서비스에서 "서버 없이 사용자 기기에서 돌아가는 작은 모델"을 써볼 만한 기능이 떠오르시나요? 한국어가 약하다는 한계를 감안해도 쓸 만한 곳이 있을지 의견 나눠주세요!
🔗 출처: Hacker News