오늘의 TIL
여러 머신러닝 개발 플랫폼들이 생겨나면서 모델을 다룰 때 통용될 수 있는 모듈이나 파일포맷의 필요성이 생겨나게 됐습니다.
이런 파일 포맷의 대표적인 예시로는 PMML과 MLeap 등이 있습니다.
하지만 공통 파일 포맷은 지원해주는 기능이 미약해서 복잡한 모델의 경우에는 지원할 수 없다는 단점이 있습니다.
PMML (Predictive Model Markup Language)
머신러닝 모델을 마크업 언어로 표현해주는 XML 언어
- 간단한 입력 데이터 전처리와 후처리도 지원, 하지만 아직도 제약사항이 많음
- Java 기반 (jpmml)
- PySpark에서는 pyspark2pmml을 사용
- 하지만 내부적으로는 jpmml-sparkml 이라는 자바 jar 파일을 사용
- 버전의존도가 복잡하고 시스템이 복잡해짐
전체적인 절차
- ML Pipeline을 PMML 파일로 저장
- 이를 위해 pyspark2pmml 파이썬 모듈을 설치
- jpmml-sparkml-executable-1.6.3.jar 파일 설치
- pyspark2pmml.PMMLBuilder를 이용하여 ML Pipeline을 PMML 파일로 저장
- 이를 위해 pyspark2pmml 파이썬 모듈을 설치
- PMML 파일을 기반으로 모델 예측 API로 론치
- Openscoring 프레임워크
- AWS SageMaker
- Flask + PyPMML
- 이 API로 승객정보를 보내고 예측 결과를 받는 클라이언트 코드 작성
댓글남기기