AI 의사결정 붐에 대한 Nokia의 답변
생성형 거대 언어 모델(LLM)은 토큰 단위로 텍스트를 생성하는데, 이는 창의적이지만 종종 예측 불가능한 과정입니다. 반면, 의사결정 모델은 구조화된 출력값(타입이 지정된 선택지에 대한 확률, 예/아니오 답변, 또는 수치 점수)을 반환합니다. 이러한 차이는 자유 형식의 텍스트 생성보다 결정론적이고 파싱이 필요 없는 판단을 요구하는 애플리케이션에 매우 중요합니다.
Nokia Applied Research는 Apache 2.0 Python 라이브러리인 AnyJev를 통해 이러한 요구를 해결합니다. AnyJev는 파인튜닝이나 레이블링된 학습 데이터 없이도 오픈 웨이트 모델에 의사결정 레이어를 추가합니다. 이는 생성형 LLM을 '시스템 1' 의사결정 엔진으로 변환하여 신속하고 구조화된 평가를 가능하게 합니다.
AnyJev는 TypeSafe AI의 Jev와 직접 경쟁하는 호스팅 기반의 클로즈드 소스 API입니다. Jev는 호출당 약 310개의 토큰을 처리하며, 입력 토큰 100만 개당 0.042달러의 비용이 발생합니다. 반면, AnyJev는 기존 컴퓨팅 자원을 활용하여 귀하의 인프라에서 로컬로 실행되므로 호출당 비용이 전혀 들지 않습니다.
AnyJev는 다음과 같은 다양한 인기 로컬 추론 백엔드를 지원합니다:
- Hugging Face Transformers
- vLLM
- SGLang
- llama.cpp
이러한 유연성 덕분에 개발자는 외부 API 의존성과 그에 따른 비용 및 지연 시간을 우회하여, 강력한 의사결정 기능을 자체 호스팅 모델 배포 환경에 직접 통합할 수 있습니다.
영리한 트릭: 응답이 아닌 다음 토큰을 읽다
AnyJev의 핵심 혁신은 모델 학습이 아닌 프롬프트 엔지니어링에 있습니다. 이는 상태(입력 텍스트)와 객관식 질문을 기존 LLM에 제시하고, "A" 또는 "B"와 같은 명확한 레이블로 옵션을 구성합니다. AnyJev는 모델이 자연어 답변을 생성하도록 두는 대신, 이러한 특정 옵션 레이블에 대한 모델의 다음 토큰 확률(next-token probabilities)을 직접 쿼리합니다. 이를 통해 선택지 전반에 걸친 확률 분포를 직접 추출합니다.
이 방법은 생성형 LLM 출력에서 내재된 잘못된 텍스트 형식이나 JSON 파싱 실패의 위험을 완전히 제거합니다. 모델은 단일 문자 확률을 환각(hallucination)하거나 잘못된 형식으로 출력할 수 없습니다. 그러나 깔끔하게 형식화된 확률이 본질적으로 정확하거나 신뢰할 수 있는 것은 아니며, 이는 단순히 모델의 가공되지 않은 수정되지 않은 판단을 반영할 뿐입니다.
이러한 내재적 편향을 해결하기 위해 AnyJev는 L0 보정(calibration)을 도입했습니다. L0는 모든 가능한 옵션 순서를 테스트하고 결과를 평균화하여 위치 편향(position bias)을 해결함으로써, 특정 위치에 있다는 이유만으로 선택지가 부당한 이점을 얻지 않도록 합니다. 또한 콘텐츠와 관계없이 특정 레이블에 대한 모델의 사전 선호도를 추정하고 조정함으로써 레이블 편향도 수정합니다.
L0는 두 가지 사전 추정 방법을 제공합니다. 입력 배치 전체의 답변을 분석하는 배치 사전(batch prior)과 실제 콘텐츠가 없는 입력에서 편향을 추정하는 콘텐츠 없는 사전(content-free prior)입니다. 두 번째 방법은 단일 헤드라인 판단에 매우 중요하며, 배치 데이터를 사용할 수 없을 때 더 강력한 편향 보정을 제공합니다. L0는 레이블링된 학습 데이터 없이도 의사결정 신뢰도를 크게 향상시킵니다.
500개의 헤드라인 테스트, 여전히 Jev의 승리
Nokia의 AnyJev 라이브러리는 Jev 1.13 및 원본 Qwen 8B 모델과 직접적인 대결을 펼쳤습니다. 벤치마크는 The Onion의 풍자 콘텐츠와 실제 뉴스를 균등하게 섞은 500개의 헤드라인으로 구성되었으며, 모두 M2 Max MacBook Pro에서 처리되었습니다. 이 테스트는 정확도, 속도 및 신뢰도 보정을 엄격하게 평가했습니다.
Jev는 80%의 정확도를 달성했습니다. Raw Qwen은 68.4%로 상당히 뒤처졌으며, AnyJev L0는 68.6%로 근소하게 나은 성능을 보였습니다. Jev는 속도 면에서도 압도적이었는데, 500개의 평가를 모두 완료하는 데 51초가 걸린 반면, 로컬 Qwen과 AnyJev L0는 공유 GPU 리소스를 사용했음에도 총 4분 36초가 소요되었습니다.
AnyJev L0의 핵심 강점은 편향 보정에서 나타났으며, 옵션 순서가 변경되었을 때 발생하는 모든 답변 뒤집힘 현상을 제거했습니다. 반면 Raw Qwen은 20개의 헤드라인(4%)에서 답변이 뒤집혔고, Jev는 18개의 사소한 변화를 보였습니다. 더 자세한 기술적 내용은 nokia-applied-research/AnyJev: Turn any LLM into a Jev-style decision model GitHub 저장소를 확인하세요.
신뢰도 지표는 Raw Qwen의 치명적인 결함을 드러냈습니다. 답변의 87%가 99% 이상의 신뢰도를 자랑했지만, 그중 30%의 높은 신뢰도 예측에서 오답을 냈습니다. AnyJev L0는 위치 및 라벨 편향을 완화했지만, 이 특정 비교에서 보정 성능을 향상시키지는 못했으며, 결과적으로 보정된 신뢰도 측면에서는 Jev가 더 우수한 선택지로 남았습니다.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
편향 보정은 하나의 테스트를 고칠 수 있지만, 다른 테스트를 망칠 수도 있습니다.
헤드라인 실험 결과 AnyJev의 함정이 드러났습니다. 풍자에 강한 편향을 가진 Qwen은 The Onion처럼 들리는 실제 뉴스를 종종 잘못 분류했습니다. batch prior를 사용하는 AnyJev의 기본 L0 보정은 Qwen의 극단적인 0% 또는 100% 확률을 거의 수정하지 못했습니다.
하지만 L0에 content-free prior를 적용하자 다른 결과가 나타났습니다. 이 강력한 보정은 Qwen이 풍자처럼 들리는 실제 기사를 인식하도록 도왔으며, 편향을 69%의 풍자 판정(50/50 비율 기준)에서 67%의 풍자 및 66%의 실제 뉴스 판정으로 더 균형 있게 조정했습니다. 그러나 이 과정에서 일부 진짜 Onion 헤드라인이 잘못 분류되기도 했습니다.
모델의 라벨 편향을 수정하는 것은 그 편향이 해로울 때는 도움이 되지만, 예시의 구성이 바뀌면 과도하게 조정될 수 있습니다. 이 방법은 기본 모델 자체를 더 똑똑하게 만드는 것이 아니라, 단순히 출력 확률을 조정할 뿐입니다.
AnyJev는 Apache 2.0 라이선스와 로컬 실행 방식 덕분에 개인용, 자체 호스팅 의사결정 및 낮은 API 비용 측면에서 매력적입니다. 하지만 프로덕션 환경에 도입하기 전에 반드시 대표적인 라벨링 예시를 사용하여 AnyJev를 벤치마킹하십시오. 영상의 결과(Jev의 80% 정확도 대 AnyJev L0의 68.6%)는 특정 모델, 작업 및 테스트 설정에 국한된 것이며 보편적인 결론이 아닙니다.
자주 묻는 질문
AnyJev란 무엇인가요?
AnyJev는 Nokia Applied Research에서 개발한 오픈 소스 Python 라이브러리로, 오픈 웨이트 언어 모델에 의사결정 방식의 출력을 추가합니다.
AnyJev는 어떻게 의사결정을 내리나요?
A 또는 B와 같은 답변 라벨에 대한 모델의 다음 토큰 확률을 확인한 다음, 생성된 텍스트 대신 확률을 반환합니다.
영상 속 벤치마크에서 AnyJev가 Jev보다 뛰어난 성능을 보였나요?
아니요. 500개의 헤드라인 테스트에서 Jev는 80%의 정확도를 기록한 반면, AnyJev의 기본 L0 보정을 적용한 Qwen은 68.6%를 기록했습니다.
AnyJev는 무료로 사용할 수 있나요?
이 라이브러리는 Apache 2.0 라이선스 하에 무료로 제공됩니다. 로컬에서 실행하려면 여전히 컴퓨팅 리소스와 호환되는 오픈 웨이트 모델이 필요합니다.

