Trawling

OpenJev — 로컬 LLM의 선택 확률, '직접 읽기'와 'JSON 생성'을 브라우저에서 비교

OpenJev는 Jev 모델이 제시한 '선택 로짓 직접 읽기' 방식을 브라우저 안의 로컬 LLM으로 재현해, 같은 확률 분포를 JSON 텍스트로 생성하는 방식과 나란히 비교하는 인터랙티브 데모입니다. wllama 기반 양자화 GGUF 모델이 완전 로컬에서 실행되며, TypeSafe 기준 로컬 4B 모델은 84.5%, 호스티드 Jev는 88.3%를 기록했습니다.

본문

OpenJev는 로컬 LLM이 주어진 선택지에 대한 확률을 어떻게 산출하는지를 브라우저 안에서 직접 비교해 볼 수 있는 실험 페이지입니다. Jev라는 모델이 제시한 '모델의 선택 로짓을 직접 읽는' 방식을 Hugging Face에서 받은 양자화 GGUF 가중치를 wllama로 실행하는 완전 로컬 환경에서 재현하고, 동일한 결정을 JSON 텍스트 생성으로 풀었을 때와 비교합니다. 대기자 명단 없이 바로 실행할 수 있으며, 입력은 페이지를 떠나지 않습니다.

두 경로: 직접 읽기와 토큰 생성

데모는 '02A / direct readout'과 '02B / generation' 두 단계로 구성됩니다. direct readout은 모델의 choice logits를 읽어 사용자가 제공한 옵션에 대해서만 softmax를 적용, 표시된 옵션 토큰 범위 안에서 확률을 정규화합니다. generation은 같은 표시 옵션 분포를 모델이 JSON으로 추정해 써 내려가게 하고, 토큰이 도착하는 과정을 그대로 보여줍니다. 두 방식은 하나의 GPU에서 경합하지 않도록 같은 로드된 모델 위에서 순차 실행되며, 직접 읽기가 먼저, 생성이 그다음입니다. 사이트는 직접 읽기 점수가 '보정된 신뢰도가 아니며, 모델이 선호할 수 있는 모든 답을 포함하지 않는 조건부 확률'이라는 점을 명시합니다.

실제 로컬 실행과 측정

페이지는 '실제 로컬 타이밍'을 강조합니다. 설정, 워밍업, 프롬프트 준비, 직접 실행, 첫 생성 토큰, 생성 완료까지 모든 단계를 performance.now()로 측정하며 미리 만들어 둔 결과는 표시하지 않는다고 밝힙니다. 가중치는 Hugging Face에서 내려받아 브라우저 캐시에 남고, 첫 로드는 선택한 모델과 네트워크, GPU에 따라 몇 분이 걸릴 수 있습니다. 데모는 wllama를 통해 고정된(pinned) GGUF 빌드를 사용하며, 양자화로 품질과 속도가 모두 달라질 수 있다고 덧붙입니다.

모델 티어와 TypeSafe 점수

선택 가능한 로컬 모델은 세 개입니다. 휴대폰급인 Qwen3 0.6B(다운로드 639MB, TypeSafe 40.7%), 데스크톱 기본값 MiniCPM5 2B(1.56GB, 63.7%), 상당한 메모리가 필요한 Qwen3.5 4B(3.01GB, 84.5%)입니다. TypeSafe는 동일한 102행 서브셋으로 측정되며, 호스티드 버전인 'Published Jev'는 88.3%를 기록했습니다. 사이트는 어떤 로컬 모델도 Jev와 대등하다고 주장하지 않는다고 분명히 하고, MiniCPM5 2B가 기본 선택이며 휴대폰이나 저사양 기기에서는 모델 상자에서 Qwen3 0.6B로 전환하라고 안내합니다. 참고로 표에는 각 모델의 Authored·Perturbed 정확도도 함께 표시됩니다.

Hacker News 반응

  • @lucfranken — Jev는 원하는 것과 선택 가능한 옵션을 구체적으로 명시해야 하는, 정말 다른 접근 방식입니다. 이런 것들이 사람들이 실제로 쓸 수 있는 기능으로 진화하는 과정이 흥미롭습니다. 이 사례에서 보듯 한 번의 출시를 바탕으로 새 출시가 나오는 속도도 놀랍습니다.
  • @chvid — '...원하는 것과 열려 있는 옵션을 구체적으로 명시해야 하는 매우 다른 접근' — 결국 우리가 시작했던 지점으로 돌아온 것이군요.
  • @lucfranken — 꼭 그렇지는 않을 수도 있습니다. 선택할 옵션 자체가 생성되고 큐레이션될 수도 있으니까요. 이미지용 태깅 데이터셋을 만드는 것과 같은 방식입니다. 실제 의사결정에는 아주 성공적일 수 있습니다.
  • @bsenftner — 그 이유를 이해한 사람은 거의 없어 보이며, AI가 '이 요청이 도대체 무슨 말인지' 추측해야 하는 함축적 정보로 요청을 구성하는 경우도 많습니다. 함축적 정보를 찾아 명시적 정보로 바꾸세요. 자세할 필요는 없고, 함축적 맥락이 잔뜩 실린 캐주얼한 언어가 아니라 올바른 언어면 됩니다.
  • @colesantiago — 이것이야말로 진정한 Jevons Paradox입니다(그래서 Jev라는 이름이죠). 수많은 사용 사례와 애플리케이션, 심지어 새로운 일자리가 여기서 나올 것입니다. Jev가 100% 합성 데이터로 학습되었다는 사실도 알게 됐습니다. 살기 좋은 시대입니다.

원문: OpenJev / 번역·요약: Trawling

참고 자료

오류 제보