package.json도, Docker 파일도 없다. 그런데도 별 1만 7천 개가 붙었다 — 이 저장소가 파는 것은 소프트웨어가 아니라 "무엇을 어떤 순서로 읽어야 하는가"라는 지도이기 때문이다.
① 본문은 전부 중국어다. Foundations_of_LLMs(English_version)/에 영어판 PDF가 있지만, 그 폴더의 readme가 스스로 "GPT로 직역한 초고(draft)"라고 밝히고 있다. 다듬어진 번역이 아니다.
② 라이선스가 CC BY-NC-ND 4.0이다. NC=비영리, ND=2차 저작물 금지. 즉 "한국어로 번역해서 블로그에 올리기"·"내용을 잘라 강의자료로 재편집하기"는 원저자 허락 없이는 라이선스 위반이다. 읽고 배우는 것은 자유, 가공해 배포하는 것은 아니다.
③ README는 "월간 업데이트"를 약속하지만 최종 푸시는 2025-12-12, 그것도 README 상단에 자기 팀의 새 프로젝트(Agent-Kernel) 홍보 문구를 고친 커밋이다. arXiv 주간 리포트는 2025년 1월 9일자에서 멈췄다. 책 본문(v1.0.0)은 2024~2025 초 기준의 지식이라고 보고 읽어야 한다.
저장소 한 줄 — 저장대학교(浙江大学, Zhejiang University) LLM 연구팀이 쓴 중국어 교재 《大模型基础》(대모형 기초)의 PDF와 부속 자료를 GitHub에 통째로 공개한 저장소다. 저자 팀은 매 장마다 Paper List를 붙여 "이 절을 더 파고들려면 이 논문들"을 지정해 두었다.
구성은 딱 네 덩어리다.
| 덩어리 | 실체 | 규모 |
|---|---|---|
| 본문 교재 | 大模型基础 완전판.pdf | 290쪽 (22 MB) |
| 장별 PDF | 1~6장을 따로 자른 파일 | 31 / 63 / 54 / 33 / 43 / 55쪽 |
| 논문 읽기 목록 | 大模型经典论文列表/readme.md | 987줄 · 논문 202편 |
| arXiv 주간 리포트 | 주 단위 폴더 12개 | 중국어 논문 해설 60편 |
대학 수업을 들으면 보통 세 가지를 받는다. 강의 교재, 교수가 찍어 주는 필독 논문 목록, 그리고 "요즘 학계에서 이런 게 나왔다"는 세미나 요약. 이 저장소는 그 셋을 그대로 GitHub 폴더 세 개로 옮겨 놓은 것이다.
그래서 "클론해서 실행"할 대상이 아니라 "클론해서 읽을" 대상이다. 별을 누르는 사람들도 코드를 쓰려고 누르는 게 아니라, 나중에 읽으려고 책갈피를 꽂는 것에 가깝다.
목차만 보면 흔한 구성 같지만, 5장 "모델 편집"이 통째로 한 장을 차지하는 입문 교재는 드물다. 대부분의 LLM 입문서는 사전학습 → 미세조정 → RAG로 끝난다. 이 책이 왜 그 장을 넣었는지는 4장에서 다시 다룬다.
이 저장소가 오른 날의 TrendShift Daily 상위권을 보면 macOS 메뉴바 도구, 코딩 에이전트, 스킬 모음, UI 카탈로그다. 전부 "오늘 당장 설치해서 쓰는 것"이다. 그 사이에서 290쪽짜리 PDF가 7위에 오르는 현상은, 도구 피로(tool fatigue)의 반작용으로 읽는 게 자연스럽다. 에이전트를 백 개 붙여 봐도 어텐션이 뭔지·LoRA가 왜 싸게 먹히는지를 모르면 남의 설정을 복사하는 데서 멈춘다.
Awesome 계열 큐레이션 저장소의 고질병은 논문이 그냥 쌓여 있다는 것이다. 링크 500개를 주면서 어디부터 읽으라는 말이 없다. 이 저장소의 大模型经典论文列表는 다르다. 논문 202편이 책의 절 번호에 그대로 매달려 있다.
| 장 | 논문 수 | 읽는 순간 |
|---|---|---|
| 1. 언어 모델 기초 | 20편 | n-gram·LSTM·Transformer 원논문까지 |
| 2. 대규모 언어 모델 | 5편 | 스케일링·아키텍처 개괄 (가장 얇다) |
| 3. Prompt 공학 | 45편 | ICL·CoT 계보 전체 |
| 4. 파라미터 효율 미세조정 | 56편 | 가장 두껍다 — Adapter·Prefix·LoRA 계열 총망라 |
| 5. 모델 편집 | 25편 | ROME·MEMIT 계보 |
| 6. 검색 증강 생성 | 51편 | DPR부터 최신 RAG 변종까지 |
이 분포 자체가 정보다. 저자 팀은 4장(PEFT)과 6장(RAG)에 가장 많은 논문을 걸었다 — 곧 "현업에서 실제로 손대는 지점이 여기"라는 뜻이다. 반대로 2장이 5편뿐인 건, 아키텍처는 개별 논문보다 책 본문의 정리가 더 낫다고 판단했다는 신호로 읽힌다.
Awesome 목록이 도서관 전체 장서 목록이라면, 이 논문 목록은 담당 교수가 "3주차엔 이 세 편"이라고 적어 준 강의계획서다. 목록의 길이가 아니라 목록이 어디에 붙어 있느냐가 차이를 만든다.
표지에 동물 여섯 마리가 그려진 이유가 있다. 각 장이 동물 한 마리를 예시 소재로 끝까지 밀고 간다. PDF에서 뽑아낸 실제 예문을 보면 이렇다.
| 장 | 동물 | 어떻게 쓰이나 |
|---|---|---|
| 1장 언어 모델 | 기린(长颈鹿) | "기린 목이 짧다가 길어진 진화처럼 언어 모델도 진화한다" — 기린 문장 5개로 만든 미니 말뭉치로 bigram 확률을 손계산해 보인다 |
| 2장 아키텍처 | 카피바라(水豚) | "카피바라는 성격이 온순하다" 한 문장으로 마스킹·문장순서 예측·문서 회전 등 사전학습 과제를 전부 시연한다 |
| 3장 Prompt | 라쿤(小浣熊) | "라쿤이 라면과자를 먹고 배탈이 났다"로 감정분류·시 생성·이미지 생성 프롬프트를 비교한다 |
| 4장 PEFT | 펠리컨(鹈鹕) | "펠리컨은 무엇을 먹나 / 날 수 있나" 질의응답 세트로 미세조정 전후를 대조한다 |
| 5장 모델 편집 | 얼룩말(斑马) | "얼룩말의 피부 색은?"이라는 오답 하나를 고치는 과정으로 편집의 4가지 요건을 설명한다 |
| 6장 RAG | 코알라(考拉) | "코알라 개체 수는 몇 마리?"라는, 모델이 지어내기 딱 좋은 질문으로 검색의 필요성을 만든다 |
기술 문서에서 예시가 매 절마다 바뀌면 독자는 새 개념 + 새 예시를 동시에 처리해야 한다. 카피바라 문장 하나를 2장 내내 재활용하면, 독자는 이미 아는 문장에 기법만 갈아 끼워 가며 차이를 본다. 이건 문서를 쓰는 사람이라면 그대로 훔쳐 갈 만한 편집 원칙이다.
2024년 6월에 만들어져 2025년 초에 완성된 물건이다. 지금 트렌딩에 뜬 것은 신규 공개가 아니라 재발견이다. 이런 재트렌딩은 보통 중국 SNS나 커뮤니티에서 다시 회자되거나, 저자 팀이 README 상단에 걸어 둔 새 프로젝트(Agent-Kernel) 홍보가 유입을 만들었을 때 일어난다. 별 개수를 "지금 뜨거운 기술"의 지표로 읽으면 곤란하고, "검증 기간을 이미 통과한 자료"로 읽는 게 맞다.
이 저장소에는 실행 스택이 없다. 그래서 "기술 스택"을 두 층으로 나눠 봐야 의미가 있다.
| 층 | 실제로 쓰인 것 | 근거 |
|---|---|---|
| 조판 | LaTeX 계열 (추정) | PDF 안의 수식 조판·그림 번호(图 1.1)·정리 번호 체계가 LaTeX 관례를 따른다. 다만 소스(.tex)는 공개돼 있지 않다 — PDF만 올라온다 |
| 배포 | Git LFS 없이 생 PDF 커밋 | 저장소 용량 약 95 MB 중 대부분이 PDF. 완전판 22 MB + 영어판 46 MB |
| 문서 | Markdown + 인라인 HTML 표 | README의 목차 표는 Markdown 표가 아니라 <table> 원본 HTML로 짜여 있다 (rowspan을 쓰려고) |
| 이미지 | figure/ — 표지 PNG, 별 아이콘 SVG, 위챗 QR | 3개뿐 |
| 라이선스 | CC BY-NC-ND 4.0 | LICENSE.md 전문 수록. 코드 라이선스(MIT/Apache)가 아니라 저작물 라이선스를 쓴 게 이 저장소의 성격을 그대로 보여 준다 |
| CI / 빌드 | 없음 | .github/ 없음, 워크플로 없음, 릴리스 없음 |
README는 "이슈를 많이 남겨 달라"고 하고 실제로 이슈가 54건 열려 있다. 그런데 고칠 수 있는 원본이 저장소에 없다. 독자는 "72쪽 수식 틀렸다"고 글로 신고할 수만 있고, 저자 팀은 손으로 받아 적어 다음 PDF를 다시 올려야 한다. 오픈소스 협업의 이점(포크→수정→PR)이 통째로 빠져 있다.
ND(2차 저작물 금지) 라이선스를 택한 이상 이건 실수가 아니라 의도된 선택에 가깝다. 다만 결과적으로 "GitHub에 올렸지만 GitHub답게 쓰이지는 않는" 저장소가 됐다.
이쪽이 본체다. 여섯 장이 다루는 기술을 한 장으로 펼치면 이렇다.
이 그림이 이 책의 진짜 뼈대다. 3·4·5·6장은 병렬 나열이 아니라 같은 문제에 대한 네 가지 개입 지점이다 — 입력만 바꿀 것인가(3장), 가중치 일부를 학습할 것인가(4장), 특정 뉴런을 직접 수술할 것인가(5장), 아예 밖에서 가져올 것인가(6장). 비용과 되돌리기 난이도가 왼쪽에서 오른쪽으로 갈수록 달라진다.
290쪽을 다 요약할 수는 없다. 대신 다른 입문서에서는 잘 안 다루는데 이 책은 한 장을 통째로 쓴 것, 그리고 실무에서 바로 판단이 갈리는 것 세 가지를 골랐다.
파라미터 효율 미세조정(PEFT)을 다루는 자료는 많지만 대개 "LoRA 쓰면 된다"로 끝난다. 이 책은 논문 56편을 붙여 가며 세 계열로 갈라 놓는다.
W(예: 4096×4096 = 1,600만 개)를 통째로 다시 학습하는 대신, "얼마나 바뀌었는가"인 변화량 ΔW만 학습한다. 그런데 ΔW도 통째로 두면 크기가 같으니, ΔW ≈ B × A처럼 홀쭉한 행렬 두 개의 곱으로 근사한다. r=8이면 4096×8 + 8×4096 = 6.5만 개 — 0.4%만 학습하면 된다.책 한 권을 통째로 다시 인쇄하는 대신(전체 미세조정), 수정할 부분에만 포스트잇을 붙이는 것이 PEFT다. 그 안에서 갈래가 갈린다 — 책 앞에 안내문 한 장을 끼우면 ①의 소프트 프롬프트, 각 장 사이에 얇은 삽지를 넣으면 ①의 어댑터, 원문 몇 문장에만 형광펜을 치면 ②, "이 페이지는 이렇게 고쳐 읽으세요"라는 짧은 대조표를 만들면 ③ LoRA다.
③이 실무에서 이긴 이유는 마지막 성질 때문이다. 대조표를 원문에 합쳐 새 책으로 찍어낼 수 있다(W + BA). 그러면 읽을 때(추론할 때) 대조표를 뒤적일 필요가 없어 속도 손해가 0이다. 어댑터는 삽지를 매번 넘겨야 해서 지연이 붙는다.
"모델이 틀린 사실 하나를 말한다. 재학습은 며칠 걸리고 수천만 원이 든다. 그 한 줄만 고칠 수는 없나?" — 이게 모델 편집이다. 저장대 팀은 이 분야(EasyEdit 등)의 주요 연구 그룹이라 자기 전공을 책에 넣은 셈이다.
책은 얼룩말 예시로 요건 네 가지를 세운다. 원래 모델은 "얼룩말의 피부색은?"에 "검은 줄무늬 피부"라고 틀리게 답한다(정답: 피부는 검은색, 줄무늬는 털). 이걸 고친 뒤 무엇을 확인해야 하는가.
| 요건 | 테스트 질문 | 기대 |
|---|---|---|
| 정확성 (Reliability) | "얼룩말의 피부색은?" | 고친 답이 나온다 |
| 일반화 (Generality) | "얼룩말 피부색 좀 알려줘" / "털 깎은 얼룩말은 무슨 색?" | 말을 바꿔 물어도 같은 답 |
| 이식성 (Portability) | "피부가 검은색인 말은 무슨 말?" | 역방향·추론이 필요한 질문에도 반영 |
| 국소성 (Locality) | "얼룩말은 뭘 먹어?" / "타조는 날 수 있어?" | 건드리지 않은 지식은 그대로 |
답 하나를 바꾸는 건 쉽다. 어려운 건 그 수정이 옆으로 새지 않게 하는 것이다. 신경망 안에서 지식은 한 자리에 얌전히 놓여 있지 않아서, "얼룩말 피부"를 고치다가 "얼룩말 먹이"나 심지어 "타조"까지 흔들릴 수 있다. 이 부작용을 수술 부위만 국소마취하듯 막는 것이 5장 전체의 주제다.
책이 정리한 방법 계보는 이렇다.
흔한 설명은 "BERT는 양방향, GPT는 단방향"에서 멈춘다. 이 책은 각 구조가 무엇을 맞히도록 훈련되는가로 구분한다. 카피바라 한 문장이 여기서 계속 재활용된다.
이 배치의 교육적 장점은 "왜 GPT 계열이 이겼는가"가 그림에서 저절로 읽힌다는 데 있다. Encoder 계열은 과제를 사람이 설계해야 하고 그 과제에 맞는 헤드를 따로 붙여야 한다. Decoder 계열은 과제가 하나(다음 토큰)뿐이라 데이터만 부으면 되고, 정렬 단계에서 사람 선호를 붙여 만능 인터페이스가 된다.
2장 끝에는 비Transformer 아키텍처도 들어 있다 — RWKV 계열의 시간 혼합(time-mixing)·채널 혼합(channel-mixing) 모듈, 그리고 회전 위치 인코딩(RoPE) 같은 것들이다. 입문서가 여기까지 다루는 경우는 흔치 않다.
| 목적 | 여는 순서 |
|---|---|
| 처음부터 공부 | 분장절내용/의 장별 PDF. 완전판(22 MB)은 무겁고 진도 체감이 안 난다 |
| 특정 주제만 | 大模型经典论文列表/readme.md 먼저 → 해당 절의 논문 목록을 보고 → 그 장 PDF만 |
| 중국어를 못 읽음 | 영어판 PDF + 논문 목록(제목·저자·PDF 링크는 원래 영어라 그대로 쓸 수 있다) |
| 클론 없이 보기 | GitHub 웹에서 PDF를 바로 미리보기 할 수 있다. 저장소 전체 클론은 약 95 MB를 받는다 |
cd 《大模型基础》教材 같은 경로가 나온다. 셸에서는 따옴표로 감싸야 하고, 일부 Windows 환경·구형 도구에서는 인코딩 문제로 깨진다. 클론 후 작업할 계획이면 영문 심볼릭 링크를 하나 걸어 두는 편이 편하다.
# 리눅스 / macOS
git clone --depth 1 https://github.com/ZJU-LLMs/Foundations-of-LLMs.git
cd Foundations-of-LLMs
ln -s "《大模型基础》教材/《大模型基础》分章节内容" chapters
ln -s "大模型经典论文列表" papers
ls chapters/
60편의 해설이 전부 같은 틀을 쓴다. 논문 요약 문서를 쓸 일이 있다면 이 틀 자체가 쓸 만하다.
# 논문 제목 (영문 원제)
*저자* / 소속
<3~4문장 초록 — 무엇을 제안했고 결과가 어땠는지>
## 研究内容 (연구 내용) ← 무엇을 하려는가
## 研究动机 (연구 동기) ← 기존 방법의 무엇이 부족한가 (번호 목록)
## 解决方案 (해결 방안) ← 그림 + 단계별 설명
## 实验结果 (실험 결과) ← 표 · 수치
"동기"를 별도 절로 강제한 게 핵심이다. 대부분의 논문 요약은 "무엇을 했다"만 적고 "왜 그게 필요했다"를 빠뜨린다. 그러면 독자는 그 논문이 자기 문제와 관련 있는지 판단할 수 없다.
실무에서 가장 자주 나오는 질문인데, 대개 감으로 답한다. 이 책은 3·4·5·6장을 개입 지점의 차이로 배치해서, 판단 기준을 스스로 세울 재료를 준다. 대략 이렇게 갈린다.
| 상황 | 맞는 도구 | 이유 |
|---|---|---|
| 사실이 자주 바뀜 (재고, 가격, 사내 문서) | RAG (6장) | 학습에 넣으면 바뀔 때마다 다시 학습해야 한다 |
| 말투·출력 형식·도메인 문체를 바꾸고 싶음 | PEFT (4장) | 검색으로는 스타일이 안 바뀐다 |
| 사실 몇 개만 틀림 | 모델 편집 (5장) | 그것 때문에 재학습하는 건 과잉 |
| 일단 되는지 보고 싶음 | Prompt (3장) | 비용 0. 여기서 안 되면 위를 검토 |
실무자 상당수가 "미세조정 아니면 RAG" 이분법 안에 있다. 모델 편집은 세 번째 축이고, "고객사 이름 표기가 하나 틀렸다"처럼 아주 좁은 문제에는 비교할 수 없이 싸다. 다만 국소성 부작용 때문에 프로덕션 적용 사례는 아직 적다 — 그 한계까지 같이 알고 가는 게 중요하다.
1장의 샘플링 절이 temperature·top-k·top-p를 확률 분포 조작으로 설명한다. API를 쓰다 보면 "창의적으로 하려면 온도를 올려라" 수준으로만 아는데, 온도가 소프트맥스 분포를 평평하게/뾰족하게 만드는 나눗셈 계수라는 걸 알면 왜 온도를 올리면 헛소리가 늘어나는지가 자연히 설명된다.
이 저장소의 최대 약점은 손으로 돌려볼 게 없다는 것이다. 개념을 코드로 확인하려면 다른 자료를 붙여야 한다.
| 이 책의 장 | 짝지을 코드 자료 |
|---|---|
| 1~2장 (언어 모델·아키텍처) | rasbt/LLMs-from-scratch — PyTorch로 GPT를 처음부터 짠다. 공교롭게 같은 날 트렌딩 16위에 함께 올라 있다 |
| 4장 (PEFT) | Hugging Face peft 라이브러리 — LoRA·Prefix·IA³가 다 들어 있다 |
| 5장 (모델 편집) | zjunlp/EasyEdit — 같은 저장대 계열에서 나온 편집 프레임워크 |
| 6장 (RAG) | LlamaIndex 또는 LangChain 튜토리얼 |
| 항목 | 필요치 |
|---|---|
| 디스크 | 전체 클론 약 95 MB (영어판 PDF 46 MB가 절반). 본문만 원하면 GitHub 웹에서 해당 PDF만 내려받는 게 낫다 |
| PDF 뷰어 | 아무거나. 다만 본문 텍스트 복사·검색이 잘 안 된다 — 중국어 조판에 서브셋 폰트를 써서 복사하면 글자가 깨진다(직접 확인함). 번역기에 붙여 넣을 생각이라면 이 점을 먼저 감안할 것 |
| GPU | 읽기만 하면 불필요 |
책에는 실습 코드가 없으니 아래는 같은 개념을 다른 자료로 따라 할 때의 현실적인 기준이다.
| 실습 | 최소 | 편안함 | 메모 |
|---|---|---|---|
| 1장 · n-gram 언어 모델 | CPU만 | — | 파이썬 collections.Counter면 끝. GPU 무관 |
| 1~2장 · 소형 GPT 처음부터 학습 | VRAM 8 GB | 16 GB+ | 1억 파라미터급 장난감 모델. 무료 Colab T4로 가능 |
| 3장 · 프롬프트 실험 | 없음 | — | API 호출 비용만 |
| 4장 · 7B 모델 LoRA 미세조정 | VRAM 16 GB (4비트 양자화 시) | 24 GB (RTX 3090/4090) | QLoRA면 8 GB로도 시도는 된다. 배치 크기를 극단적으로 줄여야 함 |
| 4장 · 13B 이상 LoRA | VRAM 24 GB | 40 GB+ (A100) | 개인 장비 경계선 |
| 5장 · ROME으로 7B 편집 | VRAM 24 GB | 40 GB | 학습은 아니지만 모델 전체를 메모리에 올려야 하고 통계 계산에 여유가 필요 |
| 6장 · 로컬 RAG 파이프라인 | CPU + RAM 16 GB | VRAM 8 GB | 임베딩 모델은 작다. 생성 모델을 로컬로 돌릴 때만 GPU 필요 |
1장(통계 모델)·3장(프롬프트)·6장(RAG, 생성은 API로)은 노트북으로 충분하다. GPU가 꼭 필요한 건 4장의 미세조정과 5장의 편집인데, 이 둘도 무료 Colab + 4비트 양자화 + 작은 모델(1~3B)이면 개념 확인은 된다. "장비가 없어서 못 한다"는 이 책에 대해서는 대체로 핑계다.
1장이 기린 문장 5개짜리 미니 말뭉치로 P(목 / 길다) 같은 확률을 손계산해 보인다. 같은 문장 5개를 파이썬에 넣고 bigram 빈도를 세어 책의 손계산과 값이 맞는지 확인한다.
from collections import Counter
corpus = ["기린 의 목 이 길 다", "목 이 긴 기린 은 우아 하다", ...]
uni, bi = Counter(), Counter()
for s in corpus:
w = s.split()
uni.update(w)
bi.update(zip(w, w[1:]))
def p(a, b): # P(b | a)
return bi[(a, b)] / uni[a]
print(p("기린", "의"))
얻는 것 — n-gram의 치명적 약점을 몸으로 안다. 말뭉치에 없던 조합은 확률이 정확히 0이 되고, 문장 전체 확률이 0이 된다. 왜 평활화(smoothing)가 필요한지가 이 순간 설명 없이 이해된다.
아무 API나 로컬 소형 모델에 같은 프롬프트를 20번씩 넣고, 온도별로 서로 다른 답이 몇 개 나오는지를 센다. 그래프를 그리면 온도-다양성 곡선이 나온다.
얻는 것 — 1장 샘플링 절의 수식이 실제 출력으로 어떻게 나타나는지. 그리고 팀에서 "온도 몇으로 할까요"를 물을 때 근거를 대며 답할 수 있게 된다.
작은 모델(1B 이하)과 작은 데이터셋(수백 건)으로 두 번 학습한다. 비교할 것은 성능만이 아니다.
print_trainable_parameters())얻는 것 — 4장 저차원 적응 절의 "0.4%만 학습한다"가 숫자로 확인된다. 그리고 r을 무작정 키워도 좋아지지 않는다는 것을 직접 보면, 하이퍼파라미터 튜닝에 대한 감이 생긴다.
EasyEdit 같은 도구로 사실 하나를 편집한 뒤, 5장의 네 요건을 각각 테스트하는 질문 세트를 직접 만든다.
편집을 10개, 50개, 100개로 늘려 가며 국소성 점수가 어떻게 무너지는지 곡선을 그린다.
얻는 것 — 논문에서 "국소성이 하락한다"고 한 줄로 지나가는 현상을 눈으로 본다. 그리고 왜 모델 편집이 아직 프로덕션에서 드문지를 남에게 설명할 수 있게 된다.
가장 이 저장소다운 과제다. 大模型经典论文列表/readme.md를 파싱해 논문 202편의 제목·저자·연도·장절 위치를 구조화하고, 여기에 6장의 RAG 파이프라인을 씌운다.
{장, 절, 제목, 저자, 연도, PDF링크} 레코드 202개 생성얻는 것 — 6장의 "지식 검색"과 "생성 증강"이 별개 문제라는 게 체감된다. 잘 찾아 와도 답이 엉망일 수 있고, 그 반대도 있다. 그리고 순수 벡터 검색보다 메타데이터 필터가 더 크게 기여하는 순간을 직접 만나게 된다 — 실무 RAG에서 가장 자주 놓치는 지점이다.
이 책만으로는 반쪽이다. 아래 로드맵은 매주 이 책의 한 장 + 손으로 돌릴 것 하나를 묶었다. 주당 8~10시간 기준.
| 주차 | 읽기 (이 책) | 짜기 (다른 자료) | 주말에 남길 것 |
|---|---|---|---|
| 1주 | 1장 언어 모델 기초 (31쪽) + 논문 목록 20편 중 Transformer 원논문 |
n-gram 손구현 → 어텐션 한 층 직접 짜기 | "어텐션이 하는 일"을 그림 한 장으로 설명한 메모 |
| 2주 | 2장 아키텍처 (63쪽 — 가장 무겁다) | LLMs-from-scratch로 소형 GPT 학습 |
Encoder / Decoder 계열 비교표 (직접 작성) |
| 3주 | 3장 Prompt 공학 (54쪽) + 논문 45편 중 CoT·ICL 대표 5편 |
같은 과제를 zero-shot / few-shot / CoT로 풀고 정답률 측정 | "우리 업무 프롬프트" 개선안 1개 (측정 결과 첨부) |
| 4주 | 4장 PEFT (33쪽) + 논문 56편 중 Adapter·LoRA 원논문 |
과제 3 (전체 미세조정 vs LoRA 비교) | VRAM·시간·결과물 크기 비교 표 |
| 5주 | 5장 모델 편집 (43쪽) | 과제 4 (국소성 붕괴 실험) | 편집 개수 대 국소성 그래프 |
| 6주 | 6장 RAG (55쪽) + 논문 51편 중 DPR·RAG 원논문 |
과제 5 (논문 목록 RAG) | 동작하는 검색 챗봇 + "무엇이 안 되는지" 목록 |
된다. 다만 1~2장은 건너뛰지 말 것. 3~6장은 서로 독립적이라 관심 순서대로 골라도 되지만, 1~2장을 건너뛰면 4장에서 "어느 가중치 행렬에 LoRA를 붙이는가"가 그냥 주문처럼 들린다. 급하면 1장 → 2장의 Decoder-only 절만 → 관심 장으로 줄여도 된다.
Agent-Kernel이 그쪽이다.| 용어 | 뜻 |
|---|---|
| n-gram | 앞의 n−1개 단어만 보고 다음 단어를 예측하는 통계 모델. 말뭉치에 없던 조합은 확률 0이 되는 게 치명적 약점 |
| 퍼플렉시티 | 언어 모델이 다음 단어를 얼마나 헷갈리는지의 지표. 낮을수록 좋다. "평균 몇 개 중에서 고민하는가"로 읽으면 된다 |
| Encoder-only | 문장 전체를 양방향으로 읽어 이해하는 구조(BERT 계열). 분류·검색에 강하고 생성은 약하다 |
| Decoder-only | 왼쪽부터 한 토큰씩 이어 쓰는 구조(GPT 계열). 지금 대부분의 LLM이 여기 속한다 |
| 사전학습 과제 | 정답 라벨 없이 원문만으로 모델을 훈련시키는 문제 설정. 마스킹 복원·다음 토큰 예측 등 |
| RoPE (회전 위치 인코딩) | 토큰의 순서 정보를 벡터 회전으로 넣는 방식. 학습 때보다 긴 문장에도 비교적 잘 버틴다 |
| RLHF | 사람이 매긴 답변 선호 순위로 보상 모델을 학습시키고, 그 보상으로 언어 모델을 강화학습하는 3단계 정렬 기법 |
| ICL (문맥 내 학습) | 가중치를 바꾸지 않고, 프롬프트 안에 예시 몇 개를 넣어 과제를 알려주는 것. few-shot이 이것 |
| CoT (생각의 사슬) | "단계별로 생각해 보자"처럼 중간 추론 과정을 쓰게 유도해 정답률을 올리는 기법 |
| PEFT | 파라미터 효율 미세조정. 전체의 0.1~1%만 학습해 전체 미세조정에 근접한 성능을 노린다 |
| 어댑터 | 층 사이에 끼우는 작은 병목 블록(하향투영 → 비선형 → 상향투영). 원본 가중치는 동결 |
| 소프트 프롬프트 | 사람이 읽을 수 없는 학습된 벡터를 입력 앞에 붙이는 방식. 글자가 아니라 숫자로 된 프롬프트 |
| LoRA | 가중치 변화량 ΔW를 홀쭉한 행렬 두 개의 곱(B·A)으로 근사해 학습. 추론 시 원본에 합칠 수 있어 지연 손해가 없다 |
| QLoRA | 원본 모델을 4비트로 양자화해 메모리에 올린 뒤 LoRA를 얹는 조합. 소비자용 GPU에서 큰 모델을 미세조정하는 표준 경로 |
| 랭크(r) | LoRA에서 ΔW를 얼마나 홀쭉하게 근사할지 정하는 값. 작으면 싸고 표현력이 낮다. 무작정 키워도 성능은 곧 평평해진다 |
| 모델 편집 | 재학습 없이 모델 안의 특정 사실만 골라 고치는 기법군 |
| 국소성 (Locality) | 모델 편집의 4요건 중 하나. 고치지 않은 지식이 그대로 남아 있는가. 가장 깨지기 쉽다 |
| 이식성 (Portability) | 편집한 사실이 역방향 질문·2단 추론에도 반영되는가 |
| T-Patcher | 틀린 출력을 내는 지점 옆에 "패치 뉴런"을 붙여, 해당 입력에서만 활성화되게 학습하는 부가 파라미터형 편집법 |
| ROME | 사실이 저장된 층을 인과 추적으로 찾은 뒤, 그 전결합 층에 랭크 1 수정을 한 번 가해 편집하는 방법 |
| RAG | 검색 증강 생성. 답하기 전에 외부 문서를 찾아와 프롬프트에 넣는 구조. 검색기 + 생성기 |
| CC BY-NC-ND 4.0 | 출처 표시 + 비영리 + 2차 저작물 금지. 번역·재편집 배포는 원저자 허락이 필요하다 |