ORIGINAL FICTION
제76화 — 복잡한 모델
지난 화 끝부분 다시 보기
CR-1이 첫 실험에서 예상 밖 후보를 하나 남긴 뒤, Daniel은 모델을 더 복잡하게 만들고 싶어 했다.
이유는 단순했다.
미래에는 더 복잡한 모델이 더 많은 걸 해냈다.
그는 직접 그 시대의 시스템을 썼다.
재료.
유체.
구조.
배터리.
수많은 설계후보를 AI가 먼저 좁혔다.
지금 CR-1은 너무 단순해 보였다.
“비선형 상호작용을 더 많이 잡아야 합니다.”
Daniel이 말했다.
Elena는 화면을 보다가 물었다.
“데이터 몇 개인지 아시죠?”
“압니다.”
“그럼 왜.”
“구조가 있습니다.”
“무슨 구조요?”
Daniel은 설명했다.
조성 간 상호작용.
온도.
밀도.
강도.
특성들이 단순히 독립적이지 않다.
모델이 더 깊은 관계를 잡을 수 있다.
Elena가 물었다.
“그 관계를 지금 데이터가 보여줍니까?”
Daniel이 멈췄다.
“이론적으로.”
“이론을 넣는 건 방법입니다.”
Elena가 말했다.
“모델 복잡도를 올리는 것과는 다른 문제고요.”
회의실은 조용했다.
Daniel은 조금 짜증났다.
“복잡한 모델이 무조건 나쁘다는 건 아니잖아요.”
“당연하죠.”
“그럼 시험합시다.”
“시험은 하죠.”
Elena는 쉽게 동의했다.
그게 오히려 Daniel을 멈추게 했다.
“단.”
그녀가 말했다.
“기준모델보다 못하면 버립니다.”
Daniel이 웃었다.
“좋습니다.”
두 모델.
기존 단순모델.
복잡한 비선형 모델.
동일 데이터.
동일 검증방식.
첫 내부검증.
복잡한 모델 승리.
오차 감소.
후보순위도 조금 더 좋았다.
Daniel의 표정이 밝아졌다.
“보셨죠.”
Elena는 말이 없었다.
“외부영역.”
두 번째 테스트.
기존과 조금 다른 조성범위.
결과.
단순모델 승리.
복잡한 모델은 자신있게 틀렸다.
특히 데이터가 적은 구간.
Daniel이 말했다.
“튜닝 문제입니다.”
Elena가 물었다.
“왜 그렇게 생각하시죠?”
“모델 용량은 충분합니다.”
“그래서 더 문제일 수도 있고요.”
과적합.
Daniel도 알고 있었다.
하지만 미래에는 이런 모델이 강했다.
그 사실이 계속 머릿속에서 속삭였다.
“데이터 더 넣으면 달라집니다.”
“맞을 수 있습니다.”
Elena가 고개를 끄덕였다.
“지금 데이터에서는 아니고요.”
또.
지금은 아니다.
Daniel이 가장 싫어하는 문장.
그들은 세 번째 테스트를 했다.
데이터 절반만 사용.
복잡한 모델 성능 급락.
단순모델은 덜 나빠졌다.
네 번째.
노이즈를 조금 추가.
복잡한 모델 흔들림 큼.
Elena가 말했다.
“현재 연구단계에서는 이쪽이 안전합니다.”
Daniel은 화면을 봤다.
“미래에는 반대가 될 겁니다.”
말이 나왔다.
Elena가 그를 봤다.
“또 미래.”
Daniel이 표정을 고쳤다.
“데이터가 늘면.”
“그렇게 말하면 동의합니다.”
“같은 뜻 아닙니까?”
“아닙니다.”
Elena는 단호했다.
“‘데이터가 늘면’은 조건입니다.”
그리고 Daniel을 보며 말했다.
“‘미래에는’은 믿음이고요.”
말이 아팠다.
Daniel은 반박하지 않았다.
그날 복잡한 모델은 폐기하지 않았다.
연구폴더로 보냈다.
제품이나 실제 후보선정에는 사용하지 않는다.
조건이 바뀌면 다시 본다.
`Not now.`
52화에서 서비스 기능을 미뤘던 폴더 이름.
이번에는 연구에도 적용됐다.
Daniel은 웃었다.
“모든 게 결국 Not now로 가네요.”
Elena가 말했다.
“그게 연구죠.”
“언젠가는?”
“데이터가 말하면.”
며칠 뒤 고객 연구자가 물었다.
“어떤 모델 쓰는 겁니까?”
Daniel은 복잡한 설명을 하려 했다.
Elena가 먼저 말했다.
“현재 데이터에서는 가장 잘 버티는 모델을 씁니다.”
“최신 모델이 아니고?”
“최신이 목표가 아니니까요.”
“그럼 뭐가 목표죠?”
“틀렸을 때 덜 위험한 모델.”
Daniel은 그 말을 기억했다.
과학연구에서 최고 정확도만 보는 게 아니다.
불확실한 영역에서 얼마나 겸손한가.
데이터가 줄었을 때 얼마나 무너지지 않는가.
틀릴 때 얼마나 틀리는가.
그날부터 CR-1 결과에는 순위만 표시하지 않았다.
신뢰구간.
데이터 밀도.
기존 관측범위에서 얼마나 벗어났는지.
상위 후보 1위.
그 옆에:
High uncertainty
연구자가 그걸 보고 물었다.
“1위인데 불확실?”
Elena가 말했다.
“그래서 실험할 가치가 있는 겁니다.”
Daniel이 고개를 들었다.
확신이 높아서 실험하는 게 아니다.
불확실하지만 잠재력이 있어서 실험한다.
그 차이가 흥미로웠다.
과학 AI가 하는 일은 정답을 선언하는 게 아니다.
비싼 질문을 어디에 쓸지 정하는 것.
그게 현재 데이터로 가능한 가장 강한 역할이었다.
Daniel은 개인 노트에 적었다.
Complexity is not progress.
그리고 한 줄 더.
Use the simplest model that survives the question.
미래에서 본 거대한 AI 시스템은 수십 년의 데이터와 인프라 위에 있었다.
결과만 기억해 현재로 끌어오면 안 된다.
이번에도.
다리부터 만들어야 했다.
복잡한 모델을 시험하는 데는 계산비용도 훨씬 많이 들었다.
학습시간.
메모리.
튜닝.
실험횟수.
Daniel은 그 비용을 거의 신경 쓰지 않았다.
Helioxen은 계산회사다.
컴퓨팅은 있다.
Elena가 재무자료를 가져왔다.
“이 모델 한 번 검증하는 데 단순모델의 몇 배인지 보세요.”
Daniel이 숫자를 봤다.
“그래도 감당 가능합니다.”
“감당 가능하고 가치 있는 건 다릅니다.”
또.
연구팀은 동일한 예산 안에서 비교했다.
단순모델은 검증을 여러 번 할 수 있었다.
복잡한 모델은 적은 횟수.
결과 불확실성.
복잡한 쪽이 더 컸다.
Daniel이 말했다.
“컴퓨팅 늘리면.”
Elena가 웃었다.
“대표님 회사니까 늘릴 수 있죠.”
“그럼.”
“근데 고객은요?”
CR-1을 다른 회사가 쓰면 Helioxen처럼 계산자원을 마음껏 쓸 수 없다.
운영비.
재현시간.
유지관리.
모델 선택도 제품경제의 일부였다.
A1에서 배운 걸 AI에서 또 잊을 뻔했다.
최고성능 모델.
비싼 운영.
느린 반복.
그게 실제 연구주기를 늦출 수도 있다.
팀은 `performance per experiment cost`를 보기 시작했다.
결과.
단순모델이 현재 단계에서는 압도적으로 유리.
Daniel은 마지못해 인정했다.
“싼 게 이겼네요.”
Elena가 말했다.
“단순한 게 이긴 겁니다.”
“비슷하죠.”
“아니요. 나중에 단순하면서 비쌀 수도 있고 복잡하면서 싸질 수도 있으니까.”
정확한 구분.
Daniel은 웃었다.
“왜 모든 말을 정의부터 합니까?”
“대표님이 미래부터 가니까요.”
둘은 점점 서로의 패턴을 알고 있었다.
복잡한 모델은 `Not now` 폴더로 갔다.
그런데 연구팀은 코드까지 버리지 않았다.
데이터가 일정량을 넘으면 자동으로 다시 비교하는 테스트를 걸었다.
3개월 후.
6개월 후.
데이터 2배.
조건이 바뀌면 재평가.
Daniel은 그 구조가 마음에 들었다.
‘나중에’라는 말이 막연한 연기가 아니다.
다시 볼 조건을 정해놓는다.
A1 Re-entry Criteria와 같은 철학.
기술을 죽이지 않고, 현재 제품에서 떼어낸다.
그날 Daniel은 `Not now` 폴더를 열어봤다.
생각보다 많았다.
가속기 제품.
일부 AI 아이디어.
의료 예측기능.
연구자동화.
과거라면 모두 동시에 밀었을 것들.
지금은 조건이 생기면 다시 볼 항목.
Daniel은 처음으로 미뤄둔 아이디어들이 실패묘지처럼 보이지 않았다.
미래를 기다리는 창고.
중요한 건 창고가 회사 본관을 막지 않는 것이었다.
대니얼은 그날부터 모델 복잡도 자체도 하나의 비용으로 기록하기 시작했다. 더 똑똑해 보이는 모델보다, 더 자주 검증할 수 있는 모델이 현재에는 더 강할 수 있었다.
읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.