BigQueryML 튜토리얼 따라하기
·
MLOps
이 글은 https://cloud.google.com/bigquery/docs/create-machine-learning-model?hl=ko 의 내용을 수행한 기록입니다. 다수의 기업에서 GCP의 BigQuery를 데이터 웨어하우스 혹은 데이터 레이크로 채택하여 사용하고 있다. ML 프로젝트에선 이 데이터를 이용해서 모델을 학습하고 배포한다. 여기서 어디서 학습을 진행하느냐에 따라 데이터 전송 비용이 발생한다. 데이터 전송을 어떻게 하느냐에 따라 크고 작은 비용이 발생한다. 학습 시 추가로 필요한 증분 데이터만을 전달하는 게 좋겠지만 매 학습 때 마다 필요한 데이터를 전부 전송하기도 한다. 빅쿼리 ML은 사용자가 직접 SQL 쿼리를 통해 머신러닝 모델을 생성, 학습, 평가할 수 있는 서비스이다. 이제 ..
파이썬에서 Redis 사용하기
·
Python
Redis는 고성능 키-값 저장소로, 캐싱, 메시지 브로커, 큐 시스템 등 다양한 용도로 사용된다. 이 글에서는 파이썬에서 Redis를 사용하는 방법을 소개한다. Redis 시작하기 Redis 설치하기 Redis는 다양한 운영 체제에서 사용할 수 있습니다. 공식 웹사이트에서 제공하는 설치 지침(https://redis.io/docs/install/install-redis/) 을 따라 Redis를 설치할 수 있다. 나는 Mac 환경을 사용하므로 brew를 통해 설치했다. brew install redis 이제 redis를 실행하자. brew services start redis 파이썬에서 Redis 사용하기 설치한 Redis를 파이썬으로 제어하기 위해선 redis-py 라이브러리가 필요하다. pip ins..
행정동 지리정보 불러와서 시각화하기 (geopandas, keplergl)
·
Python
안녕하세요. 오늘은 행정동 지리정보를 불러와서 시각화하는 방법에 소개하려 합니다. 행정동은 한 지역의 행정 구획을 의미하며, 이를 시각화하여 지리적 특성을 파악하거나 데이터 분석에 활용할 수 있습니다. 다음과 같은 순서로 소개합니다. 지리정보 가져오기 정보를 읽고 시각화하기 1. 지리정보 가져오기 기본적으로 지리정보는 매년 행정안정부로부터 공개됩니다. 일반적으로 shapefile 형태로 공개됩니다. (shapefile 파일 형식은 지리 정보 시스템(GIS) 소프트웨어를 위한 지리 공간 벡터 데이터 형식) 저는 포스팅에서 2024.02.13에 발표된 시군구 구역도를 받았습니다. 감사합니다. :) 다운로드하여서 파일을 열어보면 아래와 같은 파일 구조를 갖습니다. 시군구 ├── sig.dbf ├── sig.p..
1.1. Kubeflow 대시보드 내에 MLFlow 임베딩하기
·
MLOps
참고한 블로그 - https://medium.com/dkatalis/kubeflow-with-mlflow-702cf2ebf3bf 앞선 포스팅에서 Kubeflow를 설치했다. 그리고 MLflow도 설치했다. 이번 포스팅의 목적은 Kubeflow 대시보드에 MLFlow가 하나의 탭으로 추가하는 것이다. Kubeflow의 Central Dashboard에서 하나의 탭을 클릭할 때 다양한 엔드포인트로 라우팅 하기 위해 VirtualService를 사용한다. (주피터, Katib, pipeline 등) 우리의 목적은 mlflow 버튼을 클릭하면 mlflow tracker UI로 라우팅 해야 하므로 추가로 virtual service를 생성해야 한다. 아래 yaml을 배포하자. kubectl apply -f mlf..
1. 로컬환경의 K8s에 Kubeflow와 MLflow 설치 - Kubeflow와 MLflow
·
MLOps
먼저 Kubeflow는 이름에서도 유추할 수 있듯이 쿠버네티스 환경에서 동작하는 ML Platform이다. 쿠버네티스 환경이 필요하다. 로컬에 구축한 뒤 Kubeflow와 MLFlow를 설치해 보자. 1. 로컬 환경에 Kubernetes 설치 이를 위한 단계가 정말 간단한데, Docker Desktop을 설치하고 Kubernetes를 활성화해주면 된다. Mac 환경에 설치 Windows 환경에 설치 실행한 뒤 아래와 같은 단계만 수행하면 된다. 설정 -> Kubernetes -> Enable Kubernetes -> Apply & restart 왼쪽 아래에 쿠버네티스 이모지와 함께 초록색으로 표시되면 성공적으로 설치된 것이다. 2. Kubeflow 설치 먼저, Kubeflow를 설치하기 위해선 다음과 같..
0. 개요 - Kubeflow와 MLflow
·
MLOps
kubeflow는 ML 프로젝트를 위한 End-to-End 플랫폼이다. 그러니까 A to Z까지 다 할 수 있다는 의미이다. 그럼에도 ML 프로젝트에서 중요한 머신러닝 모델 라이프사이클 관리 측면에선 MLFlow를 통해 쉽고 잘할 수 있다. 내가 생각하는 MLOps를 위한 최소한의 컴포넌트들은 아래와 같다. Model Registry를 위해 MLflow 를 사용할 것이고 그 외 모든 컴포넌트를 위해 Kubeflow를 사용할 것이다. 이를 위해 다음과 같은 포스팅을 이어 나갈까한다. 1. 로컬환경의 K8s에 Kubeflow와 MLflow 설치 2. Data Engineering 3. ML Engineering 4. ML Serving
스키마 레지스트리의 호환성 (Backward, Forward, Full)
·
Kafka
스키마 레지스트리를 사용하는 가장 큰 이유는 데이터의 호환성과 품질을 보장하기 위함이다. 메시지의 스키마가 없다면 Producer에게 발생한 장애가 모든 Consumer 들에게 전파될 수 있다. 그렇기에 카프카를 사용한다면 스키마 레지스트리 사용은 필수라고 말할 수 있다. Producer가 토픽에 메시지를 생성하고 Consumer가 토픽의 메시지를 소비하기까지 스키마 레지스트리 입장에선 다음과 같은 단계가 수행된다. 1. 토픽에 등록된 스키마 관리 2. Producer의 메시지 Validation Check 3. Consumer의 메시지 Validation Check 그런데, 운영 중 스키마를 변경해야 하는 경우가 생겼다면 어떻게 해야 할까? 다 같이 운영을 중단하고 스키마를 변경한 뒤 운영을 재개할 ..
Langchain으로 쉽게 크롤링하기
·
언어모델
Langchain을 이용해서 특정 웹사이트의 정보를 추출하고 그 정보를 기반으로 검색을 수행해 보자. 잘 익혀두면 다양한 분야에서 사용할 수 있을 것 같다. 출처 http://www.teddynote.com/langchain/langchain-tutorial-06/ https://python.langchain.com/docs/use_cases/web_scraping LangChain에선 Scraping을 위한 3가지 단계의 컴포넌트들을 제공한다. 검색: URL로 쿼리(GoogleSearchAPIWrapper) 로드: URL을 HTML로 변환(AsyncHtmlLoader, AsyncChromiumLoader) 변환: HTML을 형식화된 텍스트로 변환(HTML2Text, Beautiful Soup) 여기서 ..