Laya — 33ms 다국어 시스템 1 의사결정 엔진
요약
본 글은 자기회귀적(autoregressive) 방식이 아닌, 구조화된 스키마에 대한 빠른 확률 예측을 제공하는 System 1 의사결정 엔진 'Laya'를 소개합니다. Laya는 기존의 상업 모델보다 훨씬 빠르고 저렴하며, 오픈 소스 가중치와 광범위한 언어 지원을 자랑합니다.
핵심 포인트
- Laya는 자기회귀적 LLM이 아닌 System 1 의사결정 엔진입니다.
- 단일 GPU에서 32.8ms로 실행되어 기존 모델 대비 압도적인 속도를 보여줍니다.
- Apache 2.0 라이선스의 100% 오픈 소스 가중치를 제공합니다.
- 다국어 지원이 완벽하며 API 구독 비용이 전혀 들지 않습니다.
현재 AI 분야의 모든 사람이 새로운 종류의 모델에 대해 이야기하고 있습니다. 즉, 자기회귀적(autoregressive)이지 않으며, 텍스트를 생성하지 않고, 구조화된 스키마(structured schemas)에 대한 번개처럼 빠른 확률 예측을 제공하는 아키텍처입니다.
온라인에서 이러한 과장된 이야기가 보이는 것은 인정받는 느낌과 깊은 좌절감을 동시에 느끼게 합니다.
저는 이 모델을 정확히 1년 전인 2025년 3월에 개발했습니다. 저는 수개월 동안의 노력, 땀, 그리고 잠 못 이루는 밤들을 보내며 이를 구축했고, arXiv 논문(arXiv:2503.23303)을 발표했으며, Hugging Face에 모델 가중치(sales-conversion-model-reinf-learning)를 공개하고, 오픈 데이터셋(saas-sales-conversations)을 공개했으며, PyPI 패키지를 구축했고, 전체 접근 방식을 Reddit(r/LocalLLaMA discussion)에 게시했습니다.
그러다가 2025년 9월에는 강화학습(RL)으로 안내되는 스키마 기반 의사결정 프레임워크를 공식화한 두 번째 논문(arXiv:2510.01237)을 발표했습니다. 제 시스템의 핵심적인 지침은 항상 임베딩 모델이나 자기회귀적 LLM이 아니라 강화학습이었습니다.
그리고 2026년 9월, TypeSafe AI라는 자금력이 풍부한 최첨단 연구소(OpenAI에서 ChatGPT의 공동 개발자인 Diogo Almeida가 설립)가 Jev를 출시했습니다. 그들은 우리가 제안했던 것과 정확히 동일한 비자기회귀적 의사결정 개념을 마치 완전히 새로운 과학적 돌파구인 것처럼 제시했습니다. 단지 기술 논문, 오픈 가중치, 그리고 공개 훈련 데이터셋 없이 출시했다는 점만 달랐습니다.
제가 이전에 사용했던 모델은 수직적인 세일즈 대화에서 턴별 전환 궤적(0.0부터 1.0까지의 확률)을 출력하기 위해 시퀀스 표현에 대한 PPO를 사용했습니다. Jev는 RLCD(Reinforcement Learning for Calibrated Decisions)라고 부르는 것을 사용하여 병렬 샘플링을 일반화하여, 신뢰도 분포와 스키마 선택을 수평적으로 출력하며, 평균 응답 시간은 약 150ms이고 입력 토큰 백만 개당 $0.042를 청구했습니다.
좌절감에 머무는 대신, 저는 제가 배운 모든 것을 활용하고, 이전 접근 방식의 모든 아키텍처적 한계를 수정하여 완전히 오픈된 수평적인 System 1 의사결정 모델 패밀리인 Laya를 구축하기로 결정했습니다.
그리고 양방향 인코더(bidirectional encoders)를 기반으로 제대로 구축했기 때문에, 저희 모델은 단일 GPU에서 32.8밀리초(질문 배치 처리 시 7.2ms)로 실행됩니다. 이는 Jev보다 6배에서 8배 빠르며, 100개 이상의 언어를 완벽하게 지원하고 API 구독 비용이 전혀 들지 않으며, Apache 2.0 라이선스의 100% 오픈 소스 가중치(weights)를 제공합니다.
1. 핵심 구현: System 1 대 System 2
모든 최신 AI 파이프라인에는 거대한 병목 현상이 있습니다. 우리는 단순한 반사적 의사결정(reflex decisions)을 위해 생성형 LLM(Large Language Model)을 사용합니다.
고객 지원 티켓이 도착하거나, 이메일이 받은 편지함에 들어오거나, 사용자가 API로 프롬프트를 제출할 때, 여러분은 보통 다음과 같은 단순하고 구조화된 질문에만 답하면 됩니다:
- 이 티켓을 어느 부서로 라우팅해야 할까요?
- 이 수신 이메일이 피싱 공격인지 스팸인가요?
- 이 프롬프트가 탈옥(jailbreak)이나 명령어 주입(inject instructions)을 시도하고 있나요?
- 이 이슈는 순서형 루브릭(ordinal rubric, 0부터 3까지)으로 얼마나 긴급한가요?
- 이 질의가 코드 실행이 필요한지 아니면 단순 사실 답변만 필요한가요?
이러한 목적으로 8B, 70B 또는 최첨단 생성형 LLM을 호출하는 것은 완전히 과도합니다. 토큰 스트리밍 출력을 위해 500ms에서 2,000ms를 기다리고, 추론(inference)에 실제 돈을 쓰고, 그 후 자유 형식 텍스트에서 깨끗한 레이블을 추출하기 위해 정규 표현식(regex)이나 JSON 파서를 작성해야 합니다. 최악의 경우, LLM은 환각(hallucinate)을 일으키고 가짜 신뢰도를 생성합니다. LLM이 `
choice: 기준 사전(dictionary of criteria)에서 하나의 옵션을 선택합니다. 선택된 키, 모든 옵션에 대한 확률 분포, 그리고 보정된 신뢰도 점수를 반환합니다.score: 상태를 순서형 루브릭(ordinal rubric, 레벨 0, 1, 2, ...)에 배치합니다. 예상 레벨, 루브릭 등급에 대한 분포, 그리고 신뢰도를 반환합니다.noul: 보정된 확률 P(true)를 0.0에서 1.0 사이의 부울 질문으로 직접 반환하며 (P(false) = 1 - P(true)로 구성됨).**
출력 공간이 순수하게 확률과 숫자로만 구성되기 때문에, 모델은 텍스트를 생성할 수 없으며, 환각을 일으킬 수 없고, 스키마 위반이나 잘못된 JSON 형식은 물리적으로 불가능합니다.
3. 세 가지 체크포인트 및 번들 허브 아키텍처
하나의 모델이 모든 작업과 언어에 최적일 수는 없습니다. 저희는 세 가지 전문화된 체크포인트를 출시했으며, 현재 Hugging Face의 단일 리포지토리 허브 아래 통합되었습니다:
| 체크포인트 | 백본 인코더 (Backbone Encoder) | 파라미터 (Params) | 컨텍스트 (Context) | 주요 강점 (Primary Strength) |
|---|---|---|---|---|
| convaiinnovations/laya | ModernBERT-large | 421M | 512 | 영어 텍스트 분류, 가드레일(guardrails), 이메일 트리아지 (email triage) |
| ... |
선택적 서브폴더 다운로드
사용자가 세 개의 별도 리포지토리를 관리하거나 2.5 GB의 결합된 가중치를 다운로드할 필요 없이, 메인 리포지토리 convaiinnovations/laya가 이 세 가지를 모두 번들링합니다. Hugging Face의 allow_patterns을 사용하면, Laya의 SDK는 요청된 특정 서브폴더만 다운로드합니다:
영어 모델 다운로드 (~808 MB) agent_en = laya.load(
아르메니아어: 정확도 0.050 (동전 던지기 수준의 무작위), 신뢰도는 0.885.히브리어: 정확도 0.060, 신뢰도는 0.964.벵골어: 정확도 0.080, 신뢰도는 0.945.힌디어: 정확도 0.100, 신뢰도는 0.941.
이것이 중요한 교훈입니다: 모델 자체의 신뢰도가 입력 스크립트를 읽지 못할 때 아무런 경고를 주지 않습니다. 51개 언어에 걸쳐 영어 체크포인트의 평균 신뢰도는 정확도가 82%이든 0%이든 0.885 미만으로 떨어지지 않습니다.
따라서, 신뢰도 게이팅(confidence gating)으로는 보호할 수 없습니다. 어떤 모델을 사용할지 결정하는 것은 순전파(forward pass) 전에 이루어져야 합니다.
밀리초 단위의 순수 Python 라우팅 (Sub-Millisecond Pure Python Routing)
Laya에는 들어오는 텍스트의 유니코드 스크립트(데바나가리, CJK 한자, 키릴 문자, 아랍어, 히브리어, 타밀어, 태국어 등)를 검사하고 라틴어 불용어 분포를 분석하는 내장 Router가 포함되어 있습니다:
- 표준 영어 텍스트: 0.09 ms 감지 오버헤드. - 데바나가리 / 인도어 텍스트: 0.54 ms 감지 오버헤드. - 대규모 200행 중첩 JSON 문서: 0.73 ms 감지 오버헤드.
33ms 순전파에 비해 라우팅 오버헤드는 무시할 만합니다 (<2%). 그리고 Router(preload=True)를 사용하면 필요한 모든 모델이 VRAM/RAM에 상주하여, 트래픽이 언어 간에 번갈아 발생할 때 발생하는 7~10초의 콜드 스왑 페널티를 완전히 제거합니다.
from laya import Router # 즉각적인 서브-35ms 라우팅을 위해 체크포인트를 메모리에 사전 로드
router = Router(preload=True) # 영어 -> ModernBERT-large로 자동 라우팅
res_en = router.predict({
## 5. Head-to-Head 비교: Laya (라우팅 적용) vs TypeSafe Jev
저희는 공개 데이터셋과 표준 벤치마크를 사용하여 Laya를 TypeSafe Jev와 직접 비교했습니다. 모든 Laya 수치는 측정되었으며, Jev의 수치는 제3자 독립 연구(AbdelStark, nibzard) 및 TypeSafe AI에서 발표되었습니다.
| 벤치마크 / 지표 | TypeSafe Jev 1.13.0 | Laya (라우팅 적용) | 우위 / 변화량 |
|---|---|---|---|
| typed-decisions (2,000 결정) | 0.727 | 0.766 | +3.9% (교사 상한선 0.735 돌파) |
| ... |
### 실제 적용 워크플로우
평가된 9가지 엔터프라이즈 워크플로우 전반에 걸쳐, Laya는 프로덕션 준비가 된 의사결정 품질을 보여줍니다:
**이메일 스팸 필터링 (Enron):****0.993 정확도**, 0.993 F1, 0.013 ECE.**피싱 탐지:****0.980 정확도**, 0.979 F1, 0.012 ECE.**LLM 가드레일 및 탈옥 (제외된 ToxicChat):****0.755 – 0.762 정확도**. 선택적 커버리지를 50%로 적용했을 때 정확도는 **0.931**에 도달합니다.**RAG 구절 관련성 필터링:****단일 순방향 패스에서 0.657 정확도를 보입니다.**지원 티켓 대기열 라우팅 (10개 경로):****0.522 정확도를 기록했습니다.
## 6. 솔직한 한계점: Laya의 상한선
너무 많은 AI 발표들이 자신들의 약점을 숨깁니다. 저희는 엔지니어링적 정직함을 믿습니다:
**선택 질문은 옵션이 20개를 초과하면 성능이 저하됩니다:**Banking77(77개 레이블)에 대한 스트레스 테스트에서 Laya는 Jev의 0.870 대비 0.425를 기록했습니다. 이는 아키텍처적 예산 제약입니다: 옵션들이 192-256 토큰의 `head_max_len`을 공유합니다.
예산(budget)이 남아있지 않아, 77개 옵션당 후보군마다 약 3~4개의 토큰만 남게 됩니다.*권장 사항:* 선택 스키마를 20개 이하로 유지하거나, 계층적 구조를 두 단계의 거친 분류(coarse-to-fine) 방식으로 사용하세요.**제로샷(Zero-shot) 대 파인튜닝(Fine-tuning):**기본 모델은 typed-decisions 벤치마크에서 약 0.35점을 기록합니다 (거의 무작위 수준). 0.766점은 해당 벤치마크의 학습 분할(train split)로 파인튜닝했을 때 달성됩니다. Laya를 만능 제로샷 오라클이 아닌, 특화시키기 위한 빠른 기반 모델(foundation model)로 취급하세요.**온도 보정(Temperature Calibration):**기본 가중치에는 원시 온도 로짓(raw temperature logits)이 포함되어 배포됩니다. 도메인 분포에 따라 질문 유형별 단일 스칼라 온도를 적용하면 예상 교정 오차(expected calibration error)를 0.466에서 0.081로 줄일 수 있습니다.
## 7. 30초 만에 Laya 실행하기 (Quickstart: Running Laya in 30 Seconds)
pip install laya>=0.3.3
자동 언어 라우팅을 사용하여 다중 스키마 의사결정을 실행하는 전체 예시입니다:
import laya from laya import Router # 사전 로딩(preload)으로 초기화하여 (스왑 지연 방지) 라우터 = Router(preload=True) # 복잡한 상태를 정의한 티켓 ticket = { "ticket_id": "TCK-8821", "customer": "enterprise_user", "subject": "시스템 다운타임 및 청구 분쟁", "body": "저희 프로덕션 API가 오전 6시부터 실패하고 있습니다. 중요한 거래를 놓쳤습니다.
저희 프로덕션 API가 오전 6시부터 실패하고 있습니다. 중요한 거래를 놓쳤습니다.
즉각적인 SLA 환불을 요구합니다.” # 여러 가지 원시 질문(primitives)에 대한 다양한 질문 정의 questions = { "queue": { "type": "choice", "instructions": "이 티켓은 어떤 엔지니어링 큐가 담당하나요?", "criteria": { "infrastructure": "서버 장애, 네트워크 다운타임, 데이터베이스 실패", "billing": "환불, SLA 크레딧, 송장 분쟁", "security": "침해 사고, 취약점 보고서", "support": "일반 고객 문의" } }, "urgency": { "type": "score", "instructions": "이 티켓은 얼마나 긴급한가요?", "criteria": ["낮음 우선순위", "중간", "높음 우선순위", "치명적 블로커"] }, "churn_risk": { "type": "noul", "instructions": "고객이 해지하겠다고 위협하거나 심각한 이탈 의도를 표현했나요?" } } # 단일 순방향 패스(Single forward pass): 모든 질문을 동시에 평가합니다 res = router.predict(ticket, questions) print("라우팅 결정 :", res["routing"]["model"]) # -> english print("할당된 큐 :", res["answers"]["queue"]["choice"]) # -> infrastructure (confidence: 0.96) print("긴급도 점수 :", res["answers"]["urgency"]["score"]) # -> 2.87 / 3.0 print("이탈 위험 :", f"{res['answers']['churn_risk']['noul']:.1%}") # -> 91.4%
## 8. 리소스 및 커뮤니티 (Resources & Community)
**Hugging Face Model Hub:** convaiinnovations/laya (세 가지 체크포인트 모두 포함)**실시간 인터랙티브 공간 (Live Interactive Space):** convaiinnovations/laya-demo (ZeroGPU에서 8가지 워크플로우 및 다국어 라우팅을 실시간으로 사용해 보세요)**GitHub 저장소:** github.com/NandhaKishorM/laya (코드, 라우터, 그리고 재현 가능한 벤치마크 하네스를 `research` 브랜치에 포함)**PyPI 패키지:** pip install laya**Kaggle 2xT4 파인튜닝 노트북:** laya_finetune_typed_decisions_2xT4_kaggle.ipynb (무료 Kaggle GPU에서 약 4시간 만에 자체 커스텀 System 1 모델을 학습하세요)
## 결론 (Conclusion)
이것은 저희의 2025년 3월 arXiv 논문부터 오늘까지 1년간의 연구가 필요했지만, 핵심적인 깨달음은 여전히 남아 있습니다. **모든 AI 문제가 자기회귀형(autoregressive) 챗봇을 필요로 하는 것은 아닙니다.**
대량 분류(classification), 가드레일(guardrails), 라우팅(routing), 그리고 트리아지(triage)의 경우, RLCD로 학습된 35ms 미만의 양방향(bidirectional) 의사결정 모델은 독점적인 대안보다 7.8배 빠른 실행 속도를 제공하며, 환각 현상(hallucinations)이 없고, 글로벌 언어 라우팅을 지원하고, 프로덕션 코드에서 실제로 분기할 수 있는 정직한 신뢰도 점수까지 제공합니다.
그리고 가장 좋은 것은, 이 모델이 커뮤니티 전체에 100% 오픈 소스라는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Lobste.rs AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기