5분 AI.
TrendShift 딥다이브 · 2026-08-24 · Daily #7

Foundations-of-LLMs 딥다이브
— 코드가 한 줄도 없는데 별 1만 7천 개를 받은 저장소, 《대모형 기초》

ZJU-LLMs/Foundations-of-LLMs는 저장소가 아니라 이다. 들어 있는 것은 PDF 290쪽짜리 중국어 대규모 언어 모델 교재 한 권, 장별로 쪼갠 PDF 6개, 논문 202편을 장·절에 맞춰 정리한 읽기 목록, 그리고 arXiv 주간 리포트 60편. 실행할 코드도, package.json도, Docker 파일도 없다. 그런데도 별 1만 7천 개가 붙었다 — 이 저장소가 파는 것은 소프트웨어가 아니라 "무엇을 어떤 순서로 읽어야 하는가"라는 지도이기 때문이다.
(⭐ 17,143 · 포크 1,615 · 2024-06-30 개설 · 최종 푸시 2025-12-12 · CC BY-NC-ND 4.0 · 저장소 용량 약 95 MB · 이슈 54건 열림 · TrendShift Daily #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 초 기준의 지식이라고 보고 읽어야 한다.

목차
  1. 프로젝트 한 줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석 — 책의 지식 구조
  5. 디렉토리 구조 해부
  6. 학습 포인트
  7. 하드웨어 · 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한 줄 요약

"논문 202편을 여섯 장짜리 목차에 꽂아 넣은, 저장소 모양을 한 교과서"

저장소 한 줄 — 저장대학교(浙江大学, Zhejiang University) LLM 연구팀이 쓴 중국어 교재 《大模型基础》(대모형 기초)의 PDF와 부속 자료를 GitHub에 통째로 공개한 저장소다. 저자 팀은 매 장마다 Paper List를 붙여 "이 절을 더 파고들려면 이 논문들"을 지정해 두었다.

구성은 딱 네 덩어리다.

덩어리실체규모
본문 교재大模型基础 완전판.pdf290쪽 (22 MB)
장별 PDF1~6장을 따로 자른 파일31 / 63 / 54 / 33 / 43 / 55쪽
논문 읽기 목록大模型经典论文列表/readme.md987줄 · 논문 202편
arXiv 주간 리포트주 단위 폴더 12개중국어 논문 해설 60편
한 문장 비유

"교과서 + 참고문헌 + 학회지 요약"이 한 폴더에 들어 있는 대학 강의 꾸러미

대학 수업을 들으면 보통 세 가지를 받는다. 강의 교재, 교수가 찍어 주는 필독 논문 목록, 그리고 "요즘 학계에서 이런 게 나왔다"는 세미나 요약. 이 저장소는 그 셋을 그대로 GitHub 폴더 세 개로 옮겨 놓은 것이다.

그래서 "클론해서 실행"할 대상이 아니라 "클론해서 읽을" 대상이다. 별을 누르는 사람들도 코드를 쓰려고 누르는 게 아니라, 나중에 읽으려고 책갈피를 꽂는 것에 가깝다.

책이 다루는 여섯 장

  1. 언어 모델 기초 — n-gram 통계 모델 → RNN → Transformer, 그리고 샘플링 기법과 평가
  2. 대규모 언어 모델 아키텍처 — Encoder-only / Encoder-Decoder / Decoder-only, 그리고 비(非)Transformer 계열
  3. Prompt 공학 — 문맥 내 학습(ICL), 생각의 사슬(CoT), 실무 프롬프트 기법
  4. 파라미터 효율 미세조정(PEFT) — 파라미터 추가법 / 선택법 / 저차원 적응(LoRA 계열)
  5. 모델 편집(Model Editing) — 재학습 없이 모델 안의 특정 사실 하나만 고치기 (T-Patcher, ROME)
  6. 검색 증강 생성(RAG) — 검색기·생성기 구조, 지식 검색, 생성 증강

목차만 보면 흔한 구성 같지만, 5장 "모델 편집"이 통째로 한 장을 차지하는 입문 교재는 드물다. 대부분의 LLM 입문서는 사전학습 → 미세조정 → RAG로 끝난다. 이 책이 왜 그 장을 넣었는지는 4장에서 다시 다룬다.

2왜 지금 주목받는가

"AI 잘 쓰는 법" 콘텐츠가 넘칠수록, "AI가 어떻게 굴러가는지"의 값이 오른다

① 트렌딩 목록의 나머지가 전부 도구일 때, 혼자 교과서다

이 저장소가 오른 날의 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) 홍보가 유입을 만들었을 때 일어난다. 별 개수를 "지금 뜨거운 기술"의 지표로 읽으면 곤란하고, "검증 기간을 이미 통과한 자료"로 읽는 게 맞다.

3기술 스택 전체 지도

두 겹으로 봐야 한다 — 저장소를 만든 스택, 그리고 책이 가르치는 스택

이 저장소에는 실행 스택이 없다. 그래서 "기술 스택"을 두 층으로 나눠 봐야 의미가 있다.

3-1. 저장소 자체의 제작 스택 (얇다)

실제로 쓰인 것근거
조판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, 위챗 QR3개뿐
라이선스CC BY-NC-ND 4.0LICENSE.md 전문 수록. 코드 라이선스(MIT/Apache)가 아니라 저작물 라이선스를 쓴 게 이 저장소의 성격을 그대로 보여 준다
CI / 빌드없음.github/ 없음, 워크플로 없음, 릴리스 없음
설계 흠
.tex 소스가 없어서 "오타 고쳐 PR"이 불가능하다

README는 "이슈를 많이 남겨 달라"고 하고 실제로 이슈가 54건 열려 있다. 그런데 고칠 수 있는 원본이 저장소에 없다. 독자는 "72쪽 수식 틀렸다"고 글로 신고할 수만 있고, 저자 팀은 손으로 받아 적어 다음 PDF를 다시 올려야 한다. 오픈소스 협업의 이점(포크→수정→PR)이 통째로 빠져 있다.

ND(2차 저작물 금지) 라이선스를 택한 이상 이건 실수가 아니라 의도된 선택에 가깝다. 다만 결과적으로 "GitHub에 올렸지만 GitHub답게 쓰이지는 않는" 저장소가 됐다.

3-2. 책이 가르치는 기술 스택 (두껍다)

이쪽이 본체다. 여섯 장이 다루는 기술을 한 장으로 펼치면 이렇다.

┌──────────────────────────────────────────────────────────────┐ │ 1장 · 언어 모델의 뿌리 │ │ n-gram 통계 → RNN / LSTM → Transformer │ │ + 샘플링: greedy / top-k / top-p / temperature │ │ + 평가: perplexity, 벤치마크 │ └───────────────┬──────────────────────────────────────────────┘ │ "그래서 크게 만들면?" ▼ ┌──────────────────────────────────────────────────────────────┐ │ 2장 · 대규모 언어 모델 아키텍처 │ │ ┌ Encoder-only (BERT 계열: 마스킹 복원, 문장쌍 판별) │ │ ├ Encoder-Decoder (BART/T5 계열: 삭제·빈칸·문장섞기·회전) │ │ ├ Decoder-only (GPT 계열: 다음 토큰 예측 + RLHF 3단계) │ │ └ 비Transformer (RWKV 등: 시간혼합/채널혼합 모듈) │ └───────────────┬──────────────────────────────────────────────┘ │ "모델은 이미 있다. 이제 어떻게 부려 쓰나?" ▼ ┌───────────┴───────────┬───────────────┬─────────────────┐ ▼ ▼ ▼ ▼ ┌─────────┐ ┌─────────────┐ ┌────────────┐ ┌──────────────┐ │ 3장 │ │ 4장 │ │ 5장 │ │ 6장 │ │ Prompt │ │ PEFT │ │ 모델 편집 │ │ RAG │ │ 공학 │ │ 미세조정 │ │ │ │ │ ├─────────┤ ├─────────────┤ ├────────────┤ ├──────────────┤ │ 가중치 │ │ 가중치 일부 │ │ 가중치 │ │ 가중치 │ │ 안 건드림│ │ 만 학습 │ │ 특정 지점 │ │ 안 건드리고 │ │ 입력만 │ │ (0.1~1%) │ │ 만 수술 │ │ 외부 지식 │ │ 바꿈 │ │ │ │ │ │ 붙임 │ ├─────────┤ ├─────────────┤ ├────────────┤ ├──────────────┤ │ 비용 0 │ │ GPU 몇 시간 │ │ 수 분 │ │ 검색 인프라 │ └─────────┘ └─────────────┘ └────────────┘ └──────────────┘ └──────────── 공통 질문: "모델이 모르는 걸 어떻게 알게 하나" ────┘

이 그림이 이 책의 진짜 뼈대다. 3·4·5·6장은 병렬 나열이 아니라 같은 문제에 대한 네 가지 개입 지점이다 — 입력만 바꿀 것인가(3장), 가중치 일부를 학습할 것인가(4장), 특정 뉴런을 직접 수술할 것인가(5장), 아예 밖에서 가져올 것인가(6장). 비용과 되돌리기 난이도가 왼쪽에서 오른쪽으로 갈수록 달라진다.

4아키텍처 심화 분석 — 책의 지식 구조

교재 안에서 실제로 배울 값이 큰 세 지점을 골라 뜯는다

290쪽을 다 요약할 수는 없다. 대신 다른 입문서에서는 잘 안 다루는데 이 책은 한 장을 통째로 쓴 것, 그리고 실무에서 바로 판단이 갈리는 것 세 가지를 골랐다.

4-1. 4장 PEFT — 세 갈래 분류가 핵심이다

파라미터 효율 미세조정(PEFT)을 다루는 자료는 많지만 대개 "LoRA 쓰면 된다"로 끝난다. 이 책은 논문 56편을 붙여 가며 세 계열로 갈라 놓는다.

PEFT (전체 파라미터의 0.1~1%만 학습) │ ┌─────────────────────────┼─────────────────────────┐ ▼ ▼ ▼ ① 파라미터 추가법 ② 파라미터 선택법 ③ 저차원 적응법 (Additive) (Selective) (Low-Rank) │ │ │ ┌──────┴──────┐ │ │ ▼ ▼ ▼ ▼ 외부 추가 내부 추가 기존 가중치 중 W 변화량 ΔW 를 (Soft Prompt) (Adapter) "일부만 골라" 학습 저차원 두 행렬로 입력 임베딩 층 사이에 나머지는 동결 근사: ΔW ≈ B·A 앞에 학습 작은 병목 (LoRA 계열) 벡터 붙임 블록 삽입 │ │ │ 원본 층은 ┌────┴─────┐ 추론 시 W+BA 로 손 안 댐 ▼ ▼ 합쳐 버리면 하향투영 상향투영 지연시간 추가 0 (r 차원) (d 차원)
용어
저차원 적응 (Low-Rank Adaptation, LoRA)
거대한 가중치 행렬 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이다. 어댑터는 삽지를 매번 넘겨야 해서 지연이 붙는다.

4-2. 5장 모델 편집 — 이 책이 특별한 이유

"모델이 틀린 사실 하나를 말한다. 재학습은 며칠 걸리고 수천만 원이 든다. 그 한 줄만 고칠 수는 없나?" — 이게 모델 편집이다. 저장대 팀은 이 분야(EasyEdit 등)의 주요 연구 그룹이라 자기 전공을 책에 넣은 셈이다.

책은 얼룩말 예시로 요건 네 가지를 세운다. 원래 모델은 "얼룩말의 피부색은?"에 "검은 줄무늬 피부"라고 틀리게 답한다(정답: 피부는 검은색, 줄무늬는 ). 이걸 고친 뒤 무엇을 확인해야 하는가.

요건테스트 질문기대
정확성 (Reliability)"얼룩말의 피부색은?"고친 답이 나온다
일반화 (Generality)"얼룩말 피부색 좀 알려줘" / "털 깎은 얼룩말은 무슨 색?"말을 바꿔 물어도 같은 답
이식성 (Portability)"피부가 검은색인 말은 무슨 말?"역방향·추론이 필요한 질문에도 반영
국소성 (Locality)"얼룩말은 뭘 먹어?" / "타조는 날 수 있어?"건드리지 않은 지식은 그대로
여기가 핵심
네 번째 요건(국소성)이 모델 편집을 어렵게 만든다

답 하나를 바꾸는 건 쉽다. 어려운 건 그 수정이 옆으로 새지 않게 하는 것이다. 신경망 안에서 지식은 한 자리에 얌전히 놓여 있지 않아서, "얼룩말 피부"를 고치다가 "얼룩말 먹이"나 심지어 "타조"까지 흔들릴 수 있다. 이 부작용을 수술 부위만 국소마취하듯 막는 것이 5장 전체의 주제다.

책이 정리한 방법 계보는 이렇다.

모델 편집 │ ├─ 확장법 (拓展法) — 원본은 건드리지 않고 옆에 덧붙인다 │ │ │ ├─ 지식 캐시법 : 편집 내용을 별도 저장소에 넣고, 질문이 오면 │ │ "이건 편집된 항목인가?" 먼저 확인 후 가로챈다 │ │ │ ├─ 부가 파라미터법 : 특정 층에 작은 파라미터를 끼워 넣는다 │ │ └─ T-Patcher : 틀린 출력이 나오는 뉴런 옆에 "패치 뉴런"을 │ │ 하나 붙여, 그 입력에서만 활성화되게 학습 │ │ │ └─ 게이트 유닛 : 원본 경로와 편집 경로 중 무엇을 쓸지 판단 │ └─ 수정법 (修改法) — 원본 가중치를 직접 고친다 │ ├─ 메타 학습법 : "어떻게 편집해야 하는지"를 별도 모델이 학습 │ (내부 최적화 / 외부 최적화 이중 구조) │ └─ 위치 파악 후 편집 (定位编辑法) └─ ROME : ① 실험으로 "이 사실이 어느 층에 저장됐는지" 찾고 ② 그 층의 전결합(MLP) 가중치를 닫힌 해로 한 번에 갱신 → 경사하강 반복 없이 수 초~수 분
용어
ROME (Rank-One Model Editing)
"신경망의 전결합 층은 키-값 저장소처럼 동작한다"는 가설에서 출발한다. 먼저 특정 사실을 지우거나 흐릿하게 만들며 어느 층에서 답이 무너지는지를 실험으로 찾고(인과 추적), 그 층의 가중치에 랭크 1짜리 수정을 한 번 더해 답을 바꾼다. 반복 학습이 아니라 수식을 푸는 방식이라 빠르다.

4-3. 2장 — Encoder / Decoder를 "사전학습 과제"로 구분한다

흔한 설명은 "BERT는 양방향, GPT는 단방향"에서 멈춘다. 이 책은 각 구조가 무엇을 맞히도록 훈련되는가로 구분한다. 카피바라 한 문장이 여기서 계속 재활용된다.

원문: "카피바라는 성격이 온순하고 공격성이 없어서 대부분의 동물과 잘 지낸다" [Encoder-only · BERT 계열] ├ 마스킹 복원 : "카피바라는 성격이 [MASK]하고..." → [MASK] = 온순 ├ 문장쌍 판별 : 두 문장이 이어지는가? → 예 / 아니오 └ 판별기 방식 : 생성기가 단어를 바꿔치기 → 판별기가 "바뀐 단어 찾기" (ELECTRA 계열 — 마스킹보다 학습 효율이 높다) [Encoder-Decoder · BART/T5 계열] — 문장을 망가뜨리고 복원시킨다 ├ 가리기 : 일부 토큰 → [MASK] ├ 삭제 : 토큰을 그냥 지움 (몇 개 지워졌는지도 모름) ├ 연속 빈칸 : 여러 토큰을 [MASK] 하나로 뭉뚱그림 ├ 문장 섞기 : 문장 순서를 무작위로 └ 문서 회전 : 임의 지점을 시작점으로 돌려 놓음 [Decoder-only · GPT 계열] └ 다음 토큰 예측 하나로 끝 "카피바라는 성격이" → "온" → "순" → "하고" ... 그 뒤에 3단계 정렬: ① 지도 미세조정(SFT) → ② 보상 모델 학습(사람 선호 순위) → ③ 강화학습으로 모델 갱신

이 배치의 교육적 장점은 "왜 GPT 계열이 이겼는가"가 그림에서 저절로 읽힌다는 데 있다. Encoder 계열은 과제를 사람이 설계해야 하고 그 과제에 맞는 헤드를 따로 붙여야 한다. Decoder 계열은 과제가 하나(다음 토큰)뿐이라 데이터만 부으면 되고, 정렬 단계에서 사람 선호를 붙여 만능 인터페이스가 된다.

2장 끝에는 비Transformer 아키텍처도 들어 있다 — RWKV 계열의 시간 혼합(time-mixing)·채널 혼합(channel-mixing) 모듈, 그리고 회전 위치 인코딩(RoPE) 같은 것들이다. 입문서가 여기까지 다루는 경우는 흔치 않다.

5디렉토리 구조 해부

폴더가 다섯 개뿐인데, 여는 순서가 중요하다
Foundations-of-LLMs/ │ ├── readme.md ← 목차 표 + 각 장 PDF 직링크. 여기서 시작 ├── LICENSE.md ← CC BY-NC-ND 4.0 전문 (⚠ 2차 저작물 금지) │ ├── 《大模型基础》教材/ ★ 본체 │ ├── 大模型基础 완전판.pdf 290쪽 / 22 MB │ └── 《大模型基础》分章节内容/ 장별로 자른 PDF │ ├── 第1章 语言模型基础.pdf 31쪽 │ ├── 第2章 大语言模型架构.pdf 63쪽 ← 가장 두껍다 │ ├── 第3章 Prompt 工程.pdf 54쪽 │ ├── 第4章 参数高效微调.pdf 33쪽 │ ├── 第5章 模型编辑.pdf 43쪽 │ └── 第6章 检索增强生成.pdf 55쪽 │ ├── 大模型经典论文列表/ ★ 숨은 보석 │ └── readme.md 987줄 · 논문 202편 │ 책의 절 구조 그대로 계층화 │ ├── Arxiv 一周进展报告(大模型方向)/ ★ 부록 (2025-01 이후 멈춤) │ ├── 20241004-20241010/ ... 20250103-20250109/ 주간 폴더 12개 │ └── 각 폴더 안: 논문 해설 .md 3~8편 (총 60편) │ ├── Foundations_of_LLMs(English_version)/ │ ├── Foundation_of_LLMs.pdf 46 MB — GPT 직역 초고 │ └── readme.md "still a draft" 라고 명시 │ └── figure/ ├── cover.png 여섯 동물 표지 ├── star.svg 논문 목록의 절 제목 앞 아이콘 └── wechat_QR_code.jpg 독자 커뮤니티

어디부터 열어야 하는가

목적여는 순서
처음부터 공부분장절내용/의 장별 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/

Arxiv 주간 리포트 — 형식이 참고할 만하다

60편의 해설이 전부 같은 틀을 쓴다. 논문 요약 문서를 쓸 일이 있다면 이 틀 자체가 쓸 만하다.

# 논문 제목 (영문 원제)
*저자* / 소속

<3~4문장 초록 — 무엇을 제안했고 결과가 어땠는지>

## 研究内容 (연구 내용)   ← 무엇을 하려는가
## 研究动机 (연구 동기)   ← 기존 방법의 무엇이 부족한가 (번호 목록)
## 解决方案 (해결 방안)   ← 그림 + 단계별 설명
## 实验结果 (실험 결과)   ← 표 · 수치

"동기"를 별도 절로 강제한 게 핵심이다. 대부분의 논문 요약은 "무엇을 했다"만 적고 "왜 그게 필요했다"를 빠뜨린다. 그러면 독자는 그 논문이 자기 문제와 관련 있는지 판단할 수 없다.

6학습 포인트

이 저장소에서 실제로 가져갈 수 있는 것 — 지식 쪽과 기술(記述) 쪽 둘 다

6-1. LLM 지식 측면 — 대체로 아는데 애매한 것들이 정리된다

지점 ①

"미세조정 vs RAG, 뭘 써야 하나"에 답할 수 있게 된다

실무에서 가장 자주 나오는 질문인데, 대개 감으로 답한다. 이 책은 3·4·5·6장을 개입 지점의 차이로 배치해서, 판단 기준을 스스로 세울 재료를 준다. 대략 이렇게 갈린다.

상황맞는 도구이유
사실이 자주 바뀜 (재고, 가격, 사내 문서)RAG (6장)학습에 넣으면 바뀔 때마다 다시 학습해야 한다
말투·출력 형식·도메인 문체를 바꾸고 싶음PEFT (4장)검색으로는 스타일이 안 바뀐다
사실 몇 개만 틀림모델 편집 (5장)그것 때문에 재학습하는 건 과잉
일단 되는지 보고 싶음Prompt (3장)비용 0. 여기서 안 되면 위를 검토
지점 ②

모델 편집이라는 선택지의 존재를 알게 된다

실무자 상당수가 "미세조정 아니면 RAG" 이분법 안에 있다. 모델 편집은 세 번째 축이고, "고객사 이름 표기가 하나 틀렸다"처럼 아주 좁은 문제에는 비교할 수 없이 싸다. 다만 국소성 부작용 때문에 프로덕션 적용 사례는 아직 적다 — 그 한계까지 같이 알고 가는 게 중요하다.

지점 ③

샘플링 파라미터를 감이 아니라 원리로 만진다

1장의 샘플링 절이 temperature·top-k·top-p를 확률 분포 조작으로 설명한다. API를 쓰다 보면 "창의적으로 하려면 온도를 올려라" 수준으로만 아는데, 온도가 소프트맥스 분포를 평평하게/뾰족하게 만드는 나눗셈 계수라는 걸 알면 왜 온도를 올리면 헛소리가 늘어나는지가 자연히 설명된다.

6-2. 문서를 쓰는 사람에게 — 편집 기법 세 가지

6-3. 함께 보면 좋은 것 — 코드가 필요하다면

이 저장소의 최대 약점은 손으로 돌려볼 게 없다는 것이다. 개념을 코드로 확인하려면 다른 자료를 붙여야 한다.

이 책의 장짝지을 코드 자료
1~2장 (언어 모델·아키텍처)rasbt/LLMs-from-scratch — PyTorch로 GPT를 처음부터 짠다. 공교롭게 같은 날 트렌딩 16위에 함께 올라 있다
4장 (PEFT)Hugging Face peft 라이브러리 — LoRA·Prefix·IA³가 다 들어 있다
5장 (모델 편집)zjunlp/EasyEdit — 같은 저장대 계열에서 나온 편집 프레임워크
6장 (RAG)LlamaIndex 또는 LangChain 튜토리얼

7하드웨어 · 시스템 요구사항

읽는 데는 아무것도 필요 없다. 문제는 "따라 해 보려 할 때"다

7-1. 저장소를 보는 데 필요한 것

항목필요치
디스크전체 클론 약 95 MB (영어판 PDF 46 MB가 절반). 본문만 원하면 GitHub 웹에서 해당 PDF만 내려받는 게 낫다
PDF 뷰어아무거나. 다만 본문 텍스트 복사·검색이 잘 안 된다 — 중국어 조판에 서브셋 폰트를 써서 복사하면 글자가 깨진다(직접 확인함). 번역기에 붙여 넣을 생각이라면 이 점을 먼저 감안할 것
GPU읽기만 하면 불필요

7-2. 각 장을 직접 실습하려 할 때의 최소 사양

책에는 실습 코드가 없으니 아래는 같은 개념을 다른 자료로 따라 할 때의 현실적인 기준이다.

실습최소편안함메모
1장 · n-gram 언어 모델CPU만파이썬 collections.Counter면 끝. GPU 무관
1~2장 · 소형 GPT 처음부터 학습VRAM 8 GB16 GB+1억 파라미터급 장난감 모델. 무료 Colab T4로 가능
3장 · 프롬프트 실험없음API 호출 비용만
4장 · 7B 모델 LoRA 미세조정VRAM 16 GB (4비트 양자화 시)24 GB (RTX 3090/4090)QLoRA면 8 GB로도 시도는 된다. 배치 크기를 극단적으로 줄여야 함
4장 · 13B 이상 LoRAVRAM 24 GB40 GB+ (A100)개인 장비 경계선
5장 · ROME으로 7B 편집VRAM 24 GB40 GB학습은 아니지만 모델 전체를 메모리에 올려야 하고 통계 계산에 여유가 필요
6장 · 로컬 RAG 파이프라인CPU + RAM 16 GBVRAM 8 GB임베딩 모델은 작다. 생성 모델을 로컬로 돌릴 때만 GPU 필요
현실적인 조언
GPU가 없어도 6장 중 4장은 다 해볼 수 있다

1장(통계 모델)·3장(프롬프트)·6장(RAG, 생성은 API로)은 노트북으로 충분하다. GPU가 꼭 필요한 건 4장의 미세조정과 5장의 편집인데, 이 둘도 무료 Colab + 4비트 양자화 + 작은 모델(1~3B)이면 개념 확인은 된다. "장비가 없어서 못 한다"는 이 책에 대해서는 대체로 핑계다.

8직접 해볼 수 있는 실습 과제

읽기만 하면 남지 않는다 — 각 과제가 책의 어느 절을 검증하는지도 함께
과제 1난이도 ★☆☆ · 1시간 · GPU 불필요

기린 말뭉치로 bigram 확률을 손으로 계산해 코드와 대조하기

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)가 필요한지가 이 순간 설명 없이 이해된다.

과제 2난이도 ★☆☆ · 2시간 · GPU 불필요

온도(temperature)를 0.1부터 2.0까지 바꿔 가며 출력 분포 그리기

아무 API나 로컬 소형 모델에 같은 프롬프트를 20번씩 넣고, 온도별로 서로 다른 답이 몇 개 나오는지를 센다. 그래프를 그리면 온도-다양성 곡선이 나온다.

얻는 것 — 1장 샘플링 절의 수식이 실제 출력으로 어떻게 나타나는지. 그리고 팀에서 "온도 몇으로 할까요"를 물을 때 근거를 대며 답할 수 있게 된다.

과제 3난이도 ★★☆ · 반나절 · GPU 8~16 GB

같은 데이터로 전체 미세조정 vs LoRA를 붙여서 비교하기

작은 모델(1B 이하)과 작은 데이터셋(수백 건)으로 두 번 학습한다. 비교할 것은 성능만이 아니다.

얻는 것 — 4장 저차원 적응 절의 "0.4%만 학습한다"가 숫자로 확인된다. 그리고 r을 무작정 키워도 좋아지지 않는다는 것을 직접 보면, 하이퍼파라미터 튜닝에 대한 감이 생긴다.

과제 4난이도 ★★★ · 1~2일 · GPU 24 GB 권장

모델 편집의 "국소성"을 직접 깨뜨려 보기

EasyEdit 같은 도구로 사실 하나를 편집한 뒤, 5장의 네 요건을 각각 테스트하는 질문 세트를 직접 만든다.

  1. 정확성 — 편집한 그 질문 (1개)
  2. 일반화 — 같은 뜻 다른 표현 (5개)
  3. 이식성 — 역방향·2단 추론 질문 (5개)
  4. 국소성 — 무관한 질문 (20개, 이게 제일 중요하다)

편집을 10개, 50개, 100개로 늘려 가며 국소성 점수가 어떻게 무너지는지 곡선을 그린다.

얻는 것 — 논문에서 "국소성이 하락한다"고 한 줄로 지나가는 현상을 눈으로 본다. 그리고 왜 모델 편집이 아직 프로덕션에서 드문지를 남에게 설명할 수 있게 된다.

과제 5난이도 ★★★ · 3~5일 · GPU 선택

이 저장소의 논문 목록 202편으로 RAG를 만들어, 책 자신에게 질문하기

가장 이 저장소다운 과제다. 大模型经典论文列表/readme.md를 파싱해 논문 202편의 제목·저자·연도·장절 위치를 구조화하고, 여기에 6장의 RAG 파이프라인을 씌운다.

  1. Markdown을 파싱해 {장, 절, 제목, 저자, 연도, PDF링크} 레코드 202개 생성
  2. PDF 링크를 따라가 초록을 수집 (arXiv API 사용 — 링크 상당수가 arXiv다)
  3. 초록을 임베딩해 벡터 인덱스 구축
  4. "LoRA 계열의 계보를 시간순으로 알려줘" 같은 질문에 답하게 한다
  5. 메타데이터 필터를 넣는다 — "4장에 속한 논문 중에서만" 같은 조건

얻는 것 — 6장의 "지식 검색"과 "생성 증강"이 별개 문제라는 게 체감된다. 잘 찾아 와도 답이 엉망일 수 있고, 그 반대도 있다. 그리고 순수 벡터 검색보다 메타데이터 필터가 더 크게 기여하는 순간을 직접 만나게 된다 — 실무 RAG에서 가장 자주 놓치는 지점이다.

9관련 기술 심화 학습 로드맵

6주 — 매주 한 장씩, 다만 "읽기"와 "짜기"를 반드시 짝지어서

이 책만으로는 반쪽이다. 아래 로드맵은 매주 이 책의 한 장 + 손으로 돌릴 것 하나를 묶었다. 주당 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 절만 → 관심 장으로 줄여도 된다.

6주 뒤에 갈 곳

10핵심 키워드 사전

이 문서에 나온 말들을 한 줄씩
용어
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차 저작물 금지. 번역·재편집 배포는 원저자 허락이 필요하다

11참고 링크

저장소 · 함께 볼 코드 자료 · 원논문

저장소

코드로 확인할 짝 자료

원논문 (책이 지목한 것 중 대표만)