이 저장소에는 GPT와 같은 LLM을 개발, 사전 조정 및 미세 조정하기위한 코드가 포함되어 있으며이 책을위한 공식 코드 리포지토리는 큰 언어 모델 (처음부터)입니다.
큰 언어 모델 (처음부터) 빌드 에서는 LLMS (Large Language Model)가 단계적으로 처음부터 코딩하여 내부에서 어떻게 작동하는지 배우고 이해할 수 있습니다. 이 책에서는 자신의 LLM을 만들고 명확한 텍스트, 다이어그램 및 예제로 각 단계를 설명합니다.
이 책에서 교육 목적을위한 자신의 소규모 기능 모델을 훈련하고 개발하기위한 방법은 ChatGpt 뒤에있는 대규모 기본 모델을 만드는 데 사용되는 접근법을 반영합니다. 또한이 책에는 미세 조정을위한 더 큰 사기 모델의 가중치를로드하기위한 코드가 포함되어 있습니다.
이 저장소의 사본을 다운로드하려면 다운로드 zip 버튼을 클릭하거나 터미널에서 다음 명령을 실행하십시오.
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(Manning 웹 사이트에서 코드 번들을 다운로드 한 경우 최신 업데이트를 위해 https://github.com/ranpy13/learning-llm (https://github.com/ranpy13/learning-llm)의 공식 코드 리포지토리 방문을 고려하십시오.)
이 README.md 파일은 Markdown ( .md ) 파일입니다. Manning 웹 사이트 에서이 코드 번들을 다운로드하여 로컬 컴퓨터에서 보는 경우 Markdown 편집기 또는 미리보기를 사용하여 올바른 시청을하는 것이 좋습니다. Markdown 편집기를 아직 설치하지 않은 경우 MarkText는 무료 옵션입니다.
브라우저에서 https://github.com/ranpy13/learning-llm (https://github.com/ranpy13/learning-llm) 에서이 파일과 다른 파일을 볼 수 있습니다.
팁
Python 및 Python 패키지 설치 및 코드 환경 설정에 대한 지침을 찾고 있다면 설정 디렉토리에있는 readme.md 파일을 읽는 것이 좋습니다.
| 제목 제목 | 기본 코드 (빠른 액세스 용) | 모든 코드 + 보충 |
|---|---|---|
| 설정 권장 사항 | - | - |
| CH 1 : 큰 언어 모델 이해 | 코드가 없습니다 | - |
| CH 2 : 텍스트 데이터 작업 | -CH02.ipynb - dataloader.ipynb (요약) -Persion-solutions.ipynb | ./CH02 |
| CH 3 : 코딩주의 메커니즘 | -CH03.ipynb - multihead-attention.ipynb (요약) -Persion-solutions.ipynb | ./CH03 |
| CH 4 : 처음부터 GPT 모델 구현 | -CH04.ipynb -gpt.py (요약) -Persion-solutions.ipynb | ./CH04 |
| CH 5 : 표지되지 않은 데이터에 대한 사전 조정 | -CH05.ipynb -gpt_train.py (요약) -gpt_generate.py (요약) -Persion-solutions.ipynb | ./CH05 |
| CH 6 : 텍스트 분류를위한 FINETUNING | -CH06.ipynb -gpt_class_finetune.py -Persion-solutions.ipynb | ./CH06 |
| CH 7 : 지침을 따르기위한 미세 조정 | -CH07.ipynb -gpt_instruction_finetuning.py (요약) -Ollama_evaluate.py (요약) -Persion-solutions.ipynb | ./CH07 |
| 부록 A : Pytorch 소개 | -Code-Part1.ipynb -Code-part2.ipynb -ddp-script.py -Persion-solutions.ipynb | ./appendix-A |
| 부록 B : 참조 및 추가 읽기 | 코드가 없습니다 | - |
| 부록 C : 운동 솔루션 | 코드가 없습니다 | - |
| 부록 D : 훈련 루프에 종과 휘파람 추가 | -Bactendix-d.ipynb | ./appendix-d |
| 부록 E : LORA와의 매개 변수 효율적인 FinetUning | - 부록 -e.ipynb | ./appendix-e |
아래의 정신 모델은이 책에서 다루는 내용을 요약합니다.
이 책의 주요 장의 코드는 합리적인 기간 내에 기존의 랩탑에서 실행되도록 설계되었으며 특수 하드웨어가 필요하지 않습니다. 이 접근법은 광범위한 청중이 자료에 참여할 수 있도록합니다. 또한 코드는 GPU를 사용할 수있는 경우 자동으로 사용합니다. (추가 권장 사항은 설정 문서를 참조하십시오.)
여러 폴더에는 관심있는 독자를위한 보너스로 옵션 자료가 포함됩니다.
Manning Forum 또는 Github 토론을 통해 가장 잘 공유되는 모든 종류의 피드백을 환영합니다. 마찬가지로, 궁금한 점이 있거나 다른 사람들에게 아이디어를 튀기고 싶다면 주저하지 말고 포럼에 게시하십시오.
이 저장소에는 인쇄물에 해당하는 코드가 포함되어 있기 때문에 현재 실제 책과의 편차를 도입하므로 기본 장 코드의 내용을 확장하는 기부금을 수락 할 수 없습니다. 일관성을 유지하면 모든 사람이 원활한 경험을 보장 할 수 있습니다.
이 책이나 코드가 연구에 유용하다고 생각되면 인용을 고려하십시오.
시카고 스타일 인용 :
Raschka, Sebastian. 큰 언어 모델을 구축하십시오 (처음부터) . 매닝, 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/ranpy13/Learning-LLM}
}