본문 바로가기
TIL _Today I Learned/2024.12

[DAY 105] 최종 프로젝트_ 모델 학습 파이프라인

by gamdong2 2024. 12. 17.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.12.17

📕 프로젝트 작업 내역

  • 모델 학습 파이프라인
  • 로컬 테스트

 

📗 수행 결과

1. 모델 학습 파이프라인

1) 데이터 업로드 및 트리거

  • AWS S3
    • 문제 데이터(이미지 파일) 업로드
    • EventBridge와 Lambda로 새로운 데이터가 추가될 때 학습 및 처리 파이프라인 트리거

2) 텍스트와 비텍스트 감지 (YOLO)

  • YOLOv8 Fine-Tuning
    • 텍스트와 비텍스트 영역을 감지
    • 텍스트 영역은 OCR 처리로 넘기고, 비텍스트 영역(표, 그래프, 그림 등)은 멀티모달 모델로 처리

3) 텍스트 영역의 정보 추출 (OCR)

  • trocr-small-korean Fine-Tuning
    • 텍스트 영역에서 텍스트 추출

4) 비텍스트 영역의 정보 추출 (멀티모달)

(1) 멀티모달 기능

  • CLIP (Open AI)
    • 이미지와 텍스트 간의 관계를 학습하여 비텍스트 데이터를 텍스트로 변환
    • ex: 그래프 → "x축: 시간, y축: 속도" 로 텍스트 표현 생성
  • GPT-4 API
    • 비텍스트 데이터를 기반으로 자연어 설명 생성
    • ex: 표 → "이 표는 학생의 성적을 나타내며, 수학과 영어 점수를 비교합니다."
  • 추출된 정보
    • 표의 데이터 값
    • 그래프의 축 정보, 데이터 포인트
    • 그림/아이콘의 의미를 텍스트로 표현

(2) 멀티모달 통합

  • CLIP + GPT-4 통합
    • CLIP: 이미지 기본 정보 추출 → GPT-4 API: 자연어 라벨링
    • ex: "그래프의 x축은 '시간', y축은 '속도'를 나타냅니다."
  • 표 및 그래프 분석
    • 표: 데이터를 2D 배열로 추출하고 열과 행의 관계를 해석
    • 그래프: 축, 데이터 포인트, 범례 등의 정보를 추출하여 설명 생성

5) 라벨링

  • GraphRAG
    • 멀티모달 분석에서 생성된 텍스트를 Graph RAG 에 연결하여 수학교육과정과 매핑
    • ex: "이 문제는 초등학교 3학년 '시간과 속도' 단원에 해당합니다."
  • AI Agent
    • AI Agent가 비텍스트 정보를 학습하여 적절한 교육과정 노드로 자동 라벨링

6) 학습 및 배포

  • YOLOv8 재학습
    • 새로운 라벨링 데이터로 YOLOv8 Fine-Tuning
  • 모델 배포
    • Docker 로 YOLOv8 모델을 컨테이너화하고, 추론 API로 배포
  • 모델 관리
    • MLflow로 학습 및 모델 버전을 관리

 

 

 

 

📙 내일 일정

  • 최종 프로젝트