스캐터랩 블로그 · 2022. 06. 09.
Apache Beam으로 머신러닝 데이터 파이프라인 구축하기 2편 - 개발 및 최적화
AI 엔지니어링 브리핑
이 글은 Apache Beam으로 머신러닝 데이터 파이프라인을 읽기 쉽고 재사용하기 쉽게 만들면서, 대규모 처리와 모델 추론의 성능·메모리 문제까지 해결하는 방법을 설명합니다.
문제 & 배경
- 문제 & 배경: DoFn을 여러 개 직접 연결하면 데이터 형태의 변화를 추적하기 어렵고 같은 로직이 반복되며 테스트도 힘들어지고, 실행 중에는 작업 병목·모델 메모리 초과·큰 데이터 처리 한계가 발생할 수 있습니다.
기술 & 해결책
- 기술 & 해결책: 여러 처리 단계를 Composite PTransform으로 묶어 재사용 가능한 모듈로 만들고, key와 Reshuffle로 작업을 고르게 나누며, Shared로 모델과 Faiss 인덱스를 공유하고 BatchElements·Side Input·TFX RunInference로 추론과 대규모 검색을 효율화했습니다.
교훈 & 주의점
- 교훈 & 주의점: 데이터 축소는 앞단에서 수행하고 과도한 로그와 반복적인 외부 통신을 줄여야 하며, 모델은 스레드 간 공유만 가능하고 프로세스 간에는 별도로 생성되므로 워커의 실행 구조와 메모리 한계를 반드시 고려해야 합니다.
함께 읽을 글
내용이 비슷해요내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.