2026년 10월 3~4일, 하루 동안 직접 테스트한 기록이다. 정확도는 내가 가진 한국어 데이터 기준이고, 모든 모델을 별도 학습 없이 받은 그대로 돌린 결과다. 데이터와 과제가 다르면 결과도 달라질 수 있다.
목차
목차 펼치기
요약
- Laya는 무료·무제한이 맞지만, 한국어 분류 정확도는 Jev에 크게 못 미쳤다. 같은 300건에서 Laya 41.0%, Jev 73.3%였다.
- 더 큰 문제는 확신도였다. Laya가 «80% 이상 확신한다»고 한 답도 절반가량 틀렸다.
- 로컬 오픈 모델 Kev-4B(74.7%)와 JEV-9B 8bit(72.3%)는 유료 Jev(73.3%)와 같은 수준이었다. 300건 표본의 오차가 ±5%p라 1~2%p 차이는 의미가 없다.
- 확신도는 오히려 로컬 모델이 더 믿을 만했다. 가장 확신한 답 상위 30%만 보면 Kev-4B 99%, JEV-9B 96%, Jev 89%가 맞았다.
- Jev를 따라 배운 JEV-9B는 원본(약 18GB)이 내 12GB GPU에 들어가지 않았지만, 8bit로 줄이자 10.4GB로 들어갔다. 속도는 Kev-4B보다 3~7배 빨랐다.
- 결론은 Kev-4B로 하루 한 번 미리 계산해 두는 캐시 방식이다. 무료이면서, 확신하는 답을 거의 믿을 수 있기 때문이다.
왜 이 테스트를 했나
나는 360° VR로 장소를 둘러보는 서비스를 운영하고 있다. 이 서비스의 검색창에 이런 기능을 붙이고 싶었다.
- 사용자가 «부산 바다 카페»라고 검색하면, 이게 «카페»를 찾는 검색이라는 걸 알아채고 카페 콘텐츠를 추천 목록 위쪽으로 올린다.
- 콘텐츠 이름에 «카페»라는 단어가 없어도, 카페로 분류된 콘텐츠라면 찾아 준다.
이걸 하려면 검색어와 콘텐츠를 «카테고리」로 판단해 주는 무언가가 필요하다. 매번 ChatGPT 같은 LLM을 부르면 느리고, 사용량만큼 비용이 계속 나간다.
그러던 중 유튜브에서 Laya를 봤다. «유료 Jev 대신 Laya를 쓰면 무료로, 무제한으로 쓸 수 있다»는 내용이 많았고, GitHub 별이 3만 개가 넘을 만큼 화제였다. 실서비스에 조금이라도 도움이 되면서 무료로 붙일 수 있다면 더없이 좋은 기회라고 생각했다. 그래서 정말 그런지 내 데이터로 직접 확인해 보기로 했다.
결정 모델이란
ChatGPT 같은 LLM이 글을 «생성»한다면, 결정 모델은 정해진 형식의 질문에 답과 확률을 한 번의 계산으로 돌려준다.
- «이 콘텐츠는 A·B·C 중 어디에 속하나?» →
B, 확률 0.93 - «이 검색어는 카페를 찾는 것인가?» →
예, 확률 0.98
글을 길게 생성하지 않아서 빠르고 싸다. 그리고 확률이 같이 나오는 것이 핵심이다. 확률이 높은 답은 자동으로 쓰고, 낮은 답은 쓰지 않거나 사람이 보게 하는 구조를 만들 수 있다. 그래서 확률을 믿을 수 있는지가 정확도만큼 중요하다.
비교한 모델
| 모델 | 만든 곳 | 형태 | 크기 | 비용 | 인기도 (2026-10-03) |
|---|---|---|---|---|---|
Jev (jev-1.13) | TypeSafe AI | 클라우드 API | 비공개 | 유료. 무료판 jev-1.13-free 는 기간 한정 | - |
| Laya | 오픈소스 | 로컬 (ModernBERT 인코더) | 421M | 무료 (Apache 2.0) | GitHub ⭐ 약 3.0만 |
| Kev-4B | 오픈소스 (jaredpalmer) | 로컬 (Qwen3.5-4B + LoRA) | 4B | 무료 | GitHub ⭐ 약 8.4천 |
| JEV-9B | autotrust | 로컬 (Qwen3.5-9B + Jev 증류 어댑터) | 9B, 원본 약 18GB | 무료 | HF 다운로드 약 1.2만 |
| Tev1-4B | Together AI | 로컬 (Ollama) | 4B | 무료 | GitHub ⭐ 약 200 |
- JEV-9B는 Jev의 답 약 50만 건을 따라 배우도록 학습한 모델로, Jev와 같은 답을 고르는 비율이 90%라고 공개돼 있다. «Jev와 거의 차이 없는 무료 모델»로 알려진 것이 이 모델이다.
- 공개 벤치마크는 출처마다 엇갈린다. Laya 쪽은 영어 벤치마크에서 Laya 76.6%, Jev 72.7%로 Laya가 앞선다고 소개한다. 반면 같은 입력으로 비교한 커뮤니티 벤치마크에서는 Jev 0.907, Laya 0.686이었다.
- Tev1은 선택지를 최대 24개까지만 받아서, 31개 중에 고르는 이번 과제에는 맞지 않아 제외했다.
테스트 환경과 방법
| 항목 | 내용 |
|---|---|
| 로컬 모델 실행 | 집에 있는 데스크톱 PC. RTX 3060 12GB, RAM 32GB, Windows(WSL) |
| 호출 | 다른 컴퓨터에서 VPN(tailscale)으로 API 호출 |
| Jev | 클라우드 API (jev-1.13-free) |
| 데이터 | 내가 운영하는 서비스의 한국어 장소 콘텐츠 300건 (무작위 추출, 모든 모델에 같은 300건) |
| 과제 | 제목·태그·설명을 보고 대분류 31개 중 하나 고르기 |
| 정답 | 서비스에서 이미 쓰고 있는 분류값 |
| 학습 | 없음. 모든 모델을 받은 그대로 사용 |
대분류마다 하위 분류 이름을 설명으로 붙였다(예: «학교: 초등학교, 중학교, 고등학교, 대학교…»). 질문 방식은 두 가지를 썼다.
- 1단계: 31개 대분류를 한 번에 묻는다.
- 2단계: 먼저 7개 묶음(숙박·식음 / 상업·서비스 / 문화·역사·종교 / 교육 / 공공 / 자연·관광·레저 / 기타) 중 하나를 고르고, 그 묶음 안의 대분류 중 하나를 고른다. 1단계 확신이 70% 미만이면 상위 2개 묶음을 합쳐서 묻는다. JEV-9B는 선택지를 16개까지만 받아서 2단계로만 측정했다.
결과 1: 정확도와 속도
| 모델 · 질문 방식 | 정확도 | 한 건 응답 시간 (중간값) | GPU 메모리 |
|---|---|---|---|
| Laya, 1단계 | 41.0% | 28ms | 약 1.7GB |
| Laya, 2단계 | 38.7% | 48ms | 약 1.7GB |
| Jev, 1단계 (설명 8개) | 73.7% | 802ms | 클라우드 |
| Jev, 1단계 | 73.3% | 764ms | 클라우드 |
| Kev-4B, 1단계 | 74.7% | 3,876ms | 약 11.7GB |
| Kev-4B, 2단계 | 73.0% | 1,921ms | 약 11.7GB |
| JEV-9B 4bit, 2단계 | 70.3% | 508ms | 7.6GB |
| JEV-9B 8bit, 2단계 | 72.3% | 584ms | 10.4GB |
- 유튜브의 «Laya가 Jev를 대체한다»는 이야기와 달리, 한국어 데이터에서는 Jev가 Laya보다 30%p 이상 정확했다. Laya는 질문 방식을 바꿔도 오르지 않았다(41.0% → 38.7%). 질문 방식이 아니라 모델 자체의 한계로 보인다.
- Kev-4B·Jev·Kev-4B 2단계·JEV-9B 8bit 네 개는 사실상 같은 수준이다. 300건 표본의 95% 신뢰구간이 ±5%p라서, 74.7%와 72.3%의 차이는 우연으로도 충분히 생긴다. «Kev가 Jev를 이겼다»보다 «무료 로컬 모델이 유료 Jev를 따라잡았다» 가 정확하다.
- JEV-9B는 정확도는 Kev와 비슷하면서 속도가 3~7배 빨랐다.
처음 측정할 때는 내 실수가 있었다. 선택지 설명을 앞에서 8개까지만 넣는 바람에 «학교» 설명에서 «대학교»가 잘려 나갔다. 이때 Kev-4B 1단계는 68.3%였는데, 설명을 전부 넣자 74.7%로 올랐다. 2단계는 더 심해서 48.0%까지 떨어졌다가 73.0%로 회복했다. 로컬 결정 모델은 선택지 설명을 얼마나 잘 써 주느냐에 따라 결과가 크게 달라진다.
반면 Jev는 설명을 8개만 줬을 때(73.7%)와 전부 줬을 때(73.3%)가 거의 같았다. 설명이 부족해도 스스로 잘 메우는 쪽이다.
결과 2: 확신도를 믿을 수 있는가
실서비스에서는 «확신이 높은 답만 자동으로 쓰고 나머지는 쓰지 않는다»가 기본이다. 그래서 확신도별 정확도를 따로 봤다.
| 모델 · 질문 방식 | 확신 80% 이상 답의 정확도 (그런 답의 비율) | 확신 90% 이상 답의 정확도 (그런 답의 비율) |
|---|---|---|
| Laya, 1단계 | 49.4% (55%) | 51.5% (45%) |
| Laya, 2단계 | 60.9% (46%) | 60.2% (28%) |
| Jev, 1단계 (설명 8개) | 81.3% (73%) | 82.4% (51%) |
| Jev, 1단계 | 83.3% (84%) | 85.0% (78%) |
| Kev-4B, 1단계 | 95.5% (44%) | 99.0% (32%) |
| Kev-4B, 2단계 | 95.1% (48%) | 95.4% (22%) |
| JEV-9B 4bit, 2단계 | 85.9% (66%) | 91.1% (52%) |
| JEV-9B 8bit, 2단계 | 86.8% (68%) | 88.2% (56%) |
모델마다 확신을 주는 «성격»이 달라서, 같은 80%라도 의미가 다르다. 그래서 각 모델이 가장 확신한 답을 같은 비율만큼 잘라서 다시 비교했다.
| 가장 확신한 상위 | Kev-4B 1단계 | Kev-4B 2단계 | JEV-9B 8bit | Jev |
|---|---|---|---|---|
| 20% | 98% | 95% | 95% | 88% |
| 30% | 99% | 96% | 96% | 89% |
| 50% | 94% | 94% | 93% | 93% |
| 70% | 87% | 88% | 87% | 89% |
- Laya는 확신해도 틀린다. 90% 이상 확신한 답도 절반 가까이 틀렸다. «서울역사박물관»을 확률 1.0으로 «도서관»이라고 답하는 식이다. 확신도로 걸러 쓰는 구조를 만들 수 없다.
- 확신이 높은 구간에서는 로컬 모델이 Jev보다 정확했다. Jev는 가장 확신한 답 상위 20%에서도 10건 중 1건 넘게 틀렸다.
- Kev-4B는 확신을 아껴 준다. 90% 이상 확신한 답은 99%가 맞았다. 대신 그렇게 확신하는 답이 전체의 32%로 적다.
- JEV-9B는 확신을 후하게 준다. 그래서 같은 품질을 원하면 기준선을 더 높여야 한다. JEV-9B 8bit는 95% 이상만 쓰면 정확도 95.1%에 전체의 48%를 처리했다. Kev-4B 2단계를 80% 이상으로 썼을 때(95.1%, 48%)와 똑같다.
결과 3: Jev와 얼마나 같은 답을 내나
«Jev 대신 쓸 수 있나»를 보려고, 각 모델이 Jev와 같은 답을 고른 비율도 쟀다.
| 모델 · 질문 방식 | Jev와 같은 답 |
|---|---|
| Laya, 1단계 | 40.7% |
| Laya, 2단계 | 44.0% |
| Kev-4B, 2단계 | 85.3% |
| JEV-9B 4bit, 2단계 | 85.7% |
| Kev-4B, 1단계 | 87.7% |
| JEV-9B 8bit, 2단계 | 88.0% |
위 표는 Jev «설명 8개» 측정과 비교한 값이다. 설명을 전부 준 Jev와 비교하면 JEV-9B 8bit 90.0%, Kev-4B 1단계 88.7%, Kev-4B 2단계 86.3%로 순서는 같았다.
Jev를 흉내 내도록 학습한 JEV-9B와, 그런 학습을 하지 않은 Kev-4B가 Jev와 비슷한 정도로 같은 답을 냈다.
Jev: 싸지만 유료, 무료는 언제까지일지 모른다
| 구분 | 내용 |
|---|---|
유료 jev-1.13 | 입력 100만 토큰당 약 $0.042, 출력은 무료 (공개 가격 기준) |
무료 jev-1.13-free | OpenCode Zen에서 기간 한정으로 제공. 종료일은 공개되지 않았다 |
| 실제로 막힌 한도 | 내 계정에서는 하루 약 317번 호출한 뒤 429(요청 한도 초과)로 막혔다 |
| 응답 시간 | 한 건에 약 0.8초 (인터넷 경유) |
정확도만 보면 Jev는 훌륭하다. 하지만 하루 317번으로는 검색창 같은 서비스 기능을 감당할 수 없고, 무료판은 언제 끝날지 모른다. 서비스에 넣는다면 결국 유료로 넘어가야 한다.
9B 모델은 내 GPU에서 돌아갈까: 양자화 실측
JEV-9B 원본은 약 18GB라 RTX 3060(12GB)에 그대로는 들어가지 않는다. 그래서 모델을 줄여서(양자화) 올려 봤다.
| 방법 | GPU 메모리 | RTX 3060에서 | 정확도 | 응답 시간 |
|---|---|---|---|---|
| 원본 (bf16) | 약 18GB | 안 들어간다 | 측정 못 함 | - |
| 8bit 양자화 | 10.4GB | 들어간다 | 72.3% | 584ms |
| 4bit 양자화 | 7.6GB | 들어간다 | 70.3% | 508ms |
- 4bit와 8bit의 답이 94.3% 같았다. 정확도 차이도 2%p뿐이라, 줄여도 손실이 작았다.
- 원본과 직접 비교하지는 못했다. 다만 8bit에서 4bit로 절반을 더 줄여도 이 정도라면, 8bit와 원본의 차이는 더 작을 것으로 본다.
- 양자화하면 판정 확률이 망가지지 않을까 걱정했는데, 이번 데이터에서는 정상적으로 동작했다.
원본이나 두 모델을 함께 돌리려면
12GB GPU에는 한 번에 한 모델만 올릴 수 있다. Kev-4B(약 11.7GB)와 JEV-9B 8bit(10.4GB)를 같이 쓰거나 JEV-9B 원본을 쓰려면 더 큰 메모리가 필요하다.
| 방법 | 메모리 | 대략적인 비용 | 메모 |
|---|---|---|---|
| RTX 3090 중고 | 24GB | 약 100~180만 원 (그래픽카드만) | 일반 PC 조립으로 가능한 가장 싼 방법. 전력 소모가 커서 파워 용량을 확인해야 한다 |
| RTX 4090 중고 | 24GB | 약 360~400만 원 | 3090보다 빠르다 |
| RTX 5090 | 32GB | 중고 거래가 약 770~880만 원대가 많다 | 원본 9B와 4B를 함께 올릴 여유가 있다 |
| Mac mini (M4 Pro) | 48GB / 64GB 통합 메모리 | 약 269만 원 / 약 299만 원 (출시 공식가 기준) | 조립 없이 살 수 있다. 결정 모델이 Mac에서 얼마나 빠른지는 직접 재보지 않았다 |
- 일반 PC 조립으로도 충분히 준비할 수 있다. 이미 데스크톱이 있다면 RTX 3090 중고로 그래픽카드만 바꾸는 것이 가장 싸다.
- 가격은 2026년 9~10월 기준으로 조사한 대략적인 값이라 시기와 상태에 따라 차이가 크다.
그래서 검색 추천에 어떻게 쓰기로 했나
가장 정확하고 무료인 것은 Kev-4B였다. 하지만 한 건에 2~4초가 걸려서, 사용자가 글자를 칠 때마다 답해야 하는 검색창에 바로 부를 수는 없다. JEV-9B 8bit도 0.6초라 자동완성에는 느리다.
그래서 실시간으로 묻지 않고, 하루 한 번 밤에 미리 계산해 두는 캐시 방식을 택했다.
밤에 미리 계산해 두는 것
[매일 밤, Kev-4B 1단계로 일괄 계산]
① 콘텐츠마다 카테고리를 미리 붙여 둔다 (콘텐츠 수만큼)
② 자주 들어오는 검색어마다 «무엇을 찾는 검색인지»(의도)를 미리 계산해 둔다
③ 확신 90% 이상인 답만 저장한다 → 저장된 답은 약 99%가 정답
검색할 때 추천 목록 순서에 반영하는 방법
«부산 바다 카페»를 검색했다고 해 보자.
① 검색어 의도 조회 (캐시, 약 1ms)
"부산 바다 카페" → 카페 (확신 0.97)
② 지역은 사전으로 뽑는다
"부산" → 부산광역시 ← 지역명은 문자열로 정확히 뽑을 수 있어서 모델을 쓰지 않는다
③ 기존 검색으로 후보를 뽑는다
키워드 + 지역 필터로 상위 30개
④ 순서를 다시 매긴다
후보 중 카테고리가 «카페»로 분류된 콘텐츠에 가산점 → 위로 올린다
⑤ 추천 목록에 보여 준다
- 콘텐츠 이름에 «카페»가 없어도, 밤에 «카페»로 분류해 둔 콘텐츠라면 위로 올라온다.
- 캐시에 없는 새 검색어는 카테고리 이름 사전으로 단순 매칭하고(예: «대학» → 학교), 그 검색어를 다음 날 밤 계산 대상에 넣는다. 다음 날부터는 캐시로 처리된다.
- 의도 판단이 틀리면 엉뚱한 콘텐츠가 위로 올라간다. 그래서 확신 90% 이상만 쓰는 것이 중요하고, 이 조건에서 Kev-4B가 가장 믿을 만했다.
모든 검색어를 미리 준비해야 하지 않나?
그렇지 않다. 검색어는 소수가 대부분을 차지했다. 테스트 서버의 검색 기록을 세어 보니 이랬다.
| 상위 검색어 | 전체 검색 중 비율 |
|---|---|
| 10개 | 53.0% |
| 100개 | 89.4% |
| 300개 | 97.9% |
인기 검색어 수백 개만 매일 밤 계산해 두면 대부분의 검색이 캐시로 처리된다. 그리고 모델 서버가 꺼져 있어도 저장해 둔 결과로 검색은 그대로 동작한다.
이런 곳에도 쓸 수 있다
- 쇼핑몰: «여름 원피스», «출근용 가방» 같은 검색어의 의도를 상품 카테고리로 바꿔 추천 순서에 반영
- 커뮤니티·게시판: 새 글이 올라오면 밤에 게시판 분류를 제안하고, 확신 높은 것만 자동 분류
- 고객 문의: 문의 내용을 «결제·배송·환불·기타»로 나눠 담당자에게 자동 배정, 확신 낮은 것만 사람이 분류
어느 경우든 핵심은 같다. 실시간이 꼭 필요하지 않다면 밤에 미리 계산하고, 확신이 높은 답만 쓴다. 그러면 무료 로컬 모델로도 충분히 서비스에 붙일 수 있다.
정리: 누구에게 무엇이 맞을까
| 상황 | 추천 |
|---|---|
| 영어 위주, 속도가 최우선, 틀려도 괜찮은 보조 판단 | Laya |
| 정확도가 중요하고 사용량이 적다 | Jev 무료판 (끝날 때를 대비한 유료 전환 준비) |
| 정확도가 중요하고 미리 계산해 둘 수 있다, GPU 12GB | Kev-4B + 하루 한 번 캐시 |
| 1초 이내로 빠른 판정이 필요하다, GPU 12GB | JEV-9B 8bit |
| 실시간으로 Jev급 정확도가 필요하다 | 24GB 이상 GPU를 준비하거나 유료 Jev |
«무료로 무제한»이라는 말은 맞다. 하지만 무료인 것과 쓸 만한 것은 다르다. 내 한국어 데이터에서 Laya는 정확도도, 확신도도 실서비스에 쓰기 어려웠다. 대신 덜 유명한 Kev-4B가 유료 Jev와 같은 수준을 보여 줬다. 로컬 모델을 고를 때는 화제성보다 내 데이터로 300건만이라도 직접 재 보는 것을 추천한다.
한계
- 한국어 장소 콘텐츠 분류라는 한 가지 과제만 측정했다. 짧은 검색어의 의도 분류는 정답 데이터가 없어서 따로 재지 못했다.
- 300건 표본이라 정확도마다 ±5%p 정도의 오차가 있다.
- 정답은 서비스에서 쓰던 분류값이라, 일부 카테고리(예: «공공명소»와 «공공기관»)는 정의가 서로 겹친다. 남은 오답의 상당수가 이 경계에서 나왔다.
- 어떤 모델도 내 데이터로 학습시키지 않았다. 로컬 모델은 재학습이 가능해서, 학습하면 결과가 달라질 수 있다.
- Jev는 무료 한도(하루 약 317번) 때문에 1단계만 측정했다. 2단계로 물으면 호출이 두 배라 하루 한도를 넘는다.
참고자료
- convaiinnovations/laya (Hugging Face)
- Laya: The 33ms Open-Source Decision Model Beating Jev
- Jev vs Laya: Cloud API vs Local Decision Model
- jaredpalmer/kev (Hugging Face)
- autotrust/JEV-9B (Hugging Face)
- AIM-Decision: Jev vs Kev vs LLMs (aimultiple)
- Jev vs Tev1 vs Laya: The 2026 Guide to AI Decision Models
- OpenCode Zen 문서
- TypeSafe AI Quick start