분류 전체보기

· MLOps
먼저 Kubeflow는 이름에서도 유추할 수 있듯이 쿠버네티스 환경에서 동작하는 ML Platform이다. 쿠버네티스 환경이 필요하다. 로컬에 구축한 뒤 Kubeflow와 MLFlow를 설치해 보자. 1. 로컬 환경에 Kubernetes 설치 이를 위한 단계가 정말 간단한데, Docker Desktop을 설치하고 Kubernetes를 활성화해주면 된다. Mac 환경에 설치 Windows 환경에 설치 실행한 뒤 아래와 같은 단계만 수행하면 된다. 설정 -> Kubernetes -> Enable Kubernetes -> Apply & restart 왼쪽 아래에 쿠버네티스 이모지와 함께 초록색으로 표시되면 성공적으로 설치된 것이다. 2. Kubeflow 설치 먼저, Kubeflow를 설치하기 위해선 다음과 같..
· 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
· Kafka
스키마 레지스트리를 사용하는 가장 큰 이유는 데이터의 호환성과 품질을 보장하기 위함이다. 메시지의 스키마가 없다면 Producer에게 발생한 장애가 모든 Consumer 들에게 전파될 수 있다. 그렇기에 카프카를 사용한다면 스키마 레지스트리 사용은 필수라고 말할 수 있다. Producer가 토픽에 메시지를 생성하고 Consumer가 토픽의 메시지를 소비하기까지 스키마 레지스트리 입장에선 다음과 같은 단계가 수행된다. 1. 토픽에 등록된 스키마 관리 2. Producer의 메시지 Validation Check 3. Consumer의 메시지 Validation Check 그런데, 운영 중 스키마를 변경해야 하는 경우가 생겼다면 어떻게 해야 할까? 다 같이 운영을 중단하고 스키마를 변경한 뒤 운영을 재개할 ..
· 언어모델
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) 여기서 ..
· 언어모델
ChatGPT를 사용하면 기본적으로 제공되는 게 문맥을 이해하며 대화하는 것이다. 하나의 대화 내에서 발생한 히스토리를 가지고 대화를 할 수 있다. 내 이름을 말해주고 이름을 물어봤다. 내 이름을 잘 기억하고 있다. 앞선 포스팅에서 했던 Llama2 한테도 물어보자. 방금 말해줬는데 까먹었나 보다 ㅠ. 기본적으로 LLM은 상태를 저장하기 위한 Memory를 가지고 있지 않다. 기억력을 갖게 하기위한 가장 간단한 방법은 대화 히스토리를 저장하고 이를 대화에 함께 전달하는 것이다. 뭔 소리 하는진 잘 모르겠지만 어쨌든 내 이름을 알고 있다. 좀 억지로 했는데 langchain에서 Memory 기능을 제공해주고 있다. Docs ConversationBufferMemory ConversationBufferWin..
· 📚책
행동할 수 없는 것이 아니라 지금 움직이지 않는 "선택"을 한 것이다. 그 선택의 이유를 생각하자. 이렇게 수동적인 태도는 일반적으론 상황이 악화된다. 바로 행동하는 사람은 매번 희망의 씨앗과 모종을 심고 있다. 그래서 그들은 매일 아침 희망과 함께 눈을 뜨고, 하루를 즐겁게 보내며 다가오는 내일도 기대하고 있는 것이다. 갑작스러운 큰 변화가 아니라 작은 액션부터 시작한다면 쉽게 귀찮음을 느끼고 변화를 싫어하는 뇌라도 대응할 수 있다. 너무 질 좋은 행동을 하기 위해 애쓰지 말자. 행동의 양을 늘리다 보면 질은 따라온다. '의욕'은 하늘에서 떨어지지 않는다. 의욕이 행동을 만든다고 생각하지 말고 '일단 행동'을 하면 의욕은 그 후에 따라온다. 업무가 끝난 후 작은 수고를 투자하면 다음 날의 행동이 크게 ..
· 언어모델
Llama 2는 메타에서 공개한 대형 언어 오픈소스 모델이다. ChatGPT에서 제공하는 API를 사용해 애플리케이션을 개발할 수도 있지만, 비용, 보안, 안정성 등 다양한 이슈가 있을 수 있다. 그럼에도 범용 LLM을 위해선 ChatGPT를 사용하는 게 좋겠지만, 특정 도메인을 위해 사용할 애플리케이션은 sLLM (소형 언어 모델)을 사용하는 경우가 많아지고 있다. 이를 위해 가장 먼저 시작해야 하는 단계가 llama 2를 로컬환경에 띄우는 것이다. 그리고 여기에 LangChain을 결합하면 손쉽게 애플리케이션을 만들 수 있다. Steps ollama로 로컬 환경에 llama 2 실행하기 LangChain과 연결하기 대화형 애플리케이션 만들기 1. Ollama로 로컬 환경에 llama 2 실행하기 ol..
· Kubernetes
도커 이미지 Pull 정책을 지정해서 Pod 생성 시 로컬의 이미지를 사용하도록 할 수 있다. imagePullPolicy IfNotPresent: 이미지가 로컬에 없는 경우 내려받음 Never: 내려받지 않음 -> 로컬에 있는 경우에만 동작 Pod 생성 시 imagePullPolicy 옵션을 Never로 정의해 주면 된다. spec: containers: - image: app imagePullPolicy: Never # 이 옵션 추가
ssuwani
'분류 전체보기' 카테고리의 글 목록 (2 Page)