분류 전체보기
-
Intel MKL 과 함께 HF candle 빠르게 만들기[개발기] Kuberian 2023. 8. 15. 18:41
배경설명 이전 프로젝트 이후 바이너리 사이즈는 총 150 MB 내외로 흡족하게 줄였다 콜드부트 타임이 기존 30초 에서 2초로 확 줄었다. 하지만 연산속도는 의외로 느린것으로 판별되었다. BERT, 150 토큰으로 고정시 libtorch /dev/null && \ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | \ sudo tee /etc/apt/sources.list.d/oneAPI.list RUN apt update # for builder RUN apt install -y intel-oneapi-mkl-devel # for runtime en..
-
HuggingFace Candle 로 Inference Service 바이너리 크기 줄이기[개발기] Kuberian 2023. 8. 15. 18:41
배경설명 Kuberian 의 Backend API 는 Cloud Run 환경에서 구동된다 Kuberian 의 컨테이너 크기는 약 800MB 정도이다. rust-bert 프로젝트를 사용하고 있는데, libtorch 에 대한 의존성이 있으며 x86 환경에서 이 .so 파일의 크기가 700MB 정도 한다. 하는거라고는 all-minilm-l6-v2 모델 한번 forward 하는것 밖에 없는데 700MB 는 과하다. Registry 저장소 공간 먹어서 돈 많이나가고, cold start 타임이 30초 정도 걸리는건 둘째치고, 빌드타임도 오래걸린다. 그리고 이 프로젝트는 별도의 DB 가 없는게 미덕이다. 앞으로 1GB 정도는 DB 공간으로 활용하게 될텐데 잘 사용하지도 않을 lib 따위에 700MB 씩이나 쓰는것..
-
원리부터 파악하는 컨테이너 이미지 PULL (w/ curl)Kubernetes 2023. 6. 30. 09:00
시작 전 잡담 - 1 본래 프로젝트 라이프사이클 관점에서의 개발 방법론에 대한 글을 쓰고 싶었지만 현재 진행하고 있는 강의에 대한 홍보글 겸 겸사겸사 적어본다. (많은 관심 부탁드립니다~~) 이 내용은 실제 강의에서 다뤘던 내용을 기반으로 한다. 시작 전 잡담 - 2 이 내용은 단순히 도커의 작동 원리 측면에서 이해가 아닌, 시스템 아키텍처의 하나의 사례로 읽어보면 꽤 흥미롭다. 적어도 개인적으로는 그랬다. 전 세계에서 넷플릭스 다음으로 많은 트래픽을 처리하고 있을(어쩌면 넷플릭스보다 많을지도 모른다) Docker Hub의 구조가 궁금하지 않은가? 필자는 이 기사를 보고 질문을 떠올렸고, 이 글은 이 질문에 대한 그 내용을 요약한 것이다. 서론 정말 감사하게도 docker pull 이라는 명령어를 쓰면 ..
-
[Kubernetes] Controlplane 죽이기Kubernetes 2023. 6. 26. 14:48
서론 Kubernetes는 실제 사용자들의 Workload를 실행시키는 Data Plane와, 클러스터 전체를 관리하는 Control Plane 두가지의 추상화된 개념이 존재한다. Control Plane 은 대개 kube-apiserver, etcd (및 이 둘을 사용하는 기타 등등)으로 구성되어 있고 Control Plane 에서 문제가 발생한다면 이 둘의 리소스 관리에 문제가 있을 가능성이 높다. 이 두 가지에 대해서 간단히 소개해보면 kube-apiserver는 api 서버이다. HTTP(S) 로 yaml,json,protobuf 등의 형식으로 외부 클라이언트 (e.g., kube-controller-manager, kubelet, kubectl 등등등...) 들과 통신하며 RESTful 한 설계..