캐드 도면 300장을 온톨로지로 — 노드 370만개
오후 5시 45분, 한 참여자가 진행 중인 작업을 꺼냈다. 도면을 이미지나 파일 단위로 쌓아 두는 것이 아니라, 그 안의 벡터 데이터까지 풀어 관계로 엮는 작업이었다.
"300장 도면 모든 벡터데이터 까지 온톨로지 패키징 중인데"
그리고 같은 분에 규모가 붙었다. 도면 300장에서 나온 노드가 370만개라는 숫자였다.
"노드가 370만개입니다 ㅋㅋㅋㅋㅋ"
도면 한 장당 1만개가 넘는 노드가 만들어졌다는 뜻이다. 반응은 감탄이 아니라 의심이었다. 다른 참여자는 그 정도 숫자라면 데이터가 늘어난 것이 아니라 과정에서 부풀려졌을 가능성을 짚었다.
"뭔가 오버 생성되는걸수도"
원인 진단은 곧 원본 쪽으로 향했다. 캐드 파일은 겉으로 보이는 도면과 실제 저장된 요소가 어긋나기 쉬운 형식이라는 지적이었다.
"더티 데이터가 많아요 캐드는"
구체적으로 지목된 것은 겹쳐 그려진 선의 중복, 폴리라인이 잘게 쪼개지며 생기는 분절점, 그리고 해치와 xref 같은 요소였다. 눈으로 볼 때는 선 하나로 보이지만 파일 안에서는 여러 조각으로 나뉘어 있거나, 채움 무늬와 외부 참조가 각각 별도의 개체로 잡히는 구조다. 이런 상태를 그대로 그래프로 옮기면 도면의 의미가 아니라 파일의 잡음이 노드로 승격된다.
이야기는 자연스럽게 다음 단계로 넘어갔다. 어느 모델로 인제스트하는지를 묻는 질문이 붙으면서, 전처리와 모델 선택이 한 묶음으로 다뤄졌다. 같은 도면이라도 무엇을 하나의 개체로 인정할지는 넣는 쪽 모델이 정하는 몫이라, 어느 모델을 쓰느냐가 곧 노드 수를 좌우한다는 인식이 깔린 질문으로 읽힌다.
"인제스트할때 모델은 루나로 하시나요?"
이 짧은 대화가 보여 주는 것은 도면 자동화의 병목 위치로 보인다. 300장을 처리할 연산이 부족해서가 아니라, 원본이 사람 눈에 맞춰 그려진 탓에 기계가 읽을 구조로 바꾸는 단계에서 규모가 폭발한다. 노드 370만개는 성과 지표가 아니라 전처리가 아직 덜 됐다는 신호에 가깝게 읽힌다. 숫자를 본 다른 참여자가 감탄 대신 과다 생성부터 의심한 것도 같은 감각일 것이다.
규모가 부풀면 비용은 저장 공간이 아니라 검색 품질에서 먼저 나타난다. 중복된 선과 쪼개진 조각이 각각 노드로 잡혀 있으면 질의 하나에 사실상 같은 대상이 여러 번 걸리고, 답을 고르는 단계가 무거워지기 때문이다. 전처리를 먼저 말한 흐름은 그 부담을 앞단에서 끊자는 판단으로 보인다.
같은 날 방에서 오간 다른 작업기들과 겹쳐 보면 흐름은 더 분명해진다. 책을 잘라 스캔하고 자료를 온톨로지로 묶겠다는 이야기가 나란히 오갔는데, 공통점은 이미 존재하는 자료를 AI가 다룰 수 있는 형태로 옮기는 일이라는 점이다. 그리고 그 일의 난도는 자료의 양보다 자료가 원래 누구를 위해 만들어졌는지에 달려 있다는 점을 시사한다. 사람이 보라고 그린 도면일수록 기계에게 넘기는 비용이 커지는 셈이다.