GuppyLM, 언어 모델을 쉽게 풀어낸 8.7M 파라미터 Show HN 프로젝트

최근 Hacker News Show HN 글에서 소개된 GuppyLM은 LLM을 거대한 블랙박스로 보지 않게 만드는 데 초점을 둔 프로젝트다. 저장소 설명은 분명하다. Colab 노트북 하나와 짧은 PyTorch 코드만으로 데이터 생성, tokenizer 준비, 모델 학습, 추론, 브라우저 실행까지 한 번에 보여주겠다는 것이다.

모델 자체도 의도적으로 단순하다. GuppyLM은 8.7M parameters, 6 layers, hidden size 384, attention heads 6, BPE vocab 4,096, context window 128 tokens로 구성된 vanilla transformer다. 작성자는 60개 주제에 걸친 60,000개의 synthetic conversations를 바탕으로 처음부터 학습했다고 설명한다. 결과물은 물, 먹이, 빛, 수조 생활만 이해하는 작은 물고기 캐릭터이지만, 바로 그 제약이 모델 구조를 읽기 쉽게 만든다.

흥미로운 부분은 성능 경쟁이 아니라 관찰 가능성이다. README는 왜 GQA, RoPE, SwiGLU, early exit 같은 최신 기법을 넣지 않았는지까지 설명한다. 목적은 복잡한 최적화가 아니라 transformer의 핵심 루프를 최대한 직접적으로 보여주는 데 있기 때문이다. 저장소에는 데이터 생성기, 학습 루프, inference 코드, ONNX export, 그리고 quantized model을 WebAssembly로 로컬 실행하는 브라우저 데모까지 포함돼 있다.

왜 HN에서 반응했나

교육용 LLM 프로젝트는 많지만, 실제로 손으로 뜯어볼 수 있게 패키징된 사례는 많지 않다. GuppyLM은 Colab에서 바로 돌려볼 수 있고, 브라우저에서도 서버 없이 실행된다. 덕분에 애플리케이션 개발자도 tokenization, short context, small-model behavior를 거대한 연구 환경 없이 직접 체감할 수 있다.

학습 목표는 single T4 GPU에서 약 5분 안에 끝나는 재현 가능한 파이프라인이다.

배포 목표는 약 10 MB 수준의 quantized ONNX model을 브라우저에서 로컬 추론하는 것이다.

대가로 얻는 것은 범용 능력이 아니라 transparency와 reproducibility다.

GuppyLM은 실사용 assistant를 표방하지 않는다. 대신 오늘의 LLM 스택을 한 afternoon 안에 읽고, 실행하고, 수정할 수 있는 크기로 줄여 놓는다. Show HN 커뮤니티가 주목한 이유도 바로 여기에 있다.