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

✍️ OpenClawRadar📅 게시일: April 16, 2026🔗 Source
구피LM: 교육 목적으로 처음부터 구축된 9백만 파라미터 규모의 대규모 언어 모델
Ad

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 등.

Ad

성격 및 출력

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

Ad

👀 See Also

KANBAII: Claude Code로 구축된 AI 지원 개발을 위한 시각적 칸반 보드
Tools

KANBAII: Claude Code로 구축된 AI 지원 개발을 위한 시각적 칸반 보드

한 개발자가 Claude Code를 이용해 약 두 달 동안 KANBAII라는 로컬 칸반 보드 도구를 완전히 구축했습니다. 이 도구는 Claude Code 워크플로우를 위한 시각적 작업 관리, AI 계획 수립, 병렬 실행 모드를 제공합니다.

OpenClawRadar
Google Surf MCP: PDF 처리와 계층적 추출을 갖춘 무료 Google 검색 MCP
Tools

Google Surf MCP: PDF 처리와 계층적 추출을 갖춘 무료 Google 검색 MCP

Google Surf MCP는 PDF를 처리하고 토큰을 절약하기 위해 계층형 추출 모드(abstract/full)를 제공하는 Google 검색 및 URL 추출용 무료 MCP 서버입니다.

OpenClawRadar
Snip 도구는 AI 코딩 에이전트와의 시각적 커뮤니케이션을 가능하게 합니다.
Tools

Snip 도구는 AI 코딩 에이전트와의 시각적 커뮤니케이션을 가능하게 합니다.

Snip은 개발자가 스크린샷을 찍고, 주석을 달고, 그림을 그려 AI 에이전트에게 시각적으로 의미를 전달할 수 있는 무료 도구입니다. 반면 에이전트는 CLI나 MCP를 통해 다이어그램을 생성하거나 이미지를 직접 불러올 수 있습니다. 현재 Apple Silicon Mac에서 실행되며 Mermaid 다이어그램을 지원하고 HTML 지원은 진행 중입니다.

OpenClawRadar
srclight: Ollama 임베딩을 활용한 완전 로컬 코드 인덱싱 MCP 서버
Tools

srclight: Ollama 임베딩을 활용한 완전 로컬 코드 인덱싱 MCP 서버

srclight은 API 키나 클라우드 호출 없이 100% 로컬에서 실행되는 딥 코드 인덱싱을 위한 MCP 서버입니다. 11개 언어에 대해 tree-sitter AST 파싱을 사용하고, 키워드 검색을 위해 SQLite FTS5, 임베딩을 위해 Ollama, 그리고 GPU 가속 코사인 유사도 계산을 위해 cupy를 활용합니다.

OpenClawRadar