MLOps 5

[Docker] Docker Network / Container와 외부의 통신은 어떻게 할까

도커 컨테이너를 실행하면, 172.17.0.X로 시작하는 IP가 순차적으로 할당되는 것을 볼 수 있습니다. 이때 IP는 내부 IP로, 외부와의 통신은 불가능하게 됩니다.컨테이너와 컨테이너, 컨테이너와 호스트 등 서로 통신을 위해, 도커의 네트워크 구조를 살펴보고자 합니다. Container의 veth 인터페이스도커는 컨테이너에 외부와의 네트워크를 제공하기 위해 컨테이너마다 가상 네트워크 인터페이스를 호스트에 생성하며, 이 인터페이스의 이름은 veth입니다.(=virtual eth)veth 인터페이스는 사용자가 직접 생성할 필요는 없으며, 컨테이너가 생성될 때 도커 엔진이 자동으로 생성합니다.첫번째 컨테이너를 띄우면, veth0(172.17.0.2) 인터페이스가 생성되고, 또 다른 컨테이너를 띄우면 vet..

MLOps 2024.11.02

[NFS] NFS Server, Client를 Container 형태로 동작시키기

MLOps 플랫폼을 구축하는 도중, 학습에 사용될 대용량 데이터, 모델 등을 저장해야 할 필요성을 느끼게 되었습니다.여러 네트워크 스토리지 시스템 중, Network File System을 사용하기 위한 테스트를 진행하였습니다.  Network File System은 NFS Server와 NFS Client로 나뉨두가지 모두 서로 다른 머신에서 Container 형태로 사용하는 테스트 진행NFS Server : Container를 띄울 시 volume mount한 경로(home/nfs-server/mount)에 모든 FIle을 저장NFS Server Container 이미지: erichough/nfs-serverNFS Client : NFS Server와 mount한 host machine의 경로(ho..

MLOps 2024.10.14

[CI/CD] Github Actions, AWS CodeDeploy, EC2와 Docker를 활용한 CI/CD 구축 | EC2에 FastAPI 배포

💡 이 글은 마켓디자이너스(튜터링,링고라) MLOps Engineer 인턴 생활을 하며 직접 적용 & 공부했던 기록입니다.저도 시행착오를 겪었기에, 많은 도움이 되고자 따라오기 쉽게 작성하였습니다! 감사합니다 :)0. 배포 프로세스 자동화CI/CD를 구축하기 전, 파이썬으로 작성된 파일을 FastAPI로 아래와 같이 수동으로 배포를 진행했었습니다.개인 브랜치에서 코드수정main으로 PR & mergeAWS EC2 접속Docker Container 띄워서 Fastapi로 Python 소스코드 배포하지만 매번 이 작업을 하기에는 번거로울 뿐더러, 실수가 발생할 수 있습니다.그래서 드디어 파이썬 CI/CD 구축을 하기로 마음먹고, Github Actions와 AWS CodeDeploy로 CI/CD를 진행하였..

MLOps 2024.07.01

[MLOps] AWS SageMaker를 사용한 ML 모델 서빙 도전기(2) - Serverless Inference

1. Serverless Inference란?AWS Serverless Inference 소개 공식 블로그모델이 수신하는 추론 요청의 볼륨에 따라 컴퓨팅 용량을 자동으로 프로비저닝하고, 크기를 조정하고, 끕니다. 따라서 유휴 시간을 제외하고 추론 코드를 실행하는 데 필요한 컴퓨팅 시간과 처리된 데이터 양에 대해서만 비용을 지불하면 됩니다. 이름 그대로 지속적으로 GPU를 항상 켜두는 것이 아니라, 요청이 들어올 때만 GPU 자원을 사용하게끔 하는 방식입니다.항상 켜두는 비용보다 Serverless 방식을 적용하면 비용이 적게 나가게 됩니다.그러면 비용이 적게 나간다는 장점만 있진 않습니다. 제가 직접 경험한 바로는 Inference 속도가 기본 추론 방식보다 늦어지게 됩니다. Inference laten..

MLOps 2024.06.12

[MLOps] AWS SageMaker를 사용한 ML 모델 서빙 도전기!

💡 이 글은 마켓디자이너스(튜터링) MLOps Engineering 인턴 생활을 하며 직접 적용 & 공부했던 기록입니다.앱 서비스에 대한 간단한 소개를 하자면, 현재 튜터링이라는 어플은 외국인과의 실시간 소통이 가능하도록 만들어진 영어 교육 플랫폼입니다. 여기서 영어(한국어) 교육 AI tutor를 개발하고 있습니다.따라서 언급하는 모든 ML Model은 Language Model, 혹은 LLM입니다. (Vision은 하지 않았습니다!) 0. 모델 서빙 클라우드 플랫폼 선택 과정자사에서 ML 모델을 Finetuning 하는 일은 협업하는 연구실 측에서 담당해주고 있습니다.물론 자사에서도 자체모델을 Finetuning하지만, 그 수가 적습니다.저희는 Finetuning된 모델을 huggingface로 공..

MLOps 2024.04.08