본문 바로가기

[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하는 서버 ..
[Day35] RecSys with DL 7-1 RecSys with GNN Graph Node(꼭짓점)과 그 Node들을 잇는 Edge로 이루어진 자료구조 데이터들이 서로 연결되어 있을 때 표현하기 적합니다. $$G =(V,E)$$ ex) $G=({A,B,C}, {{A,B},{C,A}})$ $V$ Node들의 집합 → {A,B,C} $E$ Edge들의 집합 →{{A,B},{C,A}} Graph를 사용하는 이유 객체 사이의 관계나 상호작용같은 추상적인 개념을 테이블같은 정형화된 구조보다 다루기 적합하다. ex) 소셜 네트워크, 바이러스 확산 유저-아이템 소비 관계도 유저, 아이템을 노드로 두고 유저가 아이템을 사용하면 두 노드를 엣지로 이으면 표현할 수 있다. Non-Euclidean Space의 표현 및 학습이 가능하다 우리가 흔히 다루는 이미지, 엑셀과는 다른 데이터를 사용한..
[Day10] Pytorch 8. Multi-GPU 학습 데이터가 많아져서 GPU가 많이 필요하게 되었다. GPU single : 1개의 GPU multi : 2개 이상의 GPU GPU node(=system) : 1대의 컴퓨터 TensorRT와 같은 GPU 사용을 돕는 도구도 있다 멀티 GPU를 사용하는 두 가지 방법이 있다 Model Parallel : 모델 병렬화 성능을 올리는 하나의 분야로 자리잡고 있다 밑의 사진처럼 되도록 파이프라인을 짜야 한다 Data Parallel : 데이터 병렬화 2개로 나눈다면 각각 batch로 반으로 데이터를 나눈 후 나중에 각 GPU에서의 loss를 미분,평균을 구해서 전체 미분값을 구한다. minibatch를 병렬적으로 돌리는 것과 유사 4번에서 다시 한 GPU에 output을 모으고 다시 분배하는데, 그 역할을 하는 ..