Python과 PyTorch로 LLaMA 스타일의 소형 GPT를 처음부터 만들고 학습하는 12개 챕터 주석형 튜토리얼입니다.
aa1143/NamiGPT
PyTorch로 GPT-2를 처음부터 구현하며 각 단계를 작은 ‘고양이가 물고기를 먹는다’ 예제로 설명하는 중국어 입문 튜토리얼입니다.
- 스타
- 195
- 포크
- 20
- 열린 이슈
- 0
- 마지막 커밋
- 10일 전
어떤 프로젝트인가요?
NamiGPT는 PyTorch로 GPT-2를 구현하며 대규모 언어 모델의 작동 원리를 배우는 단계별 튜토리얼입니다. gpt2/model.py의 모델 코드는 200줄이 채 되지 않으며, 미리 만들어진 Transformer 모듈을 사용하지 않습니다. 공식 OpenAI 124M 가중치를 불러와 추론과 텍스트 생성을 실행할 수 있습니다.
강의는 토크나이제이션, 임베딩, 위치 인코딩, 셀프 어텐션, 멀티헤드 어텐션, 잔차 연결, LayerNorm, 피드포워드 네트워크, 활성화 함수, Transformer 블록과 스태킹, 가중치 로딩, 텍스트 생성, 해석 가능성을 다루는 15개 챕터로 구성되어 있습니다. 각 챕터에는 세 단어 예제인 “猫吃鱼”를 바탕으로 한 실행 가능한 스크립트가 있습니다. 프로젝트에는 단계별 후보 확률과 함께 이어지는 텍스트를 보여주는 Gradio 데모와 HuggingFace 구현과 출력을 비교하는 pytest 테스트도 포함되어 있습니다.
문서는 중국어로 작성되어 있으며, 강의에는 기본적인 Python과 선형대수 지식이 필요하지만 사전에 LLM을 알아야 하는 것은 아닙니다.
핵심 기능
- 01내장 Transformer 모듈을 사용하지 않고 PyTorch로 GPT-2를 처음부터 구현합니다.
- 02추론과 텍스트 생성을 위해 공식 OpenAI GPT-2 124M 가중치를 불러옵니다.
- 03세 단어 예제를 사용하는 실행 가능한 스크립트가 포함된 15개 챕터를 제공합니다.
- 04각 단계의 다음 토큰 확률을 보여주는 Gradio 데모를 포함합니다.
- 05HuggingFace 구현과 출력을 대조하는 pytest 테스트를 제공합니다.
활용 사례
- 어텐션, 잔차 연결, LayerNorm이 GPT 모델에서 어떻게 어우러지는지 학습하기.
- 작고 읽기 쉬운 코드베이스로 Transformer 내부 구조를 다루는 스터디 그룹이나 강의 진행하기.
- HuggingFace와 일치하는 출력을 기준으로 직접 구현한 GPT를 검증하기.
- 로컬에서 GPT-2 텍스트 이어쓰기를 실행해 temperature와 top-k 같은 샘플링 설정을 관찰하기.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/aa1143/NamiGPT.git - 2
프로젝트 폴더로 이동합니다
cd NamiGPT - 3
종속 항목을 설치합니다
pip install -r requirements.txt - 4
튜토리얼 스크립트 하나를 실행합니다(예: multi-head attention 데모)
python chapters/01-inference/ep06_multi_head_attention.py
사용 전 알아둘 점
- 초보자용 튜토리얼로 작성되어 있어 학습 프레임워크나 프로덕션 추론 라이브러리가 아닙니다.
- docs/ 아래의 문서는 CC BY-NC 4.0 라이선스가 적용되어 상업적 이용이 금지됩니다.
- GPT-2 가중치를 사용하므로 지시를 따르지 않으며, 주로 영어 데이터로 학습되었습니다.
토픽
자주 묻는 질문
- NamiGPT은(는) 무엇인가요?
- PyTorch로 GPT-2를 처음부터 구현하며 각 단계를 작은 ‘고양이가 물고기를 먹는다’ 예제로 설명하는 중국어 입문 튜토리얼입니다. NamiGPT는 PyTorch로 GPT-2를 구현하며 대규모 언어 모델의 작동 원리를 배우는 단계별 튜토리얼입니다. gpt2/model.py의 모델 코드는 200줄이 채 되지 않으며, 미리 만들어진 Transformer 모듈을 사용하지 않습니다. 공식 OpenAI 124M 가중치를 불러와 추론과 텍스트 생성을 실행할 수 있습니다.
- NamiGPT은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- NamiGPT은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- NamiGPT은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. NamiGPT의 마지막 커밋은 2026년 10월 28일입니다.
- NamiGPT은(는) 어디에 사용할 수 있나요?
- 어텐션, 잔차 연결, LayerNorm이 GPT 모델에서 어떻게 어우러지는지 학습하기. 작고 읽기 쉬운 코드베이스로 Transformer 내부 구조를 다루는 스터디 그룹이나 강의 진행하기. HuggingFace와 일치하는 출력을 기준으로 직접 구현한 GPT를 검증하기. 로컬에서 GPT-2 텍스트 이어쓰기를 실행해 temperature와 top-k 같은 샘플링 설정을 관찰하기.
- NamiGPT는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/aa1143/NamiGPT.git 프로젝트 폴더로 이동합니다: cd NamiGPT 종속 항목을 설치합니다: pip install -r requirements.txt 튜토리얼 스크립트 하나를 실행합니다(예: multi-head attention 데모): python chapters/01-inference/ep06_multi_head_attention.py
- NamiGPT은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/aa1143/NamiGPT
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Transformer 모델의 GPU 학습과 추론을 위한 메모리 효율적인 exact attention 커널 FlashAttention의 공식 구현입니다.
Jupyter에서 자동 채점을 지원하며, PyTorch 연산자와 아키텍처를 처음부터 구현해 볼 수 있는 인터랙티브 실습 플랫폼입니다.
1986년 RNN부터 2025년 추론 모델까지 딥러닝과 LLM 아키텍처 계열의 발전을 추적하는 시각적 타임라인 기반 학습 로드맵입니다.
트랜스포머 LLM 학습 과정을 처음부터 구현하고 안내하는 PyTorch 코드베이스로, 사전 학습, SFT, 보상 모델링, DPO/PPO/GRPO와 텍스트 생성을 다룹니다.
Transformer, 사전 학습, 미세 조정, RAG와 에이전트를 다루며 LLaMA2 스타일의 소형 모델을 처음부터 만들어 LLM의 원리를 배우는 중국어 공개 튜토리얼입니다.