구피LM: 교육 목적으로 처음부터 구축된 9백만 파라미터 규모의 대규모 언어 모델

GuppyLM이란 무엇인가
GuppyLM은 Guppy라는 이름의 물고기를 가장하는 아주 작은 언어 모델(~9백만 파라미터)입니다. 박사 학위나 거대한 GPU 클러스터 없이도 언어 모델이 어떻게 작동하는지 보여주기 위해 처음부터 구축되었습니다. 이 프로젝트에는 데이터 생성, 토크나이저 생성, 모델 아키텍처, 학습 루프, 추론이 포함되어 있으며, 모두 약 130줄의 PyTorch 코드로 구현되었습니다.
아키텍처 세부 사항
- 파라미터: 8.7M
- 레이어: 6
- 은닉 차원: 384
- 헤드: 6
- FFN: 768 (ReLU)
- 어휘: 4,096 (BPE)
- 최대 시퀀스: 128 토큰
- 정규화: LayerNorm
- 위치: 학습된 임베딩
- LM 헤드: 임베딩과 가중치 공유
이는 GQA, RoPE, SwiGLU, early exit 없이 가능한 한 단순한 기본 트랜스포머입니다.
학습 및 데이터
이 모델은 무료 Colab T4 GPU에서 약 5분 동안 60개 주제에 걸친 60K개의 합성 대화로 학습됩니다. 데이터셋(HuggingFace의 arman-bd/guppylm-60k-generic)은 {"input": "...", "output": "...", "category": "..."} 형식으로 57K개의 학습 샘플과 3K개의 테스트 샘플을 포함합니다.
주제에는 다음이 포함됩니다: 인사, 감정, 온도, 음식, 빛, 물, 수조, 소음, 밤, 외로움, 거품, 유리, 반사, 호흡, 수영, 색상, 맛, 식물, 필터, 조류, 달팽이, 두려움, 흥분, 지루함, 호기심, 행복, 피로, 외부, 고양이, 비, 계절, 음악, 방문객, 어린이, 삶의 의미, 시간, 기억, 꿈, 크기, 미래, 과거, 이름, 날씨, 수면, 친구, 농담, 공포, 사랑, 나이, 지능, 건강, 노래, TV 등.
성격 및 출력
Guppy는 물, 온도, 빛, 진동, 음식에 관한 짧고 소문자 문장으로 말합니다. 돈, 전화, 정치와 같은 인간의 추상적 개념을 이해하지 못합니다. 샘플 대화:
You> 안녕 guppy Guppy> 안녕하세요. 방금 바위 근처 좋은 자리를 찾았어요. 온도가 좋게 느껴져요. You> 배고파? Guppy> 네. 항상 네요. 지금 바로 위로 헤엄칠 거예요. 다 먹을 거라고 약속해요. You> 삶의 의미는 뭐야? Guppy> 음식이에요. 답은 항상 음식이에요.
빠른 시작
Guppy와 채팅하기 (학습 불필요): HuggingFace에서 사전 학습된 모델을 다운로드합니다. 노트북의 모든 셀을 실행하기만 하면 됩니다.
직접 학습하기: 런타임을 T4 GPU로 설정하고 모든 셀을 실행하면 데이터셋 다운로드, 토크나이저 학습, 모델 학습, 테스트가 진행됩니다. HuggingFace에 업로드하거나 로컬로 다운로드할 수 있습니다.
로컬에서 채팅하기:
pip install torch tokenizers python -m guppylm chat
로컬 상호작용 예시:
You> 고양이가 너를 보고 있어 Guppy> 털복숭이가 오면 식물 뒤에 숨어요. You> 밖에 비가 와 Guppy> 비는 밖에서 가장 좋은 것 같아요.
프로젝트 구조
guppylm/ ├── config.py # 하이퍼파라미터 (모델 + 학습) ├── model.py # 기본 트랜스포머 ├── dataset.py # 데이터 로딩 + 배치 처리 ├── train.py # 학습 루프 (코사인 LR, AMP) ├── generate_data.py # 대화 데이터 생성기 (60개 주제) ├── eval_cases.py # 보류된 테스트 케이스 ├── prepare_data.py # 데이터 준비 + 토크나이저 학습 └── inference.py # 채팅 인터페이스
이 프로젝트는 수십억 파라미터 모델을 다루지 않고도 트랜스포머 아키텍처의 기본을 이해하고 싶은 개발자에게 유용합니다. 완전한 구현은 원시 텍스트부터 학습된 가중치, 생성된 출력까지 모든 부분을 보여줍니다.
📖 전체 소스 읽기: HN LLM Tools
👀 See Also

Qwen3.5-9B-Claude-4.6-Opus-Uncensored-v2 모델이 LM Studio 구성과 함께 출시되었습니다
Qwen3.5-9B 아키텍처와 Claude 4.6 Opus 학습 데이터를 결합한 검열되지 않은 통합 모델이 이제 사용 가능합니다. 최적의 성능을 위한 LM Studio 0.4.7 설정(온도 0.7, 상위 K 샘플링 20 포함)이 제공됩니다.

cowork-session-sync v1.0.0는 Claude Cowork의 세션 연속성을 제공합니다.
cowork-session-sync v1.0.0은 Claude Cowork의 세션 연속성을 유지하기 위한 도구로, 원본 대화 기록을 보관하고 이를 Markdown으로 정제하며, 'catchup-bunny'를 통한 한 문장 부트스트랩으로 전체 컨텍스트를 복원할 수 있도록 합니다.

릴레이: 클로드 코드 세션을 다른 AI 에이전트로 넘겨주는 도구
Relay는 Claude Code의 세션 컨텍스트(대화 기록, 도구 호출, 오류, git 상태 포함)를 추출하여 속도 제한에 도달했을 때 Codex나 Gemini 같은 다른 AI 에이전트로 전송하는 Rust 바이너리입니다. 8개의 에이전트를 지원하며 GitHub나 npm을 통해 설치할 수 있습니다.

Mandala v0.3: 물류 원격 계측 데이터를 에이전트 추론을 위한 OpenTelemetry 스팬으로 통합하는 오픈소스 비동기 런타임
Mandala v0.3은 Samsara, Descartes, Vizion, FMCSA의 원격 측정 데이터를 웹훅으로 수집하고, 이벤트를 OpenTelemetry 스팬으로 내보내며, LLM 에이전트를 위한 MCP 도구를 통해 데이터를 노출하는 오픈소스 비동기 런타임입니다.