본문 바로가기

셀던 코어

Multi-Armed Bandit with Seldon Core A/B Testing with Seldon Core에서 라우터는 두 모델에 보낼 트래픽을 나누는 역할을 하였다. 보통 A/B Testing의 궁극적 목표는 여러 모델 중에서 가장 좋은 모델을 찾는 것이다. 다행히도 라우터에 각 모델 inference에 대한 피드백을 받아서 모델 성능을 기록하고 라우팅에 반영하는 기능을 추가할 수 있다. 셀던 코어에서는 라우터에서 선택된 모델의 inference에 대한 피드백을 reward라는 숫자로 받을 수 있다. 추천시스템을 예로 들자면, 모델에게 추천받은 컨텐츠를 유저가 클릭하거나 구매했을 경우 1, 그렇지 않았을 경우 0의 reward를 줄 수 있고, 또는 유저가 부여한 평점을 reward로 줄 수도 있다. 우리의 문제에서는 reward가 무조건 1 또는 0의 값을.. 더보기
Ensemble with Seldon Core 머신러닝에서 앙상블(ensemble)은 여러 모델의 예측을 결합하여 최종 결과를 내는 기법을 의미한다. 예를 들면 분류(classification) 문제에서 가장 많은 모델이 선택한 클래스(class)를 최종 답으로 채택하거나 회귀(regression) 문제에서 여러 모델의 예측값을 가중치 평균내는 것이다. 그 외에도 여러 앙상블 기법들이 있다. 이번 포스트에서는 셀던 코어의 combiner라는 기능을 이용하여 앙상블 파이프라인을 쿠버네티스에 배포해보고자 한다. Ensemble Pipeline 설계 모델 A와 모델 B의 결과를 앙상블하는 파이프라인이다. 두 모델은 전처리된 데이터를 받은 다음 예측값을 combiner 컴포넌트에게 보낸다. Combiner는 두 모델의 예측값을 결합하여 최종 결과를 도출한다.. 더보기
셀던 코어와 텐서플로우 서빙 텐서플로우 서빙 공식 문서 : https://www.tensorflow.org/tfx/guide/serving?hl=ko 모델 적용하기 | TFX | TensorFlow 도움말 Kaggle에 TensorFlow과 그레이트 배리어 리프 (Great Barrier Reef)를 보호하기 도전에 참여 모델 적용하기 소개 TensorFlow Serving은 운영 환경을 위해 설계되었으며 머신러닝 모델을 고성능으로 적용 www.tensorflow.org A/B Testing with Seldon Core에서 inference 컴포넌트를 커스텀 컨테이너로 제작하였다. 구체적으로 모델 로드와 predict 함수를 파이썬 코드로 직접 구현하고 도커파일로 이미지를 만들었다. 이렇게 하면 말 그대로 커스텀이니까 자유도가 높.. 더보기
A/B Testing with Seldon Core 셀던 코어 공식 문서 : https://docs.seldon.io/projects/seldon-core/en/latest/index.html 이번 포스트에서는 셀던 코어라는 머신러닝(ML) 모델 서빙 프레임워크를 소개하고자 한다. 셀던 코어는 ML 파이프라인의 각 컴포넌트를 gRPC/REST 마이크로서비스로 변환해준다. 요청이 들어왔을 때 각 컴포넌트가 순서대로 실행되도록 해주며 컴포넌트 간의 통신은 개발자가 별도로 손볼 필요가 없다. 그리고 Kubeflow를 이용하여 파이프라인을 Kubernetes에 손쉽게 배포할 수 있다. 셀던 코어로 ML 파이프라인을 Kubernetes에 배포하는 과정은 다음과 같이 5 단계로 나누어진다. 학습된 모델과 전처리기를 원격 저장소(ex. metakage, s3, Goo.. 더보기