Mapika/decider
A family of System One-style models fine-tuned from Qwen3.5, designed for one-pass typed decisions with calibrated probabilities.
decider – 보정된 확률로 단일 패스 유형화된 결정
그것은 무엇인가 – decider는 자유 형식 텍스트를 생성하지 않는 언어 모델 체크포인트 제품군입니다. 대신 상태(일반 텍스트 또는 JSON)와 유형화된 질문 목록을 받아 단일 순방향 패스에서 각 질문에 대한 확률 분포를 출력합니다. 지원되는 질문 유형은 다음과 같습니다.
- 선택 – 2-255개의 후보 중 하나를 선택합니다.
- 점수 – 작은 순서가 있는 수준 집합(2-10)에 확률을 할당합니다.
- 노울 – 답변이 "예"일 확률을 제공합니다.
모델은 고정된 레이블 토큰 세트를 넘어 토큰을 디코딩할 필요가 없으므로 추론이 빠르고 확률은 보정됩니다(작은 RL 기반 미세 조정 단계 후 모델의 신뢰도가 관찰된 정확도와 일치).
주요 기능
| 기능 | 중요성 |
|---|---|
| 단일 패스 추론 | 모든 질문이 함께 답변됩니다. 반복적인 프롬프트나 사고 사슬이 필요 없습니다. |
| 유형화된 출력 | 답변이 항상 사전 정의된 옵션 중 하나임을 보장합니다 – 후처리 불필요. |
| 보정 인식 RL (v10) | 신뢰도 점수와 실제 정확성 간의 일치를 개선합니다. 특히 결정 작업에서 효과적입니다. |
| 여러 모델 크기 | 0.8 B, 2 B, 4 B(밀집) 및 35 B 혼합 전문가, 2 B 비전-언어 변형. |
| 하드웨어 유연성 | CUDA(bf16, 선택적 FP8), Apple Silicon(MPS/MLX 경유), CPU(eager 모드)에서 실행 가능. |
| HTTP 서버 | 간단한 POST /v1/systemone(TypeSafe 와이어 형식) 또는 POST /decide 엔드포인트; 반복 스키마에 대한 스키마 캐싱으로 반복 호출 속도 향상. |
| 오픈 소스 훈련 파이프라인 | 약 95개의 공개 결정 데이터셋을 다운로드하고, 혼합 데이터셋을 구축하고, Qwen 기반 백본을 미세 조정하는 스크립트. |
일반적인 사용 사례
- 고객 서비스 라우팅 – 티켓과 정책 텍스트를 입력하고 "어느 부서가 처리해야 합니까?"라고 묻고 신뢰도가 있는 보정된 선택을 얻습니다.
- 위험 점수 – "사용자가 얼마나 좌절했습니까?" 또는 "사기 가능성은 얼마입니까?"라고 묻고 점수 수준별 확률을 받습니다.
- 게임 플레이 에이전트 – 저장소에는 모델이 텍스트 기반 게임, Atari Pong(RAM 파생 텍스트에서), Super Mario Bros에서 움직임을 결정하는 데모가 포함되어 있으며, 각 움직임은 단일 순방향 패스로 수행됩니다.
- 비전 질문 응답 –
decider-2b-vision체크포인트는 이미지 기반 쿼리에 답변하여 각 옵션의 확률을 반환할 수 있습니다. - 배치 분류 파이프라인 – HTTP 서버의 스키마 캐시는 많은 레코드에 대해 동일한 질문 세트를 실행하는 비용을 낮춥니다.
빠른 시작(Python)
pip install decider-ai # 또는: pip install -e .[serve,train]
from decider.infer import Decider
# 체크포인트 로드(첫 사용 시 Hugging Face에서 다운로드)
model = Decider("Mapika/decider-2b")
state = {
"ticket": {"messages": [{"from": "customer", "text": "I was charged twice for order A‑104."}]},
"refund_policy": "Duplicate charges are eligible for a refund."
}
questions = {
"department": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"returns": "Exchanges, refunds, wrong or damaged items",
"billing": {"what": "Charges, invoices", "not_for": "delivery"},
"other": None}},
"refund_requested": {"type": "noul", "instructions": "Does the ticket request a refund?"},
"frustration": {"type": "score", "instructions": "How frustrated is the customer?",
"criteria": ["calm", "frustrated", "very frustrated"]}
}
result = model.system_one(state, questions)
print(result)
출력에는 각 유형화된 질문에 대한 확률 분포가 포함됩니다. 예를 들어 choice는 신뢰도와 옵션 확률의 전체 벡터를 포함합니다.
HTTP를 통한 서빙
scripts/serve.sh Mapika/decider-2b 8000
POST /v1/systemone– TypeSafe AI SDK와 호환됩니다.POST /decide– README 예제에서 사용되는 일반 JSON 형식.- 서버는 최상의 장치(CUDA → MPS → CPU)를 자동으로 선택하고, CUDA에서는 (배치, 길이) 모양별로 CUDA 그래프를 캡처하여 런타임 컴파일 오버헤드를 없앱니다.
자신의 모델 훈련
저장소에는 전체 데이터 구축 및 미세 조정 코드가 포함되어 있습니다.
scripts/train.sh full은 공개 혼합 데이터셋(약 1.5 M 예제, 455 M 토큰)을 구축하고 Qwen-3.5 베이스에서 1 에포크를 실행합니다.scripts/train.sh delta <existing-ckpt>는 체크포인트에서 훈련을 계속하며, 새 결정 데이터셋을 추가하는 데 유용합니다.- 선택적 RL 단계(v8 → v10)는 라이브 MiniWoB++ 브라우저 작업을 사용하여 확률을 추가로 보정합니다. RL 루프는 별도의 연구 저장소에 있지만 README는 필요한 환경에 연결합니다.
알려진 제한 사항(저장소에 명시된 대로)
- 다단계 추론 없음 – 모델은 연쇄 산술이나 다중 홉 추론을 수행할 수 없습니다. 이러한 문제는 별도의 질문으로 분할하십시오.
- 어려운 항목에서 보정 저하 – 특히 지식 집약적인 객관식(GPQA, GSM8K 등)에서 두드러집니다. 2 B 모델은 가장 어려운 벤치마크 항목에서 눈에 띄는 과신을 보여줍니다.
- 영어 전용 – 모든 훈련 데이터와 평가는 영어입니다. 다른 언어에서의 성능은 문서화되지 않았습니다.
- 스키마 캐시는 속도를 위해 정확성을 희생 – 캐시를 활성화하면 일부 스키마에서 답변 품질이 저하될 수 있습니다.
- 비전 변형은 아직 개발 중 –
decider-2b-vision은 이전 텍스트 가중치를 사용하며 재훈련 중입니다. - 교사 편향 – 사용자 정의 질문 데이터는 27 B 교사 모델에 의해 레이블링되어 일부 편향이 도입됩니다(자체 레이블과 약 72% 일치).
더 많은 정보
- Hugging Face의 모델 카드:
Mapika/decider-2b,decider-4b,decider-35b-a3b등. - 자세한 벤치마크 표:
docs/RESULTS.md. - 변경 로그 및 RL 세부 정보:
docs/CHANGELOG.md,docs/RL.md. - 데모 노트북 및 예제 프로그램:
examples/.
결론 – decider는 고정된 옵션 세트에 대해 빠르고 보정된 결정이 필요할 때 기존 텍스트 생성 LLM에 대한 실용적이고 오픈 소스 대안을 제공합니다. 라우팅, 점수 매기기 및 간단한 게임 플레이 작업에 특히 유용하며 GPU, Apple Silicon 또는 CPU에서 실행할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트