오늘의 TIL

 

 

여러 머신러닝 개발 플랫폼들이 생겨나면서 모델을 다룰 때 통용될 수 있는 모듈이나 파일포맷의 필요성이 생겨나게 됐습니다. 이런 파일 포맷의 대표적인 예시로는 PMML과 MLeap 등이 있습니다.
하지만 공통 파일 포맷은 지원해주는 기능이 미약해서 복잡한 모델의 경우에는 지원할 수 없다는 단점이 있습니다.

PMML (Predictive Model Markup Language)

머신러닝 모델을 마크업 언어로 표현해주는 XML 언어

  • 간단한 입력 데이터 전처리와 후처리도 지원, 하지만 아직도 제약사항이 많음
  • Java 기반 (jpmml)
  • PySpark에서는 pyspark2pmml을 사용
    • 하지만 내부적으로는 jpmml-sparkml 이라는 자바 jar 파일을 사용
    • 버전의존도가 복잡하고 시스템이 복잡해짐

전체적인 절차

  1. ML Pipeline을 PMML 파일로 저장
    • 이를 위해 pyspark2pmml 파이썬 모듈을 설치
      • jpmml-sparkml-executable-1.6.3.jar 파일 설치
    • pyspark2pmml.PMMLBuilder를 이용하여 ML Pipeline을 PMML 파일로 저장
  2. PMML 파일을 기반으로 모델 예측 API로 론치
    • Openscoring 프레임워크
    • AWS SageMaker
    • Flask + PyPMML
  3. 이 API로 승객정보를 보내고 예측 결과를 받는 클라이언트 코드 작성

태그:

카테고리:

업데이트:

댓글남기기