• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

Spark ML 모델 서빙

23.03.19 20:56 작성 조회수 388

0

안녕하세요. 강의 수강 하면서 많은 도움이 되었습니다.

실무에서 Spark ML를 통해 학습한 모델을 저장 후 서빙할 때

어떤 방식으로 진행하는지 궁금하여 질문 드립니다.

저는 이전에 파이썬 사이킷런을 이용할 때,

tensorflow 도커 이미지를 이용하여, rest api로

웹 서비스에서 사용할 수 있도록 진행 했었는데,
Spark ML로 학습한 모델도 동일하게 진행하면
되는지 다른 방식으로 진행하는지 궁금합니다.

 

또한, 강의에서 LightGBM이 Spark 분산처리로 진행할 때,
성능이 좋지 못하게 나온다 라고 보여주셨는데,
실무에서 분류 계열 지도학습을 할때,

랜덤포레스트 또는 XGBoost를 주로 사용 하시는지도 궁금합니다!

감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하십니까,

네, 맞습니다. spark ml 모델도 REST API로 서비스 할 수 있게 만들어 주면 됩니다.

가령, Flask나 Fast API등으로 Pyspark을 기동할 수 있도록 Library를 import 한 뒤에 Spark ML 모델을 로딩하여 predict()를 호출한 결과를 REST API로 반환할 수 있도록 End Point를 만들어 주면 됩니다.

그리고, 제가 강의에서 LightGBM이 분산처리로 진행할 때 성능이 안좋게 나온다고 말씀드린 기억이 없는 것 같습니다만, 제가 그렇게 언급한 부분이 있으면 어느 영상의 몇분 몇초인지 말씀해 주실 수 있는지요?

LightGBM이 분산 처리로 진행할때 성능이 안좋다기 보다 LightGBM이 단일 노드로 돌리는것 보다 분산 노드로 돌릴때 살짝 성능이 떨어지는 감이 있다는 의미를 언급은 드린것 같습니다.

정리하자면 LightGBM 성능은 좋습니다. 그래서 RandomForest, XGBoost 보다 LightGBM을 사용하시는게 모델 성능상 더 좋을 수 있습니다. 다만 분산 노드에서 LightGBM을 수행할 때 단일 노드에서 LightGBM 을 적용하는 것 보다 살짝 성능이 떨어지는것 같습니다. 그럼에도 불구하고 다른 모델 성능 보다는 좋은 것 같습니다.

감사합니다.

zcx6263님의 프로필

zcx6263

질문자

2023.03.20

안녕하세요. 자세한 답변 감사합니다.

  1. scala를 이용할때, 구글링을 해보면 PMML 형식으로 변환 후 Openscoring Framework 로 api 제공하는 방법을 살펴봤는데,
    이 또한 실무에서 사용하시는지 궁금합니다!

 

  1. (Spark ML - Classification(분류) - 02)
    Spark LightGBM으로 모델 학습 및 그리드 기반 하이퍼 파라미터 튜닝 6분 50초~
    강의를 보고 궁금하여 질문드렸습니다!
    강사님 databricks에서 분산처리로 진행 했기 때문에 단일 노드보다 성능이
    낮게 나온 것이라고 이해하면 될까요?