본문 바로가기
반응형

🌿 Data Engineering58

Triton Inference Server 모델서빙3 - 서비스 적용..은 다음에..해보자;; 첫번째 글에서는 ML 모델 서빙프레임워크인 Trtiton inference server에 대한 개념을 알아보았고,2024.07.19-Triton Inference Server 모델서빙1 - NVIDA Triton(트리톤)이란?두번째 글에서는 직접 Trtiton inference server를 실행해보고 inference response 받는 것까지 테스트해보았다. 2024.08.03-Triton Inference Server 모델서빙2 - 직접 우리 모델을 서빙해보자!이번글에서는 실제로 우리 서비스에 Trtiton inference server를 적용하기 위해 겪은 시행착오의 내용을 기록해보려고 한다. 앞서 잠시 다시 처음으로 되돌아가서, 우리가 ML 모델 서빙 프레임워크를 적용하려고 했던 목적은 Fas.. 2024. 10. 25.
pgVector 기반 VectorDB 구축 및 효율적인 리소스(메모리,스토리지) 사용 이전에 임베딩 결과를 저장하는 데이터베이스로 vectorDB에 대해서 간단하게 알아보았다.2024.08.04-Embedding을 저장하는 VectorDB 그리고 벡터 유사도 검색 Indexing Embedding을 저장하는 VectorDB 그리고 벡터 유사도 검색 Indexing정형데이터 뿐만 아니라 텍스트 이미지 비정형 데이터, 더 나아가 LLM까지 앞으로 VectorDB를 빼놓을수가 없게 되었다.우리도 VectorDB를 사용하고 있으며, 벡터간의 유사도 검색으로 다양한 서비스pearlluck.tistory.com  이번 글에서는 로컬환경에서 vectorDB를 설치해 개발환경을 구축하고 테스트하려고 한다.특히 vectorDB 관련 오프소스 중에서 pgVector를 사용하려고 한다. postgres에서 .. 2024. 10. 13.
[로컬에서] Locust사용법, API 부하 테스트 및 성능 지표 해석하기 데이터엔지니어링 업무를 하다보면, 모델의 추론서버나 모델을 서빙하기 위한 API를 개발해야하는 상황이 생긴다.일단 개발했을때는 나혼자 사용하기 때문에 문제가 없을수도 있다.그러나 이 서버를 실제 서비스에 배포했을 때, 많은 request가 들어오기 때문에 예상하지 못한 문제가 생길지도 모른다.  이렇게 구축된 서버의 성능을 사전에 확인하고자 스트레스 테스팅(부하 테스트)을 할수 있다. 이전에는 nGrinder를 별도의 서버(Ec2)에 설치해서 사용했는데 약간의 러닝 커브가 있었다.그래서 조금더 간단한 locust로 성능테스트 하는 방법을 알아보려고 한다.  https://locust.io/ Locust.ioAn open source load testing tool. Define user behaviour.. 2024. 8. 6.
Embedding을 저장하는 VectorDB 그리고 벡터 유사도 검색 Indexing 정형데이터 뿐만 아니라 텍스트 이미지 비정형 데이터, 더 나아가 LLM까지 앞으로 VectorDB를 빼놓을수가 없게 되었다.우리도 VectorDB를 사용하고 있으며, 벡터간의 유사도 검색으로 다양한 서비스에 적용하고 있다.이번글에서는 기본적인 vector와 embedding 그리고 vectorDB의 이론적인 개념에 대해서 살펴보려고 한다.   Vector란?고등학교 수학에서  때 배웠던 그 벡터 맞다.간략하게 기하학에서 벡터는 '크기'와 '방향'을 함께 가지는 물리량을 벡터라고 표현했다. 화살표 방향이 벡터의 방향이고, 화살표 길이가 크기가 되었다.  그렇다면 DataScience에서는 여러 의미의 데이터들을 특정한 순서대로 모아둔 데이터 레코드를 벡터라고 부르고,이러한 벡터가 여러개 있는 데이터의 집.. 2024. 8. 4.
Triton Inference Server 모델서빙2 - 직접 우리 모델을 서빙해보자! https://pearlluck.tistory.com/821 Triton Inference Server 모델서빙1 - NVIDA Triton(트리톤)이란?최근 사내에 GPU를 도입하면서 다양한 ML 모델을 개발하고 있다. 반면 ML 모델 서빙 측면에서는 단순히 FastAPI를 사용하고 있다.알다시피 FastAPI는 파이썬 웹 프레임워크이기 때문에 사실상 모델 서pearlluck.tistory.com 지난 글에서 트리톤 인퍼런스 서버 개념에 대해서 알아보았다.이번에는 직접 trition inference server를 실행해보고, 우리 모델을 서빙해보는 테스트를 해보려고 한다. 그래서 최종적으로 트리톤 API를 통해 inference response를 받는것까지 확인할수 있었다.  테스트 대상: OCR 모.. 2024. 8. 3.
Triton Inference Server 모델서빙1 - NVIDA Triton(트리톤)이란? 최근 사내에 GPU를 도입하면서 다양한 ML 모델을 개발하고 있다. 반면 ML 모델 서빙 측면에서는 단순히 FastAPI를 사용하고 있다.알다시피 FastAPI는 파이썬 웹 프레임워크이기 때문에 사실상 모델 서빙 프레임워크는. 그래서 이를 대체 할 수 있는 제대로된(?) 모델서빙 프레임 워크 중 하나인 Trition Infercence Server에 대해서 알아보려고 한다.  ML 모델 서빙이란?train 된 모델을 실 서비스에 사용할수 있도록, 모델 예측 결과를 전달하는 방식이다. 모델을 훈련하는 것에서 끝나는게 아니라 그걸 어떻게 서비스로 제공할 것 인가, 즉 추론(Inference)을 하는 것까지의 과정이며 DE의 영역에서 더 나아가 MLops의 최종과제라고 볼 수 있다.Serving pipelin.. 2024. 7. 19.
KubernetesPodOperator으로 로컬 k8s에서 airflow 배치작업 만들기 로컬에서 mwaa airflow를 띄워보고 >> https://pearlluck.tistory.com/791 AWS MWAA local runner로 로컬에서 airflow 2.2 사용해보기airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매pearlluck.tistory.com로컬에서 쿠버네티스 환경을 구축해봤다.  >> https://pearlluck.tistory.com/794 로컬 환경에서 쿠버네티스 구축하기 (kind, docker-desktop)이전에 로컬에서 mwaa airflow를 띄워보았다. 직접 테스트해보고 구축해본 내용은 아.. 2024. 1. 21.
[로컬 환경에서] 쿠버네티스 구축하기 (kind, docker-desktop) 이전에 로컬에서 mwaa airflow를 띄워보았다.직접 테스트해보고 구축해본 내용은 아래의 글 참고^^ https://pearlluck.tistory.com/791  AWS MWAA local runner로 로컬에서 MWAA 사용해보기airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매pearlluck.tistory.com 이번에는 로컬에서 쿠버네티스 환경을 구축해보려고 한다. 사실 가장 큰 목적은 이 로컬에서 띄운 mwaa airflow를 로컬 쿠버네티스 환경에서 사용해보는 것이다. 앞으로 아래와 같은 질문에 대한 답을 하나하나씩 찾아가보려.. 2024. 1. 15.
[로컬 환경에서] AWS MWAA (ariflow) 구축하기 airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매번 PR을 드린다.그러다 단순한 오타나 따옴표 같은 에러라도 나는 날이면.....하하....^^;;  그래서 로컬에서 DAG 코드를 테스트해 볼 환경이 필요했다. 우리는 단순 ariflow가 아닌 aws의 mwaa를 사용한다. (오히려 좋아) 이와 같은 개발환경을 로컬에서 구축하고 DAG 코드를 테스트해 본 경험을 작성해보려고 한다.  사실 굉장히 간단한데 왜 지금까지 안해봤는지 모르겠다  ^0^  들어가기에 앞서 우리 서비스의 AWS mwaa는 이렇게 staging과 prod만 있다.   s.. 2024. 1. 7.
📖[Redshift][S3] 대용량 데이터 처리 고민: S3 Unload/Copy와 Redshift Specturm 외부테이블 대용량 데이터에 대한 고민 요즘들어 이런게 바로 데이터엔지니어링인가?싶은 부분이 있어서 기록해보려고 한다. 한창 개발중인 알고리즘은 최소 4주 이상의 사용자 행동로그를 기반으로 동작한다. 그런데 이때 이렇게 큰 대용량 데이터를 수집하고 처리하는데 아래와 같은 두가지 고민사항이 있었다. 1. 수집한 대용량 로그 데이터를 어디에 어떻게 저장할 것인가? 2. 분석하기 위해 대용량 데이터를 불러오는 가장 효율적인 방법은? 3. 최종 분석결과를 어디에 어떻게 저장할 것인가? 이러한 고민들을 엔지니어링 관점에서 어떻게 해결했는지 그리고 관련 기술에 대해 작성해보려고 한다. 1. 날짜기준으로 파티셔닝하여 s3에 unload한다 ( Redshift -> S3 ) 우리는 redshift에서 어찌저찌 수집 및 분석한 데이.. 2023. 4. 23.
728x90