목록 보기
Apache Beam으로 머신러닝 데이터 파이프라인 구축하기 3편 - RunInference로 모델 추론하기
AI

Apache Beam으로 머신러닝 데이터 파이프라인 구축하기 3편 - RunInference로 모델 추론하기

스캐터랩 핑퐁
스캐터랩 핑퐁
2022년 11월 28일

두줄요약

Apache Beam RunInference로 Dataflow 기반 대규모 모델 추론 파이프라인을 구성하는 방법을 소개했습니다.\n가변 길이 입력의 패딩 처리와 배치·GPU 지표 관리 포인트를 설명합니다.

구조와 흐름

  • Apache Beam의 RunInference를 통한 Dataflow 기반 대규모 Bulk Inference 파이프라인 구성
  • ModelHandler의 모델 로드·입력 배치 처리와 RunInference PTransform의 실제 추론 수행 분리
  • PyTorch·TensorFlow·Scikit-learn 모델 지원 및 KeyedModelHandler를 통한 입력 키 보존

선택 이유

  • Shared Class, BatchElements, DoFn을 직접 조합하던 기존 구현의 복잡도 추상화
  • 데이터 규모에 따른 분산 처리와 GPU 리소스 할당을 비즈니스 로직에서 분리

주의할 점

  • 기본 PyTorch 핸들러의 torch.stack은 가변 길이 문장 Tensor 배치에 부적합
  • 언어 모델 입력에는 pad_sequence 기반 패딩을 포함한 커스텀 run_inference 로직 필요
  • 배치 크기 1 설정은 GPU 활용률과 파이프라인 성능 저하 가능성

성능/운영 포인트

  • ModelHandler의 batch_elements_kwargs로 최소·최대 배치 크기 조정
  • Dataflow Resource Hint를 통한 GPU 타입·개수·메모리 지정
  • Dataflow Metrics에서 평균 배치 크기와 모델 추론 시간 확인

다음 읽기

#Apache Beam 주제를 이어서 읽기

Apache Beam으로 머신러닝 데이터 파이프라인 구축하기 2편 - 개발 및 최적화

Apache Beam 파이프라인을 Composite PTransform으로 모듈화하고 병렬 처리 병목을 최적화했습니다.\nShared Object, 배치, Side Input으로 ML 추론과 Faiss 벡터 검색의 메모리·처리 문제를 다뤘습니다.

스캐터랩 핑퐁
스캐터랩 핑퐁
AI

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...