본문 바로가기

[Day82] Product Serving 1-3 Model Serving Model Serving Serving production 환경에 모델을 사용할 수 있도록 배포 서비스화 batch serving, online serving, edge serving 등이 있다 serving과 inference 용어 자체가 혼재되어 많이 사용되니 참고! Online Serving Web Server Server와 Client가 request와 response를 주고 받으며 다양한 요청을 처리 web server는 client의 다양한 요청을 처리한다 Machine learning Server machine learning server도 client 의 다양한 요청을 처리한다. 어떤 input을 주면서 예측해달라고 요청(request)하면 모델을 사용해 예측값을 response하는 서버 ..
[Day80] Product Serving 1-2 MLOps 개론 MLOps 개론 모델 개발 프로세스(Research) 문제정의 EDA 데이터 특성 확인 Feature Engineering Train Predict 보통 주피터 노트북으로 GPU instance 안에서 고정된 데이터를 사용해 학습했을 것이다. 학습된 모델을 웹 등의 서비스에서 사용할 수 있도록 하는 과정을 real world환경 / production 환경에 모델을 배포한다고 한다. 모델 개발 프로세스(Production) 문제정의 EDA Feature Engineering Train Predict Deploy 웹이나 앱에서 활용할 수 있게 만드는 과정 모델에 input을 제공하고 output을 요청 모델이 배포되었다고 가정하면 모델의 결과값이 이상할 수 있다. 그럴 때는 원인을 알아보고, input값을..
[Day74] Github 특강 2-2 amend, reset 1. git log git log q를 누르면 나갈 수 있고, 위 아래 방향키을 누르면 움직일 수 있다. git log --oneline 요약해서 한 번에 볼 수 있다. 2. amend commit 메세지 수정하기 git commit --amend -m "template 추가!" 마지막으로 넣은 commit 메세지에 오타가 있을 때 수정할 수 있다. 3. reset amend 한 것을 다시 원래 commit으로 복원하기 checkout master를 원래 commit을 가리키게 한다. 로 더블클릭하거나 git checkout 한다 checkout은 HEAD 를 옮겨서 working directory는 그 때의 코드로 바뀐다 혹은 master를 더블 클릭 git checkout master 여기까진 HEA..
Wandb Sweep 하는 방법 : 하이퍼 파라미터 자동 튜닝 Wandb는 자동으로 train을 할 때 마다 그 때의 하이퍼 파라미터와를 기록하고 auc, rmse등을 기록해서 보여주는 굉장히 편리한 도구이다. Weights & Biases – Developer tools for ML WandB is a central dashboard to keep track of your hyperparameters, system metrics, and predictions so you can compare models live, and share your findings. wandb.ai 이 Wandb에는 기록뿐 아니라 hyper parameter를 좋은 성능이 나오게 찾아주는 기능도 있다. 1. wandb.log로 loss와 정확도 등 목적 값을 보낸다 wandb.log( {..
[Day 68] DKT 4. Sequence Data 문제 정의에 맞는 Transformer Architecture 설계 Transformer encoder를 활용해서 여러 문제에 적용할 수 있다. transformer는 sequence데이터가 강점을 보이지만 많은 데이터를 요구한다. Inductive Bias CNN은 기본적으로 kernel을 통해서 locality를 보면서 bias를 학습하게 설계되어 있고, RNN은 sequence를 보도록 설계되어 있다(inductive bias가 있다). 이렇게 모델 구조상에서 bias가 있는데, MLP나 transfomer는 bias가 적다. transformer는 inductive bias가 없는 것이 장점이지만 또 단점이 되기도 한다. 데이터에서 다양한 feature를 뽑아내기 위해서는 데이터가 많이 필요하게 되는 것이다. feature engineering가 많이 필요하면 t..
[Day62] DKT 3. Baseline (LGBM, LSTM, Transformer) Sequence 모델링 transcaction data 같은 sequence data를 사용하기 위해서는 feature engineering을 통해 집계해서 non-sequence하게 만들어 사용할 수도 있다. 집계 : Aggregation 다음과 같은 방법으로 feature engineering을 해서 사용할 수 있다. 여러 유저의 신용카드 사용 내역이 있다고 하면 한 유저에 대해서 여러 사용내역이 있게 되고 이것을 한 유저에 대해서 집계할 수 있다. categorical 변수같은 경우는 많이 나온 한 카테고리를 선택할 수도 있다. null이 아닌 것의 횟수를 센다 연속형 변수면 평균을 취한다 하지만 집계하는 과정에서 정보들이 많이 손실된다. 집계하지 않고 transaction을 그대로 sequence..
[Day62] DKT 1. DKT 이해 및 DKT Trend 소개 DKT Task 이해 DKT : Keep Knowlege Tracing : DL + KT 교육AI의 중심에 있다. KT : Knowledge Tracing 지식 구성 요소(Knowledge component, ex. 일차방정식)에 대한 학생의 이해도를 지식 상태(Knowledge state)라 하고, 지식 상태는 계속해서 변화하며 그 상태를 지속적으로 추적하는 것 문제 풀이 정보(문제를 맞았는지 틀렸는지)로 지식상태를 추적하는데, 당연히 문제 풀이 정보가 많아질 수록 지식 상태를 더 정확하게 예측할 수 있다. 데이터가 적을수록 over-fitting 이 쉽게 일어난다. 가지고 있는 지식 상태에 대한 정보를 기반으로 다음 문제를 맞출 수 있을지를 예측한다. 문제추천이나 학업도를 파악하는데 쓰일 수 있다. ..
[Day41] Movie Rec 4. Collaborative Filtering (2) Deep Learning-based Collaborative Filtering 추천시스템에서 DL 모델의 장점 Nonlinear Transformation을 활용해서 복잡한 user-item interaction을 포착한다. 강력한 representation learning 능력을 가지고 있기 때문에 feature engineering에 많이 노력하지 않아도 된다. 비디오, 사진, 음성 등다양한 heterogeneous(여러 다른 종류들로 이뤄진) 정보를 포함할 수 있다. sequence modeling이 가능하다 다양한 network 구조들을 쉽게 결합할 수 있다. 추천시스템에서 DL 모델의 한계 어떤 weight가 어떤 의미를 갖는지 해석할 수 없다. 많은 양의 데이터가 성능을 위해 필요하다. 하이퍼..