MLOps의 버전 관리와 서버 통신

랫서·2025년 10월 17일

MLOps

목록 보기
9/11

버전 관리의 기초

  • 버전 관리는 소프트웨어의 모든 구성요소(코드, 데이터, 환경 설정 등)의 변경 상황을 추적하고 관리하는 프로세스
  • MLOps에서는 재연성, 안정성, 협업 효율성을 높이기 위해 필수적으로 사용
  • MLOps에서는 4가지 주요 버전 관리 영역이 존재: 코드 버전, 데이터 버전, 모델 버전, 환경 및 구성 버전

코드 버전 관리

  • Git: 소스코드 변경사항 추적을 위한 표준 도구
    • 브랜치 생성, 병합, 이력 관리, 협업 기능 제공
  • GitHub: Git 리포지토리 호스팅 서비스
    • 이슈 트래킹, 풀 리퀘스트, CI/CD 인테그레이션 등 추가 기능 제공
    • 코드 리뷰와 품질 관리에 도움

데이터 버전 관리

  • DVC(Data Version Control): Git과 유사한 인터페이스를 제공하는 오픈소스 툴
    • 대용량 데이터 관리, 데이터셋 버전 관리, 파이프라인 관리 기능
    • Git과의 통합이 용이하고 확장성이 우수함
  • Git LFS(Large File Storage): Git의 확장 도구
    • 대용량 파일 포인터를 Git 저장소에 저장하고 실제 파일은 별도 서버에 보관
    • Git 버전 관리 체계를 그대로 활용할 수 있어 편리함
  • Delta Lake: 아파치 스파크 기반의 오픈소스 저장 레이어
    • ACID 트랜잭션 지원으로 데이터 무결성 보장
    • 타임 트래블 기능으로 이전 버전 데이터로 쉽게 롤백 가능
    • 스트리밍 및 배치 데이터 처리 지원

서버 통신 기본 개념

  • HTTP(Hypertext Transfer Protocol): 웹상에서 데이터 교환을 위한 프로토콜
    • 텍스트, 이미지, 비디오 등 다양한 형태의 데이터 전송
    • 요청-응답 프로세스로 동작
  • HTTP 메소드: GET(조회), POST(생성), PUT(업데이트), DELETE(삭제)
  • 상태 코드: 요청 처리 상태를 나타냄 (200: 성공, 404: 리소스 없음, 500: 서버 오류)

클라이언트-서버 아키텍처

  • 클라이언트(웹브라우저, 모바일 앱)가 서버에 요청을 보내고 서버가 응답
  • 클라이언트: HTTP를 통해 서버에 페이지 요청, 데이터 전송 등 수행
  • 서버: 클라이언트의 요청을 처리하고 데이터를 제공하는 역할

REST API

  • 웹 표준 기반으로 서버-클라이언트 간 통신을 구현하는 인터페이스
  • HTTP 메소드(GET, POST, PUT, DELETE)를 활용해 리소스에 대한 CRUD 작업 수행
  • 특징: Statelessness(상태 비저장성) - 서버가 클라이언트 상태를 유지하지 않음
  • MLOps 활용 예시:
    • 데이터 수집 및 처리: REST API를 통한 실시간 데이터 수집
    • 모델 서빙: 훈련된 모델을 API로 제공하고 실시간 추천 등 구현
    • 모델 파이프라인 동작: 워크플로우 자동화를 위한 API 활용
profile
개발자로 다시 성장하고 싶은 사람입니다.

0개의 댓글