본문 바로가기

AI 인공지능/MLOps3

[CI/CD] CI/CD 기초 개념 CI/CD 란? 소프트웨어 개발 과정을 자동화하여 개발의 효율성과 신속성을 극대화하는 방법론 지속적통합(CI): 개발자들이 코드를 주기적으로 메인 레포지토리에 병합하여(코드 충돌 최소화) 자동으로 빌드 및 테스트하는 과정 지속적배포(CD): CI 과정을 넘어 빌드 및 테스트를 거친 코드 변경사항이 운영환경에 배포하는 과정 CI/CD의 중요성 개발주기를 단축하고, 소프트웨어 품질을 향상시키며, 사용자 만족도 증가 코드의 변경사항을 자동으로, 즉각적으로 현재 운영중인 서비스에 반영할 수 있게 함 잠재적인 문제를 조기에 발견하게 함 CI/CD를 위한 툴 - Github Actions Github actions는 Github 리포지토리의 이벤트에 반응하여 워크플로우를 자동으로 실행 코드 푸시 or 풀 리퀘스트 .. 2024. 4. 9.
[Docker] Docker란 무엇이고 왜 쓸까? 도커(docker)란? 도커는 애플리케이션을 컨테이너(container)라는 격리된 환경에서 실행할 수 있도록 해주는 오픈 소스 가상화 기술 가상화 기술은 이전부터 사용했지만(Virtual Machine 등), docker의 장점이 있다. 격리 시켜야 하는 이유? 하나의 물리적 시스템 안에서 여러 애플리케이션을 구동하면, 충돌이 일어나거나 관리 어려움(하나의 애플리케이션의 에러로 다른 시스템까지 영향) 배포 환경을 옮길 때에도 서버에 이전 서버와 같이 모든 환경 세팅을 새로 해야하는 번거러움 존재(도커로 이식성 증가) 도커 vs Virtual Machine(VM, 가상머신) 오른쪽 VM의 경우, 격리시키고자 하는 App을 위해 게스트 OS를 각각 올려 리소스를 할당한다. 그러나, 얼마만큼의 리소스를 할당.. 2024. 4. 2.
[Wandb] YOLOv8 & Wandb sweep 함께 사용하기 Wandb란? wandb는 ML/AI 모델 학습 시, 학습 상황을 tracking(추적) 하여 진행이 잘 되고 있는지 확인할 수 있는 툴 또한, 여러 하이퍼파라미터 조합으로 학습을 시도하여 최적의 하이퍼파라미터를 찾아내도록 돕는 툴 학습 결과를 기록하고 관리하여 성능 개선을 돕는 툴 wandb와 yolov8 (ultralytics) 모델 함께 사용하기 import wandb wandb.login() from ultralytics import YOLO import ultralytics from wandb.integration.ultralytics import add_wandb_callback wandb.login() -> wandb 사이트에서 API 확인 -> 입력 wandb.init(project='sa.. 2024. 3. 26.