작고 빠른 온디바이스 모델의 딜레마는 하나다. 빠르고 프라이빗하지만, 가끔 틀린다. 더 나쁜 건, 틀렸을 때조차 자신 있게 틀린다는 점이다. Cactus의 접근은 여기서 방향을 튼다. 모델을 더 똑똑하게 만드는 대신, '자기가 틀렸을 때를 알게' 만들었다.
방법은 이렇다. 체크포인트 안에 **프로브(probe)**를 심어, 모든 답변에 0~1 사이 신뢰도 점수를 매긴다. 답변 텍스트에서 뽑아내는 게 아니라 구조화된 데이터로 함께 나온다. 신뢰도가 높으면 온디바이스에서 답하고, 낮으면 더 큰 모델로 넘긴다.
1 2if confidence < 0.85: answer = ask_a_bigger_model(prompt)
작은 모델 + '자기 인식' = 큰 모델의 값
첫 릴리스는 Gemma 4 E2B Hybrid, 가장 작은 Gemma 모델이다. 이게 Gemini 3.1 Flash-Lite급 성능을, 쿼리의 15~55%만 클라우드로 넘기고 나머지는 스스로 처리해서 낸다.
뒤집어 보면 이렇다. 절반 이상을 온디바이스에서(공짜·프라이빗·빠르게) 처리하고, 정말 어려운 15~55%만 클라우드로 escalate. 작은 모델 + 좋은 불확실성 추정 ≈ 큰 모델을, 클라우드 비용의 일부로.
핵심은 '말로 하는 자신감'이 아니라 '숨은 상태'를 읽는 것
흔히 쓰는 '모델아, 얼마나 확신해?'는 못 믿는다. 모델은 말로는 아무 숫자나 뱉기 때문이다. Cactus는 대신 은닉 상태(hidden state)에서 정답/오답 신호를 프로브로 직접 읽는다.
얼마나 잘 되나? AUROC(오답과 정답을 얼마나 잘 가르는지, 0.5는 랜덤·1.0은 완벽) 평균이 0.814다. 토큰 엔트로피 같은 기존 방식(0.549)을 크게 앞선다.
가장 놀라운 결과 — 오디오
프로브는 오디오 데이터로는 전혀 학습되지 않았다. 그런데도 4개 오디오 벤치마크에서 AUROC 0.79~0.88을 낸다.
이건 '표면적 패턴 암기'로는 설명이 안 된다. 즉 프로브는 특정 태스크의 패턴을 외운 게 아니라, 모달리티와 무관한 '맞았는지/틀렸는지' 신호를 은닉 상태에서 읽고 있다는 뜻이다. 모델 내부에 태스크를 가리지 않는 '나 지금 확실하지 않아'라는 표상이 있을지도 모른다는 얘기다.
왜 이게 인사이트인가
온디바이스 AI의 병목은 대개 '얼마나 똑똑한가'로 이야기된다. Cactus는 축을 바꾼다 — '자기가 언제 모르는지 아는가'.
환각(hallucination)의 실질적 해법은 '항상 맞히는 모델'이 아니라, 틀릴 때를 알고 넘길 줄 아는 시스템일 수 있다. 프로덕션에선 완벽한 답보다 정직한 불확실성이 더 쓸모 있을 때가 많다. 신뢰도 게이트로 온디바이스↔클라우드 라우팅이 자동화되면, 비용·지연·프라이버시의 균형을 실시간으로 조절할 수 있다.
마무리
좋은 모델은 정답을 잘 맞히는 모델이 아니라, 자기가 틀렸을 때를 아는 모델이다.
참고 자료
