
우리는 공장 바닥에서 클라우드를 해고했다 — 지금까지 내린 최고의 엔지니어링 결정이었다
결함이 있는 부품은 클라우드가 불량이라고 알려줬을 때 이미 포장이 끝난 상태였다.
나는 엔지니어링 리드와 함께 공장 바닥에 서서 컨베이어 벨트가 평소 속도로 돌아가는 것을 지켜보고 있었다 — 초당 2미터, 특별할 것 없는 속도 — 그러는 동안 우리가 몇 주에 걸쳐 통합한 클라우드 기반 비전 API의 결과를 기다렸다. 카메라가 프레임을 촬영했다. 이미지는 수백 마일 떨어진 데이터 센터로 날아갔다. 모델이 추론을 실행했다. 결과가 돌아왔다: "결함 감지됨."
정답이었다. 완전히 쓸모없었지만.
그 왕복에 걸린 800밀리초 동안 부품은 1.6미터를 이동했다. 공압 이젝터는 카메라에서 하류로 1미터 지점에 있었다. 부품은 그것을 60센티미터 지나쳐 버렸다. 부품은 정상 제품들과 함께 상자에 담겨 출하 준비가 되어 있었다.
엔지니어링 리드가 나를 쳐다봤다. 나는 컨베이어를 바라봤다. 그리고 그 순간, 어떤 아키텍처 다이어그램이나 클라우드 공급업체의 영업 자료도 결코 명확히 해주지 못했던 무언가를 나는 이해했다: 빛의 속도는 업그레이드할 수 있는 기능이 아니다. 인터넷은 확률적이다. 컨베이어 벨트는 그렇지 않다. 그리고 확률적 시스템에 결정론적 프로세스를 맡기면, 매번 예외 없이 물리학이 승리한다.
그날 우리는 공장 바닥에서 클라우드를 해고했다.
800밀리초의 교훈

800밀리초가 실제로 무엇을 의미하는지 정확히 짚고 넘어가자. 인간-컴퓨터 상호작용의 세계에서 이 시간은 아무것도 아닌 것처럼 들리기 때문이다. 링크를 클릭하면 페이지가 800ms 만에 로드되고, 당신은 알아차리지도 못한다. 하지만 제조 라인에서 800ms는 센티미터 단위로 측정되는 영원이다.
내게 모든 것을 바꿔놓은 계산은 이렇다. 초당 2미터로 돌아가는 컨베이어에서 카메라-이젝터 거리가 1미터라면, 500밀리초라는 엄격한 마감 시한이 주어진다. 느슨한 마감이 아니다. "최선을 다하는" 목표가 아니다. 벽이다. 제어 신호가 501ms에 도착하면 부품은 물리적으로 이젝터를 이미 지나가 버린 것이다. 재시도는 없다. 버퍼도 없다. 원자는 비트를 기다려주지 않는다.
우리의 800ms 왕복은 근처에도 못 갔다. 그리고 그 밀리초들이 어디로 갔는지 세분화해 보니 — 이미지 인코딩(20–40ms), 공장의 방화벽과 ISP를 통한 업로드(100–300ms), 네트워크 라우팅과 지터(50–200ms), 클라우드 큐잉(50–100ms), 실제 추론(50–150ms), 그리고 반환 경로(100–200ms) — 우리가 제어 시스템을 만든 게 아니라는 것을 깨달았다. 우리는 매우 비싼 보고 시스템을 만들었을 뿐이었다. 문제가 이미 다른 누군가의 문제가 되어버린 후에야 그것에 대해 알려주는 시스템 말이다.
제어 루프에서 늦게 도착한 데이터는 단지 쓸모없는 것이 아니다 — 위험하다. 시스템 상태는 이미 바뀌어 있다. 오래된 정보를 근거로 행동하는 것은 아예 행동하지 않는 것보다 나쁘다.
정말 뼈아팠던 건 무엇이었을까? AI 모델 자체는 훌륭했다. 결함을 정확히 식별해냈다. 지능은 거기 있었다. 하지만 우리는 그 지능을 잘못된 곳에 두었다 — 그것이 제어해야 할 대상에서 수백 마일 떨어진 곳에.
클라우드 AI는 왜 공장 바닥에서 실패하는가?
내가 클라우드는 실시간 제조 제어에 맞지 않는다고 말하면 사람들은 늘 반박한다. "5G는요?" 그들은 묻는다. "더 빠른 연결은요?"
나는 초기에 잠재 투자자와 정확히 이 논쟁을 벌였다. 그는 주요 통신사의 마케팅 자료를 본 상태였다 — 1ms의 무선 인터페이스 지연시간, 연결된 모든 것의 미래. "그냥 5G를 쓰세요," 그는 당연하다는 듯 말했다.
그래서 나는 무선 주파수 관점에서 공장이 실제로 어떤 모습인지 그에게 하나하나 설명했다. 사방에 강철 대들보가 있어 신호 반사를 일으킨다. 고전압 모터와 아크 용접기가 무선 신호를 방해하는 전자기 간섭을 발생시킨다. 지게차가 센서와 액세스 포인트 사이를 오가며 가시선 연결을 끊는다. 공장은 기본적으로 무선 엔지니어를 싫어하는 누군가가 설계한 RF 악몽이다.
그리고 그 모든 것을 해결한다 해도 — mmWave로 완벽한 5G 커버리지를 얻는다 해도 — TCP/IP라는 근본적인 문제가 여전히 남는다. 인터넷의 전송 프로토콜은 적시성이 아니라 신뢰성을 위해 설계되었다. 패킷이 유실되면 TCP는 기다리고, 재전송을 요청하고, 다시 기다린다. 이메일에는 훌륭하다. 하지만 매번, 편차 없이 500밀리초 이내에 응답이 필요한 제어 루프에는 독약이다.
편차가 바로 킬러다. 단지 클라우드 지연시간이 높다는 게 문제가 아니라 — 그것이 예측 불가능하다는 것이 문제다. 한 요청은 400ms가 걸리고, 다음은 1,200ms가 걸린다. 답이 제때 도착할지 알 수 없는 통신 채널 위에 안전 시스템을 구축할 수는 없다. 나는 이에 대해 우리 연구의 인터랙티브 버전에서 더 깊이 다뤘지만, 짧게 말하면 이렇다: 우리는 최선 노력 전달을 위해 설계된 프로토콜 위에 안전이 걸린 중요 시스템을 구축하기를 거부한다.
12밀리초

해결책은, 일단 눈에 들어오고 나니 거의 창피할 정도로 명백했다. 데이터를 연산으로 보내는 것을 멈춰라. 연산을 데이터로 가져와라.
우리는 NVIDIA Jetson 장치 — 본질적으로 신용카드 크기의 임베디드 슈퍼컴퓨터 — 를 가져다 카메라에서 1미터도 안 되는 곳에, 컨베이어 프레임에 직접 장착했다. 우리는 비전 모델을 32비트 부동소수점에서 8비트 정수 정밀도로 양자화했고, NVIDIA의 TensorRT 옵티마이저로 컴파일했다.
처음 그것을 실행했을 때, 전체 파이프라인 지연시간 — 촬영, 전처리, 추론, 후처리 — 은 12밀리초였다.
나는 그 순간을 결코 잊지 못할 것이다. 우리 팀은 양자화 단계에 회의적이었다. FP32에서 INT8로 낮추는 것이 모델의 정확도를 파괴할지에 대해 사무실에서 격렬한 논쟁이 있었다. 우리 엔지니어 중 한 명은 쓸모 있으려면 정밀도를 너무 많이 잃을 것이라고 확신했다. 우리는 캘리브레이션을 실행하고 양자화된 모델을 배포했으며, 정확도는 1% 미만으로 떨어졌다. 이진 결함 감지 작업 — 흠집이 있느냐 없느냐 — 에서 99.5% 신뢰도와 99.1% 신뢰도의 차이는 무의미하다. 둘 다 거부 동작을 촉발한다.
하지만 속도 차이는 충격적이었다. 12ms에서 부품은 처리 중에 겨우 2.4센티미터를 이동한다. 이젝터에 도달하기 전 97.6센티미터의 안전 여유가 있었다. 빡빡한 게 아니다. 호화로운 것이다. 우리는 모든 결함을 놓치던 상태에서 각 부품마다 여러 번의 검증 패스를 실행할 시간이 충분한 상태로 넘어갔다.
우리는 추론 지연시간을 800ms에서 12ms로 줄였다 — 98.5% 개선 — AI를 데이터 센터에서 손에 쥘 수 있는 장치로 옮김으로써.
여기서 기술적 세부 사항이 중요하며, 엔지니어가 아니더라도 이해할 가치가 있다. Jetson의 통합 메모리 아키텍처는 CPU와 GPU가 동일한 물리적 메모리를 공유한다는 것을 의미한다. 개별 GPU가 있는 전통적인 PC에서는 이미지 데이터를 시스템 RAM에서 GPU 메모리로 복사하느라 밀리초를 낭비한다. Jetson에서는 GPU가 카메라 버퍼를 직접 읽는다. TensorRT는 여러 신경망 계층을 단일 연산으로 융합하여 중복 메모리 접근을 제거한다. 이것들은 미미한 최적화가 아니다 — 표준 YOLOv8 모델은 Jetson의 PyTorch에서 약 35ms로 실행되지만, TensorRT INT8 변환 후에는 3.2ms로 실행된다. 소프트웨어 최적화만으로 동일한 하드웨어에서 10배의 속도 향상을 제공한다.
당신의 이익을 갉아먹는 숨은 공장
이 작업에서 나를 가장 놀라게 한 것은 이것이다: 제조업체에게 가장 큰 비용을 초래하는 것은 파국적 고장이 아니다. 바로 미세 정지다.
제조업에 종사하는 모든 사람은 헤드라인 숫자를 안다 — 자동차 산업에서 계획되지 않은 가동 중단은 평균 분당 22,000달러의 비용이 든다. Siemens는 2024년에 대형 공장에 대해 그 수치를 갱신했다: 시간당 230만 달러. 이 숫자들은 현실이며, 무섭다. 7,000달러짜리 엣지 AI 시스템은 연간 19초의 가동 중단을 막기만 하면 본전을 뽑는다. 19초 말이다.
하지만 나를 밤에 잠 못 들게 한 숫자는 달랐다. 클라우드 기반 AI 시스템이 네트워크 지터를 겪을 때 — 그리고 전자기 간섭으로 가득한 공장에서는 반드시 겪는다 — 라인은 재동기화를 위해 멈춘다. 아마 30초. 어쩌면 그보다 짧을 수도. 아무도 30초의 정지에 대해 사고 보고서를 쓰지 않는다. 그냥... 일어난다. 하루에 열 번. 5분이 사라진다.
1년이면 30시간의 생산 손실이다. 분당 22,000달러라면, 그 "사소한" 네트워크 결함이 연간 3,960만 달러의 비용을 발생시킨다. 파국적 정전에서가 아니라. 생각하기 위해 인터넷 연결에 의존하기 때문에 딸꾹질하는 시스템의 누적된 무게에서.
우리는 이것을 "숨은 공장"이라고 부르기 시작했다 — 각각의 개별 정지가 너무 작아서 중요하지 않아 보이기 때문에 아무도 추적하지 않는 미세 정지를 통해 돈을 소모하며, 거꾸로 돌아가는 유령 생산 라인. 엣지 네이티브 AI는 이것을 완전히 제거한다. Jetson은 WiFi가 끊겨도 신경 쓰지 않는다. ISP가 나쁜 하루를 보내도 신경 쓰지 않는다. 그것은 프레임을 처리하고, 결정을 내리고, 액추에이터를 작동시킨다 — 모두 경계가 있고, 예측 가능하며, 미세한 지연시간을 가진 로컬 전기 연결을 통해서.
공장에게 듣는 법을 가르치면 무슨 일이 벌어질까?
엣지 비전 배치를 시작한 지 약 6개월쯤, 엔지니어 중 한 명이 처음엔 내가 일축했던 아이디어를 들고 왔다. "기계를 그냥 바라보는 것을 멈추고," 그녀가 말했다. "기계의 소리를 듣기 시작하면 어떨까요?"
나는 그녀가 끈질겼던 것이 기쁘다. 왜냐하면 음향 AI가 우리가 택한 가장 중대한 기술적 방향으로 밝혀졌기 때문이다.
카메라의 문제는 이것이다: 보이는 것만 볼 수 있다는 것. 그리고 제조에서 가장 비싼 고장 — 고착된 베어링, 갈라진 스핀들, 펌프의 캐비테이션 — 은 기계 내부에서 일어나며, 파국적 고장의 순간까지 어떤 카메라에도 보이지 않는다. 손상을 눈으로 볼 수 있을 때쯤이면, 당신은 50,000달러의 수리 청구서와 이틀간의 가동 중단을 마주하고 있다.
밝혀진 바에 따르면, 소리는 선행 지표이고 진동은 후행 지표다. 전통적인 가속도계는 베어링 궤도에 스폴링, 피팅 같은 물리적 손상이 이미 발생한 후에야 진동을 감지한다. 하지만 베어링이 윤활을 잃기 시작하거나 미세한 균열이 생기면, 증가한 마찰이 초음파 대역인 20~100kHz의 고주파 응력파를 발생시킨다. 진동 센서가 경보를 울리기 몇 주 전에 말이다.
초음파는 진동 센서가 이상을 알아차리기 몇 주 전에 윤활 실패를 감지할 수 있다. 그것이 500달러짜리 베어링 교체와 50,000달러짜리 스핀들 교체의 차이다.
우리는 내가 5밀리초 킬 스위치라고 부르는 것을 만들었다. 96kHz 또는 192kHz로 샘플링하는 고주파 MEMS 마이크가 TinyML 마이크로컨트롤러 — Jetson도 아니고, 그저 작은 ARM Cortex-M7 칩 — 로 데이터를 공급하며, 건강한 베어링 대 고장 나는 베어링의 스펙트럼 특징으로 학습된 경량 1D 합성곱 신경망을 실행한다. 모델이 균열이 가는 베어링이나 윤활 손실의 특정 주파수 패턴을 감지하면, GPIO 핀을 통해 기계의 비상 정지 회로를 작동시킨다.
충분한 오디오를 획득하는 데 2밀리초. 추론에 1밀리초 미만. 전기 신호에 1밀리초 미만. 총 5밀리초, 그리고 기계는 금속을 녹여 붙일 만큼 열이 쌓이기 전에 멈춘다.
시끄러운 공장 환경에서 우리가 빔포밍과 신호 분리를 어떻게 처리하는지에 대한 전체 기술적 설명은 우리의 연구 논문을 참조하라. 짧게 말하면: 64개 또는 124개의 마이크 배열을 사용하고 도달 시간 차이를 측정함으로써, 우리는 100데시벨의 산업 환경에서도 다른 모든 것을 음소거하면서 시스템의 청취 초점을 3D 공간의 특정 지점 — 베어링 하우징 — 으로 수학적으로 "조향"할 수 있다.
내 마음을 바꾼 볼 베어링
내가 음향 AI의 진정한 신봉자가 된 순간에 대해 이야기해야겠다. 나를 설득한 것은 이론이 아니었기 때문이다. 그것이 작동하는 것을 지켜본 것이었다.
우리 고객 중 하나인 자동차 부품 제조업체에는 반복되는 악몽이 있었다: 그들의 절삭 공정에서 나온 금속 부스러기가 이따금 그들의 CNC 스핀들에 공급되는 냉각수 시스템을 오염시켰다. 오염된 냉각수가 스핀들 베어링에 닿으면, 베어링은 빠르게 열화되었다. 작업자들의 진단 방법은 말 그대로 기계 옆에 서서 "나쁜 소음"을 듣는 것이었다. 사람의 귀가 문제를 감지할 수 있을 때쯤이면, 스핀들은 이미 파괴되어 있었다. 각 사건은 교체 부품에 45,000달러에 더해 이틀간의 가동 중단 비용이 들었다.
우리는 스핀들 하우징을 향한 비접촉 음향 센서를 설치하고, 오염된 냉각수가 베어링의 마찰을 증가시키기 시작할 때 발생하는 특정 주파수 이동 — 25kHz 부근의 에너지 확산 — 으로 TinyML 모델을 학습시켰다.
첫 실제 감지는 어느 화요일 오후에 일어났다. 시스템은 이상을 표시하고 5밀리초 만에 킬 스위치를 작동시켰다. 기계가 멈췄다. 정비팀이 열어 봤을 때, 베어링은 손상되었지만 스핀들 축은 완전히 온전했다. 수리 비용: 800달러. 전체 센서 시스템은 그 단 한 번의 사건으로 본전을 뽑았다 — 몇 달에 걸쳐 누적된 절감이 아니라, 5밀리초가 800달러 수리와 45,000달러 파국의 차이가 된 그 한순간에.
그날 저녁 공장 관리자가 내게 전화했다. 그는 ROI나 투자 회수 기간에 대해 말하지 않았다. 그는 말했다. "내 최고의 작업자도 듣지 못한 것을 그것이 들었어요."
그냥 클라우드 연결을 고치면 안 되나?
사람들은 내게 끊임없이 이것을 묻고, 그것은 정당한 질문이다. 모든 것을 엣지로 옮기는 대신 더 나은 네트워킹에 투자하면 안 되나?
세 가지 이유가 있다.
첫째, 물리학은 고칠 수 없다. 광섬유에서 빛의 속도는 약 초당 200,000km다. 500마일 떨어진 데이터 센터로의 왕복은 처리 시간 0, 큐잉 0, 라우팅 0을 가정하더라도 빛이 이동하는 데만 최소 8ms가 걸린다 — 그중 어느 것도 현실적이지 않다. 실제 네트워크 동작을 더하면 예측 불가능한 편차와 함께 다시 수백 밀리초로 돌아간다.
둘째, 대역폭 경제학은 잔혹하다. 30 FPS로 돌아가는 4K 카메라 네 대를 갖춘 단일 품질 관리 스테이션은 약 80 Mbps의 압축 영상을 생성한다. 공장에는 수백 개의 스테이션이 있다. 8 Gbps의 영상을 24시간 클라우드로 스트리밍한다는 것은 대규모 전용 광섬유 백홀, 월 수만 달러에 이를 수 있는 클라우드 이그레스 요금, 그리고 그 위에 저장 비용을 의미한다. 엣지 처리로 우리는 공장을 떠나야 하는 데이터를 99% 이상 줄인다 — 오직 이상 프레임만 기록 보관을 위해 업로드된다.
셋째 — 그리고 이것이 사람들을 놀라게 하는 것이다 — 보안. 클라우드 기반 AI는 민감한 데이터의 끊임없는 흐름이 공장 부지를 떠날 것을 요구한다. 시제품 이미지. 생산 속도. 독점적인 조립 기법. ITAR 규제 하의 방위 산업 제조업체는 이 데이터를 공유 퍼블릭 클라우드 서버에 절대 올릴 수 없다. 우리의 엣지 아키텍처는 에어 갭을 복원한다. 원본 이미지 데이터는 장치의 RAM을 결코 떠나지 않는다. 오직 메타데이터 — "부품 #1234: 통과" — 만이 대시보드로 간다.
포스트 클라우드 공장은 단절된 것이 아니다. 분산된 것이다. 지능은 기계 위에 살아 있으며, 그곳에서 빠르고, 주권적이며, 네트워크 정전에 면역이다.
인터넷이 끊길 때 — 그리고 공장에서는 반드시 끊긴다 — 우리 시스템은 알아차리지도 못한다. 카메라는 계속 검사하고, 마이크는 계속 듣고, PLC는 계속 작동한다. 로그는 로컬에 캐시되었다가 연결이 복구되면 동기화된다. 그것은 있으면 좋은 기능이 아니다. 분당 22,000달러짜리 생산 라인을 운영하는 제조업체에게, 그것은 실제로는 취약한 "스마트 공장"과 진정으로 견고한 지능형 공장의 차이다.
인더스트리 4.0에 대한 불편한 진실
산업 AI 커뮤니티에서 논란이 될 수도 있지만 내가 깊이 믿는 무언가로 마무리하고 싶다.
지난 10년의 인더스트리 4.0은 거짓말 위에 세워졌다 — 악의적인 것은 아니지만, 그럼에도 거짓말이었다. 그 거짓말은 중앙화가 제조 지능으로 가는 길이라는 것이었다. 모든 것을 클라우드에 집계하라. 데이터 레이크를 구축하라. 거대한 데이터 센터에서 거대한 데이터셋으로 거대한 모델을 학습시켜라. 클라우드 공급업체들은 이 비전을 강하게 팔았고, 제조업체들은 그것이 진보처럼 들렸기 때문에 그것을 샀다.
그것은 진보였다 — 모니터링에 있어서는. 분석에 있어서는. 장기 추세 분석에 있어서는. 클라우드는 "지난 분기 우리의 결함률은 얼마였나?"라거나 "어느 공급업체의 자재가 더 높은 폐기율과 상관관계가 있나?" 같은 질문에 답하는 데 탁월하다. 그런 질문들은 초, 분, 심지어 시간 단위의 지연시간도 견딜 수 있다.
하지만 어느 순간, 사람들은 모니터링을 제어와 혼동했다. 그들은 클라우드를 통해 루프를 닫으려 했다 — 퍼블릭 인터넷을 통해 데이터를 라우팅함으로써 물리적 프로세스에 대한 실시간 결정을 내리려 한 것이다. 그리고 바로 그곳에서 아키텍처가 무너졌다. 컨베이어 벨트의 물리학과 광역 네트워크의 물리학은 근본적으로 양립할 수 없기 때문이다.
산업 지능의 미래는 클라우드에 있지 않다. 그것은 장치 위에, 행동의 지점에, 코드가 운동 에너지를 만나는 곳에 있다. 그것은 초당 275조 회의 연산을 제공하는 2,000달러짜리 Jetson 모듈이며, 자신이 보호하는 기계에 장착되어, 누구의 허락도 구하지 않고 12밀리초 만에 결정을 내린다.
우리는 클라우드를 해고하려고 나선 것이 아니었다. 우리는 컨베이어 벨트 위의 결함 부품을 잡아내려고 나섰다. 하지만 컨베이어는 클라우드 공급업체들이 결코 가르쳐주지 않을 무언가를 우리에게 가르쳐 줬다: 제조에서 중요한 유일한 지연시간은 0이다. 그 외의 모든 것은 물리학과의 타협이며, 물리학은 협상하지 않는다.