Laya 오픈소스 시스템 1 의사결정 모델, TypeSafe Jev를 능가하다

TL;DR

Laya는 3035ms 내에 반사적 유형의 예측을 수행하고, 보정된 확률을 제공하며, 100개 이상의 언어를 지원하는 오픈소스 양방향 인코더 의사결정 모델입니다. TypeSafe AI의 폐쇄형 소스인 Jev보다 지연 시간이 78배 짧으며, 무료로 자체 호스팅이 가능합니다.


1. 시스템 1 vs. 시스템 2 – 빠른 의사결정 모델이 중요한 이유

핵심 요약: 단순 분류나 라우팅 작업에 생성형 LLM을 사용하는 것은 낭비입니다. 전용 시스템 1 모델은 환각 없이 즉각적이고 보정된 결정을 제공합니다.

  • 생성형 LLM은 요청당 500ms~2초가 소요되며, 토큰 기반 API 비용이 발생하고, 구조화된 라벨을 추출하기 위해 후처리가 필요합니다.
  • LLM이 생성한 신뢰도 점수는 수학적으로 근거가 있는 확률이 아니라 보정되지 않은 토큰 예측값입니다.
  • Laya는 인간과 유사한 시스템 1을 구현하여 단일 GPU에서 약 33ms 만에 반사적인 결정을 내리고, 신뢰할 수 있는 확률값을 출력합니다.

2. 의사결정 프리미티브 – 핵심 API

핵심 요약: Laya는 숫자만 반환하는 세 가지 결정론적 프리미티브를 노출하여 잘못된 JSON이나 환각 텍스트가 발생할 가능성을 제거합니다.

프리미티브 목적 출력 보장 사항
choice 사전에서 하나의 옵션 선택 selected_key, 전체 확률 분포, 보정된 신뢰도 확률 합은 1이며, 신뢰도는 실제 가능성을 반영
score 입력값을 서수 루브릭(0, 1, 2, …)에 배치 예상 레벨, 순위별 분포, 신뢰도 순위 간 단조 보정
noul 이진 참/거짓 쿼리 P(true) in [0.0, 1.0]; P(false)=1-P(true) 정확한 상보성, 모순된 출력 없음

모델이 자유 형식의 텍스트를 생성하지 않으므로 스키마 위반은 불가능합니다.


3. 모델 체크포인트 및 허브 아키텍처

핵심 요약: Laya는 단일 Hugging Face 저장소에 세 가지 특화된 체크포인트를 제공하며, SDK는 대역폭을 절약하기 위해 필요한 하위 폴더만 다운로드할 수 있습니다.

체크포인트 인코더 파라미터 컨텍스트 강점
convaiinnovations/laya ModernBERT-large 421M 512 토큰 영어 분류, 가드레일, 이메일 분류
convaiinnovations/laya-multilingual mmBERT-base (256k vocab) 322M 1024 토큰 (최대 8k) 100개 이상 언어, 2.2배 빠름, 다국어 NLI
convaiinnovations/laya-typed-decisions ModernBERT-large 421M 1024 토큰 에이전트 관찰 가능성, 송장 처리, 보안 경고 (0.766 acc)

선택적 하위 폴더 다운로드 (Python 예시):

import laya
# 영어 전용 (≈808 MB)
agent_en = laya.load("convaiinnovations/laya")
# 다국어 전용 (≈647 MB)
agent_ml = laya.load("convaiinnovations/laya", subfolder="multilingual")

4. 언어 라우팅 – 조용한 실패 방지

핵심 요약: 신뢰도 점수는 스크립트 읽기 실패를 드러내지 않으므로, 추론 전에 라우팅이 이루어져야 합니다.

  • MASSIVE 벤치마크(51개 언어, 20방향 분류)에서 영어 전용 체크포인트는 크메르어에 대해 0.952의 평균 신뢰도를 보고하면서도 0.000의 정확도를 기록했습니다.
  • 모든 비라틴 스크립트에서 정확도가 무작위 추측 수준으로 떨어졌음에도 평균 신뢰도는 0.885 이상을 유지했습니다.
  • Laya의 내장 Router는 1ms 미만으로 유니코드 스크립트를 검사하고 적절한 체크포인트로 전달하여 사후 신뢰도 게이팅의 필요성을 제거합니다.
from laya import Router
router = Router(preload=True)
res_en = router.predict({"body": "I was charged twice, please refund."}, questions)
res_hi = router.predict({"body": "मुझसे दो बार शुल्क लिया गया..."}, questions)
  • 라우팅 오버헤드는 전체 지연 시간의 2% 미만입니다 (라틴어 0.09ms, 데바나가리 0.54ms, 대형 JSON 0.73ms).

5. TypeSafe Jev와의 벤치마크 비교

핵심 요약: Laya는 정확도, 보정, 지연 시간 면에서 Jev를 지속적으로 능가하며 무료 오픈소스입니다.

지표 TypeSafe Jev 1.13.0 Laya (Routed) Δ
Typed-decisions (2k 결정) 0.727 0.766 +3.9 %
AG News (4-라벨) 0.910 0.950 +4.0 %
DAIR Emotion (6-라벨) 0.480 (Brier 0.846) 0.595 +11.5 %
예상 보정 오차 (ECE) 0.246 0.081 3배 더 좋음
P50 지연 시간, 단일 쿼리 236-276 ms 32.8 ms 7.8배 빠름
P50 지연 시간, 10-쿼리 배치 ~1.5 s (직렬) 72.3 ms (7.2 ms/q) 20배 빠름
3배 이상의 무작위 정확도 언어 – (공개 데이터 없음) 45 / 51 글로벌 커버리지
1M 토큰당 비용 $0.042 (계량 API) $0.00 (자체 호스팅) 무료
가중치 및 코드 폐쇄형, 독점 Apache 2.0 safetensors 오픈

실제 워크플로우 결과 (선택):

  • 이메일 스팸 (Enron) – 0.993 acc, 0.013 ECE
  • 피싱 탐지 – 0.980 acc, 0.012 ECE
  • LLM 가드레일 / 탈옥 탐지 – 0.755 acc; 50% 선택적 커버리지 시 정확도 0.931로 상승
  • RAG 구절 관련성 – 단일 순방향 패스에서 0.657 acc
  • 10방향 티켓 라우팅 – 0.522 acc

6. 솔직한 한계 – Laya가 부족한 경우

핵심 요약: Laya는 중소 규모의 선택 집합과 미세 조정 후에는 뛰어나지만, 범용 제로샷 분류기는 아닙니다.

  1. 선택 확장성: 약 20개 이상의 옵션에서는 정확도가 급격히 떨어집니다 (예: 77개 라벨이 있는 Banking77에서 0.425 vs Jev의 0.870). 모델 헤드는 후보당 3~4개의 토큰만 할당할 수 있어 식별력이 제한됩니다.
  2. 제로샷 성능: 기본 체크포인트는 typed-decisions 벤치마크에서 약 0.35를 기록합니다 (무작위 수준). 보고된 0.766 수치는 벤치마크의 학습 분할 데이터에 대한 미세 조정이 필요합니다.
  3. 온도 보정: 원시 로짓은 질문 유형당 스칼라 온도가 필요하며, 이를 적용하면 보정 오차가 0.466에서 0.081로 감소합니다.

권장 사항: Laya를 빠른 기반 모델로 사용하고, 도메인별 데이터로 미세 조정하며, 프로덕션 사용을 위해 온도를 보정하십시오.


7. 퀵스타트 – 30초 만에 Laya 실행하기

핵심 요약: PyPI 패키지를 설치하고 라우터를 호출하면 단일 순방향 패스에서 다중 스키마 결정을 얻을 수 있습니다.

pip install laya>=0.3.3
import laya
from laya import Router
router = Router(preload=True)

ticket = {
    "ticket_id": "TCK-8821",
    "subject": "System downtime and billing dispute",
    "body": "Our production API has been failing since 6 AM..."
}

questions = {
    "queue": {
        "type": "choice",
        "instructions": "Which engineering queue owns this ticket?",
        "criteria": {
            "infrastructure": "server outages, network downtime",
            "billing": "refunds, SLA credits",
            "security": "breaches, vulnerabilities",
            "support": "general inquiries"
        }
    },
    "urgency": {
        "type": "score",
        "instructions": "How urgent is this ticket?",
        "criteria": ["low", "medium", "high", "critical"]
    },
    "churn_risk": {
        "type": "noul",
        "instructions": "Does the customer threaten to cancel?"
    }
}

res = router.predict(ticket, questions)
print("Model used:", res["routing"]["model"])   # → english
print("Queue:", res["answers"]["queue"]["choice"])   # → infrastructure (confidence 0.96)
print("Urgency score:", res["answers"]["urgency"]["score"])   # → 2.87/3.0
print("Churn risk:", f"{res['answers']['churn_risk']['noul']:.1%}")   # → 91.4%

모델 다운로드(≈800MB)를 포함한 전체 프로세스는 단일 GPU에서 1분 이내에 완료됩니다.


8. 커뮤니티 리소스


9. 커뮤니티 인사이트 – 다른 사람들의 의견

"LLM보다 조금 더 빠르고 저렴하지만, 본질적으로는 더 많은 데이터를 가진 BERT입니다. 가치는 한 번에 많은 질문을 처리할 수 있는 원샷 분류기에 있습니다." – @Oras

"Jev의 브랜딩으로 개념이 입소문을 탔지만, 근본적인 아이디어인 비자기회귀 의사결정 모델은 수년간 존재해 왔습니다. Laya와 같은 오픈소스 버전은 이 기술이 재현 가능하다는 것을 증명합니다." – @kamranjon

"모델이 스크립트를 읽을 수 없을 때도 신뢰도 점수가 높게 유지되기 때문에 라우팅 해킹이 필요합니다. 모델을 미리 로드하면 7~10초의 콜드 스왑 페널티가 제거됩니다." – @sandos

"좋은 성능을 위해서는 미세 조정이 필요합니다. 기본 모델은 typed-decisions에서 거의 무작위 수준입니다. Laya를 플러그 앤 플레이 오라클이 아닌 빠른 기반 모델로 취급하십시오." – @cjalmeida

"CPU에서 실행하는 것은 경계선상에 있습니다. 400M 파라미터 체크포인트는 광고된 35ms 미만의 지연 시간을 위해 GPU가 필요하지만, 코드는 배치 크기 1 추론 시 약 200ms로 CPU와 호환됩니다." – @tarruda


결론

Laya는 많은 고처리량 AI 워크로드에 대규모 자기회귀 LLM이 필요하지 않음을 보여줍니다. 의사결정을 보정된 비생성적 예측 문제로 프레임화함으로써 Laya는 6~8배 낮은 지연 시간, 제로 환각, 완전한 다국어 커버리지를 Apache 2.0 라이선스 하에 달성합니다. 트레이드오프는 도메인 데이터에 대한 미세 조정의 필요성과 선택 집합 크기에 대한 약간의 제한입니다. 자체 GPU를 호스팅할 수 있는 조직에게 Laya는 TypeSafe AI의 Jev와 같은 독점적인 "시스템 1" 서비스를 대체할 수 있는 프로덕션 준비가 완료된 무료 대안을 제공합니다.

Sources

관련

  • Dispatch
  • 프로젝트
  • Dispatch
  • Dispatch