<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>MLPE - 태그 - lee's blog</title><link>http://ken-0913.github.io/myblog/tags/mlpe/</link><description>MLPE - 태그 - lee's blog</description><generator>Hugo -- gohugo.io</generator><language>ko-kr</language><managingEditor>hyeonjae0913@gmail.com (ken-0913)</managingEditor><webMaster>hyeonjae0913@gmail.com (ken-0913)</webMaster><lastBuildDate>Fri, 06 Nov 2026 22:30:00 +0900</lastBuildDate><atom:link href="http://ken-0913.github.io/myblog/tags/mlpe/" rel="self" type="application/rss+xml"/><item><title>MLPE 스터디 3주차 - Ch7.1 ~ 7.2 Kubeflow 노트북과 KFP 데이터 전달</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-07-1-notebooks-data-passing/</link><pubDate>Fri, 06 Nov 2026 22:30:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-07-1-notebooks-data-passing/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-07-1-notebooks-data-passing-0699d521.png" referrerpolicy="no-referrer">
            </div><p><code>Machine Learning Platform Engineering</code> 파트 3은 1 ~ 6장에서 갖춘 플랫폼을 <strong>실제 프로젝트</strong>에 적용한다. 캡스톤 프로젝트는 세 개이고, 7장은 그중 <strong>신분증 객체 탐지기</strong>와 <strong>영화 추천 시스템</strong>의 첫 단계인 <strong>데이터 분석과 준비</strong>를 다룬다. 여기선 7.1절 Kubeflow 노트북과 7.2절 KFP 데이터 전달을 정리하고, 1 ~ 6장에서 구축한 환경에서 돌린 결과를 정리한다.</p>
<h2 id="1-한눈에-보기" class="headerLink">
    <a href="#1-%ed%95%9c%eb%88%88%ec%97%90-%eb%b3%b4%ea%b8%b0" class="header-mark"></a>1. 한눈에 보기</h2><p>MLOps 파이프라인 그림에서 7장은 <strong>데이터 수집·준비</strong> 자리다. 7.1절은 그 단계를 사람이 노트북으로 탐색하는 방법이고, 7.2절은 같은 단계를 KFP 컴포넌트로 나눴을 때 컴포넌트 사이로 데이터를 넘기는 방법이다.</p>]]></description></item><item><title>MLPE 스터디 3주차 - Ch6.2 Evidently로 데이터 드리프트 모니터링하기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-06-2-evidently-drift/</link><pubDate>Fri, 06 Nov 2026 22:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-06-2-evidently-drift/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-06-2-evidently-drift-a597b167.png" referrerpolicy="no-referrer">
            </div><p><a href="../mlpe-06-1-bentoml-yatai/" rel="">6.1절</a>까지 소득 분류기를 배치 파이프라인과 API 두 가지로 배포했다. 배포한 모델은 처음에는 잘 맞다가, 몇 달 뒤 들어오는 데이터가 학습 때와 달라지면서 조용히 성능이 떨어질 수 있다. 6.2절은 이 <strong>데이터 드리프트</strong>를 <strong>Evidently</strong>로 탐지하고 대시보드로 추적한다.</p>
<h2 id="1-한눈에-보기" class="headerLink">
    <a href="#1-%ed%95%9c%eb%88%88%ec%97%90-%eb%b3%b4%ea%b8%b0" class="header-mark"></a>1. 한눈에 보기</h2><p>6.2절은 그림 아래쪽의 <strong>모델 모니터링</strong>에 해당한다. 드리프트를 보는 경로는 두 가지로, 5장에서 KFP 배치 추론 파이프라인에 넣은 <code>detect_drift</code> 단계와 6.1절 BentoML API의 마이크로배치 윈도다. 둘 다 4.1절 MLflow 모델 run에 남긴 학습 피처를 기준(reference)으로 삼아 리포트를 Evidently UI에 쌓는다.</p>]]></description></item><item><title>MLPE 스터디 3주차 - Ch6.1 BentoML과 Yatai로 소득 분류기를 API로 배포하기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-06-1-bentoml-yatai/</link><pubDate>Fri, 06 Nov 2026 21:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-06-1-bentoml-yatai/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-06-1-bentoml-yatai-ab5074cf.png" referrerpolicy="no-referrer">
            </div><p><code>Machine Learning Platform Engineering</code> 6장은 <strong>배포</strong>와 <strong>모니터링</strong>을 다룬다. 5장에서 소득 분류기를 배치 파이프라인으로 돌렸다면 6장은 같은 모델을 <strong>BentoML</strong>로 API 서비스로 만들고 <strong>Evidently</strong>로 데이터 드리프트를 추적한다.</p>
<h2 id="1-한눈에-보기" class="headerLink">
    <a href="#1-%ed%95%9c%eb%88%88%ec%97%90-%eb%b3%b4%ea%b8%b0" class="header-mark"></a>1. 한눈에 보기</h2><p>MLOps 파이프라인 그림에서 6.1절은 <strong>모델 배포</strong>와 <strong>모델 API부분</strong>이다. 모델은 4.1절 MLflow 레지스트리에서 피처는 4.2절 Feast 온라인 스토어(Redis)에서 가져오고 모델 모니터링은 6.2절에서 다룬다.</p>
<p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-06-1-bentoml-yatai/bento-pipeline-overview.svg" title="MLOps 파이프라인 그림에서 6.1절이 채우는 자리. 모델 배포(Bento 빌드 · Yatai 배포)와 모델 API(BentoML /predict)가 분홍으로 강조돼 있다. 4.1절 MLflow 모델 레지스트리에서 Production 모델을 import_model 로 가져와 모델 배포로, yatai-deployment 가 모델 API 로 이어지고, 4.2절 Feast 피처 스토어에서 Redis 의 online 피처가 모델 API 로 들어간다. 사용자는 /predict 로 요청하고 응답을 받는다. 모델 모니터링은 6.2절 Evidently 로 점선 표시돼 있다. 오른쪽 카드는 MLflow 모델을 BentoML 로컬 스토어로, Feast 온라인 피처와 러너 예측, bentofile_homelab 으로 만든 Bento 와 모델 38.9MB, Yatai 가 kaniko 로 빌드해 Docker Hub 를 거쳐 띄우는 API·러너 Pod 를 정리하고, 5장 배치 추론과 같은 모델을 실시간으로 쓴다고 적는다" data-thumbnail="/myblog/posts/mlpe/mlpe-06-1-bentoml-yatai/bento-pipeline-overview.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-06-1-bentoml-yatai/bento-pipeline-overview.svg'   alt="MLOps 파이프라인 그림에서 6.1절이 채우는 자리. 모델 배포(Bento 빌드 · Yatai 배포)와 모델 API(BentoML /predict)가 분홍으로 강조돼 있다. 4.1절 MLflow 모델 레지스트리에서 Production 모델을 import_model 로 가져와 모델 배포로, yatai-deployment 가 모델 API 로 이어지고, 4.2절 Feast 피처 스토어에서 Redis 의 online 피처가 모델 API 로 들어간다. 사용자는 /predict 로 요청하고 응답을 받는다. 모델 모니터링은 6.2절 Evidently 로 점선 표시돼 있다. 오른쪽 카드는 MLflow 모델을 BentoML 로컬 스토어로, Feast 온라인 피처와 러너 예측, bentofile_homelab 으로 만든 Bento 와 모델 38.9MB, Yatai 가 kaniko 로 빌드해 Docker Hub 를 거쳐 띄우는 API·러너 Pod 를 정리하고, 5장 배치 추론과 같은 모델을 실시간으로 쓴다고 적는다"  ></a></p>]]></description></item><item><title>MLPE 스터디 2주차 - Ch4.1 더 해 보기: EDA 막대그래프 position fill과 stack 비교</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-2-eda-fill-vs-stack/</link><pubDate>Thu, 29 Oct 2026 18:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-2-eda-fill-vs-stack/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-04-2-eda-fill-vs-stack-97988625.png" referrerpolicy="no-referrer">
            </div><p>EDA run의 막대그래프 인자 <code>position=&quot;fill&quot;</code>을 <code>&quot;stack&quot;</code>으로 바꿔 run을 하나 더 만들고, 두 그래프가 무엇을 보여 주는지 비교한다.</p>
<h2 id="1-무엇을-바꾸나" class="headerLink">
    <a href="#1-%eb%ac%b4%ec%97%87%ec%9d%84-%eb%b0%94%ea%be%b8%eb%82%98" class="header-mark"></a>1. 무엇을 바꾸나</h2><p>책의 EDA 셀은 범주형 컬럼 8개마다 막대그래프를 그린다. 막대 하나가 컬럼의 값 하나(예: Workclass의 Private)이고, 막대 안은 소득 구간 Target(<code>&lt;=50K</code>, <code>&gt;50K</code>)별 색으로 나뉜다. <code>geom_bar</code>의 <code>position</code> 인자가 두 색을 어떻게 쌓을지 정한다.</p>
<table>
	<thead>
			<tr>
					<th><code>position</code></th>
					<th>막대 길이</th>
					<th>읽을 수 있는 것</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>&quot;fill&quot;</code> (책 코드)</td>
					<td>모든 막대가 1.0으로 같다</td>
					<td>값마다 고소득(<code>&gt;50K</code>) <strong>비율</strong></td>
			</tr>
			<tr>
					<td><code>&quot;stack&quot;</code> (plotnine 기본값)</td>
					<td>그 값의 사람 수만큼</td>
					<td>값마다 <strong>건수</strong>와 그 안의 고소득 수</td>
			</tr>
	</tbody>
</table>
<h2 id="2-실행" class="headerLink">
    <a href="#2-%ec%8b%a4%ed%96%89" class="header-mark"></a>2. 실행</h2><p>JupyterLab에서 책 노트북 옆에 새 노트북 <code>eda_fill_vs_stack.ipynb</code>를 만들고, 4.1절과 같은 <code>chapter-4</code> 커널로 실행했다. 첫 셀은 데이터를 읽고 실험 <code>income-classifier</code>를 고르며, 둘째 셀이 run 두 개를 만든다. 책 셀과 다른 곳은 <code>position</code>을 바꿔 가며 두 번 돈다는 것과, 어느 쪽인지 알 수 있게 <code>position</code>을 파라미터로 기록한다는 것뿐이다.</p>]]></description></item><item><title>MLPE 스터디 2주차 - Ch5. KFP로 소득 분류기 배치 추론 파이프라인 만들기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-05-1-kfp-income-pipeline/</link><pubDate>Mon, 26 Oct 2026 21:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-05-1-kfp-income-pipeline/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-05-1-kfp-income-pipeline-cb1bc660.png" referrerpolicy="no-referrer">
            </div><p>4장에서 실험과 모델은 MLflow로, 피처는 Feast로 관리하게 됐다. 하지만 둘을 이어 붙이는 일은 여전히 사람 몫이다. 5장에서는 이 연결을 <strong>Kubeflow Pipelines</strong>(KFP)로 자동화해, 데이터를 읽는 단계부터 추론 결과를 저장하는 단계까지 한 번에 도는 배치 추론 파이프라인을 만든다.</p>
<p>예제 코드는 <a href="https://github.com/practical-mlops/chapter-5" target="_blank" rel="noopener noreferrer">practical-mlops/chapter-5</a>에 있다.</p>
<p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-05-1-kfp-income-pipeline/kfp-pipeline-overview.svg" title="4.1절 MLOps 파이프라인 그림에서 점선으로 비어 있던 파이프라인 오케스트레이션을 Kubeflow Pipelines 로 채운 그림. 5장의 배치 추론 파이프라인이 모델 배포 자리에서 돌며, 4.2절 Feast 피처 스토어에서 historical 피처 8개를, 4.1절 MLflow 모델 레지스트리에서 Production 모델과 column_list.pkl 을 가져온다. 오른쪽 카드에 컴포넌트 4개(read_data, retrieve_features, run_inference, write_data)를 정리했다" data-thumbnail="/myblog/posts/mlpe/mlpe-05-1-kfp-income-pipeline/kfp-pipeline-overview.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-05-1-kfp-income-pipeline/kfp-pipeline-overview.svg'   alt="4.1절 MLOps 파이프라인 그림에서 점선으로 비어 있던 파이프라인 오케스트레이션을 Kubeflow Pipelines 로 채운 그림. 5장의 배치 추론 파이프라인이 모델 배포 자리에서 돌며, 4.2절 Feast 피처 스토어에서 historical 피처 8개를, 4.1절 MLflow 모델 레지스트리에서 Production 모델과 column_list.pkl 을 가져온다. 오른쪽 카드에 컴포넌트 4개(read_data, retrieve_features, run_inference, write_data)를 정리했다"  ></a></p>]]></description></item><item><title>MLPE 스터디 2주차 - Ch4.2 홈랩 Kubernetes에 Feast 피처 스토어 올리고 실습하기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-mlflow-feast/</link><pubDate>Mon, 26 Oct 2026 20:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-mlflow-feast/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-04-mlflow-feast-36a0caef.png" referrerpolicy="no-referrer">
            </div><p><a href="../mlpe-04-mlflow-install/" rel="">앞 글</a>에서 만든 홈랩 환경에 피처 스토어 Feast를 올려, 학습과 추론이 같은 피처를 꺼내 쓰는 책 4.2절 실습을 진행한다.</p>
<p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-04-mlflow-feast/feast-pipeline-overview.svg" title="4.1절 MLOps 파이프라인 그림에서 피처 스토어만 강조한 그림. 데이터 웨어하우스 자리의 parquet 3개를 RustFS 오프라인 스토어에 두고, 모델 학습은 get_historical_features 로 시점 기준 피처를, 모델 API 는 materialize 로 Redis 에 옮긴 최신 피처를 get_online_features 와 피처 서버(:6566)로 가져간다. 오른쪽 카드에 오프라인 스토어, 레지스트리, materialize 30,162키, 학습·추론 조회 메서드를 정리했다" data-thumbnail="/myblog/posts/mlpe/mlpe-04-mlflow-feast/feast-pipeline-overview.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-04-mlflow-feast/feast-pipeline-overview.svg'   alt="4.1절 MLOps 파이프라인 그림에서 피처 스토어만 강조한 그림. 데이터 웨어하우스 자리의 parquet 3개를 RustFS 오프라인 스토어에 두고, 모델 학습은 get_historical_features 로 시점 기준 피처를, 모델 API 는 materialize 로 Redis 에 옮긴 최신 피처를 get_online_features 와 피처 서버(:6566)로 가져간다. 오른쪽 카드에 오프라인 스토어, 레지스트리, materialize 30,162키, 학습·추론 조회 메서드를 정리했다"  ></a></p>]]></description></item><item><title>MLPE 스터디 2주차 - Ch4.1 홈랩 MLflow로 실험 추적과 모델 레지스트리 실습하기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-1-mlflow-practice/</link><pubDate>Sun, 25 Oct 2026 20:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-1-mlflow-practice/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-04-1-mlflow-practice-e05eb6c0.png" referrerpolicy="no-referrer">
            </div><p>책 4.1절(실험 추적과 모델 레지스트리) 노트북을 홈랩 MLflow에서 돌린 기록이다. 실습 환경(MLflow, Postgres, RustFS, JupyterLab)을 Kubernetes에 올린 과정은 <a href="../mlpe-04-mlflow-install/" rel="">앞 글</a>에 있다.</p>
<p>책은 로컬 <code>mlflow ui</code>와 Kubeflow에 딸린 MinIO를 쓰지만 여기서는 Kubernetes 위의 MLflow, Postgres, RustFS를 썼다. RustFS는 홈랩에서 이미 쓰고 있어서 골랐고 다른 이유는 없다.</p>
<h2 id="1-한눈에-보기" class="headerLink">
    <a href="#1-%ed%95%9c%eb%88%88%ec%97%90-%eb%b3%b4%ea%b8%b0" class="header-mark"></a>1. 한눈에 보기</h2><p>아래는 이번 절에서 실습할 파이프라인이다. 초록 칸은 Jupyter 노트북 셀로 직접 실행한 단계이고, 주황 칸은 노트북이 만든 결과를 MLflow에 기록하고 등록한 곳이다.</p>
<p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-04-1-mlflow-practice/pipeline-6-1-overview.svg" title="MLOps 파이프라인에서 데이터 수집·준비, 모델 학습, 모델 평가·검증을 Jupyter 노트북 셀로 직접 실행하고, 결과를 MLflow 실험 추적에 기록하고 1등 모델을 모델 레지스트리에 등록한 이 글의 전체 범위. 점선 오케스트레이션 자리의 자동화는 5장 Kubeflow Pipelines 몫이다" data-thumbnail="/myblog/posts/mlpe/mlpe-04-1-mlflow-practice/pipeline-6-1-overview.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-04-1-mlflow-practice/pipeline-6-1-overview.svg'   alt="MLOps 파이프라인에서 데이터 수집·준비, 모델 학습, 모델 평가·검증을 Jupyter 노트북 셀로 직접 실행하고, 결과를 MLflow 실험 추적에 기록하고 1등 모델을 모델 레지스트리에 등록한 이 글의 전체 범위. 점선 오케스트레이션 자리의 자동화는 5장 Kubeflow Pipelines 몫이다"  ></a></p>]]></description></item><item><title>MLPE 스터디 2주차 - Ch4~5 홈랩 Kubernetes에 MLflow, Feast, Kubeflow Pipelines 설치하기</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-mlflow-install/</link><pubDate>Sat, 24 Oct 2026 20:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-04-mlflow-install/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-04-mlflow-install-01f7e9a6.png" referrerpolicy="no-referrer">
            </div><p><code>Machine Learning Platform Engineering</code> 4장은 MLflow로 실험과 모델을 추적하고 Feast로 피처를 관리하며, 5장은 둘을 Kubeflow Pipelines로 이어 배치 추론 파이프라인을 만든다. 2주차 실습은 1주차에 설치한 홈랩 Kubernetes 클러스터 위에서 그대로 진행한다. 이번에는 Kubernetes 클러스터에 MLflow, Feast, Kubeflow Pipelines를 올린다.</p>
<h2 id="1-전체-구성" class="headerLink">
    <a href="#1-%ec%a0%84%ec%b2%b4-%ea%b5%ac%ec%84%b1" class="header-mark"></a>1. 전체 구성</h2><p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-04-mlflow-install/homelab-platform.svg" title="홈 LAN 안의 홈랩 Kubernetes 클러스터(v1.36.5)에 올린 2주차 실습 플랫폼 전체 구성. mlflow 네임스페이스에 JupyterLab(192.168.0.239), MLflow 3.16.0(192.168.0.238), Postgres 18, Secret 4개, RustFS 1.0.3(192.168.0.237, 버킷 6개)이 있고, feast 네임스페이스에 Feast 서버·UI(192.168.0.240, 241), apply·materialize Job, Redis 8.10.2 가, kubeflow 네임스페이스에 ml-pipeline UI·API 2.17.3(192.168.0.242), 실행 Pod, MySQL 8.4 가 있다. 기존 argo 네임스페이스의 workflow-controller v4.1.4 가 KFP Workflow 를 받아 실행 Pod 를 만들고 cert-manager 가 cache-server 인증서를 준다. 노트북은 MLflow 에 run 과 지표를, RustFS 에 아티팩트를 직접 올리고, Feast Job 은 RustFS 에 parquet 와 레지스트리를, Redis 에 키 30,162개를 쓴다. KFP 실행 Pod 는 MLflow 에서 Production 모델을 받고 RustFS 에 Dataset 과 로그를 쓴다" data-thumbnail="/myblog/posts/mlpe/mlpe-04-mlflow-install/homelab-platform.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-04-mlflow-install/homelab-platform.svg'   alt="홈 LAN 안의 홈랩 Kubernetes 클러스터(v1.36.5)에 올린 2주차 실습 플랫폼 전체 구성. mlflow 네임스페이스에 JupyterLab(192.168.0.239), MLflow 3.16.0(192.168.0.238), Postgres 18, Secret 4개, RustFS 1.0.3(192.168.0.237, 버킷 6개)이 있고, feast 네임스페이스에 Feast 서버·UI(192.168.0.240, 241), apply·materialize Job, Redis 8.10.2 가, kubeflow 네임스페이스에 ml-pipeline UI·API 2.17.3(192.168.0.242), 실행 Pod, MySQL 8.4 가 있다. 기존 argo 네임스페이스의 workflow-controller v4.1.4 가 KFP Workflow 를 받아 실행 Pod 를 만들고 cert-manager 가 cache-server 인증서를 준다. 노트북은 MLflow 에 run 과 지표를, RustFS 에 아티팩트를 직접 올리고, Feast Job 은 RustFS 에 parquet 와 레지스트리를, Redis 에 키 30,162개를 쓴다. KFP 실행 Pod 는 MLflow 에서 Production 모델을 받고 RustFS 에 Dataset 과 로그를 쓴다"  ></a></p>]]></description></item><item><title>MLPE 스터디 1주차 - Ch3. MLOps를 위한 k8s 기반 아키텍처</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-03-platform-foundation/</link><pubDate>Mon, 19 Oct 2026 09:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-03-platform-foundation/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-03-platform-foundation-e8f0497e.png" referrerpolicy="no-referrer">
            </div><p><code>Machine Learning Platform Engineering</code> 3장은 Docker, Kubernetes, CI/CD, 모니터링만 다룹니다. <a href="../mlpe-02-what-is-mlops/" rel="">앞 글</a>에서 MLOps를 루프로 바라보는 관점을 제시하였고 이번에는 그 루프가 올라갈 플랫폼에 대해서 학습합니다. 기존에 홈랩 환경이 구축되어 있어서 별도 kind를 사용하지는 않았습니다.</p>
<h2 id="1-전체-흐름" class="headerLink">
    <a href="#1-%ec%a0%84%ec%b2%b4-%ed%9d%90%eb%a6%84" class="header-mark"></a>1. 전체 흐름</h2><p><a class="lightgallery" href="/myblog/posts/mlpe/mlpe-03-platform-foundation/gitops-pipeline.svg" title="git push 한 번이 이미지 빌드, Docker Hub push, 차트 버전 범프 커밋으로 이어지고 홈랩 Argo CD가 polling 해 배포하는 8단계 GitOps 파이프라인" data-thumbnail="/myblog/posts/mlpe/mlpe-03-platform-foundation/gitops-pipeline.svg"><img class="tw:inline" loading="lazy" src='/myblog/posts/mlpe/mlpe-03-platform-foundation/gitops-pipeline.svg'   alt="git push 한 번이 이미지 빌드, Docker Hub push, 차트 버전 범프 커밋으로 이어지고 홈랩 Argo CD가 polling 해 배포하는 8단계 GitOps 파이프라인"  ></a></p>]]></description></item><item><title>MLPE 스터디 1주차 - Ch2. MLOps는 루프다. DevOps와의 차이</title><link>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-02-what-is-mlops/</link><pubDate>Sun, 18 Oct 2026 19:20:00 +0900</pubDate><author><name>ken-0913</name></author><guid>http://ken-0913.github.io/myblog/posts/mlpe/mlpe-02-what-is-mlops/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/mlpe-02-what-is-mlops-8b413644.png" referrerpolicy="no-referrer">
            </div><p><code>Machine Learning Platform Engineering</code> 의 2장은 MLOps가 왜 루프여야만 하는지 다룬다.</p>
<p>기억하자. <strong>모델은 조직의 최종 산출물이 아니라 수단이다.</strong></p>
<h2 id="1-모델-만들기는-어려운-부분이-아니다" class="headerLink">
    <a href="#1-%eb%aa%a8%eb%8d%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0%eb%8a%94-%ec%96%b4%eb%a0%a4%ec%9a%b4-%eb%b6%80%eb%b6%84%ec%9d%b4-%ec%95%84%eb%8b%88%eb%8b%a4" class="header-mark"></a>1. 모델 만들기는 어려운 부분이 아니다</h2><p>모델 아키텍처를 처음부터 연구하는 회사는 드물다. 대부분 기존 구조를 재사용하거나 공개 모델을 도메인에 적응시킨다. Hugging Face 같은 생태계가 이 과정을 더 간단하게 만들었다.</p>
<p>정말 어려운 것은 이제부터다.</p>
<ul>
<li>모델을 <strong>어떻게</strong> 학습시킬 것인가</li>
<li>데이터는 모델까지 <strong>어떻게</strong> 도달하는가</li>
<li>모델은 다른 서비스와 <strong>어떻게</strong> 상호작용하는가</li>
<li>모델은 <strong>어디서</strong> 실행되는가</li>
<li>시간이 지나도 정확도를 <strong>어떻게</strong> 유지하는가</li>
</ul>
<p>다섯 개 모두 모델링보다는 <strong>플랫폼의 문제</strong>다. 비즈니스 가치와 인프라 사이의 이 간극이 MLOps를 어렵게 만든다.</p>]]></description></item></channel></rss>