HenryNdubuaku/maths-cs-ai-compendium는 "호기심 많은 실무자를 위한, 관습을 깬 오픈 교과서(an open, unconventional textbook)"를 표방한다. 저자 Henry Ndubuaku가 README에 못 박은 목표는 분명하다 — "시험·면접을 겨우 통과하려는 게 아니라, 원리를 진짜로 이해하게 만든다". 그래서 위키처럼 정의만 나열하지 않고, 직관 → 수식 → 코드 → 직접 풀 과제의 순서로 개념 하나하나를 손으로 풀어 준다.
이 저장소에는 사연이 있다. 저자가 몇 년에 걸쳐 채운 학습 노트를, 2025년 친구들이 DeepMind·OpenAI·Nvidia 면접 준비에 썼고 실제로 합격했다는 것. 저자 본인은 이 내용을 밑천 삼아 Y Combinator에 들어갔다고 적혀 있다. 즉 이 교과서는 "AI 리서치 엔지니어로 취업"이라는 실전 목표에 맞춰 다듬어진, 현장에서 검증된 노트라는 서사를 갖고 있다.
#Curated list(큐레이션 목록)로 태깅한 건 사실 오분류에 가깝다.awesome-list는 남이 만든 좋은 자료로 가는 이정표다. 편하지만, 결국 각 링크를 따로 열어 스스로 꿰매야 한다. 이 저장소는 반대다 — 벡터의 내적부터 PagedAttention까지, 한 사람의 목소리로 처음부터 끝까지 이어서 써 놓았다. 그래서 "다음에 뭘 봐야 하지?"를 고민할 필요가 없다. 순서가 곧 커리큘럼이다.
대신 한 사람이 쓴 만큼 챕터별로 깊이가 다르고(18개 완성·2개 예고), 일부는 아직 스텁이다. "완결된 정본"이 아니라 "빠르게 자라는 살아 있는 노트"로 보는 게 정확하다.
AI 학습 자료는 넘쳐 나는데 이 저장소가 왜 트렌딩에 올랐을까. 세 가지가 겹쳤다 — ① "이 노트로 DeepMind·OpenAI에 합격했다"는 서사의 흡인력, ② 순수 수학부터 GPU 커널·추론 서빙까지 흩어진 주제를 한 저장소에 밑바닥부터 모은 희소성, ③ MCP 서버와 llms.txt를 얹어 AI 코딩 에이전트가 교과서를 직접 읽게 한 요즘 감각이다.
| 포인트 | 내용 |
|---|---|
| 정체 | 수학·CS·AI를 처음부터 쓴 오픈 교과서. 마크다운 105개·약 267,000단어·직접 그린 SVG 도해 263개·실행 코드 블록 540여 개. |
| 차별점 ① | 범위가 넓다. 벡터·행렬·미적분·확률(순수수학) → 트랜스포머·확산·GNN(AI) → CUDA·양자화·PagedAttention(시스템)까지 한 흐름. |
| 차별점 ② | 직관 우선 + 실습 강제. 105개 파일 중 84개가 끝에 "코딩 과제"를 달아, 읽고 끝내지 못하게 만든다. |
| 차별점 ③ | AI-네이티브. 저장소에 MCP 서버(도구 5종)와 llms.txt를 내장해, Claude Code·Cursor가 교과서를 지식베이스로 검색·인용. |
| 대상 독자 | "AI/ML 리서치 엔지니어가 되고 싶다"는 학습자·면접 준비생. 얕게 훑기보다 원리를 바닥부터 쌓으려는 사람. |
README의 Background 절은 짧지만 셌다. "내 노트로 친구들이 최상위 AI 랩 면접을 뚫었다"는 한 줄이, 수많은 취업 준비생에게 "그럼 나도 이걸로?"라는 동기를 심는다. 여기에 서문(Foreword)은 크바쉬체프(Kvashchev)의 문제풀이 훈련 실험, "느린 처리자"였던 다윈, 로젠탈 실험 같은 이야기로 "머리는 훈련으로 자란다"는 성장 마인드셋을 깔아, 단순 자료집이 아니라 "학습법까지 코칭하는 책"이라는 인상을 준다.
보통 이 정도 범위는 여러 강의·교재·블로그로 쪼개져 있다. 선형대수는 이 강의, CUDA는 저 문서, 추론 최적화는 또 다른 논문… 이 저장소는 그 전부를 한 사람의 목소리로 이어 붙였다. 특히 대부분의 ML 학습자가 건너뛰는 시스템 계층(SIMD/GPU, 추론 서빙, ML 시스템 설계)까지 포함한 게 드물다. "모델을 만들 줄 아는 사람"을 넘어 "모델을 빠르게 굴릴 줄 아는 사람"까지 겨냥한다.
요즘 저장소답게, 이 책은 사람만을 독자로 두지 않는다. mcp/ 폴더의 MCP 서버는 list_topics·read_section·search·recommend·get_examples 5개 도구를 노출해, AI 코딩 에이전트가 "어텐션 관련 절을 찾아 예제 코드를 뽑아 줘" 같은 요청을 처리하게 한다. 사이트 루트의 llms.txt는 전체 목차를 기계가 읽기 좋은 형태로 제공한다. "사람이 공부하는 책 + AI가 참조하는 지식베이스"라는 두 얼굴이 화제성을 키웠다.
냉정히 보자. ① 챕터 19·20(응용 AI·최첨단 AI)은 아직 스텁이다 — 10개 파일 중 6개가 0바이트 빈 파일이고 나머지도 불릿 개요뿐이다. README 표는 정직하게 01~18만 "Available"로 표시하지만, llms.txt와 사이트 내비게이션은 20챕터를 다 완성된 듯 광고한다. ② MCP 서버는 현재 동작하지 않는다 — 하루 전 커밋이 폴더명을 콜론(chapter 01:)에서 대시(chapter 01 -)로 바꿨는데, MCP 서버의 정규식과 사이트 내비·llms.txt는 아직 콜론 형식을 참조해 링크가 어긋난다. ③ 한 사람이 쓴 만큼 챕터별 깊이 차이가 크고, "초등 수학+기초 파이썬"이라는 진입 문턱과 달리 뒤로 갈수록 난도가 가파르다(CUDA·Triton·SVE 인트린식까지). 정리하면 "완결된 정본"이 아니라 "빠르게 자라는, 야심 찬 노트"로 보는 게 정확하다.
이 저장소의 스택은 앱이 아니라 책을 쓰고·펴내고·AI에게 먹이는 파이프라인이다. 따라서 "백엔드/프론트엔드"가 아니라 ① 콘텐츠(무엇으로 쓰는가), ② 퍼블리싱(어떻게 웹으로 펴내는가), ③ AI 접근(어떻게 에이전트가 읽는가)의 세 축으로 봐야 한다.
| 영역 | 기술 · 쓰임 |
|---|---|
| 본문 | Markdown 105개 — 약 267,000단어·29,604줄. 직관 우선 산문 + 표 + 불릿. 국제식 영어 철자(optimisation 등) |
| 수식 | MathJax + LaTeX — 인라인/디스플레이 수학. $$…$$ 디스플레이 수식 478개 + 펜스드 math 블록 73개 |
| 도해 | 직접 그린 SVG 263개(259개 임베드) — transformer_block.svg·paged_attention.svg·rope_rotation.svg·moe_routing.svg 등. 스크린샷이 아닌 커스텀 벡터 도면 |
| 코드 | 실행 코드 블록 540여 개 — python 350(주로 JAX/NumPy/matplotlib), cpp 54, bash 36, 그 외 rust·c·glsl·wgsl·dockerfile·yaml·protobuf·hcl |
원문은 마크다운이지만, 독자는 예쁜 웹사이트로 읽는다. mkdocs.yml이 MkDocs의 Material 테마로 사이트를 조립하고(다크모드·소셜 카드·MathJax 로딩 javascripts/mathjax.js 포함), .github/workflows/deploy-docs.yml이 커밋이 올라올 때마다 GitHub Pages로 자동 배포한다. 즉 저자는 마크다운만 쓰면 되고, 사이트 빌드·배포는 CI가 알아서 한다.
| 구성 | 내용 |
|---|---|
| MCP 서버 | mcp/ — TypeScript, @modelcontextprotocol/sdk + zod, stdio 전송, tsx로 실행. 도구 5종 노출 |
| 도구 5종 | list_topics(챕터·절 목록) · read_section(본문 읽기) · search(키워드 검색) · recommend(llms.txt 기준 점수화 추천) · get_examples(언어·챕터별 코드 추출) |
| 기계용 목차 | llms.txt — 사이트·카탈로그 전체 목차를 절별 설명과 함께 기계가 읽기 좋게 제공 |
| 진입점 | 로컬 클론 필요(COMPENDIUM_ROOT 지정) — 원격 API가 아니라 내 컴퓨터의 마크다운을 읽는 방식 |
마크다운으로 쓰고 MkDocs로 펴내는 건 "원고(텍스트)와 조판(디자인)을 분리"하는 출판사 방식이다. 저자는 글에만 집중하고, 표지·목차·인쇄는 시스템이 맡는다. 여기에 MCP 서버를 얹은 건 한 발 더 나간다 — 같은 원고를 사람은 웹사이트로, AI는 도구 호출로 각각 읽게 만든 것. 종이책 한 권을 "사람용 판형"과 "로봇용 색인" 두 벌로 동시에 찍어 내는 셈이다.
이 저장소엔 서버도 런타임도 없다. 그래서 "아키텍처"는 지식이 어떤 순서로 쌓이도록 설계됐는가, 그리고 그 지식을 MCP 서버가 어떻게 꺼내 주는가로 요약된다. 이 둘을 뜯어보자.
20개 챕터는 무작위 나열이 아니라 아래층이 위층의 전제가 되는 4개 층으로 설계됐다. 벡터·행렬 없이는 머신러닝을, 머신러닝 없이는 트랜스포머를, 그리고 그 모델을 실제로 굴리려면 GPU·추론 시스템을 알아야 한다는 흐름이 순서에 녹아 있다.
이 구조의 묘미는 위로 갈수록 추상이 아니라 구체로 간다는 점이다. 보통 커리큘럼은 응용에서 시작해 이론으로 파고들지만, 여기선 반대로 이론(수학)에서 시작해 하드웨어(GPU 커널)로 내려간다. "왜 되는가"를 먼저 세우고 "어떻게 빠르게 굴리는가"로 끝맺는다.
105개 파일이 거의 같은 리듬을 탄다. 개념을 비유로 감 잡게 하고 → 수식으로 정밀화하고 → JAX/NumPy 코드로 구현해 보이고 → 마지막에 직접 풀 코딩 과제로 닫는다. 실제로 105개 중 84개 파일이 끝에 과제 섹션을 달고 있다.
과제 헤딩이 챕터 성격에 따라 갈린다는 점이 세심하다 — 일반 챕터는 use CoLab or notebook, 자료구조 챕터는 NeetCode 문제, GPU 챕터는 compile with nvcc, C++ 챕터는 g++ 또는 riscv64 크로스컴파일러로처럼 그 장에서 실제로 쓰는 도구로 손을 움직이게 유도한다.
MCP 서버는 마크다운 더미를 5개 도구로 감싼다. 그중 recommend는 사용자의 키워드를 llms.txt의 절 설명과 대조해 점수를 매기고, get_examples는 지정한 언어·챕터의 펜스드 코드 블록만 뽑아 준다. 그런데 하루 전 커밋이 문제를 냈다.
# mcp 서버는 디렉토리명을 이 정규식으로 파싱한다
const CHAPTER_RE = /^chapter (\d{2}): (.+)$/; # ← 콜론(:) 기대
# 하지만 어제 커밋(9e3c096)이 윈도우 호환을 위해 폴더명을 바꿨다
# 전: "chapter 01: vectors" (콜론)
# 후: "chapter 01 - vectors" (대시) ← 디스크의 실제 폴더
→ 정규식이 대시 폴더명과 안 맞음 → getChapters() 가 빈 배열 반환
→ list_topics·read_section·search·recommend·get_examples 전부 무력화
# mkdocs.yml 내비 · llms.txt 도 아직 콜론 형식 → 사이트 링크도 404 위험
지금 이 저장소를 그대로 클론해 MCP 서버를 Claude Code에 물리면, 도구가 빈 결과만 돌려줄 가능성이 크다. 원인은 폴더명(대시)과 파서(콜론)의 불일치 하나다. CHAPTER_RE를 대시 형식(/^chapter (\d{2}) - (.+)$/)으로 바꾸고 mkdocs.yml·llms.txt의 경로도 맞추면 복구된다. 뒤(8장)에서 이걸 실제 기여 과제로 다룬다 — 초보가 오픈소스에 첫 PR을 날리기 딱 좋은 크기의 버그다.
구조는 "책"답게 직관적이다. 챕터마다 폴더 하나, 그 안에 번호 매긴 절 마크다운이 들어 있고, 모든 도해는 images/에 모여 있다. 여기에 퍼블리싱 설정(mkdocs.yml)과 AI 접근(mcp/, llms.txt)이 루트에 얹힌다.
규모를 숫자로 보면 — 마크다운 105개·총 29,604줄·약 267,000단어, SVG 263개(+로고 png 1개), 챕터 폴더 20개. 분량은 고르지 않다. 가장 두꺼운 곳은 16장 SIMD·GPU(3,722줄/8파일), 다음이 09장 오디오·음성(3,250줄), 14장 자료구조·알고리즘(2,695줄/6파일), 07장 전산언어학(2,119줄) 순이다. 반대로 01장 벡터(623줄)·02장 행렬(816줄)은 얇다.
19·20장 폴더를 열면 대부분 목차만 있고 본문이 비어 있다(약물 발견·에이전트 시스템·헬스케어·우주 데이터센터·탈중앙 AI·BCI 등 6개 파일이 0바이트). 이건 "미완성 결함"이라기보다 저자가 채워 넣을 자리를 미리 잡아 둔 예고편 목차에 가깝다. README 표는 정직하게 이 둘을 빼고 01~18만 완성으로 표기한다. 그러니 "18장까지가 실체, 19·20장은 로드맵"이라고 이해하면 길을 잃지 않는다.
먼저 전체 지도를 보자. 18개(+2개 예고) 챕터를 저자의 한 줄 요약과 함께 4개 그룹으로 묶으면 이렇다.
| 그룹 | 챕터 · 배우는 핵심 |
|---|---|
| 순수수학 01–05 | 벡터(공간·노름·내적·기저) · 행렬(성질·변환·LU/QR/SVD) · 미적분(다변수·테일러/푸리에·최적화) · 통계(표본·중심극한·검정·MLE/MAP) · 확률(베이즈·분포·정보이론) |
| ML 코어 06 | 머신러닝 — 고전 ML·경사하강·딥러닝·강화학습·분산학습을 한 장에 |
| 도메인 AI 07–12 | 전산언어학(NLP→트랜스포머→MoE/SSM/Mamba) · 컴퓨터비전(CNN·ViT·확산·NeRF/3DGS) · 오디오·음성(ASR/CTC/Whisper·TTS) · 멀티모달(CLIP·VLM·VQ-VAE·Stable Diffusion) · 자율시스템(BEVFusion·VLA RT-2/OpenVLA/Pi-0) · GNN(GCN/GAT·SE(3)-등변) |
| 시스템/CS 13–18 | 컴퓨팅·OS(IEEE754·동시성) · 자료구조·알고리즘(NeetCode) · 프로덕션 SWE(Git·Docker·MLOps) · SIMD·GPU(NEON·AVX-512·CUDA·Triton·Vulkan) · AI 추론(GPTQ/AWQ/BitNet 양자화·Flash/PagedAttention·vLLM·투기적 디코딩) · ML 시스템 설계(CAP·K8s·GPU 클러스터·추천/검색/광고) |
많은 학습자가 딥러닝을 먼저 만지고 수학을 나중에 때운다. 이 책은 반대로 벡터·행렬·미적분·확률·정보이론을 앞에 단단히 깐다. SVD가 왜 차원 축소·추천의 뼈대인지, 크로스엔트로피가 왜 정보이론에서 나오는지 같은 "당연히 아는 척했지만 실은 애매했던" 연결을 메운다. 뒤의 모든 AI 챕터가 이 5개 장의 언어로 쓰여 있어, 여기가 흔들리면 위층이 무너진다.
NLP·비전·음성·멀티모달·로보틱스·그래프를 따로따로가 아니라 하나의 서술로 관통한다. 트랜스포머가 어떻게 언어에서 비전(ViT)·멀티모달(CLIP/VLM)·로보틱스(VLA)로 번져 갔는지, 확산모델이 이미지에서 어떻게 오디오·비디오로 확장됐는지를 이어서 읽을 수 있다. 파편적으로 알던 최신 기법들이 하나의 지도 위에 배치되는 경험이다.
이 책의 진짜 차별점은 여기 있다. 대부분의 AI 교재는 모델을 짜는 데서 멈추지만, 여기선 그 모델을 하드웨어에서 어떻게 빠르게 굴리는가까지 내려간다 — SIMD 인트린식과 CUDA 커널, Triton/Pallas, GPTQ·AWQ·BitNet 양자화, Flash·Ring 어텐션, vLLM의 PagedAttention, 투기적 디코딩. "리서치 엔지니어" 채용에서 실제로 갈리는, 모델과 실리콘 사이의 그 층을 정면으로 다룬다.
README의 How To Study Better 절은 저자가 실제로 쓴 2단계 학습법을 준다. 1단계(누적 읽기)는 수업 후 그날 노트를 자기 전 다시 읽고, 다음 학습 땐 처음부터 되짚은 뒤 부족한 부분을 채우는 방식(뇌가 패턴을 잇게 둔다). 2단계(그림자 읽기)는 시험 전, 소제목만 보고 책을 덮은 채 기억으로 설명을 써 보고 틀린 곳만 다시 읽는 것 — 저자는 이를 "마스킹 언어모델과 비슷하다"고 표현한다. 그리고 마지막은 언제나 코드로 구현이다.
267,000단어를 1장부터 순서대로 읽으려 하면 십중팔구 중도 이탈한다. 이 책의 강점은 지도(순서)가 이미 그려져 있다는 것 — 그러니 자신의 약한 고리부터 집어 들어라. 트랜스포머는 쓰는데 SVD가 흐릿하면 02장으로, 모델은 만드는데 추론이 느리면 17장으로. 각 절이 직관→수식→코드→과제로 자기완결이라, 필요한 절만 뽑아 "그림자 읽기 + 과제 구현"으로 닫아도 한 개념이 온전히 내 것이 된다.
이 저장소는 "쓰임새"에 따라 준비물이 셋으로 갈린다 — ① 읽기만(가장 쉬움), ② 코드 과제 실행(파이썬~GPU), ③ MCP로 AI에 연결(Node + 버그 수정).
| 목적 | 요구사항 |
|---|---|
| ① 읽기만 | 아무것도 필요 없음. GitHub Pages 사이트(README의 "Read online" 링크)를 브라우저로 열면 끝. 수식·도해가 렌더된 채 보인다 |
| ② 일반 코드 과제 | Python + JAX/NumPy/matplotlib. 대부분 use CoLab or notebook 지시 — 구글 Colab이면 설치 없이 실행. 일부는 GPU 런타임 권장 |
| ② 시스템 챕터 과제 | 16·17장은 무겁다 — C++ 컴파일러(g++), CUDA(nvcc), Vulkan SDK, RISC-V 크로스컴파일러 등. 실제 GPU/하드웨어가 있어야 온전히 돈다 |
| ③ MCP 서버 | Node.js + 로컬 클론. COMPENDIUM_ROOT 지정, tsx로 실행. 단 현재 정규식 버그로 먼저 고쳐야 동작(4장·8장 참고) |
| 라이선스 | Apache-2.0 — 재사용·수정·재배포 자유(저작권/특허 조항 준수). 링크 모음집과 달리 "내 코드"라 라이선스가 명확 |
| 사전 지식 | 공식 문턱은 "초등 수준 수학 + 기초 파이썬". 단 뒤 챕터는 CUDA·인트린식까지 올라가 실제 난도 곡선은 가파르다 |
# 1) 클론
git clone https://github.com/HenryNdubuaku/maths-cs-ai-compendium.git
cd maths-cs-ai-compendium
# 2) (지금은 필수) 정규식을 대시 폴더명에 맞게 수정
# mcp/ 안의 CHAPTER_RE 를 콜론(:) → 대시( - ) 로
const CHAPTER_RE = /^chapter (\d{2}) - (.+)$/; # 콜론을 대시로
# 3) MCP 서버 실행(예시) — 교과서 루트를 알려 준다
COMPENDIUM_ROOT=$(pwd) npx tsx mcp/server.ts
# 이후 Claude Code/Cursor의 MCP 설정에 이 서버를 등록하면
# list_topics·search·get_examples 같은 도구를 대화 중 호출 가능
이 책을 읽는 건 도서관에서 책을 펴는 것과 같다 — 준비물이 없다. 하지만 뒤로 갈수록 과제가 "직접 요리해 보라"로 바뀐다. 앞 장은 부엌 없이도 되는 이론 문제지만, 16·17장은 진짜 오븐(GPU)과 칼(nvcc·Vulkan)이 있어야 한다. 그러니 "어디까지 손으로 굴릴지"를 자기 환경에 맞춰 정하는 게 현실적이다 — 이론은 다 읽되, 시스템 과제는 Colab GPU나 실제 장비가 있을 때 골라 해도 된다.
관심 있는 절 하나(예: 01장 벡터의 내적, 06장 경사하강)를 골라 저자의 2단계 학습법을 그대로 적용한다. 소제목만 보고 책을 덮은 뒤, 기억으로 개념을 백지에 설명하고 틀린 부분만 다시 읽는다. 마지막에 그 절의 Coding Tasks를 Colab에서 구현해 닫는다. "읽었다"와 "안다"의 차이를 몸으로 느끼는 게 목표.
02장(행렬)의 SVD를 읽고, NumPy로 흑백 이미지를 U, S, Vt = np.linalg.svd(img)로 분해한 뒤 상위 k개 특이값만 남겨 복원한다. k를 5·20·50으로 바꿔 가며 화질과 압축률을 눈으로 비교. "SVD가 왜 차원 축소·추천의 뼈대인지"를 그림으로 이해하는 과제. 앞 수학 장이 뒤 AI 장의 언어임을 체감한다.
4장에서 짚은 콜론→대시 불일치를 실제로 고친다. mcp/의 CHAPTER_RE를 대시 형식으로 바꾸고, mkdocs.yml 내비·llms.txt의 경로도 맞춘 뒤 list_topics가 챕터를 제대로 돌려주는지 확인. 되면 GitHub에 PR을 올린다. 크기가 작고 원인이 명확해 오픈소스 첫 기여로 이상적인 버그다.
14장(자료구조·알고리즘)의 Take-Home Problems (NeetCode)에서 5문제를 골라 푼다. 그냥 통과가 아니라 각 풀이의 Big-O를 적고, 더 빠른 해가 있는지까지 따진다. 이 책이 왜 "리서치 엔지니어" 면접을 겨냥하는지 — 코딩 인터뷰가 그 관문임을 — 직접 확인하는 과제.
16장(SIMD·GPU)의 compile with nvcc 과제를 실제 GPU(또는 Colab GPU 런타임)에서 돌린다. 벡터 덧셈이나 행렬 곱 커널을 작성해 CPU 구현 대비 속도를 재고, 이어 17장의 양자화(GPTQ/AWQ)나 PagedAttention 개념과 연결해 "왜 추론이 느리고 어떻게 빠르게 하나"를 잇는다. 모델과 실리콘 사이의 층에 처음 발을 딛는, 이 책이 줄 수 있는 가장 값진 경험이다.
| 단계 | 주제 · 학습 목표 |
|---|---|
| 1단계 수학 토대 | 01–05장(벡터·행렬·미적분·통계·확률). 뒤 모든 장의 언어를 깐다. SVD·연쇄법칙·베이즈·엔트로피를 코드로 만져 감을 잡는 게 목표. 과제 2(SVD 이미지 압축)를 여기서. |
| 2단계 ML·트랜스포머 | 06장(머신러닝) → 07장(전산언어학). 경사하강·역전파에서 시작해 어텐션·트랜스포머·MoE·Mamba까지. "왜 트랜스포머가 판을 바꿨나"를 수식과 도해로 이해. 현대 AI의 중심축을 잡는 단계. |
| 3단계 도메인 확장 | 08–12장(비전·오디오·멀티모달·자율·GNN). 트랜스포머·확산이 어떻게 이미지(ViT·SD)·로보틱스(VLA)·그래프로 번졌는지. 자신의 관심 도메인 한둘을 골라 깊게 파도 좋다(전부 정독은 비효율). |
| 4단계 시스템·추론 | 13–18장(OS·DSA·SWE·GPU·추론·시스템 설계). 모델을 실제로 빠르게 굴리는 층. 양자화·Flash/PagedAttention·MLOps·ML 시스템 설계. 과제 3(MCP PR)·4(NeetCode)·5(CUDA)로 손을 움직여 마무리. 리서치 엔지니어로 가는 마지막 관문. |
mkdocs.yml 하나로 내비·다크모드·소셜카드를 설정한다.$$…$$로 감싼 수식을 브라우저에서 예쁘게 렌더하는 라이브러리. 이 책엔 디스플레이 수식만 478개.list_topics 등 도구 5종으로 노출한다.recommend 도구가 이걸 기준으로 점수를 매긴다.jax.grad)·JIT 컴파일(jax.jit)·GPU 가속을 얹은 수치 라이브러리. 이 책 코드의 주력. "미분되는 NumPy"로 이해하면 쉽다.U·S·Vt 세 조각으로 쪼개는 분해. 차원 축소·추천·압축의 뼈대. 02장의 핵심이자, 뒤 AI 장들이 쓰는 공용어.softmax(QKᵀ/√d)·V로 계산하는 구조. 07장의 중심이며, 비전(ViT)·멀티모달(CLIP)·로보틱스(VLA)로 번진 현대 AI의 축.저장소 · 제작자
· GitHub: github.com/HenryNdubuaku/maths-cs-ai-compendium (Markdown/MkDocs · 챕터 20개(18 완성+2 예고) · Apache-2.0)
· 온라인으로 읽기: README 상단의 "Read online"(GitHub Pages) 링크 — 수식·도해가 렌더된 사이트
· 저자: Henry Ndubuaku (Y Combinator 창업자 · 온디바이스 추론 스타트업 Cactus — 16·17장에 실제 사례로 등장)
· 최신 커밋: 9e3c096 (2026-07-16, "윈도우 호환 위해 챕터 폴더명 콜론→대시 개명")
추천 시작 지점(클론/사이트)
· chapter 01 - vectors/ — 수학 토대의 출발점(얇아서 부담 적음)
· chapter 06 - machine learning/ — ML 코어, 경사하강·역전파
· chapter 07 - computational linguistics/ — 트랜스포머·어텐션(현대 AI의 중심축)
· chapter 17 - ai inference/ — 추론 최적화(리서치 엔지니어 차별 포인트)
배경 지식 · 원전
· MkDocs / Material for MkDocs(퍼블리싱) · Model Context Protocol(MCP 서버)
· JAX 공식 문서(코드 주력) · NeetCode(14장 알고리즘 문제)
· vLLM · PagedAttention 논문(17장 추론 서빙의 원전)
① 링크 모음집이 아니다 — 이름의 "compendium"과 TrendShift의 #Curated list 태그 때문에 awesome-list로 오해하기 쉽지만, 실제로는 저자 원문 교과서다. ② 20챕터 중 18개만 완성 — 19·20장은 스텁(파일 6개가 0바이트)이고, llms.txt·사이트 내비는 20개를 다 완성인 듯 광고하니 주의. ③ MCP 서버는 지금 고장 — 어제 폴더명 개명(콜론→대시)과 파서 정규식 불일치로 도구가 빈 결과를 줄 수 있다. 붙이려면 먼저 고쳐야 한다(8장 과제 3). ④ 인용 연도 불일치 — BibTeX 키는 ndubuaku2025compendium인데 year = {2026}으로 적혀 있다(사소한 오타성). ⑤ 완만한 문턱 vs 가파른 곡선 — 선행 조건은 "초등 수학+기초 파이썬"이지만 뒤 챕터는 CUDA·Triton·SVE까지 올라간다. ⑥ 자기 홍보 — 저자의 스타트업 Cactus가 16·17장에 사례로 등장하고, GitHub Sponsors 후원 버튼이 있다(광고·유료벽은 없음). 그리고 전부 영어(국제식 철자)라, 이 한국어 정리가 사실상 첫 한글 안내다.