Skip to content
ysl727727Public

About

KANT Private LLM 엔지니어 과정 학습 기록 — 직접 실행하고 검증한 코드와 해석

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

📚 TIL · Private LLM 엔지니어 학습 기록

KANT Last commit Python PyTorch FastAPI LangChain

KANT Private LLM 엔지니어 교육과정에서 배우고 직접 실험한 내용을 기록합니다. 강의 원문을 옮기지 않고, 무엇을 이해했고 코드로 무엇을 확인했는지를 제 말로 정리합니다. 실습은 직접 실행하고 설명할 수 있을 때만 완료로 표시합니다.

📌 현재 진행 상황

항목 내용
현재 단계 RAG 프로젝트(3) 진행 중 — 데이터 · 검색 담당, Naive 검색 완료 → Hybrid · Reranker
최근 학습 2026-11-05 · RAG 프로젝트(3) 해운 Basic 색인 · 문단 800자 청킹 · Qdrant Cloud · Naive Hit@5 0.929 / Recall@5 0.564
다음 할 일 RAG 프로젝트 Hybrid · Reranker · 3종 비교 · CE 마무리 과제 · RAG 남은 q_hard(7-4 · 8-4 · 9-2 · 9-3 · 9-4) · Python 보강 q 문제
밀린 실습 주말 실습 백로그에서 관리
날짜별 TIL daily/ — 같은 내용을 하루 단위(오늘 배운 것 · 왜 중요한가 · 코드 · 헷갈린 점 · 내일 할 것)로 정리
목표 평가와 운영까지 고려하는 LLM 엔지니어

🗺️ 학습 로드맵

flowchart LR
    PY[파이썬 베이직] --> BM[기초 수학] --> ML[머신러닝] --> DLB[딥러닝 기초] --> DLA[딥러닝 심화] --> LLM[LLM 실전]
    LLM --> DE[데이터 엔지니어링] --> LC[LangChain] --> RAG[RAG] --> CE[Context Engineering] --> AG[AI Agent] --> OPS[LLMOps·서빙]

    classDef done fill:#dcfce7,stroke:#16a34a,color:#14532d
    classDef now fill:#fef3c7,stroke:#d97706,color:#78350f
    classDef next fill:#f3f4f6,stroke:#9ca3af,color:#374151
    class PY,BM,ML,DLB,DLA done
    class LLM,DE,LC,RAG,CE,OPS now
    class AG next
Loading

초록: 이론 진도를 마친 구간 · 노랑: 진행 중 · 회색: 예정 (실습 완료 여부는 아래 목차의 상태를 기준으로 봅니다)

📖 학습 목차

상태 표시 ✅ 완료 · 🧪 실습 일부 완료 · 📘 이론 정리 · ⏳ 실습 대기 · 📭 실습 자료 없음 · ⬜ 미수강

기초 수학 · basic-math/

장 주제 상태
1 벡터·행렬, 노름과 정규화, 내적과 코사인 유사도, 행렬곱과 선형층 (08-05) 🧪 1-1·1-2 실습
2 선형 변환, span·rank·영공간, Ax = b, solve vs inv, 조건수 (08-06) 🧪 2-2 완료 · 2-3 일부
3·4 고유값·PCA, 직교성과 최소제곱, SVD와 저랭크 근사 (08-07) 🧪 4-1 실습 · PCA 미실행
5~7 텐서 shape, Attention QKᵀ/√d_k, Softmax·CE, 미분·역전파 (08-10) 🧪 6-1 필수 실습

머신러닝 · machine-learning/

장 주제 상태
1 모델 평가와 임계값 선택 — baseline 비교, Recall 정책, test는 마지막 한 번 ✅ 완료
2 트리 앙상블 — 배깅·랜덤포레스트·부스팅, 후보 모델 비교 🧪 2-1 문제 1-1만 완료
3 편향·분산 진단과 Ridge·Lasso·ElasticNet 규제 📘 이론 정리
4 클래스 불균형, 교차검증 선택, 데이터 누수 방지 📘 이론 정리 · ⏳ 4-1·4-2
5 CV 기반 하이퍼파라미터 탐색, End-to-End Pipeline과 스키마 검증 ✅ 완료 (5-2 심화는 재구현 필요)

딥러닝 기초 · deep-learning-basics/

폴더 번호는 올린 순서이고, 장 번호는 강의 기준입니다. (예: 08-cnn-foundations = 12장)

장 주제 상태 폴더
1~2 ML과 DL, 학습 흐름, Tensor dtype·shape·broadcasting, CPU/GPU 디버깅 ✅ 완료 01
3 퍼셉트론, MLP, nn.Linear, flatten, forward ✅ 완료 02
4 비선형성, ReLU·Sigmoid·Softmax와 출력층 계약 ✅ 완료 03
5 손실 함수, optimizer, learning rate와 parameter 갱신 ✅ 완료 (재실행 1건) 04
6~7 계산 그래프·Autograd, Transform·DataLoader·split 🧪 심화 일부 대기 05
8 MLP 학습·검증·metric·history 종합 흐름 🧪 8-8만 완료 06
9 Seed, 로깅, state_dict, checkpoint, 재개, 실험 폴더 🧪 기본 완료 · 수정 셀 재실행 필요 07
10 학습 곡선과 과적합·과소적합 진단 ⬜ 건강 문제로 이월 —
12 CNN 설계, 학습 파이프라인, GPU 메모리, MLP-CNN 비교, 실험 리포트 ✅ 기본 완료 (12-4 수정 필요) 08
13 시퀀스 데이터, RNN forward shape, 경사 소실과 clipping ✅ 기본 완료 09

딥러닝 심화 · deep-learning-advanced/

장 주제 상태
1 RNN/LSTM의 한계와 Transformer 등장 배경, config hash 재현성 ✅ 완료
2 데이터 스키마 감사, subword tokenizer, 동적 padding, offset mapping ✅ 완료
3 Q·K·V, Scaled Dot-Product Attention, mask, Multi-Head, GQA KV Cache ✅ 완료
4강 Transformer 전체 구조 — Encoder·Decoder 계열, 위치 정보, Causal Mask, FFN·Residual·LayerNorm, KV Cache (폴더 09) 📘 이론 정리
4 사전학습 LM — Masked LM(BERT) vs Causal LM(GPT) 📘 이론 정리 · ⏳ 실습 대기
5 Hugging Face Hub, Model Card, AutoClass, 저장·재로드 재현성 📘 이론 정리 · ⏳ 실습 대기
6 텍스트 분류 Fine-tuning — 데이터 감사부터 Trainer, Error Analysis까지 🧪 7-1만 실습 완료
7 Prompt Engineering → Prompt-tuning → PEFT(LoRA) → Full Fine-tuning 📘 이론 정리 · 📭
8 generate(), Greedy·Sampling·Beam, Temperature·Top-k·Top-p, Chat Template 📘 이론 정리 · 📭
장 주제 상태
1 Logit·Softmax 수치 안정성, MSE·BCE·CE, Gradient Descent, SGD·Momentum·Adam 📘 이론 정리 · ⏳ 실습 TODO 미완
3~5 Attention 복습, SFT·RLHF(PPO)·DPO, Responses API와 Developer Prompt 📘 이론 정리 · 🧪 API 첫 요청
6~9 Few-shot·Self-Consistency, JSON Schema·Pydantic 구조화 출력, Tool Calling, 멀티모달 ⬜ 미정리 (받은 이론 PDF 본문이 비어 있음)
10 안정적인 LLM API 호출 — 오류 분류, Backoff + Full Jitter, Fallback Ladder (10-1강 보강) 📘 이론 정리 · 📭

데이터 엔지니어링 · data-engineering/

장 주제 상태
1 수집 경로와 데이터 형식, 수집 전 5단계 리스크 게이트 ✅ 완료
2 HTTP 요청·응답 계약, 환경 변수 인증, HTTPX Client, 실패 위치 구분 ✅ 완료
3 Pagination, 429 재시도, 원본·가공 파일 분리와 수집 로그 📘 이론 정리 · ⏳ 실습 대기
4 데이터 정제 순서와 집계 등식, RAG 문서 계약과 document_id 📘 이론 정리 · 📭
5 FastAPI·Uvicorn 역할, path·query·body, 404 vs 422, TestClient 📘 이론 정리 · 📭
6 Pydantic 스키마, 필드·모델 검증, 요청·응답 모델 분리 📘 이론 정리 · 📭
7 Query API 계약, 프롬프트 조립, mock·external·ollama 모드, 502·503 변환 📘 이론 정리 · 📭
8 async/await, AsyncClient 공유, 단계별 timeout, 제한된 재시도 📘 이론 정리 · 📭

LangChain · langchain/

장 주제 상태
1 SDK 직접 호출 vs LangChain, Prompt → Model → Parser, uv + Python 3.12 환경 📘 이론 정리 · ⏳ 실습 TODO 미완
2 PromptTemplate·ChatPromptTemplate, Str·List·JSON Output Parser 📘 이론 정리 · 📭
3 LCEL pipe 연산자, invoke·batch·stream, 단계별 자료형 디버깅과 체인 재사용 📘 이론 정리
4 RunnableSequence·RunnableParallel, RunnablePassthrough·RunnableLambda·.assign() 📘 이론 정리
5 Pydantic 스키마와 with_structured_output(), Parser 검증과 오류 읽기, 1회 복구 📘 이론 정리
6 Document·metadata, 키워드 Retriever(str → list[Document]), 기본 retrieval chain 📘 이론 정리
7 HumanMessage·AIMessage, session별 history, MessagesPlaceholder, Retriever vs history 📘 이론 정리
8 stream() 출력, BaseCallbackHandler 이벤트, 실행 시간·토큰 기록, Langfuse trace 📘 이론 정리
9 with_retry와 예외 유형별 처리, with_fallbacks, graceful degradation 📘 이론 정리
10 통합 문서 Q&A 앱 설계·구현, 출처 검증, RunRecord 관측, LCEL vs LangGraph 📘 이론 정리 · 🧪 통합 실습 진행

RAG · rag/

장 주제 상태
1 RAG가 필요한 이유, Indexing·Query와 역색인, 2-Step RAG 기준선(검색 후보 vs Context), RAG·Long Context·CAG 선택 ✅ 완료
2 TXT·HTML·PDF 로딩과 Document, 출처 metadata, 중복·Boilerplate 정제, JSONL 저장·검수 ✅ 완료
3 Chunk Size·Overlap, Fixed·Recursive·Token 청킹, Markdown 제목 기반 청킹, 근거 보존 비교와 chunks.json ✅ 완료
4 E5 임베딩·pooling·정규화, 코사인 Top-k, k·threshold, Hit@k·Recall Dense 기준선 ✅ 완료
5 Qdrant Point·Collection·Upsert·Query, Metadata Filter, 갱신과 ANN, Qdrant Cloud·FAISS 추가 과제 ✅ 완료
6 Context 구성(chunk_id 중복 제거·문자 예산), 2-Step RAG 체인과 validate_answer, Citation bind_claim, 답변 보류 ✅ 완료
7 BM25 vs Dense, Hybrid·RRF, Cross-Encoder Re-ranking, Query Rewrite·Multi-Query 🧪 진행 (7-4 q_hard 남음)
8 Golden Dataset·dev/test, Hit@k·Recall@k(청크 vs 문서), RAGAS 네 지표(실행까지), BM25·Dense·Hybrid 전후 비교 🧪 진행 (8-4 q_hard 남음)
9 Parent-Child·Context 압축, Agentic RAG 재검색과 종료, GraphRAG(NetworkX·색인 실행), Multimodal·ColPali MaxSim 🧪 진행 (9-2~9-4 q_hard·9-4 남음)
10 프로젝트 대비 스타터 파이프라인 복습(자습) — PII·세션·캐시, 쿼리 재작성 vs 후속 질문 풀기, Context와 S 번호, 간접 인젝션·문서 가드, 출력 검증 kind, canary·근거 없는 숫자, 에스컬레이션 route, LLM judge·RAGAS 📘 정리

Context Engineering · context-engineering/

장 주제 상태
1 컨텍스트 종류와 역할 분리(kind vs role), 출처 표지, 범위 → 유효성 → 관련성 우선순위, Skills ✅ 완료
2 단기·장기 메모리 설계(decide_memory, 만료), Mem0 저장·조회·ID로 수정·삭제 ✅ 완료
3 chat template 토큰 세기, 입력 예산과 Sliding Window, 구조화 상태·원문 추출 압축, Map/Reduce ✅ 완료
4 Prompt Caching과 정적 Prefix, 캐시 지표, 컨텍스트 오염·Prompt Injection, 오탐·미탐, 실행 전 도구 검사 ✅ 완료

LLMOps · llmops/

장 주제 상태
1 실행 관측과 실패 원인 분석 — Langfuse Trace·observation, 완료 ≠ 정답, Trace ID 재조회, 도구 추적과 부모·자식 시간, 실패 판정 순서·failure_category ✅ 완료 (q1_hard·마무리 과제는 선택)
2 평가 데이터와 변경 전후 검증 — Golden Dataset(dev·holdout), 프롬프트 버전 고정, evaluate() 규칙 점수 4개·오류 ≠ 0점, 질문 ID별 회귀 판정 BLOCK·REVIEW ✅ 완료 (q3·q4_hard·마무리 과제는 선택)
3 운영 지표 분석과 개선 — 지표별 분모·None ≠ 0, p95와 timeout 장애, 문맥 길이 측정(토큰·지연), Trace 피드백 응답률 vs 긍정 비율, GENERATION 비용·판정 순서 ✅ 완료 (q1~q4_hard 통과)
4 신뢰 경계와 권한 통제·개인정보 마스킹·출력 검증·보안 평가 — principal·read_ids 읽기 전 차단, redact·mask_spans, pydantic Answer·출처 범위, 직접·간접 주입과 정상 대조군, run_tool 도구 통제 ✅ 완료 (q2·q3_hard 통과)

프로젝트 전 복습 · private-llm-review/

목요일 프로젝트 시작 전, 그동안 배운 내용을 project2-kit으로 다시 실행해 보는 복습 수업입니다. 일차 단위로 정리합니다.

일차 주제 상태
1 환경 준비, 데이터 읽기·점검, TF-IDF 기준 모델, BERT 분류기 학습과 gradient accumulation ✅ 완료
2 모델 선택과 동점 처리, checkpoint 복원·예측, 생성 호출, 기록·비교, FastAPI 서버(422·502) ✅ 완료

프로젝트 · projects/

번호 프로젝트 내 담당 결과
프로젝트(1) 오픈소스 LLM 선정 — 부동산 허위매물 탐지 어시스턴트 (2026-09-14 ~ 09-18) 개인 수행: 기준 설계·실험·채점 qwen3 4B 선정 (정확성 80.8% vs 57.0%)
1 러브코드 — 사주·MBTI로 커플 관계 스타일 16유형 분류 + LLM 해설 (2026-10-09 ~ 10-16) BERT 분류 모델, LangChain 해설·생성 모델 비교 test macro-F1 0.831, 해설 위반 0/24
3 RAG 기반 Q&A 서비스 — 해운 문서 근거 답변, Naive · Hybrid · Reranker 비교 (2026-11-05 ~ 진행 중) A 데이터 · 검색: PDF 추출 · 청킹 · Qdrant Cloud 색인 · retrieve() · 검색 평가 🧪 진행 — Naive Hit@5 0.929 · Recall@5 0.564

Python 보강 · python-basics/

장 주제 상태
0 베이직반 (08-04~05) — 변수·입출력·문자열·조건문, 반복문 미니과제 🧪 반복문 미니과제 남음
1 변수·자료형·f-string, 조건문, 리스트·딕셔너리 메서드, 중첩 반복문 ✅ 완료
2 클래스·self, 람다와 sorted(key=…), 데코레이터, @app.get("/") ✅ 완료
3 보강 1주 1일 — 연산자, 조건문, 누적 패턴, 중첩 반복, 내장 함수, f-string 서식 🧪 진행 (q6~q10 남음)
4 보강 1주 2일 — 함수 return, 기본값·키워드 인자, 슬라이스, 문자열 메서드, 딕셔너리, 두 수의 합, sorted(key=…)·Counter 🧪 진행 (q4~q10 남음)
5 보강 1주 3일 — 순차·버블 정렬, 이진 탐색, sorted()·bisect 📘 이론 정리 · ⏳ 문제 풀이
6 보강 2주 1일 — 함수 인자 *·** 복습, 클래스·__init__·self, 던더 메서드, 상속·super(), @dataclass 🧪 진행 (q5~q10 남음)
7 보강 2주 2일 — 모듈·패키지·__init__.py·상대 import, __name__, try/except·내 예외·raise, pytest·pytest.raises, logging 🧪 진행 (응용 1~실무 1 남음)
8 보강 2주 3일 — git config, 작업 폴더·스테이지·커밋, Git Flow(main·develop·feature·release·hotfix), reset vs revert, push·PR(base develop)·fork, 충돌 해결 🧪 진행 (기초 3·응용 3·심화 1~3 남음)

네트워크 스터디 · network-study/

정규 과정과 별도로 하는 네트워크 스터디("TCP 한 잔 할래요?")예요.

회차 주제 상태
2 IP와 IP 주소, IPv4/IPv6, 고정·유동 IP와 DHCP, 서브넷 마스크·CIDR, 서브넷 계산 4단계 (10-30) 📘 정리

종합 과제 · assignments/

정규 강의 실습과 분리해 채점용 과제를 보관합니다.

과제 내용 상태
기초 수학 문서 임베딩·Cosine 검색, PCA, SVD 압축, Causal Attention + autograd ✅ 제출
딥러닝 기초 DataLoader 검사, MLP·CNN 비교, checkpoint 저장·복원·재개 ✅ 제출

📝 최근 학습 기록

전체 기록은 LEARNING_LOG.md에 날짜순으로 모아 두었습니다.

2026-11-05 · RAG 프로젝트(3) 1일차: 데이터 분석 · 해운 Basic 색인 · Naive 검색

  • 발제 확인: RAG 3종(Naive / Hybrid / Hybrid + Reranker) 비교, FastAPI + LangChain + Langfuse, 문서명 · 페이지 표시, clarify · abstain → RAG 프로젝트(3)
  • 팀 ADEN에서 A 데이터 · 검색 담당. feat/basic-data-search 브랜치로 PDF 추출 → 문단 800자 청킹 → E5 임베딩 → Qdrant Cloud 색인 → Naive retrieve() (PR #2)
  • 청킹 비교(정답 인용 258개): 페이지 통째는 106쪽이 512토큰 초과, 글자 500/overlap 100은 84.1%, 문단 800자 98.1% → 360쪽 · 청크 620개
  • PageDocument → Chunk → RetrievedChunk dataclass 계약, frozen=True, asdict / Chunk(**payload)
  • Naive k=5: development Hit 0.929 · Recall 0.564 · Recall@20 0.867, additional Hit 0.929 · Recall 0.641 → 근거 문서가 여럿인 질문에서 절반을 놓침, Reranker 여지 큼
  • Qdrant Cloud 무료 티어 · 클러스터별 키, WinError 10054는 클러스터 재생성으로 해결, push한 커밋 메시지는 --force-with-lease로 정리

2026-11-04 · LLMOps 3일차: 신뢰 경계 · 마스킹 · 출력 검증 · 보안 평가(4장) · RAG 스타터 복습 · Python 보강 2주 3일

  • LLMOps 4장 4강을 llmops_ch04 키트로 실행. 01~04 모두 실행, q2 · q3_hard 통과 → LLMOps 목차 · 4장
  • 4-1 권한은 서버의 principal로만, 본문 읽기 전에 검사하고 read_ids로 실제 읽기 확인. 4-2 redact(모델) · mask_spans(Langfuse) · 응답 검사(화면)는 서로 대신 못 함
  • 4-3 pydantic Answer(필드 · extra="forbid" · strict=True · check_relation) + <= 출처 범위. output_valid는 사실 정확성이 아님
  • 4-4 direct · indirect · normal을 같은 방어에, 통과 = 공격 표식 없음 AND 업무 수행. 모델의 도구 제안 ≠ 실행 허가(run_tool 허용 목록 + 문서 권한)
  • 질문: JWT 서명 확인(서버는 비밀 키만), Redis(세션 · 캐시) vs Mem0(장기 기억), 3장 피드백 응답률 vs 긍정 비율
  • RAG 프로젝트 스타터 파이프라인 복습: 입력 가드 → 세션 → 캐시 → 검색 · 리랭크 → 문서 가드 → Context → 출력 검증 → 출력 가드 → 에스컬레이션 → RAG 10
  • Python 보강 2주 3일: git config · add/commit · Git Flow 가지 · reset vs revert · PR(base develop) · 충돌 해결. 팀 저장소에 feature/ysl PR → Python 8장

2026-11-03 · LLMOps 3일차: 운영 지표 분석과 개선(3장) · Python 보강 2주 2일

  • LLMOps 3장 4강을 llmops_ch03 키트로 실행. 01~04 모두 실행, q1~q4_hard 모두 통과 → LLMOps 목차 · 3장
  • 지표마다 분모가 다름: error_rate는 전체 요청, p50 · p95는 완료 + 지연 값 있는 요청. None = 모름, 0 = 확인된 무료 → 모르는 비용이 있으면 total_cost_usd는 None
  • 장애로 느린 요청이 timeout이 되면 p95가 좋아 보임 → 완료율을 같이 봐서 "장애 의심" 판독
  • 문맥 길이만 바꿔 before / after 번갈아 4회 측정: 입력 토큰 858 → 138, 비용 약 71% 감소, 지연은 q2에서 오히려 늘어 REVIEW
  • 피드백은 trace_id에 create_score, 응답률(전체 요청) ≠ 긍정 비율(응답자). 비용은 get_many로 GENERATION만 합산, 판정은 표본 → 비용 미확인 → 비용 증가 순서
  • 파이썬 Q&A: {**r, ...} 풀기와 덮어쓰기 순서, *args vs **kwargs, ALL_DOCS vs "ALL_DOCS"
  • Python 보강 2주 2일: 모듈 · 패키지 · __name__ · 예외 · pytest · logging — 0단계 · 기초 1~3 통과 → Python 7장

2026-11-02 · LLMOps 2일차: 평가 데이터와 변경 전후 검증(2장) · Python 보강 2주 1일

  • LLMOps 2장 4강을 llmops_ch02 키트로 실행. 01~04 모두 실행, q_hard는 1·2 통과(3·4 남음) → LLMOps 목차 · 2장
  • Golden Dataset은 기대 행동(terms · citations · abstain)으로, dev 4 · holdout 2. input(모델) · expected_output(채점기만) · metadata(사람) 분리
  • 프롬프트는 같은 이름에 버전 1 · 2, 비교에선 latest가 아니라 번호로 고정. 나머지는 모두 고정하고 프롬프트만 바꿈
  • evaluate() 규칙 점수 4개(대괄호 출처 set == 비교), run_experiment가 task → evaluate를 대신 돌림. 실패는 0점이 아니라 INCOMPLETE_EVALUATION
  • 질문 ID로 짝지어 passed == 4 and min(delta) >= 0일 때만 holdout. 내 결과: 기준선 출처 없음으로 d01~d03 0점 → 후보 4/4 → holdout 2/2 → REVIEW
  • 파이썬 Q&A: 괄호 안/밖 =, * · *args · **kwargs, 이름표 필수 vs 기본값, 리스트 컴프리헨션
  • Python 보강 2주 1일: 클래스 · self · __repr__/__eq__/__len__ · 상속 · @dataclass — 기초 q1~q3 · 응용 q4 통과 → Python 6장

2026-10-30 · LLMOps 1일차: 실행 관측과 실패 원인 분석(1장) · CE 복습 · 네트워크 스터디 2회차

  • LLMOps 1장 4강을 llmops_ch01 키트(Langfuse Cloud + LangChain + OpenAI gpt-5.6-luna)로 실행. 00~04 모두 실행, q_hard는 2·3·4 통과(q1 남음) → LLMOps 목차 · 1장
  • 질문 1개 = Trace 1개: policy-qa → retrieve(직접 span) / generate-answer(CallbackHandler) → ChatOpenAI GENERATION. 부모는 이름이 아니라 기록 순간 열려 있는 with
  • 호출 성공 ≠ 응답 완료(completed + 빈 답 아님) ≠ 품질 성공. response_completed·"서버 기록 확인"도 정답이라는 뜻이 아님
  • 재조회는 Trace ID + 시작 시각 ±1분(observation 5개, GENERATION 종료 확인), 조회가 비었다고 모델을 다시 부르지 않음
  • 규정 10만원 ≠ 승인 8만원(tool 구간), 부모 시간에 자식 포함(합 4185 ms vs 1500 ms). 판정 순서 status → 시각 → failed → 문서, failure_category 점수
  • CE 복습: prompt vs context engineering, question · instruction · context · messages · content 용어 정리와 1~4장 코드 Q&A
  • 네트워크 스터디 2회차: IPv4/IPv6, DHCP·고정 IP, 서브넷 마스크·CIDR, 블록 계산 4단계 → 네트워크 스터디

2026-10-28 · Context Engineering 1일차: 입력 구성·메모리(1·2장)와 토큰 예산·캐시·오염(3·4장) · Python 보강 1주 3일

  • Context Engineering 1일차 1~4장 8강을 context_engineering 키트(공용 uv 환경 하나)로 실행하고 q_hard 8개 모두 통과 → CE 목차 · 1장 · 2장 · 3장 · 4장
  • 프롬프트 엔지니어링 = content에 들어갈 글 잘 쓰기, 컨텍스트 엔지니어링 = 무엇을 얼마나 넣을지 고르기. kind(앱) vs role(API), [id / kind / source] 표지
  • 고르는 순서는 범위 → 유효성 → 일관성 → 관련성 → 예산. 점수 1.00·0.99 후보가 먼저 빠짐. Skills는 맞는 절차만, 없으면 질문 재확인
  • 메모리: decide_memory(결정 + 이유), bool은 int의 하위 타입이라 type(ttl) is int. Mem0는 add 응답 ID로 대상을 고정하고 owned_record로 소유자 확인 후 수정·삭제, 이력은 남을 수 있음
  • 토큰 예산 = 한도 − 출력 예약 − 여유분, Qwen3 chat template로 세고 최신 턴부터(256 → 1턴, 512 → 6턴). 압축은 현재·이전 값 + 출처, missing_evidence로 누락 확인
  • Prefix cache는 맨 앞부터 같은 토큰만 재사용(공통 A 11 · B 94 · 정책 변경 8), None ≠ 0. 오염은 범위 → 본문 → validate_action 순, 문구 필터의 오탐(security-guide)·미탐(paraphrased-note)
  • 키트의 grpcio 1.85.0이 스마트 앱 컨트롤에 막혀 2장 2강만 --with grpcio==1.84.0으로 실행, printsection은 uv add로 추가
  • Python 보강 1주 3일: 순차·버블 정렬(n²), 이진 탐색(log₂n, 전제는 정렬), sorted()·bisect — 이론까지 → Python 5장

2026-10-27 · RAG 5일차: 평가(8장)와 고급 RAG(9장) · Python 보강 1주 2일

  • RAG 5일차 오전 8장·오후 9장을 rag_day5 키트로 실행. q_hard는 8-1·8-2·8-3·9-1 통과, 선택 실습으로 RAGAS --execute와 GraphRAG 색인·질의까지 실행 → 8장 · 9장
  • 8장: 질문만 시스템에 보내고 reference·정답 문서 ID는 평가에만. dev ∩ test 근거 문서 []. 검색은 청크로, 채점은 document_id로. q06 k=1은 Hit 1 · Recall 0.5 → Hit만 보면 숙박 근거가 빠진 걸 놓침
  • dev 10개 평균 0.9의 정체는 q10 하나(조사 때문에 BM25 0건). 청크 먼저 자르면 Recall 0.5, 문서 먼저 중복 제거하면 1.0 → 평가 단위를 같이 적기
  • RAGAS: Faithfulness(답 ↔ 근거)와 Answer Relevancy(답 ↔ 질문)는 다른 축. 직접 돌린 Relevancy는 교안과 조금 다르고 금액이 틀린 B가 A보다 높음 → 채점도 LLM이라 흔들리고, 지표 하나로 정확성을 판정하면 안 됨
  • 8-4: 하나만 바꾸고(BM25 → Dense → Hybrid) 같은 정답지로 비교. wins ['q10'] losses [], test는 마지막에 한 번 기록만. 문서 Recall 1.0 ≠ 증빙 문장 확보
  • 9장: 80자 Child가 "서면"에서 끊겨 148자 Parent로 확장, 예산 70이면 승인 조건이 빠짐. search_loop 종료 3가지(candidates_ready·repeated_query·search_limit), route는 인용 검사로 근거 없는 answer를 막음
  • GraphRAG: 관계 8줄 → 노드 10·간선 8, 영수증 ← 3개 규정 → 승인자. 자동 색인은 엔티티 67·관계 57(교안 69·62, LLM 추출이라 달라짐). ColPali MaxSim A 2.0 > B 1.4142, 금액은 값·단위·출처를 함께
  • Python 보강 1주 2일: return vs print, 기본값·키워드 인자, 슬라이스, 딕셔너리로 세기, 두 수의 합, sorted(key=…), Counter — 기초 q1~q3 통과 → Python 4장

📂 폴더 구조

펼쳐 보기
TIL/
├── README.md                      # 목차 (이 문서)
├── LEARNING_LOG.md                # 전체 학습 기록
├── WEEKEND_PRACTICE_BACKLOG.md    # 밀린 실습과 주말 계획
├── daily/                         # 날짜별 TIL (YYMMDD.md)
├── basic-math/                    # 기초 수학 1~7장
├── machine-learning/              # 1~5장
├── deep-learning-basics/          # 강의 1~9, 12, 13장
├── deep-learning-advanced/        # 1~8장 + 4강 Transformer
├── llm-practical-foundations/     # 1~5장, 10장
├── data-engineering/              # 1~8장
├── langchain/                     # 1~10장
├── rag/                           # 1~9장 + 10 프로젝트 대비 복습
├── context-engineering/           # 1~4장
├── llmops/                        # 1~4장
├── private-llm-review/            # 프로젝트 전 복습 (일차별)
├── projects/                      # 팀 프로젝트 회고
├── python-basics/                 # Python 보강
├── network-study/                 # 네트워크 스터디 (회차별)
└── assignments/                   # 채점용 종합 과제

각 장 폴더는 같은 규칙을 따릅니다.

NN-주제-kebab-case/
├── README.md               # 학습 목표 · 실습 파일 · 핵심 이론 · 질문과 새로 알게 된 점
├── NN-topic-basic.ipynb    # 기본 실습 (있을 때만)
├── NN-topic-advanced.ipynb # 심화 실습 (있을 때만)
└── requirements.txt        # 실행 환경 (실습이 있을 때만)

실습 파일을 받지 못한 장은 README.md만 둡니다.

🧭 기록 원칙

  • 교육자료 원본(강의 PDF, 확인문제) 대신 직접 작성한 코드와 해석만 공개합니다.
  • 실행 환경, 데이터, random seed와 평가 지표를 기록합니다.
  • 성공한 결과뿐 아니라 오류와 개선 방향도 남깁니다.
  • 실행 기록이 없는 실습은 완료로 표시하지 않습니다.
  • API key, 개인정보, 사용 권한이 불분명한 데이터는 올리지 않습니다.
  • 폴더·파일 이름은 영어, 본문은 한국어로 씁니다. 기술 용어는 원어를 그대로 씁니다.

About

KANT Private LLM 엔지니어 과정 학습 기록 — 직접 실행하고 검증한 코드와 해석

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages