마키나락스 Runway 같은 서비스 제작하기: AI 개발 환경·실험 추적·모델 배포 제작법
격리된 개발 환경과 학습 실험·모델 버전·추론 배포를 연결하는 사내 MLOps 플랫폼의 구현 방법을 설명합니다.
핵심 요약
1. 팀별 AI 개발 환경에서 실험·모델 버전·서비스 배포까지 이어지는 MLOps 플랫폼을 만듭니다. 2. JupyterLab·Kubernetes·MLflow·KServe와 Prometheus API를 기능별 후보로 활용합니다. 3. 사용자 격리, 데이터·환경 버전, 배포 승인과 롤백, GPU 배정 정책은 자체 구성합니다.
마키나락스 Runway의 기능에서 참고할 가치는 개발자가 만든 모델을 조직 안에서 반복해서 학습하고 운영할 수 있게 하는 것입니다. 사내 MLOps 플랫폼 구축에서는 도구 설치와 함께 환경·데이터·모델의 연결을 관리해야 합니다. 아래는 오픈소스 MLOps 구축을 위한 구현 대안입니다.
팀별 AI 개발 환경 구성하기
입력은 사용자와 팀, 사용할 실행 이미지와 자원 요청입니다. JupyterLab을 개발 화면으로 사용하고 Kubernetes에서 실행 환경을 구성할 수 있습니다. 자체 운영 계층은 사용자별 저장 공간과 네트워크 접근, 패키지 설치 범위를 정합니다.
AI 개발 환경 표준화에서는 실행 이미지의 버전과 허용 패키지를 기록해야 합니다. 팀을 바꾸거나 세션을 다시 열어도 필요한 데이터와 환경을 확인할 수 있게 합니다. 출력은 권한에 맞게 격리된 개발 세션이며 시작 실패·자원 부족·종료 상태를 구분해 보여줍니다.

MLflow 실험 추적 연결하기
입력은 학습 코드와 데이터 버전, 모델 설정과 측정 지표입니다. MLflow로 실행별 설정·지표·결과 파일을 저장하는 구성을 사용할 수 있습니다. 자체 코드는 어떤 데이터와 환경에서 나온 결과인지 연결하고 실험 이름과 모델 등록 규칙을 정합니다.
머신러닝 실험 재현성은 모델 파일만 보관해서 얻어지지 않습니다. 전처리 방식과 평가 데이터, 코드 버전을 함께 남겨야 같은 조건을 다시 확인할 수 있습니다. 출력은 비교 가능한 실험 기록과 모델 후보이며 지표가 좋아도 평가 조건이 다르면 별도로 표시합니다.
검증한 모델을 추론 서비스로 배포하기
입력은 승인한 모델 버전과 추론 환경, 자원·트래픽 조건입니다. KServe 모델 서빙을 후보로 사용해 추론 엔드포인트를 구성할 수 있습니다. 클러스터와 모델 런타임의 호환성, 입력·출력 형식과 실제 부하 조건을 확인합니다.

자체 로직은 모델 준비 상태를 확인하고 배포 전후의 오류율과 응답 시간을 비교합니다. 새 버전이 기준을 충족하지 못하면 이전 버전으로 되돌릴 수 있게 배포 이력을 관리합니다. 출력은 검증된 엔드포인트와 배포 상태이며 파일 업로드 성공을 서비스 준비 완료와 구분합니다.
GPU 자원 배정 정책 만들기
입력은 팀별 할당량과 작업의 자원 요청, 우선순위입니다. Kubernetes GPU 스케줄링을 활용하려면 노드와 드라이버·디바이스 플러그인 등 실행 기반이 준비돼야 합니다. 자체 정책은 팀별 허용량과 대기 순서, 오래 실행 중인 세션의 관리 기준을 정합니다.

자원이 부족하면 작업을 대기 상태로 두고 부족한 이유를 표시합니다. 작업이 끝났을 때 배정 자원이 반환됐는지도 확인합니다. 출력은 배정 결과와 대기 상태이며 특정 팀의 작업이 다른 팀의 할당량을 임의로 사용하지 않도록 합니다.
모델과 인프라 운영 지표 확인하기
입력은 실제로 수집한 서비스·노드·모델 실행 지표입니다. Prometheus API로 지표를 조회해 AI 모델 배포 모니터링과 자원 사용량 화면에 연결할 수 있습니다. exporter와 수집 설정이 먼저 준비돼야 하며 없는 지표를 추정값으로 채우지 않습니다.
자체 코드는 실험·모델·배포·자원 기록을 같은 프로젝트에서 찾아볼 수 있게 연결합니다. 백업과 복구, 접근 권한과 모델 이용 조건도 운영 범위에 포함합니다. 필요한 개발 환경과 모델 배포 규모를 정리해 트램스 AI에 제작을 문의해 주세요: https://trams.co.kr/ai-si/contact/#inquiry
참고 자료
- https://www.makinarocks.ai/product/runway/
- https://demo.arcade.software/1YalXfL54Wl0FdxTd2bS?embed=&embed_desktop=inline&embed_mobile=inline&show_copy_link=true
- https://jupyterlab.readthedocs.io/en/stable/
- https://kubernetes.io/docs/tasks/manage-gpus/scheduling-gpus/
- https://mlflow.org/docs/latest/
- https://prometheus.io/docs/prometheus/latest/querying/api/
- https://kserve.github.io/website/
- https://www.makinarocks.ai/blog/mlops-platform-checklist/
- https://www.makinarocks.ai/news/runway2_update/
- https://www.samsungsds.com/kr/techreport/kubernetes-mlops.html
- https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html
- https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- https://mlflow.org/docs/latest/ml/tracking/
- https://mlflow.org/docs/latest/ml/model-registry/
- https://kserve.github.io/website/docs/intro
비슷한 AI 서비스를
사업에 적용하고 싶으신가요?
아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.