이 저장소에는 GPT와 유사한 LLM을 개발, 사전 훈련 및 미세 조정하기 위한 코드가 포함되어 있으며 Build a Large Language Model (From Scratch) 책의 공식 코드 저장소입니다.
대규모 언어 모델 구축(처음부터) 에서는 대규모 언어 모델(LLM)을 처음부터 단계별로 코딩하여 내부에서부터 작동하는 방식을 배우고 이해하게 됩니다. 이 책에서는 명확한 텍스트, 다이어그램 및 예제를 통해 각 단계를 설명하면서 자신만의 LLM을 만드는 과정을 안내합니다.
교육 목적을 위한 작지만 기능적인 모델을 훈련하고 개발하기 위해 이 책에서 설명하는 방법은 ChatGPT와 같은 대규모 기본 모델을 만드는 데 사용되는 접근 방식을 반영합니다. 또한 이 책에는 미세 조정을 위해 더 큰 사전 훈련된 모델의 가중치를 로드하는 코드가 포함되어 있습니다.
이 저장소의 사본을 다운로드하려면 ZIP 다운로드 버튼을 클릭하거나 터미널에서 다음 명령을 실행하십시오.
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(Manning 웹사이트에서 코드 번들을 다운로드한 경우 GitHub의 공식 코드 저장소(https://github.com/rasbt/LLMs-from-scratch)를 방문하여 최신 업데이트를 확인하시기 바랍니다.)
이 README.md
파일은 마크다운( .md
) 파일입니다. Manning 웹사이트에서 이 코드 번들을 다운로드하고 로컬 컴퓨터에서 보는 경우 적절한 보기를 위해 Markdown 편집기나 미리보기를 사용하는 것이 좋습니다. 아직 Markdown 편집기를 설치하지 않았다면 MarkText가 좋은 무료 옵션입니다.
또는 브라우저의 https://github.com/rasbt/LLMs-from-scratch에서 GitHub의 이 파일과 기타 파일을 볼 수 있습니다. 그러면 Markdown이 자동으로 렌더링됩니다.
팁
Python 및 Python 패키지 설치 및 코드 환경 설정에 대한 지침을 찾고 있다면 설정 디렉터리에 있는 README.md 파일을 읽어 보시기 바랍니다.
장 제목 | 기본 코드(빠른 액세스용) | 모든 코드 + 보충 |
---|---|---|
설정 권장 사항 | - | - |
1장: 대규모 언어 모델 이해 | 코드 없음 | - |
2장: 텍스트 데이터 작업 | - ch02.ipynb - dataloader.ipynb (요약) - 운동 솔루션.ipynb | ./ch02 |
3장: 코딩 주의 메커니즘 | - ch03.ipynb - multihead-attention.ipynb (요약) - 운동 솔루션.ipynb | ./ch03 |
4장: 처음부터 GPT 모델 구현 | - ch04.ipynb - gpt.py (요약) - 운동 솔루션.ipynb | ./ch04 |
5장: 레이블이 지정되지 않은 데이터에 대한 사전 훈련 | - ch05.ipynb - gpt_train.py (요약) - gpt_generate.py (요약) - 운동 솔루션.ipynb | ./ch05 |
6장: 텍스트 분류를 위한 미세 조정 | - ch06.ipynb -gpt_class_finetune.py - 운동 솔루션.ipynb | ./ch06 |
Ch 7: 지침을 따르기 위한 미세 조정 | - ch07.ipynb - gpt_instruction_finetuning.py(요약) - ollama_evaluate.py (요약) - 운동 솔루션.ipynb | ./ch07 |
부록 A: PyTorch 소개 | - 코드-part1.ipynb - 코드-part2.ipynb - DDP-script.py - 운동 솔루션.ipynb | ./appendix-A |
부록 B: 참고자료 및 추가 자료 | 코드 없음 | - |
부록 C: 운동 솔루션 | 코드 없음 | - |
부록 D: 훈련 루프에 추가 기능 추가 | - 부록-D.ipynb | ./appendix-D |
부록 E: LoRA를 사용한 매개변수 효율적인 미세 조정 | - 부록-E.ipynb | ./appendix-E |
아래의 멘탈 모델은 이 책에서 다루는 내용을 요약한 것입니다.
이 책의 주요 장에 있는 코드는 합리적인 기간 내에 일반 노트북에서 실행되도록 설계되었으며 특별한 하드웨어가 필요하지 않습니다. 이러한 접근 방식을 통해 광범위한 청중이 자료에 참여할 수 있습니다. 또한 코드는 사용 가능한 경우 GPU를 자동으로 활용합니다. (추가 권장사항은 설정 문서를 참조하세요.)
여러 폴더에는 관심 있는 독자를 위한 보너스로 선택 자료가 포함되어 있습니다.
저는 모든 종류의 피드백을 환영하며, Manning 포럼이나 GitHub 토론을 통해 공유하는 것이 가장 좋습니다. 마찬가지로, 질문이 있거나 다른 사람의 의견을 반영하고 싶다면 주저하지 말고 포럼에 게시해 주세요.
이 저장소에는 인쇄된 책에 해당하는 코드가 포함되어 있기 때문에 실제 책과의 차이가 발생하므로 현재는 메인 챕터 코드의 내용을 확장하는 기여를 받아들일 수 없습니다. 일관성을 유지하면 모든 사람에게 원활한 경험을 제공하는 데 도움이 됩니다.
이 책이나 코드가 연구에 유용하다고 생각되면 인용해 보세요.
시카고 스타일 인용:
라슈카, 세바스찬. 대규모 언어 모델 구축(처음부터) . 매닝, 2024. ISBN: 978-1633437166.
BibTeX 항목:
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/rasbt/LLMs-from-scratch}
}