-
[MLOps] 모델 개발 과정 및 학습 데이터 준비 - ①개발 2025. 1. 16. 23:53
머신러닝 모델 개발은 단순히 모델 학습에만 국한되지 않는다. 실제로 모델 학습은 전체 프로세스에서 비교적 적은 비중을 차지하며, 데이터 준비와 모델의 상품화 과정이 더 중요할 수 있다. 이 글에서는 머신러닝 모델 개발과 상품화를 위한 전반적인 과정을 정리한다.
특히, 첫 번째 단계인 학습 데이터 준비에 대해 먼저 알아본다:)
🌟모델 개발 과정 - 3단계
1. 학습 데이터 준비
- 모델 개발에서 가장 중요한 단계로, 머신러닝 모델의 목적에 맞는 학습 데이터를 준비하는 과정이다. 데이터의 품질과 적합성이 모델 성능에 큰 영향을 미친다.
2. Feature Engineering
- 학습 데이터를 모델에 적합한 형태로 변환하는 과정이다. 적절한 Feature Engineering은 모델 성능을 크게 향상시킬 수 있다.
3. 모델 학습 및 최적화
- 모델을 학습시키고 평가 및 최적화를 진행한다. AutoML을 활용한 하이퍼파라미터 튜닝 등을 포함하며, 목적에 부합하는 성능을 확보하는 단계이다.
🌟모델 상품화 검토
모델 개발이 완료된 후에는 다음 항목을 검토하여 상품화 여부를 결정한다.
1. 성능 평가 결과
- 모델이 설정된 목적과 기준에 적합한 성능을 보이는지 평가한다.
2. 성능 개선 가능성
- 추가적인 데이터 확보나 Feature Engineering으로 성능을 개선할 여지가 있는지 확인한다.
3. 적용 가능성 검토
- 성능 외에도 추론 속도, 지연 시간, 시스템 적합성을 고려한다.
- A/B 테스트를 통해 실제 환경에서의 성능을 검증한다.
🌟데이터 유형과 특징
1. 정형 데이터
- 구조화된 데이터로 테이블 형태로 표현되며 고정된 스키마를 가진다.
- 분석 및 처리에 용이하다.
2. 비정형 데이터
- 구조가 없거나 제한적인 구조를 가지는 데이터이다.
- 텍스트, 이미지, 오디오, 비디오 등의 형태로 나타나며, 고도의 전처리가 필요하다.
3. 반정형 데이터
- 구조가 명확히 정의되지 않았지만, 일부 구조화된 정보를 가진 데이터이다.
- XML, JSON, HTML과 같은 형식으로 표현되며, 유연한 데이터 활용이 요구된다.
- 예: 웹 크롤링 데이터
4. 실시간 데이터
- 데이터가 실시간으로 수집 및 분석되는 유형으로, 금융 거래나 IoT 센서 데이터 등이 이에 해당한다.
- 스트리밍 데이터: 지속적으로 생성되고 전송되는 데이터 스트림이다. 지연 없이 처리해야 한다.
- IoT 데이터: 다양한 종류의 데이터가 복합적으로 수집되며, 소형 Edge Device에서 수집되는 경우가 많다.
🌟데이터 저장과 관리
1. 데이터 저장소 종류
DBMS
- 구조화된 데이터를 효율적으로 저장, 관리, 검색하는 시스템이다.
- SQL을 사용하여 쿼리 및 조작 가능하다.
- 예: MySQL, PostgreSQL
NoSQL DB
- 정형 데이터 외에도 반정형 및 비정형 데이터를 저장하고 관리한다.
- 데이터 형식의 유연성 제공, 대규모 데이터 처리에 적합하다.
- 예: MongoDB, Cassandra, Redis
Data Lake
- 다양한 비구조화 데이터를 원시 상태로 저장한다.
- 스키마의 유연성을 제공하며, 새로운 데이터 형식을 쉽게 수용한다.
Data Warehouse
- 정형 데이터를 중심으로 다양한 데이터 원본에서 데이터를 추출, 변환, 로드(ETL)하여 분석용으로 사용한다.
- 구조화된 데이터 저장에 적합하다.
2. 데이터 버전 관리
데이터 변경 이력을 추적하고 롤백 가능성을 확보하여 데이터 무결성과 안정성을 보장한다.
- Git-LFS: 대용량 데이터 파일 관리 도구이다.
- Feature Store: 가공된 Feature의 버전 관리를 지원한다.
3. 데이터 품질 관리
- 데이터의 신뢰성과 정확성을 유지 및 개선한다.
- 데이터 품질 검사 및 개선 방법
: 데이터 프로파일링, 데이터 클리닝, 중복 제거, 이상치 감지, 데이터 표준화
4. 데이터 보안
- 데이터 무단 액세스, 변조, 유출, 파괴로부터 보호한다.
- 주요 방어 조치
: 암호화, 액세스 제어, 물리적 보안, 네트워크 보안
: 정책 수립 및 사용자 교육
✏️공부하며 느낀점
머신러닝 모델의 개발과 상품화 과정은 데이터 준비에서부터 시작하여, 학습, 최적화, 그리고 실제 적용 가능성 검토까지 이어진다. 데이터 유형과 관리 방법을 이해하고 적절히 활용하면, 더 효과적인 모델을 만들고 성공적인 상품화를 이룰 수 있다.
Ref. [패스트캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 초격차 패키지 Online
'개발' 카테고리의 다른 글
[Python 동시성 이해하기 ①] 순차·병렬·동시성의 차이 (1) 2026.01.25 [MLOps] MLOps란? (6) 2025.01.07