
132
1
부
모델 구축
4.5
머신러닝 데이터 관리를 위한
ETL
프로세스
추출
extract
, 변환
transform
, 로드 (적재)
load
를 뜻하는
ETL
은 규모에 관계없이 머신러닝 모델을 훈
련하는 데 사용하는 핵심 패턴입니다. 이 책에서는 단일 컴퓨터에서 다룰 수 있는 소규모 모델
을 알아보았지만, 동일한 기술을 활용해 대용량 데이터셋을 대상으로 여러 컴퓨터에 걸친 대규
모 훈련도 수행할 수 있습니다.
ETL
프로세스는 다음과 같은 세 단계로 구성됩니다.
•
추출
단계 :
원본 데이터가 저장된 위치에서 로드되어 이후 변환이 가능하도록 준비되는 단계입니다.
•
변환
단계 :
데이터를 훈련에 적합하게 만들거나 더 효과적으로 만들기 위해 가공하는 단계입니다. 예를 들
어 배치 처리, 이미지 증강, 특성 매핑, 기타 데이터 처리 로직이 이 단계에 포함됩니다.
•
로드
단계 :
변환된 데이터가 훈련을 위해 신경망에 전달되는 단계입니다.
‘말-사람’ 분류기를 훈련하는 데 사용했던
3
장의 코드를 생각해 보죠. 코드 상단에서 다음과 같
은 부분이 있습니다.
# 변환 정의
train_transform = transforms.Compose([
transforms.Resize((150,150)),
transforms.RandomHorizontalFlip(),
transforms ...