일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오퍼레이터
- Litmus
- seldon core
- gitops
- serving
- opensearch
- Continuous Deployment
- opentelemetry
- eBPF
- kubernetes operator
- operator
- knative
- mlops
- xdp
- Kopf
- Pulumi
- Kubeflow
- MLflow
- keda
- CI/CD
- tekton
- Argo
- Model Serving
- CANARY
- 카오스 엔지니어링
- nginx ingress
- argocd
- Kubernetes 인증
- blue/green
- Kubernetes
- Today
- Total
목록Kubernetes/MLOps (13)
Kubernetes 이야기
기계 학습 모델을 제공한다는 것은 사용자에게 실시간 예측을 제공하거나 오프라인 사용을 위한 일괄 예측을 제공하기 위해 예측 또는 추론에 사용할 수 있도록 하는 것을 의미한다. 모델 서빙과 관련된 다양한 오픈소스가 있으니, 간단한 모델의 경우 Framework보다 Flask나 Fastapi로 구현하는 경우가 실제 많다. MLFlow에 저장된 모델을 사용하여 온라인 서빙 또는 배치 서빙 하는 방법을 알아보자.온라인 서빙 (Online Serving)온라인 서빙은 실시간 또는 거의 실시간 응답을 제공해야 하는 경우에 적합하다. API를 통해 요청이 들어오면 바로 결과를 반환하게 된다. 구현 방법:FastAPI 또는 Flask 사용: REST API 서버를 구축하는 데 FastAPI 또는 Flask 같은 웹 프..
최근 유행하고 있는 벡터 저장소와 같은 외부 데이터 아카이브를 사용하여 LLM의 응답 품질을 향상시킬 수 있는 기술인 LangChain 및 RAG를 사용하는 방법을 알아보자. 우선 LangChain 에 대해 알아보자. LangChain LangChain은 언어 모델을 기반으로 하는 애플리케이션을 개발하기 위한 프레임워크이다. 이는 다음과 같은 애플리케이션을 가능하게 한다.상황 인식 : 언어 모델을 상황 소스 (즉시 지침, 몇 가지 예시, 응답을 기반으로 하는 콘텐츠 등)에 연결이유 : 언어 모델을 사용하여 추론 (제공된 맥락에 따라 답변하는 방법, 취해야 할 조치 등에 대해) 구성요소 RAG ( Retrieval-Augmented Generation ) RAG는 LLM에게 미리 질문과 관련된 참고자료를 ..
Apache Kafka는 방대한 양의 데이터를 처리, 저장 및 실시간 분석할 수 있는 분산 스트리밍 플랫폼이다. 기계학습 (ML)에서도 Apache Kafka와 연동한 예측 서비스로 많이 활용되는 플랫폼이다. Kafka의 일반적인 사용 예 이벤트 소싱: 애플리케이션 상태에 대한 변경 사항을 일련의 이벤트로 캡처 스트림 처리: 실시간 분석 및 모니터링 데이터 레이크: 다양한 데이터 소스를 통합된 중앙 저장소에 통합 Apache Spark 및 Hadoop과 같은 빅 데이터 도구와의 통합 Kafka가 ML에 사용되는 주요 예 실시간 데이터 파이프라인 : Kafka는 다양한 소스의 대량 실시간 데이터를 데이터 과학 및 기계 학습 모델로 스트리밍하는 방법을 제공한다. 이를 통해 지속적인 예측을 수행하고 실시간 데..
Model Serving에 대해서는 다음의 글을 참고한다. https://kmaster.tistory.com/158 https://kmaster.tistory.com/166 mlflow에서도 Serving 기능을 제공한다. 이에 대해 알아보자. https://mlflow.org/docs/latest/tutorials-and-examples/tutorial.html 예제 소스를 사용하여 Serving을 수행해 보자. # mlflow models serve -m ./mlruns/0//artifacts/model -p 여기서 port는 모델 api를 수신받을 수 있는 임의의 port를 지정하면 된다. # mlflow models serve -m ./mlartifacts/0/9927ff56416742b48544..
MLflow는 End to End 기계 학습 수명주기를 관리하기 위한 오픈 소스 플랫폼으로 다음과 같은 구성 요소를 제공한다. 구성요소 MLflow Tracking : mlflow에서 가장 많이 사용하는 기능으로 실험을 기록하고 쿼리할 수 있다. 또한 각 실험의 코드, 데이터, 구성 및 결과를 추적한다. MLflow Project : 코드를 플랫폼에 구애받지 않는 형식으로 패키징하여 실험을 재현할 수 있다. MLflow Model : 다양한 ML 라이브러리에서 다양한 모델 제공 및 추론 플랫폼까지 모델을 관리하고 배포할 수 있다. MLflow Model Registry : 모델 버전 관리, 단계 전환 및 주석을 포함하여 MLflow 모델의 전체 수명 주기를 공동으로 관리하기 위한 중앙 모델 저장소를 제공..
DVC는 Data Version Control 의 약자로, 머신러닝 프로젝트에서 모델과 데이터의 버전 관리를 위한 오픈 소스다. 데이터의 버전은 크게 데이터 관리와 실험관리로 분리하여 고려할 수 있다. 보통 데이터 관리의 목적으로 많이 사용된다. 데이터 관리 - 코드와 함께 대량의 데이터를 추적하고 버전을 관리하며 DVC를 재현 가능한 데이터 기반 파이프라인을 위한 빌드 시스템으로 사용한다. 실험 관리 - 코드만 계측하여 실험과 진행 상황을 쉽게 추적하고, 소프트웨어 엔지니어가 코드에 대해 수행하는 것처럼 ML 실험에 대해 협업한다. dvc의 워크플로우에는 다음과 같이 것을 사용할 수 있다. 작업 예제 데이터 추적 $ git add train.py params.yaml $ dvc add images/ 코..