수확과 청징: 종점 예측하기
📍 현재 위치: 3부 · 학습된 상류(Upstream, Learned) — 12장. 생산 바이오리액터(production bioreactor)가 두 주 동안 돌아 항체를 만들었습니다. 이제 배양액은 우리가 제거해야 할 세포로 가득 차 있습니다. 이 장은 운전을 멈출 순간과, 그것이 어떻게 끝났는가의 귀결을 학습합니다.
앞 장은 탱크의 내부를 모델링했습니다. 라만에서 역가와 생존 세포 밀도를 읽는 소프트 센서, 폐루프 글루코스 제어, 궤적을 예보하는 디지털 트윈. 그 모든 것이 모델들이 거의 건드리지 않은 한 결정을 가리켰습니다 — 이 배치는 언제 끝나는가? 수확은 상류와 하류 사이의 경첩이며, 공정 전체에서 가장 과소평가된 기계학습 표적 중 하나입니다. 하루 너무 오래 붙든 배치는 항체를 계속 만들지만 또한 계속 죽어가며, 세포내 잡동사니 — 숙주세포 단백질(HCP — 세포 자신의 단백질로, 규제기관이 상한을 두는 오염물), DNA, 라이페이스(lipase — 지방을 쪼개는 효소로 약물을 공격할 수 있음) — 를 쏟아내고, 그러면 하류 전체가 그것을 다시 긁어내야 합니다. 하루 일찍 수확하면 역가를 식탁에 남겨 두는 셈입니다. 종점은 달력이 아니라 최적화입니다.
그다음 청징이 옵니다. 항체를 품은 액체를 세포와 잔해로부터 분리하는 것으로, 보통 원심분리기 다음 일련의 심층 필터를 거쳐, 다음 단계(단백질 A 포획 — 항체를 붙잡고 불순물은 흘려보내는 첫 정제 컬럼)가 슬러리(slurry)가 아니라 깨끗한 액체를 보게 합니다. 청징이 얼마나 잘 되는가 — 얼마나 큰 필터가 필요한지, 운전 도중에 막히는지 — 는 거의 전적으로 상류에서, 수확 결정이 만들어낸 세포 밀도와 생존율로 결정됩니다. 이 장은 결합된 세 가지를 학습합니다. 수확 종점, 당신이 막 청징하려는 것의 탁도, 그리고 그것을 청징하기 위해 필요할 필터입니다. 그것들은 세 각도에서 본 같은 문제이며, 진행 예제의 청징 풀(pool) CLAR-001이 그것들이 집합적으로 만들어내는 것입니다.
육수 한 솥을 거르는 것을 떠올려 보세요. 너무 오래 끓이면 뼈가 분해되기 시작해 육수가 탁해집니다 — 거르기가 느려지고 거름망이 막힙니다. 너무 일찍 멈추면 풍미를 잃습니다. 좋은 요리사는 솥을 내릴 순간을 배우고, 배치가 얼마나 탁해 보이는지에 맞춰 거름망 크기를 정하는 법을 배웁니다. 수확 모델이 바로 그 학습된 직감입니다. 값싼 신호들 — 세포 개수, 아직 몇 개의 세포가 살아 있는지, 스펙트럼 — 을 지켜보며 멈출 올바른 순간과 거르기가 얼마나 힘들지를 둘 다 예측하여, 솥이 불에서 내려오기 전에 주방이 알맞은 크기의 거름망을 준비해 두도록 합니다.
이 장에서 다루는 내용
- 수확 결정을 학습 문제로 틀 짓기 — 표적이 진정으로 무엇인지("14일째"가 아닙니다), 그리고 종점에서의 상류 신호가 왜 특징(feature)인지.
- 탁도 소프트 센싱 — VCD, 생존율, 스펙트럼으로부터 수확-공급물의 탁함(NTU)을 예측하는 것, "이것을 청징하기가 얼마나 힘들까"의 대리물.
- 필터 사이징과 Vmax 예측 — 소규모 Vmax/처리량 시험을 전체 배치의 심층 필터 면적을 정하는 모델로 바꾸는 것, 그리고 막힘 위험 예측.
- 상류→청징 연결 — 청징 성능과 하류 HCP 부담을 수확이 만들어낸 VCD와 생존율에 회귀시키는 것; CLAR-001 노드.
- 실행 가능한 모델 모듈
examples/platform/ml/harvest_endpoint.py, 그리고 한 수확-결정 기록의 해부. - 정직한 미해결 문제: 종점 라벨은 검열되어(censored) 있고 청징 피드백은 느립니다.
수확 결정은 날짜가 아니라 최적화입니다
순진한 공장은 고정된 날에 수확합니다 — "우리는 늘 14일째에 내린다." 학습하는 공장은 종점을 양과 그것의 품질 비용을 맞교환하는 목적함수의 argmax로 다룹니다. 구체적으로, 운전의 t일이 생존 세포 밀도 VCD(t)(배양액 mL당 살아 있는 세포가 몇 개인지), 생존율 via(t)(그 세포들 중 아직 살아 있는 비율, 퍼센트로), 역가 titer(t)(배양액 속 항체 제품의 농도, g/L로)를 갖는다고 합시다. 더 늦게 수확하면 titer(t)가 오르지만(세포가 계속 분비) via(t)는 내려가며, 떨어지는 생존율은 청징과 포획이 제거해야 할 잔해와 HCP의 단연 최고의 선행 지표입니다. 수확 목적함수는, 느슨하게:
J(t) = recoverable_titer(t) − λ · downstream_burden(t)
여기서 downstream_burden(t)은 생존율이 떨어지고 용해된 세포 함량이 오르면서 상승하며, λ는 그 부담을 제거하는 것이 얼마나 비싼지를 부호화합니다. 종점은 강한 제약 아래에서 t* = argmax_t J(t)입니다 — 생존율 하한선(많은 유가식 플랫폼 — 운전 내내 농축 영양 흐름을 공급받는, 연속적으로 보충받기보다 그렇게 운영되는 배양 — 이 대략 70% 생존율 아래에서는 수확하지 않지만, 정확한 하한선은 제품별·플랫폼별이며 고정된 생물학적 한계라기보다 사실은 하류-불순물-부담의 선택입니다 — 관류(perfusion)나 강화된 공정은 다른 목표값을 둘 수 있습니다), 청징 라인이 감당할 수 있는 탁도 상한선, 그리고 GMP 작업장(규제되는, 통제된 제조 공간 — GMP = 우수 제조 관리 기준)의 생물부하(bioburden — 멸균 공정이 억제해야 하는 미생물-오염 부하)와 일정 현실. 기계학습이 들어오는 까닭은 J(t)의 거의 모든 항이 우리가 느리게 또는 부분적으로만 측정할 수 있는 양이기 때문입니다. titer(t)는 실험실에서 몇 시간 뒤처지고, via(t)는 하루 두 번의 오프라인 계수에서 나오며, downstream_burden(t)은 수확 시점에 전혀 측정되지 않습니다 — 그것은 며칠 뒤 포획 풀의 HCP 결과에서야 스스로를 드러냅니다. 그래서 수확 모델은 사실 제약된 결정에 입력되는 소프트 센서들의 스택입니다.
이것이 어떤 종류의 최적화인지 명시할 가치가 있는데, 그 구조가 뒤따르는 모든 모델링 선택을 빚기 때문입니다. J(t)는 당신이 실제로 가진 이산 샘플 시점들 — 연속체가 아니라 하루 두 번의 오프라인 계수 — 에서만 평가되므로, argmax는 미적분 문제가 아니라 열두어 개의 후보 종점에 대한 탐색입니다. 각 후보는 측정된 것이 아니라 예측된 부담을 나르므로, 목적함수는 모델 출력의 함수이고, 최적점 근처에서 그 곡률은 얕습니다. 샘플 26에서 수확하느냐 샘플 28에서 수확하느냐의 차이는 죽은 세포 부하의 가파른 상승에 맞선 몇 십 분의 일 g/L의 역가일 수 있습니다. 그 얕고 잡음 섞인 봉우리는 정확히 강한 실현가능성(feasibility) 제약이 매끈한 목적함수를 지배하는 체제입니다 — 역가 곡선이 아니라 생존율 하한선이 보통 날을 고르는 것입니다. 그러므로 학습하는 공장은 가치 항을 다듬기보다 제약 대리물(constraint surrogates)을 옳게 만드는 데 모델링 노력을 더 많이 씁니다(생존율이 70%를 가로지를 것인가? 탁도가 라인의 상한선을 넘을 것인가?), 왜냐하면 제약이 바로 옭아매는 것이기 때문입니다.
우리 진행 예제에서 BATCH-2026-001의 오프라인 패널이 모델이 읽어야 할 이야기를 들려줍니다. 마지막 사흘에 걸쳐 생존 세포 밀도는 고원에 이르렀다가 돌아서 내려가고 생존율은 미끄러집니다 — 패널은 2026-01-17 18:00의 실현가능 샘플(21.63e6 cells/mL, 생존율 76.8%, 4.221 g/L 역가)에서 2026-01-18 06:00(19.80e6 cells/mL, 72.9%, 5.475 g/L)을 거쳐 2026-01-18 18:00의 마지막 기록 샘플에 이르는데, 그것은 19.66e6 cells/mL, 68.0% 생존율, 5.877 g/L 역가입니다 [1]. 역가는 여전히 오르고 있습니다 — 그 마지막 24시간에 걸쳐 거의 1.7 g/L를 얻었습니다 — 그러나 생존율은 이제 대부분의 플랫폼이 존중하는 70% 하한선 아래로 미끄러졌고, 상승하는 암모니아(같은 구간에 걸쳐 9.06에서 10.57 mM로)는 용해되기 시작한 배양물(세포가 터져 열려 그 내용물을 쏟아내는 것으로, 바로 거기서 여분의 암모니아가 나옵니다)의 대사-스트레스 시그니처입니다. 그 긴장 — 더 많은 제품, 더 나쁜 공급물 — 이 바로 수확 결정이며, 그것이 정확히 모델이 저울질해야 할 것입니다.
탁도 소프트 센싱: 청징이 얼마나 힘들지 예측하기
"이 배치를 청징하기가 얼마나 힘들까"의 가장 깨끗한 단일 대리물은 네펠로법 탁도 단위(NTU)로 측정되는 수확 공급물의 탁도(turbidity)입니다. 높은 탁도는 현탁된 세포와 잔해가 많다는 뜻이고, 이는 더 힘들게 일하는 원심분리기와 더 빨리 막히는 심층 필터를 뜻합니다. 수확 시점의 탁도는 총 세포 질량에 의해, 그리고 결정적으로 죽은 그리고 용해되는 분획에 의해 구동됩니다 — 바로 그것이 떨어지는 생존율과 그토록 강하게 상관하는 이유입니다. 이미 가진 신호들로부터 수확-공급물 탁도를 하루 앞서 예측할 수 있다면, 필터 압력이 치솟을 때 문제를 발견하는 대신 알맞은 청징 설정을 미리 준비할 수 있습니다.
엄밀히 말하면, 심층 필터는 이 원(raw) 배양액 탁도를 보지 않습니다. 디스크-스택 원심분리기가 먼저 세포 질량의 대부분을 제거하고, 필터는 그것을 통과해 살아남은 원심분리액(centrate)의 탁도에 맞춰 사이징됩니다. 하지만 죽은-세포-부하 논증은 두 단계 모두를 관통합니다. 낮은 생존율의 수확은 원 탁도를 올릴 뿐 아니라 원심분리기가 덜 효율적으로 걷어내는 더 작고 더 파편화된 잔해를 만들어내므로, 그것이 필터에 건네는 원심분리액은 두 가지 면 모두에서 더 더럽습니다.
소프트 센서(soft sensor)는 직접 측정하기에 느리거나 비싼 양(여기서는 탁도)을 이미 가진 값싼 신호들(VCD, 생존율, 스펙트럼)로부터 예측하는 모델입니다. 여기서 소프트 센서 틀 짓기는 역가 소프트 센서(titer soft sensor)와 동일하되 다른 표적을 씁니다. 특징은 종점에서 그리고 그 근처에서 값싸고 가용한 신호들입니다. VCD, 생존율, 운전에 걸친 생존 세포 밀도의 적분(IVCD, 총 생산적 세포-시간의 척도), 락트산과 암모니아(용해를 추적하는 대사-스트레스 지표), 그리고 — 인라인 프로브가 존재하는 곳에서는 — 이미 상류 소프트 센서에 입력되는 라만 또는 정전용량 스펙트럼(라만은 배양액에 녹아 있는 것의 광 산란 지문을 읽고, 정전용량 프로브는 살아 있는 세포 막을 전기적으로 감지합니다). 표적은 수확 풀의 오프라인 탁도입니다.
탁도가 생존율을 그토록 빡빡하게 추적하는 까닭은 통계적이 아니라 물리적이며, 어느 특징에 가중해야 하는지를 알려 주므로 못 박을 가치가 있습니다. 살아 있는 CHO 세포는 대략 12–18 µm이고 온전합니다. 그것은 빛을 산란하지만, 심층 필터의 등급화된(graded) 기질이 부드럽게 잡아내는 깨끗하고 변형 가능한 구체입니다. 죽은 세포는 다른 물체입니다. 그 막이 용해되어 서브마이크론 잔해, DNA 가닥, 응집된 숙주세포 단백질을 방출하는데, 이것들은 강하게 산란하고(NTU를 올림) 또한 표면에 케이크로 쌓이기보다 더 미세한 구멍을 막아 필터를 오염(foul)시킵니다. 그래서 올바른 부하 변수는 VCD 단독이 아니라 죽은 세포 밀도(dead-cell density), 즉 총 세포 질량 곱하기 죽은 분획 (1 − viability)입니다. 예제 모듈은 정확히 이것을 부호화합니다. dead_load = (100 − end_viability_pct) · peak_VCD / 100 항을 만들고 탁도가 그것과 함께 오르게 합니다(더하기 이미 진행 중인 용해에 대한 암모니아 기여). 그것은 블랙박스가 아니라 의도적으로 해석 가능한 대리물입니다 — 탁도는 세포 질량과 생존율의 여집합(complement)의 곱과 함께 오르며, 그것이 교과서적 구동 인자입니다.
그 관계가 단조롭되 약하게 비선형이므로(생존율이 무릎을 지나 떨어지면 탁도가 가파르게 오름), 그래디언트-부스티드 트리(gradient-boosted tree)에 손을 뻗을 수도 있겠습니다. 예제 모듈은 의도적으로 그러지 않으며, 그 선택이 구체화된 소량-데이터 교훈입니다. 시뮬레이션된 60-배치 코호트에서 그것은 RidgeCV — 로그 간격 격자 위에서 교차검증으로 자기 벌점 α를 고르는 L2-정규화 선형 모델 — 를 적합하는데, 부스티드 트리는 수백 개의 분할 결정으로 수십 개 배치의 운전 간 잡음을 암기하고 진정으로 새로운 운전에서 무너지는 우쭐한 훈련 점수를 보고할 것이기 때문입니다. 정규화된 선형 모델이 당신이 실제로 가진 데이터에 알맞은 용량(capacity)입니다. 이것은 데이터 장(data chapter)이 추상적으로 펴는 바로 그 편향-분산 논증입니다. 여기서 그것은 트리 대신 Ridge를 고르는 코드 한 줄이며, 작은 코호트를 과적합할 수 없기에 정확히 더 방어 가능한 모델입니다.
특징 공학은 모델만큼 중요합니다. 모듈은 훈련 분할에서만 적합된 StandardScaler로 특징을 표준화합니다 — 작지만 진짜인 누설 규율인데, 전체 집합에서 스케일링하면 시험 분포의 평균과 분산이 훈련으로 누설되기 때문입니다. 그것이 쓰는 다섯 특징 — 최대 VCD, 배양 종료 생존율, 최종 락트산, 최종 암모니아, 적분 VCD — 은 모두 배치당 한 번 계산되는 전체 운전의 요약 통계이며, 그것이 올바른 분석 단위입니다. 청징은 배치 수준의 결과이므로, 특징 행과 라벨은 배치 수준에 삽니다. 이 모듈에는 배치당 정확히 한 요약 행만 있으므로, 훈련/시험 분할은 구성상(by construction) 배치 수준이고 여기서 샘플별 누설은 불가능합니다 — 분할 양쪽으로 흩어질 배치 내(within-batch) 행이 아예 없기 때문입니다. 그래서 이 모듈은 샘플-분할 함정을 보여 주기에는 잘못된 곳입니다. 그것이 무는 것을 보려면 soft_sensor_pls로 가야 하는데, 거기서는 모든 배치가 진짜로 여러 시간별 스펙트럼을 기여하므로 샘플별로 분할하면 같은 배치가 훈련과 시험 양쪽에 나타나 모든 지표를 부풀립니다 — 그 모듈이 생생하게 시연하는 으뜸가는 죄입니다.
"탁도"가 역가는 사주지 못하는 무엇을 사주는지 정밀하게 말할 가치가 있습니다. 역가는 제품이 얼마나 많은가에 답하고, 탁도는 공급물이 얼마나 더러운가에 답합니다. 수확 결정은 둘 다 필요한데, 최적점이란 기다려서 얻는 한계 제품이 더는 떠안는 한계 더러움의 값어치가 없는 곳이며 — 그 더러움이 하류 라인 전체가 치르는 대가이기 때문입니다. 탁도 소프트 센서는 그 추상적 맞교환을 행동해야 하기 전날의 숫자로 바꿉니다.
예측의 반대편에는 작동기(actuator)도 있습니다. 높은-탁도 수확은 심층 필터 앞에서 전처리할 수 있습니다 — 산 또는 카프릴산 침전, 2가-양이온 또는 고분자전해질 응집(pDADMAC, 키토산), 또는 자극-반응성 고분자 — 이것들은 잔해, DNA, HCP를 떨어뜨리고 실효 Vmax를 올립니다. 그래서 힘든 수확에 하루 앞서 플래그를 세우는 탁도 소프트 센서는 더 큰 필터를 사이징하기만 하는 것이 아니라, 미리 배치된 전처리 단계를 촉발할 수 있습니다.
필터 사이징과 Vmax: 50 mL 시험을 전체-배치 결정으로 바꾸기
수확하기로 결정했다면 청징해야 하고, 실용적 질문은 잔혹하게 구체적입니다. 심층 필터가 배치가 끝나기 전에 막히지 않으려면 필터 면적이 얼마나 필요한가? 면적을 너무 적게 사면 필터가 운전 도중에 멀어 압력이 오르고 제품을 잃거나 라인을 멈추게 됩니다. 너무 많이 사면 규모에서 진짜 돈이 드는 일회용 소모품을 낭비한 것입니다. 이것이 고전적인 필터 사이징(filter sizing) 문제이며, 기계학습이 대체하기보다 확장하는, 잘 확립된 소규모 의식(ritual)이 있습니다.
그 의식이 Vmax 시험(과 그 사촌 Pmax/정압 시험)입니다. 실제 심층 필터 매체의 작은 디스크 — 수십 밀리리터 — 를 실제 수확 공급물 샘플에 대고 돌리며, 시간에 대한 누적 여과 부피를 기록합니다. 고전적 점진적 구멍 막힘(gradual pore-blocking) 모델 아래에서 데이터는 선형화됩니다. t/V를 t에 대해 그리면 기울기가 1/Vmax인 직선이 나오는데, 여기서 Vmax는 막이 완전히 멀기 전에 단위 면적당 처리할 수 있는 최대 부피입니다. 그다음 안전계수와 함께 배치 부피가 면적 배율된 Vmax 아래에 편안히 머물도록 전체 규모 필터를 사이징합니다. 그것은 우아하고, 값싸고, 표준적입니다.
수학은 온전히 진술할 가치가 있는데, 그 위의 어떤 모델이 실제로 무엇을 예측하는지 명료히 하기 때문입니다. 막 오염은 막힘 법칙(blocking laws)의 한 무리로 기술되며, 각각은 단일 미분방정식 d²t/dV² = k (dt/dV)^n의 특수한 경우인데, 지수 n이 기전을 고릅니다. n = 2는 완전 구멍 막힘, n = 1.5는 표준(내부) 구멍 협착, n = 1은 중간 막힘, n = 0은 케이크 여과입니다. Vmax 방법은 정압에서의 n = 1.5 협착 법칙의 닫힌형 해이며, 적분하면
t / V(t) = (1 / Qi) + (t / Vmax)
이 되는데, 여기서 V(t)는 단위 면적당 누적 여과액 부피, Qi는 초기 플럭스(단위 필터 면적당 시작 유량), Vmax는 점근 용량입니다. t/V를 t에 대해 선형 적합하면 기울기로 1/Vmax를, 절편으로 1/Qi를 회수합니다 — 한 번의 값싼 운전에서 두 숫자. 그다음 면적을 A = (safety · batch_volume) / Vmax로 사이징하는데, 여기서 안전계수(보통 1.3–1.5×)는 단일 시험이 볼 수 없는 일별 변동성에 대한 여유를 사 줍니다.
학습은 어디서 들어올까요? 두 곳입니다. 첫째, Vmax 시험 자체가 점진적-구멍-막힘 모델이 오염이 점진적이지 않을 때 틀릴 수 있는 작은 외삽입니다 — 실제 수확 공급물은 흔히 구멍 협착 그리고 케이크 축적의 혼합을 보이므로, 참 곡선은 운전 후반에 단일 n = 1.5 선에서 휘어 벗어납니다. 전체 t/V-대-t 곡선에 적합한 모델, 또는 막힘 법칙들을 섞는(1.5라고 가정하기보다 실효 n을 추정하는) 짧은 물리 정보 기반 모델이, 초기-시간 선형 구간에서 기울기 하나를 읽는 것보다 막힘 점을 더 신뢰성 있게 외삽합니다. 둘째, 그리고 더 가치 있게, 벤치 시험을 통째로 건너뛸 수 있습니다. 상류 상태로부터 직접 Vmax를 예측하는 모델 — 수확 시점의 VCD, 생존율, 탁도 — 은 수확 모델이 배치를 막 내리려 한다고 말하는 그날, 수확 공급물이 존재하기도 전에 필터를 사이징하게 해 줍니다. 그 매핑은 과거 배치들과 그 벤치 Vmax 결과에 걸쳐 훈련된 Vmax ≈ f(VCD, viability, turbidity, …)이므로, 벤치 시험이 라벨을 접지시키고 모델이 그것을 다음 배치의 상류 조건으로 일반화합니다. 예제 모듈이 학습하는 막힘-부하 대리물은 정확히 이 사슬의 앞 절반입니다. 탁도를 예측하면, 그 탁도(Vmax의 강한 역지표)가 준비할 면적을 알려 줍니다. Vmax 시험은 확증 측정으로 남고, 모델은 알맞은 필터 면적을 미리 주문하게 해 주는 것입니다.
상류→청징 연결: 청징 성능이 진정으로 결정되는 곳
이 장에서 가장 깊은 발상은 청징 성능이 압도적으로 청징 장비가 아니라 상류 조건의 함수라는 것입니다. 수확 시점의 세포 밀도와 특히 생존율이 잔해 부하, 탁도, Vmax, 그리고 — 며칠 뒤에 무는 부분 — 포획 단계가 물려받는 HCP 부담(HCP burden)을 정합니다. 이것이 첫 하류 단계에 관한 장이 학습된 상류 부에 속하는 이유입니다. 결과는 하류이지만 지렛대는 상류입니다.
구체적으로, 각 청징 및 하류-부담 결과를 수확-상태 특징에 회귀시킬 수 있습니다:
- 청징된 탁도 / 원심분리액 품질 — 원심분리액이 얼마나 깨끗한지, 공급물 VCD와 생존율의 함수로서.
- 심층 필터 Vmax / 용량 — 필요할 면적, 위에서처럼.
- 단계 수율 / 회수율 — 필터 케이크와 원심분리기 하부 흐름(underflow)으로 잃은 제품.
- 물려받은 HCP — 포획 단계가 시작하는 숙주세포 단백질로, 낮은 생존율의 수확이 부풀립니다. 용해된 세포가 그 내용물을 공급물에 쏟아붓기 때문입니다.
심층 필터는 거르기 이상을 합니다. 그 하전된 셀룰로스/규조토(diatomaceous) 기질은 가용성 HCP, DNA, 내독소(endotoxin)도 흡착합니다. 따라서 잔해가 무거운 낮은-생존율 수확은 청징을 두 번 칩니다 — 필터를 더 빨리 오염시키고 또한 포획 단계가 물려받는 HCP를 깎아냈을 흡착 용량을 포화시킵니다.
그 마지막 연결이 QC와 출하(QC and release) 장으로 루프를 닫는 것입니다. 우리 캠페인에서 출하된 배치의 HCP 값은 대부분 100 ng/mg 한계(ng/mg = 항체 제품 밀리그램당 숙주세포 단백질 나노그램; 100 상한은 출하 규격) 안에 넉넉히 들어 있습니다 — BATCH-2026-001은 28.203 ng/mg로 끝나고, 다른 합격 배치들은 14.953과 26.093 ng/mg 사이에 자리합니다 — 그러나 규격 이탈(out-of-spec) 형제 BATCH-2026-004는 128.0 ng/mg로 HCP에 불합격합니다 [1]. HCP는 하류-및-출하 속성이지만, 그 기원은 흔히 상류의 것입니다. 낮은 생존율 배양물의 과도하게 연장된 수확은 공급물을 숙주세포 단백질로 침수시키고, 어떤 단일 정제 단계도 그것을 온전히 회수하지 못합니다. 수확 생존율을 물려받은 HCP에 잇는 모델은, 사실상 BATCH-2026-004가 대표하는 바로 그 실패 모드에 대한 조기 경보 시스템입니다 — 그것이 이것이 학문적 상관이 아니라 일탈 방지 도구인 이유입니다. (여기서 우리는 조심합니다. 데이터셋은 BATCH-2026-004의 HCP 불합격을 실제 OOS로 기록합니다. 우리는 그것에 대한 인과적 수확 값을 지어내지 않으며, 낮은 생존율의 수확이 물려받은 HCP 위험을 올린다는 모델링 원리만 다룹니다.)
예제 모듈이 훈련하는 시뮬레이션된 코호트는 그 원리를 주장이 아니라 감사 가능하게 만듭니다. 그 60개 운전 각각은 나머지 모음이 쓰는 같은 기계론적 유가식(fed-batch) 모델에서 도출되며, 생물학적으로 의미 있는 손잡이(성장 속도, 생산성, 공급량)가 배치마다 섭동되고 18% 확률의 오염 사건이 있습니다. 그다음 코호트는 출하된 데이터셋과 같은 출하 규격 — HCP ≤ 100 ng/mg와 단량체 ≥ 95%(뭉쳐진 응집체가 아니라 온전한 단일 분자인 항체의 분획) — 을 적용하여 각 운전을 PASS 또는 OOS(규격 이탈, 위의 "규격 이탈 형제"가 가리키는 같은 실패)로 라벨링합니다. 그래서 코호트의 OOS 소수파는 탁도를 구동하는 같은 용해 동역학에서 생성됩니다 — 그것이 바로, 둘이 며칠 떨어진 채 서로 다른 분석으로 측정되는데도 탁도 소프트 센서가 HCP 위험의 선행 지표로 읽히는 이유입니다.
정직한 틀은 제어가 아니라 위험 계층화(risk stratification)입니다. 이 모델로 HCP 결과(HCP result)처럼 약물이 허용 가능한지를 정의하는 측정된 속성인 핵심 품질 속성(critical quality attribute, CQA)을 자율적으로 움직이지 않을 것입니다. 청징 전에, 이 특정 배치의 수확 프로파일이 나중에 HCP에서 고전한 배치들처럼 보인다고 플래그를 세우고 — 거기에 인간과 강화된 공정 중 점검을 붙이는 것입니다. 그것이 정확히, 품질 결정을 건드리는 ML에 대해 규제 합의가 지지하는 인간-개입(human-in-the-loop) 자세입니다.
그 자세는 구체적인 규정준수 형태를 가지며, 이름 붙일 가치가 있습니다. 규제기관이 받아들일 모델과 그러지 않을 모델 사이의 차이를 만드는 것이 바로 그것이기 때문입니다. GMP 처분(disposition)에 정보를 주는 수확 모델은 전산화-시스템-검증(computerized-system-validated)되지만, 현대 CSA(Computer Software Assurance, 문서가 무거운 옛 CSV를 잇는 위험-기반 후계자로 FDA의 2022년 초안 지침이 틀 짓는 것) 아래에서 검증 노력은 위험에 맞춰 조정됩니다. 권고적, 인간-결정 수확 센서는 그것이 명시적으로 아닌 폐루프 제어기보다 더 가벼운 스크립트 시험을 받습니다. 기록 자체는 21 CFR Part 11 전자기록 규칙을 만족해야 합니다 — 권장 종점, 그것을 정당화한 입력, 그리고 인간 서명이 귀속 가능하고, 타임스탬프되며, 감사 추적됩니다 — 이는 ML 산출물에 읽힌 ALCOA+(귀속 가능Attributable, 판독 가능Legible, 동시기록Contemporaneous, 원본Original, 정확Accurate, 더하기 완전Complete, 일관Consistent, 영속Enduring, 가용Available)일 뿐입니다. 위 해부 카드는, 모든 필드가 출처-태깅되고 옭아매는 제약이 적힌 채로, 구성상(by construction) ALCOA+ 모양의 기록 그 자체입니다. 그리고 모델 자체는 잠기고 버전 관리됩니다 — 카드의 harvest_endpoint v1 — 그래서 재훈련은 조용한 가중치 갱신이 아니라 변경-관리되는 사건이며, 정확히 FDA의 2023년 의약품 제조에서의 인공지능 논의 문서와 EU/PIC/S GMP Annex 22 초안이 둘 다 나르는 잠긴-검증된-모델 기대입니다. 규정준수 기제는 과학 뒤에 볼트로 조여진 부담이 아닙니다. 그것은 제조-과학 심사자가 이미 카드 전체에 요구하던 같은 감사 가능성입니다.
학습된 첫 하류 단계: 수확-종점 최적화, 탁도 소프트 센서, Vmax 필터-사이징 모델은 한 문제의 세 관점이다 — 수확 시점의 상류 상태로부터 언제 멈출지와 청징이 얼마나 힘들지를 둘 다 예측하는 것 — 그리고 함께 청징 풀 CLAR-001과, OOS 형제처럼 보이는 배치들에 대한 조기 HCP-위험 플래그를 만든다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
실행 가능한 모델: harvest_endpoint.py
예제 모듈 examples/platform/ml/harvest_endpoint.py가 이 장 뒤의 실행 가능한 핵심입니다. 그것은 수확-에서-청징으로의 인계를 단일 회귀로 틀 짓습니다. 배양 종료 상태 → 수확 탁도 / 필터-부하 대리물, 그래서 공장이 심층 필터를 사이징하고 청징 라인을 막기 전에 힘든 수확에 플래그를 세울 수 있습니다. 특징은 fixtures.py가 만든 시뮬레이터 기반 60-운전 코호트에서 오며(공유된 dataio.load_cohort_summary() 헬퍼를 통해 적재됨), 탁도 표적은 세포 용해의 투명한 합성 함수 — 죽은 세포 부하 더하기 용해 구동 암모니아, 의도적으로 지어낸 계수와 함께(20, 3.2, 1.5, 그리고 잡음 항은 측정된 물리 값이 아니라 만들어낸 시뮬레이션 상수입니다) — 이며, 그것이 모듈이 (시뮬레이션 코호트)로 태깅된 이유입니다. 그것은 서비스 없이 독립 실행됩니다.
# examples/platform/ml/harvest_endpoint.py
import numpy as np
from sklearn.linear_model import RidgeCV
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import dataio
def main() -> dict:
df = dataio.load_cohort_summary()
rng = np.random.default_rng(2026)
# turbidity rises with dead-cell burden (low end viability, high peak VCD) and age.
dead_load = (100 - df["end_viability_pct"]) * df["peak_VCD_e6_per_mL"] / 100.0
turbidity = 20 + 3.2 * dead_load + 1.5 * df["final_ammonia_mM"] + rng.normal(0, 2.5, len(df))
feats = ["peak_VCD_e6_per_mL", "end_viability_pct", "final_lactate_g_L",
"final_ammonia_mM", "integral_VCD"]
X = df[feats].to_numpy(float)
y = turbidity.to_numpy(float)
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.35, random_state=0)
sc = StandardScaler().fit(Xtr)
# a regularized linear model is the right capacity for ~40 training runs; a
# boosted-tree overfits this small a cohort (the small-data lesson, in code).
model = RidgeCV(alphas=np.logspace(-3, 3, 25)).fit(sc.transform(Xtr), ytr)
r2 = r2_score(yte, model.predict(sc.transform(Xte)))
print("Harvest turbidity / filter-load model (simulated cohort, n=%d)" % len(df))
print(f" end-of-culture state -> harvest turbidity proxy: R2 = {r2:.3f}")
print(f" turbidity range {y.min():.0f}-{y.max():.0f} NTU-proxy")
assert r2 > 0.70, "harvest-load model should clear R2 0.70"
return {"r2": float(r2)}
if __name__ == "__main__":
main()
python platform/ml/harvest_endpoint.py를 실행하면 다음을 그대로 출력합니다:
Harvest turbidity / filter-load model (simulated cohort, n=60)
end-of-culture state -> harvest turbidity proxy: R2 = 0.875
turbidity range 45-90 NTU-proxy
그 세 줄을 주의 깊게 읽으세요. 각각이 이 장의 요점 하나를 구체화하기 때문입니다. 코호트는 n=60 시뮬레이션된 운전 — 훈련하고 정직하게 평가하기에 충분하며, 명명된 여섯 배치로는 그렇지 못합니다. 보류된 R² = 0.875는 배양 종료 상태가 모델이 한 번도 보지 못한 운전들에서 수확-공급물 탁도 분산의 대략 88%를 설명한다는 뜻입니다 — 진정으로 유용한 소프트 센서이고, 결정적으로 이것은 배치-보류(batch-held-out) 점수입니다(35% 시험 분획은 통째 운전입니다). 그래서 그것은 행 분할이 만들어낼 부풀려진 숫자가 아니라 새로운 배치에서의 성능 추정값입니다. 45–90 NTU-대리물 범위는 청징 라인이 흡수해야 할 폭입니다. 그 띠 바닥의 저-탁도 수확은 작은 필터를 사이징하고, 90에 가까운 것은 더 큰 면적을 요구하거나 운전 도중 멀어버릴 위험을 집니다. assert r2 > 0.70 줄은 모듈에 구워진 가드레일입니다 — 코호트나 특징에 대한 미래의 변경이 이 센서가 배포할 값어치가 있는 하한선 아래로 점수를 밀어내면, 예제는 약한 모델을 조용히 출하하는 대신 시끄럽게 실패합니다.
수확 목적함수 — BATCH-2026-001의 궤적을 종점으로 바꾸는 제약된 argmax — 가 이 소프트 센서가 입력되는 결정이며, 진행 예제 자신의 패널이 그것이 무엇을 풀어야 하는지 보여 줍니다. 마지막 기록된 샘플은 68.0% 생존율, 70% 하한선 아래에 있으므로, 제약된 argmax는 가장 풍부한 역가를 쫓지 않습니다. 그것은 76.8% 생존율과 4.221 g/L의 이전 실현가능 샘플로 물러섭니다. "늘 마지막에 내리는" 공장은 더 풍부하지만 더 더러운 공급물 — 더 높은 역가, 더 높은 탁도, 더 많은 물려받은 HCP — 을 수확할 텐데, 한편 제약된 결정은 하류 라인이 실제로 감당할 수 있는 공급물을 위해 약간의 제품을 맞교환합니다. 그 차이가 캠페인 전체에 걸쳐 곱해진 것이, 달력에서 읽는 대신 종점을 학습하는 것의 값어치입니다.
한 수확-결정 기록의 해부
수확 결정은, 이 시리즈의 모든 산출물처럼, 헐벗은 타임스탬프가 아닙니다 — 그것은 권장 종점을, 그것을 정당화한 상태, 그것에 입력된 예측, 그것이 존중한 제약, 그리고 그것이 예보하는 하류 귀결에 잇는 구조화된 기록입니다. 제조-과학 심사자가 수확을 승인하기 전에 하듯 그것을 해부해 보세요.
완전히 풀어낸 수확 결정 한 건: 그것에 입력된 상류 상태, 그것이 고른 제약된 종점(70퍼센트 미만의 마지막 샘플에서 물러섬), 그것이 예측한 탁도와 Vmax, 더 풍부한 공급물을 거부한 생존율 하한선, 그것이 예보하는 물려받은-HCP 위험, 그리고 그것을 BATCH-2026-001과 그것이 만드는 청징 풀 CLAR-001에 잇는 계보 — 참 최선의 종점은 결코 관측될 수 없다는 정직한 주석과 함께.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
위에서 아래로 읽으면 이 장이 필드로 펼쳐집니다. 입력 블록은 수확 상태이고, 여기서의 규율은 모든 필드가 어떻게 도착했는지로 태깅된다는 것입니다 — 출처(provenance)는 뒷생각이 아니라 기록의 일부입니다. VCD와 생존율은 하루 두 번의 오프라인 계수(자동 세포 계수기, 샘플 간 몇 시간의 지연)에서 오고, 역가는 더 늦게 실험실 HPLC에서 오며, 락트산과 암모니아는 오프라인 대사물질 패널에서 오고, IVCD는 도출됩니다(운전에 걸친 VCD의 사다리꼴 적분), 그래서 그것은 계수의 출처와 불확실성을 물려받습니다. 인라인 라만이나 정전용량 프로브가 존재하는 곳에서는 VCD의 거의 실시간 추정값이 오프라인 숫자 곁에 자리하고, 기록은 둘 다 보관하여 심사자가 소프트 센서가 참조와 일치하는지(아닌지)를 볼 수 있게 합니다. 출처 태그가 없는 필드는 심사자가 신뢰할 수 없는 필드입니다.
그 출처 규율은 이 장에 고유한 것이 아닙니다 — 그것은 공장 데이터 그림자(data shadow)에서 수확 모델이 차지하는 몫이며, 데이터 책이 기대는 같은 공유 표준에 내려앉습니다. 수확-상태 행은 하나의 ISA-95(IEC 62264 기업-대-공장 객체 모델) 물질-로트 및 장비 신원에 닻을 내리므로, BR-101과 BATCH-2026-001은 히스토리언, MES, 모델에 같은 것을 뜻합니다 — 히스토리언의 BR101.VCD.PV 태그, MES 배치 필드, LIMS 결과를 닮은꼴 세 열이 아니라 하나의 합의된 속성으로 해소하는 시맨틱 상호운용성(semantic-interoperability) 계층입니다. 인라인 스펙트럼은 바이오리액터에서 OPC UA로 도착하고, 실행된 배치 값은 MES에서 B2MML(ISA-95의 XML 직렬화)로 실려 나오며, 각 특징은 메타데이터 스키마 — 단위, 계측기, 타임스탬프 형식, 그리고 위의 오프라인/인라인/도출 태그 — 를 나르므로, 모델은 결코 화씨 필드를 섭씨에 맞춰 표준화하거나 반복 결과를 두 번째 키에 철하지 않습니다. 계보와 단위가 이렇게 거버넌스되는 학습 행은 몇 년 뒤에도 다시 도출되고 다시 감사될 수 있는 행입니다. 화면에서 긁어낸 평평한 CSV는 그렇지 않습니다.
녹색 핵심은 권장입니다 — 종점 시간, 그것이 함의하는 실현가능 역가(거부된 마지막 샘플의 5.877 g/L가 아니라 76.8%-생존율 샘플에서의 4.221 g/L), 그리고 청징을 미리 준비하는 예측된 탁도(NTU), Vmax(L/m²), 필터 면적(m²). 예측된 탁도는 실행 가능한 모듈이 실제로 만드는 단 하나의 숫자입니다. Vmax와 면적은 탁도가 입력되는 하류 사슬이며, 모듈이 벤치-보정된 Vmax가 아니라 부하 대리물을 학습하므로 예시로 표시됩니다. 제약 행이 기록을 감사 가능하게 만드는 것입니다. 마지막 샘플을 거부한 70% 생존율 하한선이 함의되는 게 아니라 적혀 있어, 심사자가 모델이 왜 더 높은 역가를 쫓지 않았는지를, 라인이 흡수할 수 있는 탁도 상한선(그 45–90 띠의 꼭대기, 그 너머에서는 면적이 커져야 함)과 나란히 볼 수 있습니다. 옭아매는 제약을 기록에 적어 두는 것이, 심사자가 심문할 수 있는 권고와 그들이 믿고 받아들여야 하는 블랙박스 숫자 사이의 차이입니다.
예보 행은 출하 HCP 결과(release HCP result)와 OOS-형제 패턴으로 앞쪽으로 잇는 물려받은-HCP 위험 띠를 나릅니다 — 점이 아니라 띠인데, 수확 모델의 HCP 예보가 그것이 만드는 가장 느리게 확증되고 가장 덜 확실한 출력이기 때문입니다. 보라색 관계 패널은 계보를 기록합니다. 이 결정은 BATCH-2026-001로부터 derivedFrom, CLAR-001을 produces, 단백질 A 포획(Protein A capture)에 feeds, 그것을 채점하는 벤치 Vmax 시험 및 오프라인 탁도와 reconciledWith, 그리고 그 참조에 대한 잔차가 표류하면 retrains_when입니다. 그 기록은 Book 4의 온톨로지(Book 4's ontology)에서 모델링된 CLAR-001 노드 그 자체입니다 — 여기서는 계보뿐 아니라 그것을 만들어낸 예측과 제약까지 나릅니다. 제조-과학 심사자는 권장된 날 하나가 아니라 카드 전체를 승인합니다. 출처를 가진 상태, 불확실성을 가진 예측, 선택을 옭아맨 제약, 그리고 정직한 띠를 가진 예보.
의사-술어는 실제 엣지입니다 — 그리고 그것이 모델을 신뢰할 만하게 만드는 것입니다
그 백틱으로 둘러싼 라벨들이 산문 장식이 아님을 정밀하게 말할 가치가 있습니다. 각각은 Book 4의 온톨로지(Book 4's ontology)에 이미 존재하는 타입화된 엣지이며, 수확 모델을 그것들에 못 박는 것이 깨지기 쉬운 열-이름 파이프라인을 시맨틱하게 접지된, 감사 가능한 것으로 바꾸는 것입니다. 온톨로지의 세 기제가 여기서 구체적인 일을 합니다.
첫째, 특징 행은 문자열이 아니라 IRI로 당겨집니다. 모델의 다섯 특징 — 최대 VCD, 배양 종료 생존율, 최종 락트산, 최종 암모니아, 적분 VCD — 은 "마침 end_viability_pct라고 이름 붙은 어떤 열이든"이 아닙니다. 각각은 bp:Material 노드에 걸린 bp: 데이터타입 속성(걸어갈 수 있는 관계와 읽을 수 있는 측정을 구분하는 객체/데이터타입 분리)이며, 자기 단위와 IRI를 나르므로 퍼센트로 된 생존율이 분수가 의도된 곳에 조용히 입력되는 일이 결코 없습니다. BFO 연속체/발생체 절단(BFO continuant/occurrent cut)도 같은 방식으로 부하를 받습니다. 배치(연속체 물질)는 세포 배양 운전(발생체)과 다른 노드이므로, 수확 모델의 배치별 특징 행은 그것이 실제로 기술하는 물질에 붙고 결코 품질을 공정에 걸쳐 우연히 평균 내지 못합니다. 자기 온톨로지 IRI로 당겨진 특징은 하드코딩된 조인을 조용히 깨뜨릴 열 이름 변경에서도 살아남습니다.
둘째, 계보 척추가 정직한 교차검증의 그룹화 키입니다. 리콜을 한정하는 같은 전이적 bp:derivedFrom 걷기가 60-운전 코호트를 올바르게 분할 가능하게 만드는 것입니다. BATCH-2026-001 조상을 공유하는 두 청징 풀은 독립적인 행이 아니므로, 보통의 무작위 분할로 채점된 모델은 거의 중복인 형제들에서 모든 지표를 부풀립니다. 방어 가능한 분할은 한 번에 derivedFrom-연결된 계보 전체를 보류하는 그룹화된, 한 배치씩 빼는 교차검증(leave-one-batch-out cross-validation)입니다 — 정확히 데이터 장(data chapter)이 고집하는 배치-그룹화 규율로, 계보가 어느 행이 한 캠페인에서 내려오는지 이미 기록하므로 여기서는 모델에 거저 건네집니다. 예제 모듈의 통째-배치 시험 분할은 그 그룹화의 단일-요약-행 퇴화 경우입니다. 다중-샘플 공급물에서는 행 인덱스가 아니라 척추가 보류 단위를 정의합니다.
셋째, 출하를 게이트하는 같은 SHACL 셰이프가 학습 집합을 게이트합니다. 출하 게이트(the release gate)의 닫힌-세계 bp:ReleaseShape는 CQA 패널이 불완전하거나 범위를 벗어난 로트를 거부합니다. 후보 학습 하위그래프에 겨누면, 그 동일한 셰이프가 수확-상태 행이 derivedFrom 부모, 단위를 가진 값, 또는 평결을 빠뜨린 데이터셋을 거부합니다. 이것은 열린-세계 추론기가 만들 수 없는 포착입니다 — 빠진 생존율은 OWL에는 그저 미지로 읽히지만 SHACL에는 단단한 틈으로 읽힙니다 — 그리고 그것이 중요한 까닭은 정확히, 조용한 틈이 있는 그래프로 학습된 모델이 AI 장(the AI chapter)이 경고하는 유창하되-접지되지-않은 LLM처럼 실제로 본 적 없는 탁도를 서술할 것이기 때문입니다. 학습-전-적합성(conformance-before-training)은 추론되고 셰이프-검증된 그래프가 그 반대가 아니라 모델이 대조 점검되는 지상 진실이 되는 방식입니다 — 그리고 그것은 같은 하니스가 실행하는, 출하를 이미 인증하는 같은 셰이프입니다. 수확 모델은 Ridge가 영리해서가 아니라 그것이 학습하는 모든 입력이 제품 자신이 통과해야 하는 게이트를 통과했기에 신뢰할 만합니다.
미해결 과제: 검열된 라벨과 느린 피드백
수확 ML이 보이는 것보다 왜 더 어려운지 정직하게 말해 봅시다. 첫 번째 어려움은 참 최선의 종점이 결코 관측되지 않는다는 것입니다. 어떤 실제 배치든 정확히 한 시점에 수확하고 정확히 한 결과를 봅니다. 하루 기다렸거나 하루 일찍 내렸다면 무슨 일이 일어났을지는 결코 볼 수 없습니다. 라벨 t*는 검열되어(censored) 있습니다 — 측정된 게 아니라 반사실적(counterfactual)입니다 — 그래서 "올바른 날"에 대한 단순한 지도학습 회귀를 할 수 없습니다. 이것은 적어도 어떤 시점 이후 사건이 일어났음은 아는 생존분석의 온화한 검열이 아닙니다. 여기서 당신은 배치당 한 곡선 위의 한 점을 관측하고 결코 그려낼 수 없는 맞교환의 모양을 추론해야 합니다. 팀들은 기계론적 순방향 모델(각 후보 종점 아래 궤적을 시뮬레이션하고 시뮬레이션 위에서 최적화 — 여기 시뮬레이션된 코호트가 정확히 대신하는 것), 대리 라벨(물려받은 HCP와 단계 수율처럼 측정할 수 있는 하류 결과에 회귀시키고 목적함수가 종점을 함의하게 함), 또는 위에 보인 종류의 제약된 argmax로 이를 우회합니다. 이 중 어느 것도 지상 진실(ground truth)을 관측하는 것과 같지 않으며, 모두 소량-데이터 천장을 물려받습니다. 실제 공정은 수십 개의 배치를 가지고 각각 한 번 수확되므로, 모델은 한 줌의 단일-점 관측에서 종점을 학습하는 것입니다 — 바로 예제 모듈이 60-운전 코호트를 제조하고 트리 대신 정규화된 선형 모델을 고르는 그 이유입니다.
두 번째 어려움은 피드백 지연(feedback latency)입니다. 수확 결정의 가장 중요한 귀결 — 물려받은 HCP, 실현된 단계 수율, 규모에서의 필터 거동 — 은 수확 시점에 알려지지 않습니다. 그것은 며칠 뒤, 포획 후, 분석 후에 도착합니다. 그래서 수확 모델이 표류하고 있다고 알려 줄 잔차는 전체 공정에서 가장 느린 것 중 하나이며, 역가 소프트 센서(titer soft sensor)의 몇 시간 늦은 참조보다도 느립니다. 수확과 평결 사이에서, 빗나가기 시작한 수확 모델은 정확히 잘 작동하는 모델처럼 보입니다 — 경보의 부재는 정확성의 증거가 아니라 진실이 아직 착지하지 않았다는 증거일 뿐입니다. 이것은 성긴-참조, 느린-피드백 체제(sparse-reference, slow-feedback regime)의 가장 극단이며, 그것이 실제로 수확 모델이 권고적인 이유입니다. 그들은 권장하고, 인간과 플랫폼 제약이 결정하며, 모델은 하류 진실이 마침내 착지할 때만 다시 채점됩니다. 실용적 귀결은 빠른 대리물 — 같은 날 오프라인 NTU 판독에 대조 점검할 수 있는 탁도 소프트 센서 — 이 느린 사슬을 위한 조기 표류 파수꾼으로 이중 임무를 한다는 것인데, 모델의 탁도 예측이 같은 날 참조를 빗나가기 시작하면 그 HCP 예보도 거의 확실히 표류하고 있기 때문입니다.
세 번째, 더 조용한 어려움은 전이(transfer)입니다. Vmax 모델과 탁도 소프트 센서는 그것들이 훈련받은 특정 세포주, 배지, 심층 필터 매체, 원심분리기에 묶여 있으며, 라만 보정이 그 프로브에 묶여(Raman calibration is bound to its probe) 있는 것과 정확히 같습니다. 필터 등급을 바꾸거나 50 mL 디스크에서 전체 렌즈형(lenticular) 스택으로 규모를 키우면 모델은 규제 목적상 재자격검증되기 전까지 새로운 절차입니다 — 그리고 그 변경은 표면적이지 않습니다. 다른 심층 필터 등급은 다른 구멍-크기 기울기를, 따라서 다른 오염 기전을 가지며, 그것은 실효 막힘 지수 n을 움직여 옛 등급에서 훈련된 Vmax 대리물을 무효화합니다. 벤치 Vmax 시험이 결코 사라지지 않는 까닭은 정확히 그것이 하드웨어가 움직일 때마다 모델을 다시 접지시키는 확증 측정이기 때문입니다. 그것은 학습된 지름길이 변경 관리 경계를 가로질러 정직하게 머물게 하는 닻입니다.
이 장이 모델 모음에 더하는 것
이 장은 Book 5 예제 모음에 examples/platform/ml/harvest_endpoint.py를 기여합니다. 시뮬레이터 기반 60-운전 코호트를 적재하고, 투명한 죽은-세포-부하-더하기-암모니아 탁도 대리물을 표적으로 만들고, 통째 배치로 분할하고, 훈련 분할에서만 표준화하고, 배양 종료 상태에서 수확-공급물 탁도로의 교차검증된 RidgeCV 회귀를 적합하는 독립 모듈입니다 — 구워진 R² ≥ 0.70 하한선을 보류된 R² = 0.875에서 넘깁니다. 그것은 상류 소프트 센서 모듈(soft-sensor module)(라만에서 역가/VCD)과 SPC/MVDA 참조 스크립트(SPC/MVDA reference scripts)와 조율하며 — 그리고 의도적으로 중복하지 않습니다. 그들은 탱크 안에 무엇이 있는지를 예측하고, 이것은 탱크를 비웠을 때 청징하기가 얼마나 힘들지를 예측합니다. 모델 선택 — 부스티드 트리 대신 정규화된 선형 — 자체가 가르침의 요점입니다. 그것은 수십 개 배치 공정을 위한 소량-데이터의, 방어 가능한 용량이며, 단언 가드가 그 하한선을 명시적으로 만듭니다. 탁도 표적과 그것이 입력되는 Vmax/면적 사슬은 명확히 예시 (시뮬레이션 코호트)로 라벨링됩니다. 이 장이 인용하는 출하 HCP 수치 — 황금 배치의 28.203 ng/mg, OOS 형제의 128.0 ng/mg — 는 실제 커밋된 데이터셋 값입니다.
왜 중요한가
수확은 상류와 하류가 만나는 단 하나의 결정이며, 어떤 단계보다도 가장 적은 정보로 결정됩니다 — 행동해야 하는 그 순간에 가장 중요한 귀결들은 아직 며칠 떨어져 있습니다. 그것을 옳게 하면 하류 라인 전체가 깨끗하고 예측 가능한 공급물을 봅니다. 원심분리기가 매끄럽게 돌고, 심층 필터가 멀지 않으며, 포획이 낮은 HCP에서 시작하고, 출하 분석(release assays)이 여유를 두고 통과합니다. 그것을 그르치면 — 죽어가는 배양물을 너무 오래 붙들면 — 단 한 번의 과도하게 연장된 수확이 공급물에 쏟아부은 숙주세포 단백질과 잔해를 다시 긁어내는 데 공정의 나머지와 수율의 한 덩어리를 씁니다. 종점, 탁도, 필터 크기를 학습하는 것은 제조에서 가장 결과가 중대한 눈먼 결정을, 방어 가능하고, 권고적이며, 증거가 뒷받침하는 결정으로 바꿉니다. 그것은 CQA를 자율적으로 움직이지 않을 것입니다. 그것은 당신이 다음 OOS로 수확해 들어가는 것을 막아 줄 것입니다.
실제 현장에서는
수확에서의 학습을 위한 가장 강력한 상용급 닻은 Amgen의 푸에르토리코 Juncos 배포(상용)이며, 거기서 SIMCA OPLS 모델이 상업적 GMP 원액 제조 안에서 수확 역가와 기타 공정 중(in-process) 속성을 예측합니다. Amgen 엔지니어들은 수확-역가 모델이 운전자가 실험실을 기다리는 대신 모델 예측에 따라 행동하게 함으로써 대략 6시간의 수확 유휴 시간과 크로마토그래피 컬럼 사이의 약 10시간의 유휴 시간을 없앴다고 보고합니다 — 상류-하류 경계에 배포된 MVDA 모델의 구체적이고 실제 배포된 사례입니다 [2]. 정직한 단서가 그 표제와 함께 다닙니다. 이것은 Sartorius 벤더 사례 연구와 함께한 Amgen 엔지니어들의 제1자(first-party), 자체보고 설명이며(벤더 자체보고 / 자체 저자 동료심사 증거 등급), 독립적으로 감사된 결과가 아니고, 그 구체적인 시간 절약은 외부에서 확증될 수 없습니다.
이 장의 탁도-및-Vmax 절반은, 오늘날, 제품화된 ML이라기보다 더 파일럿이자 공학 관행입니다. Vmax/Pmax 벤치 시험을 통한 심층 필터 사이징은 보편적인 상용 관행이고, 그 뒤의 점진적-구멍-막힘 수학(n = 1.5 협착 법칙)은 교과서적 여과 이론입니다. 기계학습 확장 — 상류 VCD/생존율로부터 직접 Vmax나 탁도를 예측하여 수확 전에 필터를 사이징하는 것 — 은 벤더가 파는 것보다 공정 개발 그룹이 내부적으로 더 쓰는 응용된 (파일럿/연구) 발상입니다. 바탕에 깔린 상관에 대한 출판된 근거가 있습니다. 바이오공정 문헌의 청징 및 심층 필터 용량 연구는 수확 세포 밀도와 생존율이 필터 처리량과 탁도 부하의 지배적 예측 인자라고 일관되게 보고하며(독립 동료심사), 그것이 상류-상태 회귀를 사변적이 아니라 신뢰할 만하게 만드는 것입니다. 더 넓은 규제와 합의의 그림이 이것이 어디에 자리하는지를 틀 짓습니다. ISPE Pharma 4.0의 현실은 바이오 제조의 ML이 CQA의 자율 제어가 아니라 감시와 인간-개입 의사결정 지원에 모인다는 것이며, 수확-종점이나 HCP-위험 모델은 정확히, FDA의 2023년 의약품 제조에서의 인공지능 논의 문서와 EU/PIC/S GMP Annex 22 초안이 둘 다 기대하는 권고적, 인간-결정 범주에 똑바로 자리합니다 — 인간 결정을 지원하는 잠긴, 검증된 모델이지, 결코 품질 속성을 스스로 조용히 움직이는 것이 아닙니다 [3][4]. 정직한 요약: 수확-역가 예측은 실재하고 적어도 한 주요 제조사에 배포되어 있습니다. 탁도와 Vmax 학습은 신뢰할 만하고 물리에 닻을 내린 응용이되 여전히 대부분 공정 개발 그룹 안에 있습니다. 그리고 그중 어느 것도 언제 수확할지를 자율적으로 결정하지 않습니다.
핵심 용어
- 역가(titer) — 배양액 속 항체 제품의 농도, g/L로; 수확 결정이 지키려는 제품의 양으로, 배양물이 나이 들수록 오릅니다.
- 생존율(viability) — 배양물에서 아직 살아 있는 세포의 비율, 퍼센트로; 떨어지는 생존율은 잔해와 HCP의 선행 지표입니다. VCD(생존 세포 밀도) — 부피당 살아 있는 세포의 수(예: 21.63e6 = mL당 2,163만 개 세포).
- 소프트 센서(soft sensor) — 측정하기에 느리거나 비싼 양(여기서는 탁도)을 이미 가진 값싼 신호들(VCD, 생존율, 스펙트럼)로부터 예측하는 모델.
- CQA(핵심 품질 속성, Critical Quality Attribute) — 약물이 허용 가능한지를 정의하는 측정된 속성(예: HCP ≤ 100 ng/mg); 권고적 ML 모델이 결코 자율적으로 움직여서는 안 되는 것.
- 수확 종점(harvest endpoint) — 배양을 멈추고 청징을 시작할 선택된 시점; 회수 가능 역가를 죽어가는 배양물이 만드는 하류 부담과 맞교환하는, 생존율 하한선을 따르는 최적화.
- 수확 목적함수
J(t)(harvest objectiveJ(t)) — 최대화되는 (예시) 함수: 회수 가능 역가 빼기 가중된 하류-부담 벌점, 생존율 제약이 성립하는 곳에서만, 가용한 이산 샘플 시점에 걸쳐 평가됨. - 생존율 하한선(viability floor) — 그 아래에서 플랫폼이 수확하지 않을 강한 제약(흔히 약 70%); 가장-풍부하되-가장-더러운 종점을 거부하는 제약.
- 탁도(NTU)(turbidity (NTU)) — 수확 공급물의 네펠로법 탁도; 청징이 얼마나 힘들지의 단연 최고의 대리물로, 총 세포 질량과 죽은/용해되는 분획에 의해 구동됨.
- 죽은 세포 부하(dead-cell load) — 총 세포 질량 곱하기 죽은 분획
(1 − viability); 탁도와 필터 오염 둘 다의 물리적 구동 인자이자 예제 모듈의 핵심 특징 항. - 청징(clarification) — 첫 하류 단계, 항체를 품은 액체를 세포와 잔해로부터 분리(원심분리기 더하기 심층 필터)하여 청징 풀(CLAR-001)을 만듦.
- 심층 필터(depth filter) — 세포와 잔해를 가두는 등급화-기공 필터 매체; 배치가 끝나기 전에 멀지 않도록 사이징됨.
- 막힘 법칙(blocking laws) — 지수
n이 완전 막힘(2), 구멍 협착(1.5), 중간(1), 케이크(0) 여과를 고르는 오염 모델의 무리(d²t/dV² = k (dt/dV)^n). - Vmax — 막이 완전히 멀기 전에 단위 면적당 처리할 수 있는 최대 부피;
n = 1.5법칙의t/V-대-t선형화 기울기에서 읽거나, 상류 상태로부터 예측됨. - Vmax / Pmax 시험(Vmax / Pmax test) — 실제 수확 공급물 샘플에 대해 필터 용량을 측정하는 소규모 벤치 의식; 하드웨어 변경 후 어떤 Vmax 모델이든 다시 접지시키는 확증 측정.
- IVCD — 운전에 걸친 생존 세포 밀도의 적분; 총 생산적 세포-시간, 역가와 청징 모델 둘 다를 위한 도출 특징.
- 물려받은 HCP(inherited HCP) — 포획 단계가 시작하는 숙주세포 단백질; 낮은 생존율의 수확이 부풀려, 상류 종점을 하류 출하 속성에 이음.
- 검열된 라벨(censored label) — 각 배치가 정확히 한 번 수확되어 한 곡선 위의 한 점을 보기에 결코 관측될 수 없는 수확 종점 진실; 수확 ML이 평범한 지도학습 회귀가 될 수 없는 이유.
- 한 배치씩 빼는 교차검증(leave-one-batch-out cross-validation) — 한 번에
derivedFrom-연결된 계보 전체를 보류하는 그룹화 분할로, 배치 조상을 공유하는 형제들이 훈련과 시험에 걸쳐 누설될 수 없게 함; 계보 척추가 그 그룹화 키. - SHACL 학습-집합 게이트(SHACL training-set gate) — 로트 출하를 게이트하는 같은 닫힌-세계 셰이프를 후보 학습 하위그래프에 겨누어, 계보 부모, 단위를 가진 값, 또는 평결을 빠뜨린 행을 거부하는 것; 학습-전-적합성.
- CSA / CSV — Computer Software Assurance, 위험에 맞춰 시험을 조정하는 위험-기반 검증 접근(FDA 2022 초안)으로 문서가 무거운 Computer Software Validation을 잇는 것; 권고적 수확 모델은 폐루프 제어기보다 더 가벼운 보증을 받음.
- ALCOA+ / Part 11 — GMP-관련 수확 기록이 만족해야 하는 데이터-무결성 속성(귀속 가능, 판독 가능, 동시기록, 원본, 정확, 더하기 완전, 일관, 영속, 가용)과 21 CFR Part 11 전자기록 규칙.
- 잠기고 버전 관리된 모델(locked, versioned model) — 재훈련이 변경-관리되는 사건이 되도록 동결되고 버전-명명된(
harvest_endpoint v1) 모델; FDA AI 논의 문서와 EU/PIC/S Annex 22 초안이 품질 결정을 건드리는 ML에 기대하는 형태.
다음 이야기
청징은 하류에 깨끗하고 정의된 풀을 인계했습니다 — BATCH-2026-001에서 도출되어 첫 정제 컬럼에 입력되는 CLAR-001. 다음 장 포획 크로마토그래피: 하이브리드 모델과 실시간 풀링(Capture Chromatography: Hybrid Models and Real-Time Pooling)은 단백질 A 단계로 들어가는데, 거기서 공급물의 HCP 부담 — 우리가 방금 내린 수확 결정이 정한 것 — 이 하이브리드 기계론-플러스-ML 크로마토그래피 모델과, UV 추적을 정의된 포획 풀로 바꾸는 실시간 풀링 결정을 만납니다.