- 프로젝트 기간 : 2025.06.30 ~ 2025.07.10
- 주제 : 6월 30일 (월) 10:00 ~ 7월 10일 (목) 19:00
- 역할 : 팀장, 팀 일정 수립 및 관리, EDA, 모델링 및 실험
- 프로젝트 Repository
- 다양한 딥러닝 기반 Backbone 모델을 직접 적용하고 성능을 비교해본다.
- 팀원 간 정기 회의와 코드 공유를 통한 협업 경험을 통해 커뮤니케이션 및 문제 해결 능력
- 실전 환경에 가까운 문서 분류 문제를 다룸으로써, 현업에 적용 가능한 모델 개발 능력을 강화한다.
- 6월 30일 – 대회 시작
- 7월 1일 – 데이터 분석 및 EDA
- 7월 2일 ~ 4일 – 모델링 및 실험 진행
- 7월 7일 – 결과 분석 (Confusion Matrix, t-SNE 등)
- 7월 8일 ~ 10일 – 모델 재설계 및 추가 실험
- 7월 11일 – 최종 리포트 작성
- 10개 팀 중 5등
- 이번 딥러닝 경진대회를 통해 이미지 분류와 문서 분류를 포함한 다양한 모델 실험, 전처리, 앙상블 등 딥러닝 파이프라인 전반을 직접 경험할 수 있었습니다.
- 팀 내에는 딥러닝을 처음 접한 팀원도 있었지만, 매일 오후 6시 정기 회의를 통해 함께 학습하고 공유하며 빠르게 대회에 적응할 수 있었습니다.
- 데이터 증강(augmentation) 전략에 따라 모델 성능이 크게 달라지는 경험을 하며, 증강 설계의 중요성을 체감했고, 데이터 분석(EDA)에 조금 더 집중하지 못한 점은 아쉬움으로 남았습니다.
- 중간에 서버 장애 이슈를 겪으며, 실험 결과와 모델 가중치 등 아티팩트를 체계적으로 관리하는 것이 얼마나 중요한지를 실감할 수 있었습니다.
- 프로젝트 기간 : 2025.05.26 ~ 2025.06.10
- 주제 : 기상청 데이터로부터 기온 및 미세먼지 예측
- 역할 : 모델 개발 및 서빙, MLOps 모델링 자동화 파이프라인 구현, 최종 발표 담당
- 프로젝트 Repository
- 기상청 API를 활용하여 기온 및 미세먼지 데이터를 수집하고 이를 기반으로 예측 모델 구축
- MLflow, Airflow를 활용해 데이터 수집 -> 학습 -> 배포까지의 엔드투엔드 MLOps 파이프라인 구현
- FastAPI를 활용한 모델 서빙 및 API 배포 환경 구성
- Notion, Slack, Discord 등의 협업 툴을 활용하여 원활한 커뮤니케이션 및 일정 공유 수행
- 데이터 수집, 전처리, 학습, 서빙까지의 MLOps 전체 파이프라인 구성 및 자동화 구현 경험
- MLflow를 활용한 실험 관리 및 Airflow DAG 설계 경험 확보
- 모델 배포를 위한 FastAPI 기반 API서버 배포 경험
- Notion, Slack, Discord를 활용해 실시간 소통 및 문서화 기반의 효율적인 협업 환경 경험
- 최종 발표 준비가 미흡하여 결과를 효과적으로 전달하지 못함 -> 발표 자료를 초반부터 함께 준비할 필요 인식
- Airflow, MLflow 구성은 성공했지만 자동화 파이프라인의 구조적 이해 부족으로 설계 완성도 부분이 아쉬움
- 다양한 협업 툴 사용 경험을 통해 실제 팀 프로젝트에서의 소통 방식 체득 -> 다음 프로젝트 팀 리딩시 반영할 계획
- 모델링 : LSTM 기반 온도 및 미세먼지 예측 모델 구현, AutoEncoder 기반 이상치 탐지 모델 구현
- 모델 자동화 : Airflow를 통해 이상치 감지 -> 모델 재학습 -> 모델 배포 자동화
- 모델 배포 : FastAPI 기반 API 서버 배포
- 실험 관리 : MLflow를 활용해 모델 성능 실험 결과 및 파라미터 로깅 자동화
-
Airflow 자동화 파이프라인에 대해
- 질문 : FastAPI에서 어떤 방식으로 새로운 모델을 인식하고 있는가?
- 응답 : Airflow에서 4시에 데이터 수집 -> 5시에 인퍼런스 -> 그 결과를 web으로 배포
- 피드백
- 워크플로우 연결이 명확하지 않음
- 수집이 지연되면 이후 단계 인퍼런스가 실행되지 않을 수 있음 -> 태스크간 의존성이 명확히 표현 되야함.
- 피드백 요지
- 각 작업이 단순 시간 기반이 아닌 완료 기반으로 연결되야함 (ex: S3의 Role Base 활용)
- Airflow DAG 내 의존 관계과 명확해야 자동화 파이프라인으로 인정받을 수 있음.
-
S3 사용 이유
- 질문 : 왜 S3를 저장소로 선택했는가?
- 응답 : 매일 예측값을 저장하는 목적, 간단한 저장에 적합하다고 판단
- 피드백
- S3 자체는 적절하지만, 타 저장소와의 비교 분석 없이 선택한 점은 아쉬움
- 성능, 확장성, 접근성 등을 비교해보고 선택했다면 설득력이 높았을 것.
- 피드백 요지
- 단순 선택이 아니라, 저장소 선택에 대한 근거와 비교 검토 필요 (ex: S3 vs RDS vs DynamoDB)
-
MLflow 모델 관리 전략
- 질문 : 모델 저장 시 alias를 활용한 전략이 있었는가?
- 응답 : 전략은 없었고, 인퍼런스를 어떻게 받아올지에만 집중했음.
- 피드백
- MLflow 모델 관리 전략(alias, staging 등) 없이 사용한 점이 아쉬움
- 배치 API서버에서는 명확한 모델 버전 체계와 정책이 필요 (dev -> test/staging -> production)
- 피드백 요지
- 실무에서는 버전 관리 사용 전략 등을 구체화하는게 필수임
-
이상치 감지 주기 및 모델 설계
- 질문 : 이상치 감지 주기 및 모델링 방식
- 응답 : 하루 1회 이상치 감지, 모델링은 AutoEncoder기반으로 직접 구현
- 피드백
- 이상치 감지는 데이터 수집 후 수행하는 것이 일반적
- 모델을 직접 구현하는 것보다 오픈소스 기반 상용 솔루션도 비교했으면 좋았음
- 피드백 요지
- 감지 주기 = 수집 주기라는 점은 설계 타당
- 모델을 직접 구현하는 것보다 오픈소스 기반 상용 솔루션도 비교 분석이 있었으면 설득력 향상.
- 대회 기간 : 2025.05.01 ~ 2025.05.15
- 대회 결과 발표 : 2025.05.16
- 주제: 아파트 실거래가 예측
- 역할: 팀장, 팀 일정 수립 및 관리, Github 운영 등
- 대회 Repository
- 단순히 순위를 올리는 것이 아니라 EDA (Exploratory Data Analysis), Feature Engineering, Model Selection, Training & Validation, Test prediction & Feature Importance을 직접해보며 머신러닝 전체 파이프라인을 이해하는 것이 목표
- 11개 팀 중 6등
- 머신러닝의 기초인 EDA, 데이터 전처리, 모델 학습 및 평가 프로세스 전반을 실습하여 실무 흐름을 익힐 수 있었고, 팀 프로젝트 매니징 역할의 어려움을 체감하였습니다.
- 향후 개선할 점 : 팀원 간 소통 방식의 사전 정의 (회의 주기, 팀 일정 스케줄링 및 체크 등), Notion 및 Github 적극 활용
- 개인 작업물을 따로 정리 하였습니다.
- EDA 작업 정리