MLOps와 생애주기: 표류, 재훈련, 그리고 검증의 역설
📍 현재 위치: 6부 · 시스템 전체 — 22장. 이전 장은 지배적 패러다임 — 물리와 데이터를 융합하는 하이브리드 모델과 디지털 트윈 — 을 만들었습니다. 이 장은 배포된 모든 모델이 결국 강요하는 질문에 답합니다. 일단 GMP 공장에서 돌아가기 시작하면, 어떻게 그것을 참으로 유지하고, 그것이 계속 학습하는 동안 어떻게 검증된 상태로 유지하는가?
이 장 이전의 모든 장은 모델을 훈련시키고 그것이 작동하는 것을 보여 주었습니다. 역가를 회복하는 라만 소프트 센서, 수확-종점 최적화기, MSPC 모니터, 바이알을 자동 출하하는 비전 시스템. 그들은 모두 말해지지 않은 가정을 공유합니다 — 화요일에 검증을 통과한 모델이 금요일에도 여전히 옳다는 것. 그렇지 않습니다. 바이오공정 모델은 업계의 거의 어떤 모델보다도 더 빠르고 더 조용히 쇠퇴하는데, 그것이 예측하는 대상이 살아 있고, 그 오차를 드러낼 지상 진실(ground truth)이 하루에 한두 번만 도착하며, 그 아래의 하드웨어가 프로브를 교체할 때마다 그리고 규모를 키울 때마다 바뀌기 때문입니다. 이것은 아무도 시연하지 않는 부분, 즉 상용에 놓인 모델의 길고 화려하지 않은 사후 생애에 관한 장입니다.
또한 이곳은 기계학습이 제약 제조의 중심 규칙과 정면으로 충돌하는 곳입니다. GMP(우수 제조 관리 기준, Good Manufacturing Practice — 의약품을 만들기 위한 법적으로 강제되는 품질 체제) 공정은 검증되어야 합니다 — 입증되고, 잠기고, 변경 관리 아래 묶여서, 내일 당신이 만드는 것이 어제 입증한 것이 되도록. 기계학습 모델은 그 본성상 학습합니다 — 새로운 데이터를 보면서 변합니다. 그 두 요구는 직접 긴장 관계에 있으며, 그 긴장의 해소가 GMP 아래 ML을 배포하는 데서 단연 가장 중요한 발상입니다. 우리는 학습하는 모델을 다스릴 수 있게 만드는 표류 탐지기를 만든 뒤, 검증-대-학습 역설을 정직하게 마주할 것입니다.
교량 검사관은 다리가 개통하는 날 그것을 "영원히 안전하다"고 선언하지 않습니다. 그들은 일정에 따라 재검사하는데, 강철은 녹슬고, 교통량은 늘며, 강물이 기초를 깎아 내리기 때문입니다. 배포된 모델도 같습니다. 그것은 그것이 만들어진 데이터 위에서는 안전했지만, 그것이 지켜보는 세계는 계속 움직입니다 — 센서가 오염되고, 공급업체가 바뀌며, 세포가 이번 캠페인에는 조금 다르게 행동합니다. MLOps는 모델을 위한 검사 체제입니다. 모델이 낡아 가는지 지켜보는 계측(표류 탐지), 언제 다시 만들지에 관한 성문화된 규칙(재훈련 트리거), 그리고 새것이 더 나쁘면 옛것으로 되돌아가는 방법(롤백)입니다. 어려운 부분은, 다리와 달리 규제 당국이 검사 사이에 모델이 스스로 변하지 않을 것을 고집한다는 점입니다 — 그래서 우리는 그것을 잠그고, 오직 의도적으로, 서류와 함께 변경합니다 — 모델이 다리와 다른 한 가지: 실패하는 것이 보일 때조차 제자리에서 조용히 땜질할 수 없습니다.
이 장에서 다루는 내용
- 바이오공정에서 특히 모델이 표류하는 이유 — 프로브 오염, 원자재 로트 이동, 규모 이동, 그리고 살아 있는 시스템 자체의 운전마다의 방황을, 표류의 세 가지 수학적 종류에 매핑하여.
- 두 방식의 표류 탐지 — 라벨이 필요 없는 선행 지표(입력 분포 위의 모집단 안정성 지수)와 느린 오프라인 참조가 필요한 후행 지표(예측 잔차 위의 관리도), 수학을 끝까지 풀어내며.
- GMP 아래 재훈련 생애주기 — 잠긴 모델, 사전결정 변경 관리 계획(PCCP), 재훈련 트리거, 사인(four-eyes) 승격 게이트, 챔피언/챌린저 섀도 배포, 그리고 롤백.
- 실행 가능한 표류 탐지기와 실행 가능한 거버넌스된 재훈련 루프 —
examples/platform/ml/drift.py(온라인-대-오프라인 글루코스 잔차 관리도에 더해 배치 간 PSI)와examples/platform/ml/lifecycle_retrain.py(보류된 재검증을 동반한 챔피언/챌린저 승격, 버전 상승, 데이터셋 해시, 그리고 CPV 로그 항목), 둘 다 커밋된 데이터셋에 접지된. - 검증-대-학습 역설 — 규제 당국(FDA, EU/PIC/S GMP Annex 22 초안)이 "검증된"을 "학습하는"과 어떻게 화해시키는지, 그리고 오늘날의 정직한 답이 왜 연속-학습이 아니라 잠그고-나서-재학습인지.
모델이 표류하는 이유 — 그리고 바이오공정이 최악인 이유
모델은 어떤 관계에 대한 얼어붙은 주장입니다 — 이 입력들이 주어지면, 답은 이것이다. 표류(drift) 는 세계가 실제로 따르는 관계가 모델이 얼린 관계로부터 갈라질 때 일어나는 일입니다. 그것은 수학적으로 구별되는 세 가지 종류로 오며, 그들을 명명하는 것이 중요한데 각각이 서로 다른 계측으로 잡히기 때문입니다 [1].
공변량 이동(Covariate shift)(입력 표류): 입력의 분포 P(X)가, 기저 물리 P(Y|X)가 바뀌지 않았더라도 움직입니다. (P(X)는 모델이 통상 보는 입력 값의 퍼짐 — 그것들이 어떤 범위를 취하고 얼마나 자주 나타나는지 — 으로, P(Y|X)는 주어진 입력 X에 대해 당신이 기대하는 답 Y로 읽으세요. 막대 기호는 "주어졌을 때"를 뜻합니다.) 라만 프로브가 천천히 오염되어 그 기준선이 상승하고, 새 원자재 로트가 스펙트럼 배경을 이동시키며, 새 캠페인이 조금 더 따뜻하게 돌아갑니다. 모델은 이제 자신이 보정된 입력 영역 밖으로 외삽(extrapolate)하고 있는데, 바로 그곳이 데이터 주도 모델이 가장 신뢰할 수 없는 곳입니다. 결정적으로, 공변량 이동은 어떤 라벨도 없이 보입니다 — 답이 틀렸는지 알기 전에 입력이 움직였음을 볼 수 있습니다.
개념 표류(Concept drift)(관계 표류): P(Y|X) 자체가 바뀝니다 — 같은 입력이 이제 다른 답을 함의합니다. 세포주가 계대(passage)에 걸쳐 미묘하게 적응하고, 배지 재제형이 글루코스가 성장에 매핑되는 방식을 바꾸며, 새 공급 전략이 모델이 학습한 운동학을 변경합니다. 이것이 위험한 종류인데, 입력은 완벽히 정상으로 보이는 동안 예측이 조용히 틀려 갈 수 있기 때문입니다. 개념 표류는 일반적으로 오직 지상 진실 — 느린 오프라인 참조 — 로만 잡힐 수 있으며, 그것이 그것이 언제나 후행 발견인 이유입니다.
라벨/사전 이동(Label/prior shift): 결과의 분포가 움직입니다(공정이 새 역가 목표에서 운전되거나, 새 제품이 같은 라인에 들어옴). 이것은 "정상" 출력이 어떻게 생겼는지를 재구성하며, 잘 보정된 모델의 예측을 체계적으로 중심에서 벗어나게 만들 수 있습니다.
이 분류법은 현학이 아닙니다. 각 종류는 결합 분포 P(X,Y) = P(Y|X)·P(X)의 한 인자를 바꿉니다 — 입력-과-답의 온전한 그림은 언제나 "각 입력이 얼마나 자주 일어나는가"(P(X)) 곱하기 "그 입력이 어떤 답을 주는가"(P(Y|X))로 쪼개집니다. 공변량 이동은 P(X)를 움직이고, 개념 표류는 P(Y|X)를 움직이며, 사전 이동은 P(Y)를 움직입니다. 그 인수분해가 탐지기가 하나가 아니라 둘이 불가피한 이유 전부입니다 — 입력(P(X))을 지켜보는 모니터는 매핑(P(Y|X))의 변화에 구조적으로 눈멀어 있고, 그 반대도 마찬가지입니다. 입력 스트림 위의 어떤 단일 통계량도 개념 표류를 결코 잡을 수 없는데, 정의상 개념 표류는 입력 스트림을 동일하게 보이도록 남기기 때문입니다.
바이오공정은 세 가지 모두를 거의 다른 어떤 영역보다도 더 격심하게 겪으며, 그 이유는 이 책이 1장과 2장부터 거듭 두드려 온 것입니다:
- 시스템은 살아 있고 결코 두 번 똑같지 않습니다. 운전마다의 생물학적 변동성은 입력 분포가 진정으로 배치마다 움직인다는 뜻입니다 — 공변량 이동은 예외가 아니라 기준선입니다. 제품의 수명에 걸쳐 세포주 자체가 적응할 수 있습니다 — 생산성, 글리코실화, 또는 성장이 계대 수(passage number)와 함께 이동 — 바로 그것이 등록 문서가 시험관내 세포 연령의 한계(ICH Q5D)를 고정하는 이유입니다. 정적 모델은 그 같은 계대 창에 암묵적으로 묶이며, 그것을 넘어서도 신뢰되는 모델은 입력 공간뿐 아니라 시간상으로도 외삽하는 것입니다 — 어떤 정적 모델도 살아남지 못하는 느린 개념 표류입니다.
- 지상 진실은 성기고 느립니다. 오프라인 참조 분석은 대략 하루에 한두 번 돌아옵니다 — 콜드스타트, 성긴-참조 현실(cold-start, sparse-reference reality)입니다. 따라서 개념 표류는 그 성긴 접지점에서만, 시작된 지 며칠 뒤에야 탐지 가능합니다.
- 하드웨어가 모델 아래에서 움직입니다. 라만 보정은 그 정확한 프로브에 묶여(Raman calibration is bound to its exact probe) 있습니다 — 프로브를 교체하면 발표된 연구는 기기-간 차이만으로 대략 20%의 세포-밀도 예측 오차를 보았고, 그것은 명시적 보정-전이 단계로만 절반으로 줄었습니다. 개발에서 제조로의 규모 이동(scale move from development to manufacturing)은 전면적 공변량 이동입니다.
- 모델은 빠르게 쇠퇴하고 그것들로부터 배울 것이 거의 없습니다. 소량 데이터는 갓 재훈련된 모델 자체가 깨지기 쉽다는 뜻이므로, 재훈련은 공짜 리셋이 아닙니다 — 매번 새로운 검증 부담입니다.
이것이 순수-ML이 바이오 제조에서 멈춰 서고 하이브리드 모델링이 이기는(hybrid modeling wins) 깊은 이유입니다. 물리 골격은 순수 블랙박스보다 훨씬 더 느리게 표류하는데, 질량 균형은 당신이 어느 원자재 로트를 샀는지 신경 쓰지 않기 때문입니다. 그러나 하이브리드 모델의 데이터 주도 부분조차 표류하므로, 모델 부류와 무관하게 표류 탐지는 필수입니다.
두 탐지기: 선행 지표 하나와 후행 지표 하나
조밀한 예측과 성긴 지상 진실 사이의 비대칭이 전체 감시 설계를 좌우합니다. 모델이 틀렸다고 오프라인 분석이 알려 주기를 기다릴 수는 없습니다 — 그때쯤이면 하루치 배치가 잘못 제어된 것입니다. 그래서 진짜 MLOps 루프는 상보적 타이밍을 가진 두 개의 탐지기를 돌립니다.
PSI: 선행, 라벨-없는 입력-표류 탐지기
모집단 안정성 지수(Population Stability Index, PSI) 는 지상 진실이 전혀 필요 없는 질문을 던집니다 — 모델의 입력 분포가 훈련받은 것에서 멀어졌는가? 그것은 참조(훈련) 분포를 십분위(decile, 훈련 분포의 동일-모집단 열 조각)로 빈(bin)을 나눈 뒤, 새 데이터가 그 빈들 사이에서 확률 질량을 얼마나 이동시켰는지 측정합니다. 빈에 걸쳐 합하면:
PSI = sum_over_bins( (a_i - e_i) * ln(a_i / e_i) )
여기서 e_i는 빈 i에 든 기대(expected)(참조) 모집단의 분율이고 a_i는 실제(actual)(새) 모집단의 분율입니다. 두 구현 세부가 그 숫자가 무언가를 뜻하는지를 결정합니다. 첫째, 빈은 참조 분위수(reference quantiles) 에 고정됩니다 — 훈련 분포의 십분위라서, 각 참조 빈이 약 10%의 기대 질량을 담습니다 — 등폭(equal-width) 구간이 아닙니다. 치우친 특징에 등폭 빈을 쓰면 질량 대부분이 한 빈에 쏟아져 PSI가 거의 무정보가 됩니다. 둘째, 어떤 빈이든 비어 있으면 ln(a_i / e_i)가 양 또는 음의 무한대로 가므로, 각 분율은 로그 이전에 작은 엡실론(예제는 1e-6을 씀)으로 하한이 걸립니다.
근본적으로 PSI는 새 히스토그램이 훈련 히스토그램에서 얼마나 멀리 움직였는지를 재는 단일 숫자일 뿐입니다 — 그것은 거의 없던 곳에 질량이 쌓이면 커지고, 두 히스토그램이 정확히 일치할 때만 0입니다. 항 (a_i - e_i)·ln(a_i / e_i)는, 형식적으로, 양방향으로 대칭화한 쿨백–라이블러 발산의 피적분 함수(Kullback–Leibler divergence integrand symmetrized in both directions) 입니다 — PSI는 KL(a‖e) + KL(e‖a), 즉 두 히스토그램 사이의 대칭화된 상대 엔트로피(제프리스 발산, Jeffreys divergence)와 같습니다(PSI를 쓰는 데 그 이름이 필요하지는 않습니다. 그것은 단지 원하는 독자를 위해 그 양을 식별해 줄 뿐입니다). 각 빈의 기여는 음이 아니며 실제 질량 a_i가 기대 질량 e_i에서 어느 방향으로든 떠나면 커집니다. 질량을 얻은 빈과 잃은 빈 모두 총합에 더해집니다. 따라서 PSI는 한 히스토그램이 다른 히스토그램에서 얼마나 멀리 움직였는지를 요약하는 단일 스칼라이며, 무차원이고 무방향입니다(이 항등식은 빈으로 나뉜 히스토그램에 대해 정확하며, 그것이 또한 PSI의 값 — 그리고 그 경험칙 절단값 — 이 빈 나눔에 의존하고 보정된 검정 통계량으로 읽힐 수 없는 이유입니다).
업계의 경험칙은 무디고 견고합니다. PSI가 0.1 미만이면 안정, 0.1에서 0.25이면 지켜볼 만한 보통 이동, 0.25 이상이면 조사를 촉발해야 할 유의한 이동입니다 [1]. 그 절단값은 수십 년의 신용-위험 스코어카드 감시에서 왔습니다. 그들은 가설 검정이 아니라 관행이며 — 거기에 붙은 1종/2종 오류율은 없고 — 운전마다 자연히 넓게 퍼지는 특징에서는 건강한 배치가 아무 문제 없이 0.25를 넘길 수 있습니다. 바로 그것이 아래 예제에서 여러 멀쩡한 형제 배치가 일반적 임계값을 "탈락"하는 이유입니다. 경험칙은 공정 자신의 정상 변동성에 맞춰 재보정되어야 할 출발점이지, 법칙이 아닙니다. PSI의 가치는 그 타이밍입니다 — 입력만 지켜보기에, 새 로트나 오염되는 프로브가 특징 분포를 움직이는 순간 발화합니다 — 오프라인 분석이 어떤 오차든 확인하기 전에. 그것은 불이 보이기 전에 울리는 연기 감지기입니다.
잔차 위의 관리도: 후행, 지상-진실 탐지기
PSI는 구성상 개념 표류에 눈멀어 있습니다 — 위의 P(X,Y) 인수분해를 보세요: 관계가 바뀐 동안 입력은 완벽히 분포 내일 수 있습니다. 그것에는 잔차가 필요합니다. 각 성긴 접지점에서 계산된, 모델의 예측과 오프라인 참조 사이의 차이입니다. 요령은 그 잔차 스트림을 제어되어야 할 공정으로 다루어, Book 3의 SPC 기계장치(SPC machinery from Book 3)를 그대로 적용하는 것입니다. 알려진-양호 참조 배치의 잔차 위에 I-MR(개별값과 이동범위, Individuals and Moving Range) 관리도를 만든 뒤, 데이터에서 유도한 관리 한계 밖으로 떨어지는 어떤 실시간 잔차든 표시합니다. 관리도는 근본적으로, 통계적으로 유도한 상한과 하한이 그어진 어떤 양의 그래프일 뿐입니다 — 한계 안의 점들은 평범한 잡음이고, 밖의 점은 조사할 가치가 있는 신호입니다.
산술은 표준 개별값-이동범위(individuals-and-moving-range) 구성이며, 산포가 단순 표준편차가 아니라 SPC 방식으로 추정되는 것이 중요합니다. 중심선은 깨끗한 참조 운전의 평균 잔차입니다. 산포는 이동범위(moving range) — 각 연속한 잔차 쌍 사이의 절대 차이, MR_i = |r_i − r_{i−1}| — 에서 오며, 그 평균이 단기, 운전 내 잡음을 추정합니다: sigma = mean(MR) / d2, n=2의 이동범위에 대한 관리도 상수 d2 = 1.128로 — d2는 한 점 묶음의 평균 범위를 기저 잡음 시그마의 불편 추정값으로 되돌려 변환하는 표준 표값 인자이며, 1.128은 이동범위가 쓰는, 연속한 두 점의 묶음 크기(n=2)에 대한 그 값입니다. 그러면 관리 한계는 익숙한 3-시그마 띠, center ± 3·sigma입니다. 전체 표준편차가 아니라 이동범위 추정을 쓰는 것은 의도적입니다. 느린 표류는 전체 표준편차를 부풀려(이는 한계를 넓혀 당신이 사냥하는 바로 그 표류를 숨길 것임) 버리지만, 점-대-점 이동범위는 거의 건드리지 않으므로 한계가 좁게 유지되고 표류하는 점들이 그것을 뚫고 나옵니다. 중심에서 벗어나 표류하는 잔차, 또는 한 방향으로 행진하는 잔차의 연속은 모델이 낡아 가는 것입니다 — 표류하는 공정을 잡는 바로 그 웨스턴 일렉트릭(Western Electric) 런 규칙이 표류하는 모델을 잡습니다.
이것은 Book 2 소프트-센서 장(Book 2 soft-sensor chapter)이 명명한 미해결 과제의 직접적 기계화입니다. 잔차는 후행 지표로, 충분한 느린 참조 데이터가 쌓여야만 참입니다. PSI와 잔차 관리도는 함께 읽히도록 설계되었습니다 — PSI는 "입력이 움직였다, 모델을 의심하라"고 말하고, 잔차 관리도는 "이제 답이 입증 가능하게 틀렸다"고 말합니다. PSI가 발화하고 잔차 관리도가 나중에 확인하면, 당신은 조기 경고와 변경-관리 기록이 요구하는 증거를 모두 갖게 됩니다.
캠페인에 접지된 실행 가능한 표류 탐지기
예제 모듈 examples/platform/ml/drift.py는 커밋된 데이터셋 위에서 두 탐지기를 모두 구현하며, 서비스는 없습니다. 온라인 글루코스 공급은 fedbatch_state.parquet의 시뮬레이터 분-주기 상태이고, 오프라인 접지 샘플은 offline_assays.csv의 대략 하루 두 번의 벤치 분석입니다. 잔차 탐지기는 각 성긴 오프라인 분석을 가장 가까운 온라인 측정과 짝지은 뒤 잔차 스트림을 도표화하며 — 관리도가 진짜 무언가를 잡는다는 것을 증명하기 위해, 7일째 이후 온라인 센서에 느린 프로브-오염 편향을 주입합니다(시뮬레이터가 온도 일탈을 심는 바로 그 날).
# examples/platform/ml/drift.py
import numpy as np
import pandas as pd
D2 = 1.128 # I-MR control-chart constant for the moving range of n=2
def ground_residuals(batch_id="BATCH-2026-001", fouling_bias=0.0, fouling_after_day=7.0):
"""Pair each offline assay with the nearest online reading and form the residual.
fouling_bias injects a slow probe-fouling drift (g/L) onto the online sensor
after fouling_after_day so the detector has something to catch."""
online = online_glucose(batch_id)
if fouling_bias:
age_day = (online.ts - online.ts.iloc[0]).dt.total_seconds() / 86400.0
ramp = np.clip((age_day - fouling_after_day) / (14.0 - fouling_after_day), 0, 1)
online = online.assign(glucose_online=online.glucose_online + fouling_bias * ramp)
offline = offline_glucose(batch_id)
paired = pd.merge_asof(offline.sort_values("ts"), online.sort_values("ts"),
on="ts", direction="nearest")
paired["residual"] = paired.glucose_online - paired.glucose_offline
return paired.reset_index(drop=True)
def psi(expected, actual, bins=10): # (abridged from drift.py for the page; epsilon-clip fused inline)
"""Population Stability Index: bins fixed on reference quantiles, sum (a-e)*ln(a/e)."""
e, a = np.asarray(expected, float), np.asarray(actual, float)
edges = np.unique(np.quantile(e, np.linspace(0, 1, bins + 1)))
edges[0], edges[-1] = -np.inf, np.inf
e_pct = np.clip(np.histogram(e, edges)[0] / len(e), 1e-6, None)
a_pct = np.clip(np.histogram(a, edges)[0] / len(a), 1e-6, None)
return float(np.sum((a_pct - e_pct) * np.log(a_pct / e_pct)))
이 코드의 두 설계 선택이 교훈 전부입니다. 잔차는 pd.merge_asof(..., direction="nearest")로 형성됩니다 — 각 성긴 오프라인 분석이 시간상 가장 가까운 온라인 측정에 짝지어지는데, 이것이 하루 한두 번의 벤치 값을 분-주기 센서와 비교하는 유일하게 정직한 방법입니다. 그리고 관리 한계는 clean 참조 운전(오염 없음)에서 설정되지만 fouled 실시간 운전에 적용되어, 관리도는 진짜 상용 질문을 받습니다 — 알려진-양호 배치에서 "정상적 불일치"가 어떻게 생겼는지가 주어졌을 때, 이 운전은 여전히 그 안에 있는가?
python drift.py를 실행하면 실제 데이터셋에 대해 정확히 다음을 출력합니다:
online-vs-offline glucose residual I-MR chart (reference = clean run):
center=-0.0125 g/L UCL=0.409 LCL=-0.4341 sigma=0.1405
live (probe fouling +1.2 g/L after day 7): 10/28 points out of control, max |residual|=1.037 g/L -> drift_detected=True
cross-batch glucose PSI vs golden batch BATCH-2026-001:
BATCH-2026-006 PSI=1.5403 SHIFT
BATCH-2026-004 PSI=0.3439 SHIFT
BATCH-2026-003 PSI=0.3191 SHIFT
BATCH-2026-005 PSI=0.256 SHIFT
BATCH-2026-002 PSI=0.1135 moderate
BATCH-2026-001 PSI=0.0 stable
ASSERT ok: the residual chart catches the injected probe-fouling drift.
두 절반 모두 MLOps 엔지니어처럼 읽으세요. 잔차 관리도는 깨끗한 참조 운전에서 한계를 설정합니다 — 0에 가까운 중심(-0.0125 g/L)에 대략 +0.41과 -0.43 g/L의 관리 한계로, 아무 문제 없을 때 온라인-대-오프라인 불일치의 자연스러운 산포입니다. 그 띠는 약 ±3·0.1405, 즉 이동범위 시그마 세 개만큼 넓으며, 그것이 10분의 1 g/L의 정상 센서 흔들림이 편안히 그 안에 머무는 이유입니다. 같은 배치를 7일째 이후 서서히 들어오는 +1.2 g/L의 프로브 오염 표류로 재생하면 28개 중 10개의 잔차 점이 그 한계 밖으로 떨어지며, 최대 잔차는 1 g/L 초과 — 관리도가 그 오염을 명백히 잡습니다. 구성상 이것은 후행 탐지기입니다. 그것은 성긴 오프라인 접지점에서만, 표류가 시작된 지 며칠 뒤에야 발화하고, 초기 점들(램프가 작동하기 전)은 한계 안에 머무는 동안 후기 점들이 밖으로 행진하는 것에 주목하세요 — 정확히 개념 표류가 만들어 내는 "한 방향으로 행진하는 런" 시그니처입니다.
배치 간 PSI는 선행 탐지기이며, 그 숫자는 한 가지 미묘함에 대해 정직합니다. 황금 배치 BATCH-2026-001에 대해 모든 형제가 어느 정도의 글루코스-분포 이동을 보입니다 — PSI 1.54의 BATCH-2026-006은 극적인 SHIFT, 0.11의 BATCH-2026-002는 보통일 뿐이며, 자기 자신에 대한 황금 배치는 정확히 0.0(히스토그램이 동일하므로 모든 빈이 0을 기여 — 메트릭이 옳게 구현되었다는 유용한 온전성 점검)입니다. 이것은 버그가 아닙니다. 그것은 이 장 앞부분의 살아 있는-시스템 현실을 수치화한 것입니다. 운전마다의 생물학적 변동성은 입력 분포가 진정으로 배치마다 움직인다는 뜻이므로, 순진한 PSI 경보는 끊임없이 발화할 것입니다. 예제가 가르치는 교훈은 정확히 표류 임계값은 일반적 ML 규칙집에서 빌려 오는 것이 아니라 공정 자신의 정상 변동성에 맞춰 조율되어야 한다는 것입니다 — 0.25 경험칙은 출발점이며, 바이오공정 팀은 무언가를 뜻하는 경보를 설정하기 전에 자신의 건강한 캠페인이 어떤 PSI를 내는지 학습해야 합니다. (여기 글루코스 값은 데이터셋의 실제 오프라인 숫자입니다. +1.2 g/L 오염 편향은 탐지기를 작동시키기 위해 주입된 예시적 교란으로, 코드에 명확히 라벨되어 있습니다. 그 양의 오프셋은 일부러 단순화한 대용물입니다 — 실제 프로브 오염은 측정값을 어느 방향으로든 편향시킬 수 있고 흔히 단순히 일정한 오프셋을 더하기보다 응답 기울기를 왜곡합니다 — 바로 그것이 관리도가 알려진 부호를 가정하기보다 잔차의 지속된 한 방향 행진을 지켜보는 이유입니다.)
참이면서 동시에 검증된 상태를 유지해야 하는 모델의 생애주기: 잠긴 모델이 예측을 제공하는 동안 라벨-없는 PSI 모니터와 지상-진실 잔차 관리도가 표류를 지켜본다; 성문 트리거만이 변경-관리 반환 경로를 열고, 그 경로는 재훈련하고, 재검증하며, 사인 게이트를 거쳐 새로운 잠긴 버전을 승격한다 — 이전 버전으로의 롤백은 언제나 가능하고, 결코 제자리에서의 조용한 편집이 아니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
재훈련 생애주기: 잠긴 모델과 PCCP
표류 탐지는 일의 절반입니다. 나머지 절반은 그것에 대해 무엇을 해도 되는가이며, 여기서 제약의 MLOps는 다른 모든 곳의 MLOps와 날카롭게 갈라집니다. 소비자 환경에서는 표류 탐지가 흔히 자동 재훈련을 촉발합니다 — 모델이 신선한 데이터 위에서 스스로를 연속 갱신하고, 아무도 무엇에도 서명하지 않습니다. GMP 아래에서 그 패턴은, 오늘날, 핵심 품질 속성(critical quality attribute, CQA) — 배치가 출하되려면 안전 범위 안에 머물러야 하는 측정 가능한 제품 속성으로, Book 1의 QC 및 출하(QC and release) 장에 정의되고 이 책의 여는 장(opening chapter)에 풀이됨 — 에 닿는 어떤 것에 대해서든 사실상 금지되어 있습니다. 그 이유는 검증 원리입니다 — 의약품에 관한 결정을 내리는 모델이 당신이 자격검증한 바로 그 모델임을 입증할 수 있어야 합니다.
기제에 들어가기 전에, 이 루프 전체가 입력되는 규제 프로그램을 명명하세요. 지속적 공정 검증(Continued Process Verification, CPV)은 정의된 용어입니다 — FDA의 2011년 공정 검증(Process Validation) 지침에 따르면 그것은 공정 검증의 "3단계(Stage 3)"입니다. 공정이 검증된 관리 상태에 머문다는 지속적 확신을 주기 위해, 상용 생산 전반에 걸쳐 제품과 공정 데이터를 수집하고 분석하는 진행 중인 프로그램입니다(ICH Q12가 그 위에 세워진 생애주기 변경 관리를 다스립니다). 배포된 모델의 표류 감시와 거버넌스된 재훈련은 공장에 덧붙인 별도의 ML 의식이 아닙니다. 그들은 이 기존 CPV 프로그램에 직접 입력합니다. 위의 PSI와 잔차 탐지기는 CPV 데이터 출처이며, 모델-재검증은 다른 모든 공정-표류 출처를 추적하는 바로 그 3단계 기록인 CPV에 기록되는 변경-관리 사건입니다. 이렇게 틀 짓는 것이 ML 감시를 감사 가능하게 만드는 것입니다 — 그것은 검사관이 이미 알고 이미 보기를 기대하는 프로그램에 안착합니다.
업계와 규제 당국이 수렴한 해소책은 잠긴 모델(locked model) 입니다. GMP 상용의 모델은 얼어붙어 있습니다 — 그 가중치, 전처리, 스케일러, 운영 범위, 모두 버전이 고정되고 제자리에서 변경 불가능합니다. 그것은 실시간으로 학습하지 않습니다. 표류 탐지가 모델이 낡았다고 말해도, 그것은 무엇도 조용히 갱신하지 않습니다. 그것은 변경-관리(change-control) 과정에 들어가는 플래그를 올립니다 — 검증된 시스템에 대한 다른 어떤 변경과도 똑같이. 재훈련은 새 모델 버전을 생산하며, 그것은 옛것을 대체할 수 있기 전에 재검증되고 공식적으로 승격되어야 합니다. 이것은 Book 2 거버넌스 장(Book 2 governance chapter)이 명명한 바로 그 규율입니다 — 재훈련된 모델은 편집이 아니라 새로운 검증된 객체입니다.
이것을 작동 가능하게 만드는 — 매번 완전한 신규 검증 없이 모델을 의도적으로 변경하게 해 주는 — 기제는 사전결정 변경 관리 계획(Predetermined Change Control Plan, PCCP) 입니다. PCCP는 모델이 미래에 어떻게 변할 수 있는지에 대한 사전 승인된 성문 명세입니다. 구체적으로 그것은 세 가지를 미리 고정합니다. 데이터-관리 계획(모델이 어떤 데이터로 재훈련될지, 그것이 어떻게 큐레이션되고, 라벨되고, 품질-게이트되는지), 수정 프로토콜(어떤 알고리즘, 아키텍처, 초매개변수가 고정된 채 남고, 무엇이 바뀌어도 되며, 정확한 재훈련-및-시험 절차), 그리고 영향 평가 더하기 수용 기준(재훈련된 모델이 충족해야 할 메트릭 임계값과 그러지 못할 경우의 롤백 계획)입니다. 승인된 PCCP가 마련되어 있으면, 계획이 기술하는 봉투(envelope) 안에 머무는 재훈련은 새로운 규제 관여를 요하는 예견치 못한 변경으로 다뤄지는 대신, 계획되고 문서화된 사건으로 실행될 수 있습니다. PCCP는 검증-대-학습 간극을 가로지르는 다리입니다 — 그것은 당신이 사전에 안전함을 입증한 경로를 따라 모델이 진화하게 해 줍니다. 같은 구성물이 대서양 양편에 존재합니다 — Annex 22 초안(EU 규제 당국이 PIC/S — 의약품 실사 상호 협력 기구(Pharmaceutical Inspection Co-operation Scheme), GMP 실사를 조화시키는 국제 기구 — 과 함께 작성)은 잠긴-모델 갱신을 위한 사전결정 변경-관리 접근을 명명하고, 그와 병행하는 미국 도구는 AI 지원 기기 소프트웨어를 위한 FDA의 PCCP입니다.
재훈련 트리거는 판단 호출이 아니라 성문 규칙이어야 하며, 위의 두 탐지기가 그것에 직접 입력합니다. 방어 가능한 트리거는 거짓 경보를 억제하기 위해 그들을 OR가 아니라 AND로 결합합니다. 지속된 PSI 위반(입력이 움직였고 한 이상치가 아니라 여러 배치에 걸쳐 움직인 채 머문 것) 그리고 잔차 관리도 관리이탈 신호(답이 지상 진실에 대해 입증 가능하게 틀림), 더하기 알려진 어떤 하드웨어 변경에 대한 사건 트리거(프로브 교체, 수지 로트 변경, 규모 이동은 표류가 나타나기를 기다리는 것이 아니라 자동 재자격검증 사건)입니다. 따라서 재훈련은 간격 주도가 아니라 트리거 주도입니다 — 일차 트리거는 시계가 아니라 표류 탐지기가 발화하는 것입니다. 달력 백스톱은 실재하지만, 임의의 "N개월마다"가 아니라 이미 존재하는 리듬 — 공장의 주기적 CPV 검토 주기, 실무에서는 연간 제품 품질 검토(Annual Product Quality Review, APQR; 21 CFR 211.180(e), EU GMP 1장)인 연간 제품 검토 — 에 정박됩니다. 결코 눈에 띄게 표류하지 않는 모델도 CPV가 검토될 때 함께 재검토되므로, 그 주기는 누군가 지어낸 숫자가 아니라 품질 시스템이 이미 돌리는 규제 리듬을 탑니다. 재훈련 전에 두 탐지기를 모두 요구하는 것은 예제가 노출한 살아 있는-시스템 PSI 잡음에 대한 의도적 방벽입니다 — 건강한 배치의 단일 PSI 급등은 그 자체로 결코 재검증을 강제해서는 안 됩니다. 트리거가 발화하면 루프가 돌아갑니다. 큐레이션된 새 데이터 위에서 재훈련하고, PCCP의 수용 기준에 대해 검증하며, 옛 모델과 새 모델의 메트릭을 모두 제시하고, 사인 게이트(four-eyes gate) 를 통해서만 승격합니다 — 두 번째 자격 있는 사람이 승격에 서명하는데, 배치 기록이 예외로 검토되어(batch record is reviewed by exception) 출하되는 것과 똑같이. 그리고 옛 버전이 결코 삭제되지 않기에, 롤백(rollback) 은 언제나 한 번의 승격 거리에 있습니다 — 새 모델이 상용에서 미달하면, 조사하는 동안 마지막 알려진-양호 잠긴 버전으로 되돌립니다.
챔피언/챌린저: 새 모델이 더 낫다는 것을 어떻게 입증하는가
"재훈련하고 승격하라" 안에는 미묘함이 숨어 있습니다 — 후보를 의약품에 믿고 맡기기 전에, 그것이 실제로 더 낫다는 것을 어떻게 아는가? 그것을 과거 데이터의 보류된(held-out) 조각 위에서만 검증할 수는 없는데, 당신이 재훈련하는 이유 전체가 세계가 그 데이터를 지나쳐 움직였기 때문입니다. 나머지 MLOps에서 빌려 온 — 그리고 GMP 잠금과 양립하는 — 답은 챔피언/챌린저(champion/challenger) 섀도 배포입니다.
현재 잠긴 모델이 챔피언이고, 갓 재훈련된 후보가 챌린저입니다. 챌린저는 섀도(shadow) 로 돌아갑니다 — 같은 실시간 입력을 받아 예측을 만들지만, 그 예측은 아무것에도 닿지 않습니다 — 컨트롤러도, 배치 결정도, 출하도 없습니다. 공장은 계속 챔피언에 의해 운전됩니다. 챌린저의 예측은 단순히 챔피언의 것과 나란히 기록되고, 성긴 오프라인 참조 데이터가 도착하면서 두 모델의 잔차가 같은 배치 위에서 같은 지상 진실에 대해 채점됩니다. 의미 있을 만큼 충분한 배치 뒤에(그리고 소량-데이터 바이오공정에서 그것은 몇 시간이 아니라 몇 주에서 몇 달을 뜻함), 당신은 동종-대-동종 비교를 갖게 됩니다 — 챔피언의 잔차가 관리이탈로 표류한 곳에서 챌린저의 잔차 관리도는 관리 안에 머물렀는가? 새 캠페인에서 오프라인 분석에 대한 그것의 R²가 더 높은가? 오직 그때서야 챌린저는 자체-보고 메트릭이 아니라 정면-대-정면 증거를 들고 사인 게이트로 갑니다.
섀도 모드는 또한 어떤 모델이든 핵심 환경에 도입하는 GMP-안전한 방법입니다 — 자격검증 기간 동안 자문(advisory)이자 섀도로 돌리고, 그것이 확립된 방법과 일치한다는 증거를 축적하며, 비교가 문서화된 후에만 활성으로 승격합니다. 그것은 이 책의 출하 및 MSPC 모델(release and MSPC models)이 사는 바로 그 논리 — 그들은 자문하고, 검증된 분석이 결정함 — 를 모델 교체로 일반화한 것입니다. 결정적으로, 이 중 어느 것도 연속 학습이 아닙니다. 챌린저 자체가 잠긴 후보로, 오프라인으로 훈련되어 섀도되기 전에 얼려집니다. 학습은 여전히 오직 잠긴 버전들 사이에서만 일어나며, 결코 하나 안에서는 아닙니다.
거버넌스된 재훈련 루프, 실행 가능하게 만들기
챔피언/챌린저와 재훈련-그리고-재검증은, 이전 초안에서는 산문뿐이었습니다 — 기술되었지만 결코 실행되지 않았습니다. 모음은 이제 전체 거버넌스된 루프를 examples/platform/ml/lifecycle_retrain.py에서 실행 가능하게 만듭니다. 아래의 실행 가능한 루프는 섀도 배포의 오프라인 유사물입니다 — 몇 주간의 실시간 섀도 예측을 쌓는 대신, 재훈련이 결코 보지 못한 엄격히 더 나중의 보류된 창 위에 챔피언과 챌린저를 나란히 세웁니다 — 똑같은 동종-대-동종, 같은-지상-진실 비교를, 초 단위로 돌릴 수 있도록 한 캠페인에 압축한 것입니다. 그것은 drift.py가 떠난 바로 그 지점을 이어받습니다 — BATCH-2026-001의 프로브-오염 시나리오를 이어 가고, 같은 I-MR 잔차 관리도를 자신의 표류 트리거로 삼은 뒤, 최근 표류-이후 접지점들 위에서 챌린저 보정을 재훈련하고, 그것을 보류된 나중 창에 대해 수용 게이트에 맞서 재검증하며, 챌린저가 재검증을 통과하고 또한 챔피언을 이길 때만 챔피언을 챌린저로 승격합니다 — 버전 상승(v1.0.0에서 v1.1.0), 전/후 메트릭, 그리고 데이터셋 해시를 찍으면서. python lifecycle_retrain.py를 실행하면 다음을 출력합니다:
governed retrain after drift on BATCH-2026-001 (probe fouling +1.2 g/L after day 7)
drift detector (drift.py I-MR residual chart): 10/28 points out of control, max |residual|=1.037 g/L -> drift_detected=True
retrain window days 7-11 (n=8 groundings) held-out revalidation window days 11-14 (n=6)
champion v1.0.0 (trust probe) : held-out max|residual| = 1.04 g/L -> out of control
challenger v1.1.0 (a=-1.06, b=1.09) : held-out max|residual| = 0.13 g/L -> in control
decision: PROMOTE challenger (clears revalidation AND beats champion); record dataset hash aba381af160e
CPV note: this model-revalidation event is logged into the plant's Stage-3 Continued Process Verification program; retrain happened under change control, not silently.
authority: ADVISORY only -- the loop proposes the versioned candidate + its evidence; a human and the offline panel keep authority (locked-model + PCCP posture).
사인 검토자처럼 그것을 읽으세요. 챌린저는 보류된 나중 창 — 7일에서 11일이 아니라 11일에서 14일, 재훈련이 결코 보지 못한 데이터 — 에 대해 재검증되는데, 이것이 유일하게 정직한 시험입니다. 재훈련하는 이유 전체가 챔피언이 만들어진 데이터를 세계가 지나쳐 움직였기 때문이니까요. 그 보류된 창에서 챌린저의 최대 잔차는 챔피언의 1.04 g/L(관리이탈)에서 0.13 g/L(관리 복귀)로 떨어지므로, 승격은 가정되는 것이 아니라 얻어집니다 — 후보는 수용 게이트를 통과했고 또한 같은 나중 배치 위에서 현직을 이겼습니다. 사인 검토자가 덧붙일 한 가지 단서: 보류된 여섯 개의 접지점은 그 자체로 소량-데이터 바닥에 가까우므로, 진짜 승격은 그것을 믿기 전에 여러 배치에 걸쳐 — 위에서 명명한 몇 주에서 몇 달의 주기로 — 이 정면 대결을 반복할 것입니다. 루프는 결정 로직을 시연합니다. 상용에서의 증거 잣대는 한 번의 깨끗한 창이 아니라 더 많은 배치입니다. 챌린저가 둘 중 어느 시험이든 실패했다면, 루프는 챔피언을 배포된 채로 유지하면서도 여전히 그 사건을 기록합니다 — 실패한 재훈련은 그 자체로 CPV 기록이지, 조용한 무사건이 아닙니다. 그리고 챔피언/챌린저는 이제 진정으로 실행됩니다 — 루프는 자신의 전/후 증거와 데이터셋 해시를 나르는 새로운 검증된 모델 버전을 내놓습니다 — 앞 절의 PCCP-식 "검증 시점에 얼려진" 기록이, 단지 기술되는 것이 아니라 생산됩니다. 루프의 권한은 일부러 제한됩니다 — 그것은 버전 매겨진 후보와 증거를 제안하고, 인간과 오프라인 패널이 결정을 쥡니다 — 정확히 이 장의 나머지가 고집하는 잠긴-모델-더하기-PCCP 자세입니다.
모델-버전 기록 한 건의 해부
GMP 상용의 모델은 디스크 위의 .pkl 파일이 아닙니다 — 그것은 거버넌스된, 버전 관리된 기록이며, 이 시리즈의 모든 산출물처럼 그 가치는 가중치와 함께 따라가는 것 안에 있습니다. 표류 트리거가 발화하고 재훈련이 제안되면, 승격에 서명하는 검토자는 이 기록을 필드 하나하나 읽습니다. 모델-버전 기록을 감사관처럼 해부해 보세요.
완전히 풀어낸 모델 버전 한 건: 그것을 정확한 데이터셋 해시, 스케일러, 초매개변수에 고정하는 빌드 출처; 그 수용 기준, 운영 범위, 자문 범위를 가진 녹색 검증 핵심; 모델의 현재 표류 상태, 성문 재훈련 트리거, 다음 재검증 날짜를 나르는 호박색 실시간-생애주기 블록; 그것이 묶인 PCCP, 사인 승격 서명, 롤백 포인터를 가진 거버넌스 블록; 그리고 그것을 학습한 데이터, 그것이 대체한 버전, 그것을 지켜보는 탐지기에 잇는 계보 — 모델 파일과 검증된 객체 사이의 차이.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
카드를 필드 하나하나 읽으세요. 각 필드는 감사관이 실제로 던질 질문에 답합니다.
빌드 블록 — 출처(provenance). 특징 계약(feature contract): 정확한 명명된 입력, 그 단위, 그 기대 범위로, 서빙-시점 스키마 불일치가 조용히 잘못 예측되는 대신 잡힙니다. sha256으로 고정된 훈련 데이터셋: 데이터셋 매니페스트(dataset manifest)의 암호 해시가 버전을 하나의 불변 데이터셋에 묶어, "어떤 데이터가 이것을 훈련했는가?"가 추측이기를 멈추고 "그 이후 데이터가 변조되었는가?"가 검증 가능해집니다. 보류된 분할과 무작위 시드: 보고된 메트릭을 재현 가능하게 만드는 두 가지 — 시드 없이는 "R² = 0.99"가 재현 불가능한 민담입니다. 적합된 스케일러: 훈련 시점에 학습된 평균과 표준편차(또는 PLS 적재)로, 가중치와 함께 따라가야 합니다 — 모델이 표준화를 기대하는데 원시 값을 먹이면 모든 예측이 아무 오류도 던지지 않고 조용히, 확신에 차게 틀립니다. 얼려진 초매개변수: 잠재변수 개수, 정칙화, 아키텍처 — 고정되어, "잠긴"이 열망이 아니라 글자 그대로가 됩니다.
녹색 핵심 — 검증이 생산한 것. 성문 수용 기준에 대한 R²와 RMSE(사전 진술된 임계값이 없는 메트릭은 검증이 아니라 분위기입니다). 자격검증된 운영 범위 — 모델이 입증된 입력 영역으로, 그 밖에서는 정의상 외삽이고 불신됩니다. 그리고 카드에서 단연 가장 중요한 필드인 의도된-사용 범위: 자문, 인간이 결정함 — 결코 CQA의 자율 제어가 아님. 그 한 줄이 이 모델과 첫 경고장을 끌어낸 미검토 AI 사이의 차이입니다.
호박색 생애주기 블록 — 이 기록을 유독 학습하는 산출물로 만드는 것. 얼려진 소프트웨어 모듈은 그런 블록이 없습니다. 학습하는 산출물은 자신의 현재 건강을 지녀야 합니다. 실시간 표류 상태, 두 필드: 이 버전의 황금 배치에 대한 현재 PSI와 그 잔차-관리도 관리이탈 횟수, 위 두 탐지기의 진행 중인 출력. 규칙으로 성문화된 재훈련 트리거: 변경 관리를 여는 정확한 PSI-그리고-잔차-그리고-달력-그리고-하드웨어 조건 — 모델이 자신의 재자격검증 로직을 지니도록 기록에 인쇄됨. 다음 예정된 재검증 날짜: 달력 백스톱으로, 결코 눈에 띄게 표류하지 않는 모델도 영원히 신뢰되는 대신 일정에 따라 다시 입증되도록.
거버넌스 블록 — 누가 책임지는가. 모델이 묶인 PCCP 참조(이 재훈련이 머문 사전 승인된 봉투). 타임스탬프를 동반한 사인 승격 서명 — 두 번째 자격 있는 검토자, 그 부재가 Purolea 경고장의 요점 전부인 통제. 이전 잠긴 버전(여기서는 v3)으로의 롤백 포인터로, 새 버전이 미달하면 상용이 정확히 무엇으로 되돌아가는지 명명합니다.
보라색 관계 패널 — 그래프로서의 계보. 이 버전은 큐레이션된 데이터셋에 trainedOn, supersedes v3, BATCH-2026-001에 predictsFor, PSI와 잔차 탐지기에 monitoredBy, PCCP에 governedBy, 그리고 rollsBackTo v3입니다. 모델 파일은 가중치를 가집니다. 모델 버전 기록은 이 모든 것을 가집니다 — 그것이 후자만이 의약품에 관한 결정을 내릴 수 있는 이유입니다.
은유가 아니라 진짜 그래프인 기록
그 관계 라벨들은 작도 관행이 아닙니다. 그것들은 Book 4가 실행 가능하게 만드는 바로 그 타이핑된 엣지입니다. 지식 그래프(knowledge graph)(각 사물이 노드이고 두 사물 사이의 각 명명된 타이핑 연결이 엣지인 사실의 그물)는 모델-버전 기록이 레지스트리 테이블에 옆에 놓이는 대신 캠페인 그래프 안에 살게 해 줍니다. RDF(주어-술어-목적어 삼중항 데이터 모델)로, OWL(관계가 규칙을 나르게 해 주는 논리 층)과 함께 쓰면, 패널은 글자 그대로의 삼중항이 됩니다 — bp:GlucoseSoftSensor-v4 bp:trainedOn bp:TrainSet-2026Q2, bp:GlucoseSoftSensor-v4 bp:supersedes bp:GlucoseSoftSensor-v3, bp:GlucoseSoftSensor-v4 bp:predictsFor bp:BATCH-2026-001 — 검사관이 슬라이드에서 읽는 대신 질의할 수 있는. 그러면 모델 버전은 동반 책이 만드는 바로 그 온톨로지 생애주기(ontology lifecycle)에 거버넌스됩니다 — 그 IRI는 버전이 고정되고, 그 supersedes 엣지는 변경 관리 아래의 폐기(deprecation)이며, 접지 온톨로지 자신의 버전은 모델 출처의 일부이지 그 아래의 세부가 아닙니다.
그 그래프의 세 가지 속성은 기록이 인간-산문이 아니라 기계-가독이 되는 순간 진짜 일을 합니다:
- 취약한 열 이름이 아니라 IRI로 끌어온 특징. 위의 특징-계약 행은 특징이 "
glucose_online이라 명명된 열"이면 깨지기 쉽습니다 — 이름 변경이나 재정렬된 내보내기가 조용히 모델을 잘못 먹입니다. 접지되면, 각 특징은 시맨틱하게 식별되고 단위를 나르는 양(semantically identified, unit-bearing quantity)입니다 — 글루코스 입력은 로트의bp:glucoseGperL위의 값으로, UCUM 단위 코드(g/L)와, 측정(물질의 품질)을 그것을 생산한 운전과 구별되게 유지하는 BFO 타이핑을 나릅니다. IRI에 배선된 모델은 열 재배치에 속을 수 없으며, 그 같은 신원이 히스토리언의 맨 부동소수점(historian's bare float) — 단위 없는BR101.Feed.PV = 0.40— 을 시스템 간에 모델이 신뢰할 수 있는 특징이 되게 하는 것입니다. 그 시스템-간 신원이 정확히 데이터 책이 하는 시맨틱 상호운용(semantic-interoperability) 작업입니다 — 특징의 계보는 그것을 ISA-95-식 설비-및-배치 계층(공장 자산과 생산 기록의 표준 모델)에 정박하고, 실시간 신호는 OPC UA(표준 산업-데이터 전송)로 도착하며, 그것이 접지되는 배치 기록은 B2MML 문서(ISA-95 / ISA-88 배치 모델의 XML 직렬화)입니다 — 그래서 특징 계약은 사적인 스프레드시트 관행이 아니라 히스토리언, MES, LIMS가 이미 말하는 바로 그 표준에 고정된 행입니다. - 출하를 게이트하는 바로 그 SHACL 셰이프가 훈련 세트를 게이트한다. 모델은 "완전함"에 대한 본유적 개념이 없습니다 — HMW 결과가 조용히 결코 로드되지 않은 로트를 받으면, 그 구멍을 대치하거나 그 주위로 예측하고 확신에 찬 숫자를 보고합니다. 그래서 적합성이 입장 게이트(admission gate)가 됩니다 — 로트의 CQA 패널이 특징 행으로 바뀌기 전에, Book 4의 출하-게이트
bp:ReleaseShape(release-gate)(SHACL 셰이프: 모든 필수 결과가 존재하고, 단수이며, 타이핑되고, 범위 안에 있어야 한다는 닫힌-세계 규칙)가 그 행이 잘-형성되었음을 인증합니다. 셰이프를 통과하지 못하는 서브그래프는 정확히 모델에 확신에 찬 오류를 가르치는 텅 비거나 잘못-라벨된 훈련 세트입니다 — SHACL이 모델보다 먼저 그것을 잡습니다. 출하 게이트는, 이렇게 읽으면, 출하 예측기가 학습하는 PASS/OOS 라벨에 대한 라벨링 계약입니다. - 계보 엣지가 교차검증 그룹화 키다.
bp:derivedFrom이owl:TransitiveProperty로 선언되었기에, 작업 세포은행 조상을 공유하는 모든 로트는 한 번의 질의로 도달 가능합니다 — 그리고 그 로트들은 독립적인 행이 아닙니다. 순진한 무작위 훈련/시험 분할은 같은 로트의 형제 샘플을 폴드에 걸쳐 누출시켜 점수를 부풀립니다 — 대신 공유된derivedFrom조상에 분할하는 것이 — 그룹화 / 단일-배치-제외 교차검증(grouped / leave-one-batch-out cross-validation) — 모델이 보지 못한 캠페인에서 실제로 얻을 숫자를 보고합니다. 그래프는 그 그룹화를 기계적으로 만듭니다 —derivedFrom엣지가 곧 그룹화 키이며, 평탄한 테이블은 그것을 희망 섞인 관행에 맡깁니다. 리콜을 범위화하는 바로 그 추이적 엣지가 공정한 모델 평가를 범위화합니다.
이것이 또한 모델의 유창함이 아니라 검증된 그래프가 GraphRAG 어시스턴트가 접지되는(ground truth a GraphRAG assistant) 지상 진실인 이유입니다 — 그런 모델에게 "DP-004가 출하되었는가?"라고 물으면, 정직한 답 — 아니오, 그것은 HMW 한계를 건드렸음 — 은 그래프가 유도하고 인증하는(그 추이적 폐쇄와 SHACL 셰이프가 기계-점검된) 반면 모델은 그저 생성하는 것입니다. 추론된 그래프와 모순하는 모델은, 그 모순에서, 둘 중 더 틀렸을 가능성이 높은 쪽입니다. 온톨로지는 검색(retrieval) 경계에 대해 적용 영역(applicability-domain) 점검이 소프트 센서에 하는 것을 합니다 — 적합한 서브그래프를 반환하지 않는 질의는 분포-밖(out-of-distribution) 플래그의 그래프 유사물입니다 — 익숙하지 않은 땅 위의 확신에 찬 추측이 아니라 답하기를 거부하는 것입니다.
검증 역설: 학습하는 무언가를 어떻게 검증하는가?
모순을 평이하게 진술하면 이렇습니다. GMP 검증은 이런 뜻입니다 — 시스템이 마땅히 해야 할 일을 한다고 입증하고, 그것을 잠근 뒤, 어떤 변경 이전에 다시 입증하라. 기계학습은 이런 뜻입니다 — 새 데이터에 응답해 변함으로써 개선하라. 계속 학습하는 모델은, 정의상, 계속 변하는 시스템입니다 — 바로 그것이 재자격검증 없이는 검증이 금하는 것입니다. 움직이는 표적을 일회성 시험으로 검증할 수는 없고, 바이오 제조의 품질 구조물 전체는 일회성 검증 더하기 변경 관리 위에 세워져 있습니다.
정직한 현재 해소책은 "연속-학습 모델을 검증하라"가 아닙니다 — 그것은 미해결로 남아 있고, 핵심 결정에 대해서는 원하지 않습니다. 해소책은 학습을 이산적인, 거버넌스된 단계들로 쪼개는 것입니다 — 모델을 잠그고, 그것을 변경 없이 돌리고, 표류했을 때를 탐지하고, 오프라인으로 새 후보로 재훈련하고, 후보를 검증하며, 변경 관리를 통해 그것을 승격합니다. 학습은 잠긴 버전들 사이에서 일어나며, 결코 하나 안에서는 아닙니다 — 이것이 이 책이 잠그고-나서-재학습이라 부르는 패턴입니다. PCCP는 그 주기를 빙하 같지 않고 효율적으로 만드는 것입니다 — 그것은 변경의 형태를 사전 승인하여 각 재훈련이 새로운 규제 협상이 아니라 계획된 사건이 되게 합니다. 연속-학습 이상은 규제 당국이 진보를 두려워해서 금지된 것이 아닙니다. 그것은 1분 전에 스스로를 다시 쓴 모델이 어떤 순간에든 여전히 안전하다고 입증하는 방법을 아직 아무도 보여 주지 못했기에 제쳐 둔 것입니다 — 그리고 "그것을 입증하라"가 GMP의 타협 불가한 핵심입니다.
규제 당국은 이 선을 점점 날카롭게 그어 왔으며, 증거 등급이 중요합니다:
- FDA의 2023년 논의 문서 제약 제조에서의 인공지능(Artificial Intelligence in Drug Manufacturing)(공개 규제 문서이지만, 명시적으로 구속력 있는 규칙이 아니라 논의 문서)은 정확히 이런 질문들을 제기합니다 — 훈련 데이터 관리, 모델의 검증과 재검증, 핵심 결정에 닿는 모델이 더한 잣대를 받도록 위험 기반 정밀검토를 적용하기 — 정착된 답을 처방하지 않으면서 [2]. FDA의 더 넓은 7단계 모델-신뢰성 프레임워크(그 전산-모델-신뢰성 지침에서, ASME V&V 40에 정렬됨)는 위험-비례적 구조를 줍니다 — 관심 질문을 정의하고, 사용 맥락을 결정하고, 모델 위험을 평가하고, 신뢰성 계획을 개발하고, 그것을 실행하고, 문서화하고, 그 사용 맥락에 대한 충분성을 평가합니다 — 그래서 모델이 틀렸을 때의 결과가 클수록, 그것이 지녀야 할 신뢰성 증거가 더 많습니다 [3]. 그 프레임워크가, 공급을 자문하는 라만 소프트 센서와 바이알을 자동 출하하는 모델이 둘 다 "ML"임에도 천양지차의 증거 잣대를 받는 이유입니다.
- Annex 22 초안(규제 문서, 협의 중)은 무엇보다 가장 단단한 선을 긋습니다 — 핵심 GMP 응용에 쓰이는 AI 모델이 정적(잠긴) — 사용 중 매개변수가 고정됨 — 이어야 한다고 요구하고, 자기학습, 생성형, 적응형 AI를 그런 용도에서 명시적으로 배제하며, 어떤 모델 갱신에 대해서든 사전결정 변경-관리 접근을 요구합니다 [4]. 다시 말해 초안은 잠그고-나서-재학습을 핵심 응용을 위한 유일하게 수용 가능한 패턴으로 성문화합니다 — 연속-학습 모델은, 당분간, 품질에 닿는 곳에서는 규제상 논외입니다. 거울상의 결과도 진술할 가치가 있습니다 — 핵심이 아닌 모델(자문, 인간-개입, CQA에서 먼)은 훨씬 가벼운 잣대를 받으며, 그것이 정확히 배포된 현실이 거기 모이는 이유입니다.
- ISPE GAMP의 AI 지침은 확립된 전산화-시스템-검증 사고를 모델 쪽으로 확장합니다 — 위험 기반, 생애주기, 지속적 증거 — "소프트웨어를 검증하라"를 "모델을 검증하고 그것을 영원히 감시하라"로 번역하며 [5]. "영원히"가 핵심어입니다 — GAMP는 지속적 감시를 좋은 일이 아니라 검증 요건으로 만들며, 그것이 이 장의 표류 탐지기를 좋은 공학에서 규제 준수 증거로 바꾸는 것입니다.
이것을 그르치는 결과는 더 이상 가설이 아닙니다. Purolea cGMP 경고장(2026년 4월) 은 AI를 인용한 첫 FDA 경고장입니다 — 한 회사가 AI 에이전트를 써서 명세, SOP, 마스터 생산 기록을 품질-부서 검토 없이 생성했는데 — 정확히 이 장이 고집하는 빠진 사인 게이트입니다 [6]. 실패는 AI가 쓰였다는 것이 아니었습니다. 그것은 미검증, 미검토 모델이 GMP 기록을 자율적으로 생산하도록 허용되었다는 것이며, 품질-부서-책임 규정 아래 인용되었습니다. 여기 생애주기 규율 — 잠긴 모델, 성문 트리거, 인간 승격 게이트, 롤백 — 은 정확히 그 부재가 그 경고장을 끌어낸 통제 집합입니다.
미해결 부분: 참조가 도착하기 전에 개념 표류 탐지하기
이 장이 풀지 못하는 어려운 잔차 문제에 대해 정직하세요. 우리의 유일한 진짜 지상-진실 탐지기인 잔차 관리도는 구성상 후행입니다. 개념 표류가 시작되는 순간과 그것을 입증할 만큼 충분한 성긴 오프라인 분석이 쌓이는 순간 사이에, 오도하기 시작한 모델은 잘 작동하는 모델과 동일하게 보입니다. 이 장 시작의 인수분해가 이 간극이 구현 약점이 아니라 구조적인 이유입니다 — 개념 표류는 P(X)를 건드리지 않은 채 P(Y|X)를 움직이므로, P(X)의 움직임만 측정하는 PSI는 침묵을 지킬 것이 수학적으로 보장됩니다. PSI는 다른 간극(라벨 없는 입력 표류)은 부분적으로 다루지만, 정의상 그 위험한 경우에는 눈멀어 있습니다.
진정으로 위험한 시나리오 — 같은 스펙트럼이 이제 다른 역가를 함의하도록 세포주가 미묘하게 적응한 것 — 는 느린 분석이 마침내 어긋날 때까지 어떤 PSI 경보도 어떤 잔차 경보도 만들어 내지 않습니다. 오늘날, 지상 진실 없이 실시간으로 개념 표류를 탐지하는 신뢰할 만한 방법은 없으며, 바이오공정의 지상 진실은 일부러 성기고 느립니다. 더 나쁘게는, 그 성김이 잔차 관리도가 얼마나 빨리 반응할 수 있는지를 상한 짓습니다 — 하루에 한두 개의 오프라인 분석에서는 한계를 설정하는 이동범위 추정이 한 줌의 점에서 만들어지므로, 관리도는 신호가 단일한 잡음 섞인 벤치 결과가 아니라 통계적으로 설득력 있어지기 전에 여러 연속한 관리이탈 분석 — 며칠 — 을 필요로 합니다. 그것은 벤치 분석을 더 값싸거나 더 빠르게 만들지 않고는 조일 수 없으며, 그것은 알고리즘 문제가 아니라 습식-실험실 문제입니다.
부분적 완화책은 정확히 이 책이 거듭 돌아오는 것들이며, 그중 어느 것도 완전한 답이 아니라는 점이 중요합니다 — 그들은 눈먼 창(window)을 줄이지, 그것을 닫지는 못합니다:
- 하이브리드 모델은 더 느리게 표류하고 물리적으로 그럴듯하지 않은 출력(음의 농도, 닫히지 않는 질량 균형)을 표시하여, 물리 골격이 데이터를 따라 무의미로 들어가기를 거부하기에 조용한 표류가 숨을 수 있는 창을 좁힙니다.
- 불확실성-인지 모델 — 입력이 훈련 데이터에서 멀 때 넓어지는 예측 구간 — 은 외삽을 확신에 찬 틀린 숫자가 아니라 눈에 보이는 경고로 바꿉니다. "여기서는 확신이 없다"고 말하는 모델은 분석이 도착하기 전에도 인간이 잡을 수 있는 것입니다. 이것은 이 분야가 가진 가장 라벨-없는 개념-표류 힌트에 가깝지만, 그것은 입력이-훈련에서-먼 경우만 탐지하지, 익숙한 입력에서의 관계 변화는 탐지하지 못합니다.
- 전이 학습과 베이지안 사전(Bayesian priors) 은 모델이 한 줌의 새 참조점 위에서 더 빠르게 재정박(re-anchor)하게 해 주어, 느린 데이터가 일단 도착하면 탐지-시간과 재훈련-시간을 단축합니다.
- 다변량 모델 진단(Hotelling의 T-제곱과 Q-잔차 / SPE) — PLS 또는 PCA 소프트 센서는 데이터를 자신이 학습한 패턴의 저차원 "평면(plane)"에 적합시킵니다. 제곱 예측 오차(SPE, Q-잔차라고도 함)는 단지 새 스펙트럼이 그 평면에서 얼마나 벗어나 있는지를 재므로, 큰 SPE는 모델이 만들어진 그 무엇과도 닮지 않은 입력을 표시합니다 — 모델이 외삽을 요구받고 있다는 라벨-없는 경보입니다. 그런 소프트 센서의 경우, 모델 평면을 벗어난 SPE는 스펙트럼이 보정이 결코 보지 못한 구조를 나르는 순간 상승하여, 새로운 입력을 실시간으로 라벨 없이 표시합니다. 그것은 PSI의 다변량 일반화이며 — 특징별 PSI가 눈먼 상관 깨짐에 민감 — 이미 SIMCA-online과 ProMV가 지켜보는 것입니다. 불확실성 띠처럼, 그것은 익숙한 입력에서의 관계 변화가 아니라 입력이-모델에서-먼 경우를 잡습니다.
- 대리 또는 프록시 라벨(surrogate or proxy labels) — 느린 금본위 분석과 상관되는, 더 빠르고 더 값싸며 더 잡음이 많은 온라인 측정 — 은 도표화할 더 잦은(덜 신뢰할지언정) 잔차 스트림을 줄 수 있어, 더 많은 거짓 경보를 대가로 더 이른 의심을 사들입니다 — 예를 들어, 온라인 정전용량(투과성, permittivity) 프로브는 하루에 한두 번의 오프라인 생존-세포-밀도 계수에 대한 분-주기의, 더 잡음 많은 프록시를 주어(배기가스 OUR/CER — 배기가스에서 측정되는 산소-소비율과 CO2-발생율 — 이 그런 대사 프록시의 둘째), 잔차 관리도가 느린 금본위 접지 사이에 더 자주 돌게 합니다. 이것은 배포된 해법이 아니라 능동적 연구 방향입니다.
그러나 구조적 진실은 그대로입니다 — 오프라인 참조 데이터가 더 값싸거나 더 빨라지기 전까지, 배포된 바이오공정 모델은 일정에 따라 불신되어야 합니다 — 감시되고, 주기적으로 화해되며, 변경 관리 아래 재훈련되고, 느린 데이터가 그렇지 않음을 입증할 때까지 틀렸다는 상시 가정과 함께. 검증 역설은 해소되는 것이 아니라 관리됩니다.
이 장이 모델 모음에 더하는 것
이 장은 Book 5 예제 모음에 두 모듈을 기여합니다. examples/platform/ml/drift.py 는 탐지 절반입니다 — fedbatch_state.parquet와 offline_assays.csv를 소비하고, 두 상보적 탐지기 — I-MR 잔차 관리도와 황금 BATCH-2026-001에 맞선 배치 간 PSI — 를 돌리며, 그 대표 결과는 관리도가 주입된 프로브-오염 편향을 잡는 것입니다(28개 중 10개 점이 관리이탈). examples/platform/ml/lifecycle_retrain.py 는 거버넌스 절반입니다 — 그것은 drift.py의 트리거가 떠난 지점을 이어받아 같은 데이터셋 위에서 전체 거버넌스된 재훈련 루프를 돌립니다 — 보류된 재검증을 동반한 챔피언/챌린저 승격, 보류된 증거에 따른 v1.0.0-에서-v1.1.0 승격, 데이터셋 해시, 그리고 CPV/PCCP 로그 항목 — 그래서 이 장이 기술하는 생애주기가 단지 서술되는 것이 아니라 처음부터 끝까지 실행됩니다. 탐지 절반은 행동할지 여부를 말하고, 거버넌스 절반은 어떻게를 말합니다. 둘 다 자신이 지켜보는 소프트-센서 모듈(soft-sensor module)과 MSPC 모듈(MSPC module)과 협력하고 일부러 중복하지 않습니다. 그들은 예측을 만들고, 이것들은 예측이 여전히 믿을 만한지를 지켜봅니다. 글루코스 값은 실제 커밋된 데이터셋 숫자이고, 오염 편향은 명확히 라벨된 주입 교란입니다.
왜 중요한가
이전 스물한 개 장의 모든 모델은 그것이 낡는 날 아무도 알아채지 못하면 무가치합니다. 높게 표류한 소프트 센서는 조용히 배양물을 잘못 공급하고, 작년 세포주에서 보정된 MSPC 모니터는 표시해야 할 배치를 통과시키며, 조명이 바뀐 비전 시스템은 결함을 통과시키기 시작합니다. 표류는 바이오공정에서 예외 사례가 아닙니다 — 그것은 움직이는 하드웨어 위에서 살아 있는, 변하는 공정을 지켜보는 정적 모델의 기본 궤적입니다. 이 장의 MLOps 규율은 모델을 일회성 성취에서 지속 가능한 계측으로 바꾸는 것입니다 — 손상 이전과 이후에 발화하는 탐지, 언제 다시 만들지에 관한 성문 규칙, 규제 당국을 만족시키는 잠그고-나서-재학습 생애주기, 그리고 나쁜 재훈련이 나쁜 배치가 될 수 없음을 뜻하는 롤백. 그리고 그것은 학습하는 모델을 합법적으로 유지하는 것입니다 — 방어 가능하고, 검증되고, 감시되는 모델과 업계의 첫 AI 경고장을 끌어낸 미검토-AI 실패 사이의 차이가 정확히 여기 그려진 생애주기입니다.
실제 현장에서는
상용 현실은 냉정하며 미화 없이 진술할 가치가 있습니다. ISPE Pharma 4.0 설문은 AI/ML이 바이오 제조의 어떤 디지털 기술보다도 가장 많은 파일럿과 가장 적은 규모화 구현을 가지며, 상용 배포가 감시, 예측 정비, 비전 검사, 인간-개입 문서화에 모이지 — CQA의 자율 제어가 아님 — 을 찾아냅니다 [7]. MLOps 간극이 그 이유의 큰 부분입니다 — 모델을 만드는 것은 쉽지만, GMP 아래에서 수년간 그것을 운영하는 것 — 표류 감시, 거버넌스된 재훈련, 결코 만료되지 않는 검증 증거 — 은 어렵고, 비싸며, pip install할 수 있는 것이 아닙니다.
오늘날 진정으로 (상용)인 것은 이 장이 기대는 감시 층입니다. PCA/PLS를 동반한 다변량 통계적 공정 감시 — Sartorius SIMCA-online과 AspenTech ProMV — 는 지속적 공정 검증과 황금-배치 감시를 위해 배포되어 (상용) 있고, 표류하는 모델은 정확히 그 도구들에서 자신의 봉투를 벗어난 공정으로 나타납니다(특정 설치에 관해서는 벤더 자체보고이지만, 방법 자체는 오래 확립되었고 독립적으로 발표됨). MLflow와 유사 레지스트리는 위 모델-버전 기록이 의존하는 버전 관리, 데이터셋-해시 묶기, 운전-대-모델 계보의 기술적 척추를 줍니다 — 그러나 오픈소스 분석 장(open-source analytics chapter)이 신중히 말하듯, MLflow는 추적하지, 검증하지 않습니다. 누가 버전을 승격했는지에 대한 감사 추적, 검증 보고서 위의 전자 서명, 재훈련을 다스리는 변경-관리 절차, 그리고 문서화된 의도된 사용은 도구가 아니라 검증된 시스템과 절차의 속성입니다. 레지스트리는 모델-버전 기록의 필드를 저장할 수 있지만, 사인 서명이나 PCCP를 공급할 수는 없습니다 — 그것들은 인간적이고 절차적이며, 그것이 대부분의 프로그램을 멈춰 세우는 간극입니다.
정직한 요약: 표류 탐지와 잔차 감시는 실재하고, 수학적으로 단순하며, 배포할 준비가 되어 있습니다 — 여기 drift.py 탐지기는 수십 줄의 NumPy입니다. PCCP와 잠긴-모델 생애주기는 규제상 축복받은 경로로, EU Annex 22 초안에 성문화되고 FDA 논의 문서가 예견했지만, 그것은 소프트웨어 못지않게 서류와 절차이며, 대부분 조직의 ML 야망이 걸음 속도로 느려지는 곳입니다. CQA에 닿는 연속-학습 모델은 오늘날 GMP에 배포되어 있지 않으며, 현재 초안 규제 아래에서는 그래도 되도록 허용되지 않습니다. 최전선은 자기-개선하는 컨트롤러가 아닙니다. 그것은 승격 게이트에 인간이 있는, 잠긴, 감시되는, 주기적으로-재학습되는 모델입니다.
핵심 용어
- MLOps — 상용에서 모델을 배포, 감시, 재훈련, 거버넌스하는 운영 규율; GMP 아래에서는 연속 배포가 아니라 검증 생애주기가 지배함.
- 모델 표류(model drift) — 모델이 얼린 관계와 세계가 이제 따르는 관계 사이의 점진적 갈라짐; 살아 있는 공정을 지켜보는 정적 모델의 기본 궤적.
- 핵심 품질 속성(critical quality attribute, CQA) — 배치가 출하되려면 안전 범위 안에 머물러야 하는 측정 가능한 제품 속성(예: 숙주-세포 단백질, SEC 단량체); 모델이 CQA에 닿는지가 그것이 얼마나 빡빡하게 거버넌스되어야 하는지를 결정함.
- 공변량 이동(입력 표류)(covariate shift (input drift)) — 물리가 바뀌지 않은 채 입력 분포
P(X)가 움직임; 라벨 없이 탐지 가능(예: PSI로). - 개념 표류(concept drift) — 관계
P(Y|X)자체가 바뀌어 같은 입력이 다른 답을 함의함; 오직 지상 진실로만 탐지 가능하여 언제나 후행 발견. - 모집단 안정성 지수(Population Stability Index, PSI) — 라벨-없는 입력-표류 메트릭, 참조와 새 입력 히스토그램 사이의 대칭화된 상대-엔트로피(제프리스) 거리로, 참조 분위수에 빈을 나눔; 경험칙은 0.1 미만 안정, 0.1에서 0.25 보통, 0.25 이상 유의 — 가설 검정이 아니라 관행.
- 잔차 관리도(residual control chart) — 예측-빼기-참조 잔차 스트림에 적용된 I-MR 관리도로, 깨끗한 참조 운전의 이동범위 시그마에서 한계를 설정; SPC가 공정 표류를 표시하는 것과 같은 방식으로 모델 표류를 표시; 후행, 지상-진실 탐지기.
- 잠긴 모델(locked model) — 상용에서 얼려진 모델(가중치, 전처리, 스케일러, 운영 범위), 버전이 고정되고 제자리에서 결코 편집되지 않음; EU Annex 22 초안이 핵심 응용에 허용하는 유일한 패턴.
- 지속적 공정 검증(Continued Process Verification, CPV) — FDA의 2011년 공정 검증 지침에서 공정 검증의 "3단계(Stage 3)"; 공정이 검증된 관리 상태에 머문다는 지속적 확신을 주기 위해 상용 생산 전반에 걸쳐 제품과 공정 데이터를 수집하고 분석하는 진행 중인 프로그램; 배포된 모델의 표류 감시와 거버넌스된 재훈련은 이 기존 프로그램에 입력되며, 모델-재검증은 별도의 ML 의식이 아니라 CPV에 기록되는 변경-관리 사건임.
- 사전결정 변경 관리 계획(Predetermined Change Control Plan, PCCP) — 모델이 어떻게 재훈련되고 갱신될 수 있는지에 대한 사전 승인된 성문 명세(데이터-관리 계획, 수정 프로토콜, 수용 기준, 롤백)로, 봉투 안의 재훈련이 새로운 규제 협상이 아니라 계획된 사건이 되게 함.
- 재훈련 트리거(retraining trigger) — 변경-관리 반환 경로를 여는 성문 규칙(지속된 PSI 위반 AND 잔차 관리이탈 신호, 더하기 달력 백스톱, 더하기 하드웨어-변경 사건의 결합).
- 챔피언/챌린저(champion/challenger) — 재훈련된 후보를 배포된 모델과 나란히 실시간 입력 위 섀도로 돌려, 둘이 승격 전에 같은 지상 진실에 대해 정면-대-정면 채점되게 함; 후보는 이길 때까지 아무것에도 닿지 않음.
- 사인 승격 게이트(four-eyes promotion gate) — 두 번째 자격 있는 사람이 새 모델 버전의 승격을 검토하고 서명해야 한다는 요건, 그 부재가 첫 AI cGMP 경고장을 끌어낸 빠진 통제.
- 롤백(rollback) — 재훈련이 상용에서 미달할 때 마지막 알려진-양호 잠긴 모델 버전으로 되돌리기; 옛 버전이 결코 삭제되지 않기에 언제나 가능.
- 그래프로서의 모델-버전 기록(model-version record as a graph) — 버전의 계보를 캠페인 지식 그래프 안의 타이핑된 RDF/OWL 엣지(
bp:trainedOn,bp:supersedes,bp:predictsFor,bp:monitoredBy,bp:governedBy,bp:rollsBackTo)로 표현하여, 기록이 슬라이드에서 읽히는 대신 질의 가능하고 바로 그 온톨로지 생애주기에 거버넌스되게 함. - IRI로 본 특징(feature by IRI) — 모델 입력을 취약한 열 이름이 아니라 시맨틱하게 식별되고 단위를 나르는 양(그 온톨로지 IRI, UCUM 단위와 BFO 타이핑과 함께)에 배선하고, 공장 시스템이 이미 말하는 ISA-95 / OPC UA / B2MML 표준에 정박하여, 이름 변경이나 재내보내기가 조용히 모델을 잘못 먹일 수 없게 함.
- 입장 게이트로서의 적합성(conformance as admission gate) — 로트의 패널이 훈련 행이 되기 전에 SHACL 출하 셰이프(
bp:ReleaseShape)를 돌려, 텅 비거나 잘못-라벨된 서브그래프가 모델이 확신에 찬 오류를 학습하기 전에 거부되게 함; 그 닫힌-세계 규칙이 PASS/OOS 예측기의 라벨링 계약. - 그룹화 / 단일-배치-제외 교차검증(grouped / leave-one-batch-out cross-validation) — 모델 평가를 무작위가 아니라 추이적
bp:derivedFrom계보(공유된 작업-세포은행 키)에 분할하여, 한 로트의 형제 샘플이 폴드에 걸쳐 결코 누출되지 않고 보고된 점수가 정직하게 함; 그래프의 계보 엣지가 그룹화 키를 공급. - 검증-대-학습 역설(validation-versus-learning paradox) — 잠기고 입증된 시스템에 대한 GMP의 요구와 학습하며 변하는 ML의 본성 사이의 구조적 긴장; 오늘날 연속-학습 모델을 검증함이 아니라 잠그고-나서-재학습으로 관리됨.
다음 이야기
참이자 검증된 상태를 유지하는 모델은 진짜 공장을 돌리는 한 부분입니다. 나머지 시스템은 자신만의 학습할 거리가 있습니다. 다음 장 제조 운영: 예측 정비, 수율, 그리고 스케줄링(Manufacturing Operations: Predictive Maintenance, Yield, and Scheduling)은 분자에서 그것을 둘러싼 공장으로 물러섭니다 — 펌프가 고장 나기 전에 언제 고장 날지 학습하고, 캠페인에 걸쳐 수율을 예보하며, 다제품 공장을 스케줄링하기 — 조명을 켜 두고 스위트를 채워 두는 운영 ML로, 이 장이 방금 만든 같은 생애주기 규율에 다스려집니다.