인공지능

3주 공부 계획

데이빗제이2 2025. 2. 17. 18:55

Week 1: 기초 수학·ML + 간단 딥러닝 실습

Day 1 (월)

  • 목표
    • 로드맵 전반 훑어보기, 학습 환경 세팅
    • 기초 수학(선형대수, 미분/적분, 확률·통계)에 대한 전체 개요 파악
    • [[기초 수학 & 머신러닝 이론]]
  • 활동
    1. 로드맵 전체를 재검토하고, 필요한 Python 환경(Conda/venv), PyTorch 또는 TensorFlow 설치
    2. 선형대수 & 미분 간단 개념 정리 (행렬 연산, 편미분 개념 복습)

Day 2 (화)

  • 목표
    • 전통적 ML 알고리즘 핵심 개념 학습
    • Scikit-learn으로 간단한 실습 시작
  • 활동
    1. 로지스틱 회귀/의사결정트리/SVM 기본 개념
    2. Scikit-learn으로 Iris 데이터 분류 실습 (전처리, 학습, 평가)

Day 3 (수)

  • 목표
    • 전통 ML 모델 실습 확장
    • 기초 데이터 전처리(결측치, 인코딩, 표준화) 이해
  • 활동
    1. Kaggle 타이타닉 등 실제 CSV 데이터 활용해 전처리 ~ 모델 훈련
    2. 여러 모델(XGBoost, RandomForest 등) 비교 분석
    3. 결과 시각화(MATLAB, seaborn, matplotlib 등 중 편한 라이브러리 사용)

Day 4 (목)

  • 목표
    • 신경망 기초(Multi-layer Perceptron, Forward/Backward) 이해
    • 간단한 MLP로 MNIST 분류 실습
  • 활동
    1. PyTorch (또는 TensorFlow)로 MLP 구성
    2. MNIST 데이터셋 로드, 학습(Forward/Backward Propagation), 정확도 확인
    3. Optimizer(Adam vs SGD) 비교

Day 5 (금)

  • 목표
    • CNN/RNN 기본 구조 파악 및 간단 실습
  • 활동
    1. CNN 구조(합성곱/풀링 개념) 빠르게 학습
    2. 간단 CNN(MNIST or CIFAR-10) 학습 실습
    3. RNN 개념만 짧게 훑고, IMDb 감성분석 예제 코드 리뷰 (실습은 선택)

Day 6 (토, 주말 - 강도↓)

  • 목표
    • 주중 학습 복습, 실습 코드 정리
    • 2주차에 배울 “Transformer” 개념 미리 맛보기
  • 활동
    1. 주중 작성한 노트·코드 정리, 궁금점 보완
    2. “Attention is All You Need” 논문 요약 블로그나 영상 가볍게 시청

Day 7 (일, 주말 - 강도↓)

  • 목표
    • 휴식 + 부족한 이론/실습 부분 보충
    • 2주차 학습 계획 구체화
  • 활동
    1. 전통 ML vs 딥러닝 간 차이 & 연결고리 복습
    2. Transformer 핵심 용어(Encoder/Decoder, Self-Attention, Multi-head) 미리 살펴보기

Week 2: Transformer, LLM, Prompt Engineering, OpenAI API

Day 8 (월)

  • 목표
    • Transformer 핵심 구조(Attention, Encoder-Decoder) 이해
    • BERT vs GPT 차이 파악
  • 활동
    1. Self-Attention(Scaled Dot-Product) 개념 정독
    2. BERT(Encoder) & GPT(Decoder) 구조 개념 잡기
    3. Hugging Face Transformers로 DistilBERT 간단 Fine-tuning 예제 따라하기(감성분석)

Day 9 (화)

  • 목표
    • LLM(대형 언어 모델) 기초 및 Prompt Engineering 개념 확립
    • OpenAI API 기본 사용법 이해
  • 활동
    1. LLM 사전훈련/미세조정, In-context Learning(Few-shot) 개념 학습
    2. Prompt 구조(System/User/Assistant), Zero-shot/Few-shot 차이 실습
    3. OpenAI Python 라이브러리 세팅 및 간단 메시지 전송(API Key 관리 포함)

Day 10 (수)

  • 목표
    • ChatCompletion API 파라미터(temperature, max_tokens 등) 실습
    • Prompt Engineering 기법(CoT, ReAct 등) 예제 실행
  • 활동
    1. 다양한 Prompt 시도(Chain-of-Thought, ReAct 기초 예시)
    2. 학습된 예제 Prompt를 저장/버전 관리(노트 or 깃 리포)
    3. 응답 토큰/비용 모니터링 방법 파악

Day 11 (목)

  • 목표
    • 간단한 웹 애플리케이션 구축(예: Flask/FastAPI)
    • 실시간 ChatGPT API 연동
  • 활동
    1. Flask or FastAPI 설정 → 엔드포인트(‘/chat’) 구현
    2. 사용자 입력 → API 호출 → 응답 반환 (JSON 구조)
    3. (선택) 프론트엔드(HTML/JS) 또는 Streamlit/Gradio로 UI 꾸미기

Day 12 (금)

  • 목표
    • 2주차 마무리 & 주말에 대비한 정리
    • 최종 프로젝트 개요 확정 (LangChain + Vector DB + 에이전트)
  • 활동
    1. 이번 주 학습한 Transformer/LLM/OpenAI API 내용을 다시 요약
    2. 최종 프로젝트 구상:
      • 에이전트가 어떤 Tool을 사용할지
      • 어떤 문서를 Vector DB로 넣을지
      • 어떤 프레임워크(LangChain 등)를 쓸지
    3. 필요한 데이터/문서 수집 & 준비

Day 13 (토, 주말 - 강도↓)

  • 목표
    • 2주차 복습, 프롬프트 작성 노하우 보완
    • (선택) 새로 나온 LLM/AI 소식 간단히 탐색
  • 활동
    1. ChatGPT, 다른 오픈소스 모델에 동일 질문 → 응답 비교
    2. Prompt 최적화(리프레이징) 시도
    3. 최신 AI 관련 뉴스/블로그 살펴보기

Day 14 (일, 주말 - 강도↓)

  • 목표
    • 휴식 + 3주차 집중 대비
    • LangChain 문서/예제 가볍게 스캐닝
  • 활동
    1. LangChain Overview (공식 문서 빠르게 읽어보기)
    2. Memory, Chain, Tool, Agent 등 핵심 개념 위주로 정리
    3. 3주차 구현 계획(라이브러리 설치, 샘플 코드 구조) 구체화

Week 3: LangChain + Vector DB + 에이전트 최종 프로젝트

Day 15 (월)

  • 목표
    • LangChain 기본 (PromptTemplate, Chain, Memory) 실습 시작
    • 문서 로더 & Retriever 개념 잡기
  • 활동
    1. LLMChain으로 간단 텍스트 요약 예제 만들기
    2. PDF/텍스트 문서 하나 불러오는 Document Loader 실습
    3. 간단 Retriever로 유사도 검색 → LLM에 context로 전달

Day 16 (화)

  • 목표
    • Vector DB 구축(Pinecone, Chroma 등 중 택1) & 임베딩 삽입
    • RAG(Retrieval Augmented Generation) 간단 구현
  • 활동
    1. OpenAI Embedding API or SentenceTransformers로 문서 임베딩
    2. Vector DB에 업로드 & 검색(ANN) 테스트
    3. “RAG 파이프라인” (문서 검색 → 결과 Prompt에 삽입 → 최종 답변) 코드 작성

Day 17 (수)

  • 목표
    • LangChain 에이전트(Agent + Tools) 다루기
    • 최종 프로젝트 초안 완성
  • 활동
    1. ReAct Agent 구조 살펴보고, 간단 계산기 Tool 연동 예시
    2. Vector DB 검색 Tool 결합 → 에이전트가 필요 시 검색을 수행하도록 설정
    3. “문서 Q&A 에이전트” 기초 버전 구현:
      • 사용자 질문 → 에이전트가 Vector DB Tool로 검색 → 답변 생성

Day 18 (목)

  • 목표
    • 최종 프로젝트 고도화: 멀티스텝 Reasoning, 출력 형식 개선
    • (선택) LangGraph(시각화) 시도
  • 활동
    1. 에이전트가 여러 번의 Reason/Act 단계를 거쳐 답변하도록 설정(체인 로직 개선)
    2. 답변에 “출처 URL”이나 문서 제목을 표시하도록 Prompt를 수정
    3. LangGraph 시각화(설치/연동)로 체인 구조 확인 (가능하면 시도)

Day 19 (금)

  • 목표
    • 프로덕션 MLOps 기초(서빙, 로깅, 보안, 버전 관리) 적용
    • Docker 컨테이너화 & 간단 배포 시나리오 점검
  • 활동
    1. Dockerfile 작성 → FastAPI/Flask + LangChain 환경 이미지 빌드
    2. 로깅(사용자 질의/응답, 토큰 사용량) 구조 설계
    3. (간단) AWS EC2나 Heroku, Render 등에 배포 테스트
    4. API Key 비공개 처리(.env) 확인

Day 20 (토, 주말 - 강도↓)

  • 목표
    • 프로젝트 마무리 점검
    • 문서화 & 사용 방법 가이드 작성
  • 활동
    1. README 정리(설치 방법, 실행 방법, 설정 방법)
    2. Github 리포지토리에 소스코드 업로드 (비공개/공개 여부 설정)
    3. 간단 데모 영상(스크린 캡처) 녹화해두기(선택)

Day 21 (일, 주말 - 강도↓)

  • 목표
    • 최종 테스트 & 향후 개선 방안 구상
    • 로드맵 전체 회고
  • 활동
    1. 완성된 “문서 Q&A 에이전트”를 실제로 사용해보기, 엣지 케이스 테스트
    2. 모델 버전/Prompt 버전/Embedding 모델 교체 시나리오 등 향후 확장 아이디어 정리
    3. 3주 로드맵 전반 회고:
      • 가장 유익했던 부분, 보완할 부분
      • 추가로 학습해야 할 분야(MLOps 심화, 데이터 엔지니어링, UX 등) 목록화