rasbt/reasoning-from-scratch
Implement a reasoning LLM in PyTorch from scratch, step by step
이 프로젝트 소개
rasbt/reasoning-from-scratch 는 Sebastian Raschka가 저술한 『Build a Reasoning Model (From Scratch)』(Manning, 2025, ISBN 9781633434677)의 공식 코드 저장소입니다. 이 책에 포함된 모든 코드가 장별로 정리되어 있습니다.
이 프로젝트가 제공하는 것
이 프로젝트는 **추론 대규모 언어 모델(LLM)**이 어떻게 작동하는지 hands-on으로 학습할 수 있게 해줍니다. 이론만 읽는 대신, 사전 학습된 기본 LLM(오픈소스 Qwen3 모델)에서 시작하여 추론 기능을 단계별로 직접 코드로 추가합니다. 이 접근 방식은 DeepSeek R1 및 GPT-5 Thinking과 같은 대규모 추론 모델이 구축되는 방식을 반영합니다.
이 책은 LLM 추론을 개선하기 위한 세 가지 주요 기술을 다룹니다:
- 추론 시간 스케일링 — 모델이 답변하기 전에 "생각"할 시간과 계산을 더 많이 제공합니다 (예: 사고 사슬 프롬프트, 자기 일관성, Best-of-N 샘플링, 자기 개선).
- 강화 학습 — 보상 기반 학습(특히 GRPO라는 방법)을 통해 모델이 더 잘 추론하도록 훈련합니다.
- 증류 — 더 크고 능력이 뛰어난 "교사" 모델을 사용하여 더 작은 "학생" 모델이 그 추론을 모방하도록 훈련하여 효율성을 높입니다.
포함 내용
- 8개 장 + 7개 부록의 코드(주로 Jupyter 노트북 .ipynb 파일). 각 장 폴더에는 주요 코드와 연습 문제 해답이 포함되어 있습니다.
- 여러 폴더의 보너스 자료:
- MATH-500 벤치마크 평가 스크립트
- GRPO 훈련 스크립트(기본 및 고급)
- 증류 데이터 생성 및 훈련 스크립트
- 다운로드 가능한 훈련 체크포인트
- 채팅 인터페이스(부록 G)
- MMLU 평가 방법, LLM 리더보드 및 LLM-as-a-judge(부록 F)
- 일반적인 문제를 위한 문제 해결 가이드.
하드웨어 요구 사항
주요 장 코드는 소비자 하드웨어(전용 서버 불필요)에서 합리적인 시간 내에 실행되도록 설계되었습니다. 2~4장은 CPU와 GPU에서 잘 작동합니다. 5장과 6장은 책의 결과를 재현하려면 GPU를 권장합니다. 코드는 GPU가 사용 가능한 경우 자동으로 GPU를 사용합니다.
대상 독자
추론 LLM을 블랙박스로 사용하는 대신 직접 구축함으로써 실제로 어떻게 작동하는지 이해하려는 사람들을 위한 것입니다. 교육용이며, 구축하는 모델은 작지만 기능적입니다. 기본 LLM을 처음부터 구축하는 방법을 먼저 이해하려면 저자는 이전 저서 『Build a Large Language Model (From Scratch)』를 참조하라고 안내합니다.
중요 참고 사항
- 저장소는 인쇄된 책과 일치하므로, 저자는 책과의 일관성을 유지하기 위해 주요 장 코드를 변경하는 기여를 수락할 수 없습니다. 피드백과 질문은 Manning 포럼 또는 GitHub Discussions에서 환영합니다.
- README에는 연구에서 이 책을 인용하기 위한 인용(시카고 스타일 및 BibTeX)이 포함되어 있습니다.
빠른 시작
저장소를 ZIP으로 다운로드하거나 클론할 수 있습니다:
git clone --depth 1 https://github.com/rasbt/reasoning-from-scratch.git
책의 2장에서 Python 및 코딩 환경 설정 팁을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트