Jeff-Qwen3.5-0.8B v1.2 + 9개 LoRA 어댑터: Qwen3.8-27B 앞에 배치하여 38배 빠른 결정과 8.7점 높은 정확도, 2GB 미만의 추가 메모리 사용
Jeff-Qwen3.5-0.8B v1.2 + 9 LoRA adapters: put it in front of Qwen3.8-27B for 38× faster decisions and +8.7 points accuracy, for under 2 GB extra memory
핵심 요약
소형 모델 Jeff에 LoRA 어댑터를 결합해 대형 모델의 성능을 유지하면서 속도와 효율을 극대화한 결정 레이어 시스템입니다.
- 성능 최적화 — 대형 모델 대비 38배 빠른 속도와 8.7% 향상된 정확도 달성함
- 메모리 효율성 — 9개의 어댑터를 모두 로드해도 2GB 미만의 추가 메모리만 사용함
- 유연한 라우팅 — 확실한 결정은 소형 모델이, 불확실한 경우에만 대형 모델이 처리함
- 오픈 소스 공개 — 가중치, 코드, 테스트셋을 모두 공개하여 재현 가능성을 보장함
며칠 전에 Jeff-Qwen3.5-0.8B를 공개했어. 이건 네가 정의한 옵션들 중에서 하나를 고르고, 각 옵션에 대한 보정된 확률값을 한 번의 포워드 패스로 뱉어내는 작은 "시스템 1" 모델이야. 내 M4 Max랑 RTX PRO 6000에서는 속도가 끝내줬는데, 범용 제로샷 분류기로 쓰기엔 큰 모델들보다 좀 딸리더라고.
그래서 생각 좀 해봤는데, 로컬 모델 앞에서 에이전트가 내리는 결정 대부분은 딱히 정답이 없는 게 아니더라고. 보통 몇 가지 반복되는 유형으로 나뉘거든. 프롬프트 인젝션인지, 어떤 툴을 써야 할지, 티켓이 얼마나 급한지, 답변이 소스에 근거하고 있는지 같은 것들 말이야. 그래서 LoRA 어댑터 9개를 작업별로 하나씩 학습시켰고, 필요한 것만 골라 쓰면 돼. 서버는 베이스 모델을 한 번 로드하고 네가 선택한 어댑터(각 40MB 정도)를 얹는 방식이라, 요청할 때마다 어댑터를 지정하거나 그냥 Jeff 기본 모델을 쓰면 그만이야.
즉, 둘 다 챙길 수 있다는 거지. 베이스 모델은 그대로 두니까 새로운 거 물어볼 땐 Jeff의 범용 제로샷 능력을 그대로 쓸 수 있고, 어댑터는 네가 필요한 분야에서 거의 완벽한 정확도를 보여주거든. 각 어댑터는 범용적인 능력을 잃지 않게 하려고 베이스 모델 학습 데이터의 10%를 섞어서 학습시켰어.
모든 건 jeffhub.ai에 다 있어: 어댑터, 결과, 문서까지 전부. 코드는 GitHub, 모델은 Hugging Face에 있고, 브라우저에서 9개 어댑터를 전부 테스트해 볼 수도 있어.
핵심 요약: Jeff + 어댑터가 먼저 답하게 하고, 확신이 안 서는 쿼리만 Qwen3.8-27B로 넘기게 해봤어. M4 Max에서 똑같은 테스트 데이터로 돌린 결과야:
| Measure | Qwen3.8-27B alone | Jeff + adapters, 27B only when unsure |
|---|---|---|
| Accuracy (mean of 8 adapters*) | 86.6% | 95.3% |
| Time per decision (mean) | 8.1 s | 0.25 s (38× faster) |
| Wrong answers | 13.4% | 4.7% |
| Memory | 28.6 GB | under 2 GB for Jeff, even with all 9 adapters loaded (+6.9%) |
인박스 에이전트가 메시지마다 처리하는 5가지 결정(가드, 분류, 지원 의도, 툴 선택, 근거 확인)만 놓고 보면: 9개 어댑터 중 8개에서 Jeff가 압승했고, 근거 확인(grounding)은 96.3% 대 96.7%로 비겼는데 속도는 20배나 빨라. 전체 테스트셋에서 9개 어댑터 중 6개가 97~98% 점수를 찍었어. GPU에서 돌리면 어댑터를 하나 쓰든 아홉 개를 다 쓰든 결정 내리는 데 30ms 정도밖에 안 걸려.

