본문 바로가기

반응형

ML/MLOps

(4)
기반 다지기 - Docker 편 도커란?도커 공식 홈페이지에서 정의하는 도커는 아래와 같습니다.Docker는 애플리케이션을 개발, 배포, 실행하기 위한 개방형 플랫폼입니다. Docker를 사용하면 애플리케이션과 인프라를 분리하여 소프트웨어를 빠르게 제공할 수 있습니다. Docker를 통해 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있습니다. Docker의 코드 배포, 테스트, 배포 방법론을 활용하면 코드 작성과 프로덕션 환경에서 실행하는 사이의 지연을 크게 줄일 수 있습니다.즉 도커는 개발, 배포, 실행할 때 필요한 어플리케이션을 인프라에 종속적이지 않게 사용할 수 있다는 것을 의미합니다.하나의 개발팀이 React, Python API 서버, PostgresSQL DB를 사용한다고 가정해볼 때, 도커가 없다면 팀의..
기반 다지기 - Python 편 개요이번에는 Python의 구조를 알아보는 시간을 가져보도록 하겠습니다.PVM의 내부 구조Python도 Java와 마찬가지로 VM 내에서 동작하는 것으로 알려져 있습니다. 그럼 Python VM(PVM)이 어떤 구조로 되어 있고 어떤식으로 Python 파일을 실행하는지 알아보도록 하겠습니다.Python 파일이 실행될 때까지Python이 Virtual Machine에서 실행되는 것은 맞지만, .py 파일이 PVM 내에서는 실행되지 못한다고 합니다. 따라서 Java의 .java 파일이 Java Interpreter이 해석할 수 있게 .class로 1차 컴파일 되듯, Python의 .py 파일도 VM이 해석할 수 있도록 .pyc 파일로 컴파일 되어야 한다고 합니다.이렇게 .pyc로 컴파일된 파일은 Python..
기반 다지기 - CPU, GPU, CUDA 편 CPU vs GPUCPU와 GPU의 관계는 흔히 수학 교수 1명과 초등학생 100명으로 구분되고는 합니다.그럼 CPU와 GPU가 정확히 뭔지, GPU Memory는 무엇인지 알아보는 시간을 가져보도록 하겠습니다.또 이에 이어서 GPU를 사용할 때 빠질 수 없는 CUDA 라이브러리가 어떤 역할을 하는지 알아보도록 하겠습니다.CPU와 GPU의 유사한 점CPU와 그래픽 처리 장치(GPU)는 모두 컴퓨터를 작동시키는 HW로, Processor라고 불립니다. 둘다 유사한 구조(ALU, Control Unit, Register, Cache)등의 유사한 구조를 가지고 있습니다.각 Core 당 처리할 수 있는 명령어 단위를 HW Level Thread라고 하며, HyperThreading와 같은 Simultaneous..
직접 Language Model을 Fine-Tuning 해보고 Container 환경에 API 서버 구축해보기 개요이번에 저는 LM을 Fine-Tuning해보고 API 서버를 구축해보며 Ops의 관점에서 어느 부분이 불편하고 고민해 볼만 하는가 생각해 보는 시간을 가졌습니다. 목표는 다음과 같습니다.Model을 Fine-TuningModel을 저장하고, FastAPI 구축FastAPI를 Docker Image로 구축하고, 컨테이너로 실행시키기 Fine-Tuning하기먼저 처음으로 모델을 Fine-Tuning 해보았는데요, Dataset 까지 정제하기에는 시간이 너무 오래걸릴 것 같아 전처리 과정은 생략하고, HuggingFace의 Dataset을 가져와서 Pre-Trained Model에 학습 시키기로 결정했습니다. 따라서 사용하는 DataSet에 따라 어떤 서비스를 만들지가 결정되는데요, 저는 아래의 DataS..

반응형