TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 22 READS

집에서 훈련한 0.8B '결정 모델' Jeff, 단일 추론으로 30ms 만에 판단한다

집에서 훈련한 0.8B '결정 모델' Jeff, 단일 추론으로 30ms 만에 판단한다
SOURCE IMAGE · HACKER NEWS

대형 언어 모델에 분류나 라우팅 같은 단순한 판단을 맡길 때 실무자들이 겪는 공통된 불편이 있다. 모델이 문장을 생성하고, 그 문장을 다시 파싱해 결과를 뽑아내야 하며, 그 과정에서 수백 밀리초의 지연과 예측 불가능한 출력이 따라온다. firelex가 공개한 오픈소스 프로젝트 Jeff는 이 지점을 정면으로 겨냥한다. Qwen3.5와 Gemma 4를 파인튜닝한 0.8B·2B급 소형 모델로, 텍스트를 생성하는 대신 주어진 선택지마다 보정된 확률값을 단 한 번의 순전파(forward pass)로 반환한다. 생성도 파싱도 없이, RTX PRO 6000에서 약 22ms, 애플 M4 Max(MLX)에서 약 28ms 만에 결정이 끝난다.

생성 대신 '판단'을 반환하는 구조

Jeff의 사용 방식은 단순하다. 상황을 자연어로 서술하고 선택지들을 평범한 말로 나열하면, 모델이 각 선택지에 대한 확률과 함께 최종 선택지, 그리고 신뢰도를 돌려준다. 질문 유형은 세 가지다. 최대 255개 중 하나를 고르는 choice, 예/아니오를 확률로 답하는 noul, 그리고 사용자가 정의한 척도 위의 한 점을 찍는 score다. 여러 개의 독립적인 질문을 한 요청에 담아 함께 처리할 수도 있다. 핵심은 제로샷이라는 점이다. 지원 티켓 분류, 사용자 의도 파악, 콘텐츠 검열 라벨, 음성 명령, 게임 수읽기 등 어떤 범주든 훈련 데이터에 등장할 필요가 없다. 범주를 말로 설명하기만 하면 Jeff가 고른다.

주목할 만한 점은 요청 형식이 Jev와 동일하다는 것이다. 다만 Jeff는 Jev를 만든 TypeSafe와 제휴하거나 그로부터 승인받은 프로젝트가 아니다. 훈련 코드는 Denis Yarats가 MIT 라이선스로 공개한 AutoJev 레시피에서 출발했고, Jeff는 그 핵심 설계(결정당 한 번의 순전파, 학습된 답 판독부, 보정용 온도 파라미터)를 유지한 채 소형 학생 모델과 로컬 합성 데이터 파이프라인, 애플 실리콘용 MLX 서빙 등을 얹었다.

클라우드 없이, 집에서 훈련한 모델

제작 과정 자체가 이 프로젝트의 성격을 잘 보여준다. 훈련은 RTX PRO 6000 워크스테이션 GPU 한 대에서 이뤄졌으며, 0.8B 모델은 약 2시간, 2B 모델은 약 3.5시간 만에 학습이 끝난다. 훈련용 합성 데이터는 오픈 모델(Qwen3.8-Flash-Next)이 DGX Spark 두 대에서 직접 작성했고, 테스트는 맥북에서 진행됐다. 클라우드 GPU도, 훈련 데이터에 섞인 폐쇄형 모델의 출력물도 없다. 폐쇄 모델은 오직 합성 데이터 샘플의 품질을 점검하는 용도로만 쓰였다. 훈련 레시피는 전체 가중치 파인튜닝, 1에포크, 배치 256, 선택지 문자에 대한 교차 엔트로피, 그리고 보정을 위한 온도 하나를 맞추는 방식이다. 체크포인트는 개발용 셋에서만 고르고 벤치마크 패널에서는 절대 고르지 않는다.

강점과 명확한 한계

성능은 정직하게 제시돼 있다. 다섯 개 공개 벤치마크에서 뽑은 4,599개 문항과 JevBench 하드 티어 105개 문항으로 평가한 결과, Jeff의 종합 점수를 끌어올린 것은 분류와 그라운딩 영역이다. 이 영역에서는 훨씬 큰 모델들과 대등하거나 앞선다. 반면 BBH, JudgeBench, JevBench 같은 추론 중심 과제에서는 크게 뒤처진다. 이 크기의 모델에 당연히 기대할 결과다. 제작진 스스로 벤치마크에서 Jev에 근접하거나 이기기도 하지만, 이 규모에서 추론력이 훨씬 큰 모델을 따라잡지는 못한다고 못 박는다. 이는 Jeff를 '작고 빠른 판단기'로, 즉 System 1에 해당하는 직관적 결정용 도구로 위치시키는 솔직한 자기규정이다.

벤치마크와 전혀 다른 과제에서의 제로샷 성능을 보기 위해 제작진은 Jeff에게 Frogger, Doom 등 세 가지 게임을 시켰다. 매 턴 코드가 상황과 가능한 수를 말로 서술하되 어느 수가 옳은지는 알려주지 않고, 각 선택지가 어떤 결과로 이어지는지만 설명한다. Jeff-0.8B는 M4 Max에서 한 수를 29~49ms 만에 결정했다. 참고로 Jev가 공개한 Doom 실행은 API 호출당 212ms가 걸렸는데, 두 수치는 같은 하드웨어에서 측정된 것이 아니어서 직접 비교로 받아들이면 안 된다.

실무자에게 주는 시사점

한국의 IT 실무자 관점에서 Jeff가 던지는 메시지는 분명하다. 라우팅, 분류, 라벨링처럼 '생성이 필요 없는 결정'을 대형 모델 API에 맡기던 관행은 비용과 지연 면에서 과했다는 것이다. 로컬에서 30ms 안에 보정된 확률을 얻을 수 있다면, 실시간 파이프라인이나 온디바이스 환경에서 선택지가 크게 넓어진다. 특히 제로샷 정확도가 부족할 때의 대안도 구체적이다. 자체 예시로 짧게 파인튜닝하면 되는데, 제작진의 음성 내비게이션 파인튜닝은 GPU 한 대에서 30분도 안 되는 시간에 보류 셋 정확도를 31.7%에서 95.8%까지 끌어올렸다.

물론 한계도 함께 봐야 한다. Jeff는 복잡한 추론이 필요한 판단에는 부적합하며, 그 지점에서는 더 큰 모델이 여전히 필요하다. 코드는 MIT, 모델 가중치는 Apache 2.0으로 풀렸지만 훈련 데이터는 공개되지 않으며 일부 출처는 CC BY-SA 같은 카피레프트 계열이라 재활용 시 라이선스 확인이 필요하다. 그럼에도 클라우드와 폐쇄 모델 없이 워크스테이션 한 대로 실용적인 결정 모델을 빚어낼 수 있음을 보여줬다는 점에서, Jeff는 '작은 모델의 쓸모'를 다시 계산하게 만드는 사례다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/firelex/jeff
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...