19장. MLOps 와 LLMOps, 워크플로 자동화
용어 짚고 가기
MLOps(Machine Learning Operations)머신러닝 모델을 만들고, 배포하고, 지켜보고, 다시 학습하는 일을 꾸준히 굴러가게 만드는 방법과 도구입니다. ML(Machine Learning, 머신러닝)과 Ops(Operations, 운영)를 붙인 말로, 개발과 운영을 잇는 DevOps 에서 따온 이름입니다.LLMOps(LLM Operations)MLOps 를 LLM 서비스에 맞춘 것입니다. 프롬프트, 검색 색인, 평가 묶음까지 버전으로 관리합니다. LLM(Large Language Model, 대규모 언어 모델)과 Ops(Operations, 운영)를 붙인 말입니다.실험 기록(experiment tracking)학습할 때 쓴 설정, 나온 점수, 만든 파일을 실행마다 남기는 일입니다. experiment 는 "실험", tracking 은 "뒤를 밟아 따라감"이라는 뜻입니다.실행(run)MLflow 에서 학습 한 번을 기록하는 단위입니다. run 은 "한 번 돌림"이라는 뜻입니다.모델 레지스트리(model registry)배포할 후보 모델을 이름과 버전으로 모아 두는 곳입니다. registry 는 "등록부, 등기소"라는 뜻입니다.별칭(alias)레지스트리의 버전 하나를 가리키는 이름표입니다. 예를 들면champion입니다. alias 는 "또 다른 이름"이라는 뜻입니다.챔피언(champion)지금 서비스에 쓰는 모델입니다. 새 후보는 도전자라고 부릅니다. champion 은 "우승자"라는 뜻이고, 도전자는 영어로 challenger 입니다.품질 게이트(quality gate)새 후보가 정한 기준을 넘을 때만 배포하게 막는 관문입니다. gate 는 "문, 관문"이라는 뜻입니다.되돌리기(rollback)문제가 생긴 배포를 앞의 버전으로 돌리는 일입니다. roll(굴리다)과 back(뒤로)을 붙인 말입니다.이미지 층(image layer)Docker 이미지를 이루는 겹입니다. Dockerfile 의 명령 한 줄이 층 하나를 만듭니다. layer 는 "겹, 층"이라는 뜻입니다.빌드 캐시(build cache)바뀌지 않은 층을 다시 만들지 않고 그대로 쓰는 Docker 의 기능입니다. build 는 "짓다", cache 는 프랑스어로 "숨겨 두는 곳"에서 온 말입니다.볼륨(volume)컨테이너 밖에 두는 저장 공간입니다. 컨테이너를 지워도 남습니다. volume 은 "책 한 권, 한 덩어리"라는 뜻에서 저장 공간 한 덩어리를 가리키게 되었습니다.워크플로(workflow)순서가 정해진 여러 작업의 묶음입니다. work(일)와 flow(흐름)를 붙인 말입니다.DAG(Directed Acyclic Graph)작업과 작업 사이의 앞뒤 관계를 화살표로 이은, 되돌아오는 길이 없는 그림입니다. Directed(방향이 있는), Acyclic(고리가 없는), Graph(그래프)의 머리글자로, 우리말로 방향성 비순환 그래프라고 합니다.AirflowDAG 로 적은 작업을 정한 시각에 돌리고 기록하는 오픈소스 워크플로 도구입니다. air(공기)와 flow(흐름)를 붙인 이름으로 "공기의 흐름"이라는 뜻입니다.데이터 구간(data interval)Airflow 의 실행 하나가 맡는 데이터의 시간 범위입니다. interval 은 "사이, 간격"이라는 뜻입니다.멱등성(idempotence)같은 작업을 여러 번 돌려도 한 번 돌린 것과 결과가 같은 성질입니다. 라틴어 idem(같은)과 potent(힘이 있는)를 붙인 수학 용어입니다.증분 처리(incremental processing)바뀐 부분만 골라 다시 처리하는 방식입니다. increment 는 "늘어난 양, 증가분"이라는 뜻입니다.지문(fingerprint)내용에서 계산한 짧은 글자열입니다. 내용이 한 글자만 바뀌어도 달라집니다. fingerprint 는 "손가락 지문"이라는 뜻이고, 이 값을 만드는 계산을 해시(hash, 잘게 다져 섞다)라고 합니다.