llama.cpp에 소형 수학 추론 모델인 Limite 1B ‘Violetto’ 지원이 추가됐다. 로컬에서 이 모델을 시험하려는 개발자는 전용 실행 코드를 직접 붙이는 대신, 새로 추가된 변환 기능과 배포 빌드를 이용할 수 있다.

1. 변환부터 실행까지 지원

이번 지원을 담은 b11988 빌드는 2026년 10월 29일 GitHub에 사전 공개 버전으로 올라왔다. 변경은 모델 구조를 파일 형식에 등록하는 작업, 원본 모델을 변환하는 기능, 변환한 모델을 실행하는 구현으로 이어진다. 지원 이름을 목록에 더하는 데서 그치지 않고 변환과 실행 양쪽을 연결했다.

GGUF는 모델 가중치와 실행에 필요한 설정을 담는 파일 형식이다. 개발자는 원본 모델을 이 형식으로 변환한 뒤 새 빌드로 실행하는 흐름을 이용한다. 변환기에는 paradigma-inc/limite-1b-violetto가 예시 모델로 등록돼 있어 대상 모델을 확인할 수 있다.

2. 전용 추론 구현과 양자화의 절충

전용 실행부는 여러 층의 정보를 섞어 전달하는 MUDD 연결, 여러 층의 정보를 섞는 연결 방식 등 이 모델 고유의 계산을 처리한다. 변환기는 원본의 설정과 가중치를 실행부가 읽는 구조로 옮기는 역할을 맡는다.

가중치의 표현 정밀도를 낮춰 용량을 줄이는 양자화에도 모델별 처리가 들어갔다. 정보의 통과량을 조절하는 게이트와 층 사이 정보 혼합에 쓰이는 작은 텐서는 참조 구현, 비교 기준으로 삼는 구현처럼 F32 정밀도, 32비트 실수 표현 정밀도로 유지하고, 후속 양자화에서도 제외한다. 나머지 가중치의 용량을 줄이는 경로를 열면서 이 작은 가중치의 정밀도를 보존하는 절충이며, 해당 부분은 용량 절감 대상에서 빠진다.

3. 단일 요청 수학 추론에 맞춘 대화 처리

모델 저장소 측 참여자는 이 모델이 한 번의 질문에 답하는 수학 추론용으로 설계됐다고 설명했다. 권장 입력은 이전 대화를 이어 붙이기보다 고정된 수학용 시스템 메시지와 현재 질문을 사용하는 방식이다. 로컬 수학 문제 풀이를 시험할 때도 이 용도에 맞춰 요청을 구성하는 것이 출발점이다.

변경 제안에는 답변의 추론 내용을 별도로 꺼내 <think> 구간에 넣는 대화 템플릿 수정안도 제시됐다. 모델 저장소 측은 9월 27일 댓글에서 이 수정을 적용하고 모델 카드에 단일 요청 용도를 명확히 했다고 밝혔다. 아래는 제안에 실린 추가 부분이다.

+    {%- elif message.role == 'assistant' %}
+        {{- '<|im_start|>assistant\n' }}
+        {%- if message.reasoning_content is string and message.reasoning_content %}
+            {{- '<think>\n' + message.reasoning_content + '\n</think>\n\n' }}
+        {%- endif %}
+        {{- message.content + '<|im_end|>\n' }}

4. Vulkan 측정에서 확인된 처리량

변경 제안 작성자는 MUDD 혼합 계산을 수정한 뒤 로컬에서 시험해 모델이 작동하고 속도도 높아졌다고 보고했다. 측정 모델은 Limite 1B BF16, 16비트 부동소수점 형식이며 크기는 1.93 GiB, 파라미터 수는 1.04 B로 기재됐다.

측정은 Vulkan 백엔드와 ngl -1 설정에서 이뤄졌다. 작성자 보고 기준으로 프롬프트 처리 시험인 pp512는 변경 전 8847.75 ± 1208.96에서 변경 후 9814.88 ± 44.44 토큰/초로 높아졌다.

생성 처리 시험인 tg128도 같은 모델·백엔드·설정에서 99.46 ± 6.66에서 122.70 ± 4.40 토큰/초로 높아졌다고 보고됐다. 입력을 처리하는 단계와 답변을 생성하는 단계 양쪽에서 계산 변경의 효과가 관찰된 셈이다.

5. 개발자에게 달라지는 점

릴리스에는 리눅스, 윈도, 맥OS, 안드로이드용 빌드와 CPU 및 여러 가속 백엔드 빌드가 나열돼 있다. 개발자가 먼저 할 일은 환경에 맞는 빌드를 고르고, 모델 변환과 대화 템플릿을 함께 준비하는 것이다.

성능 측정에 사용한 하드웨어 기종은 댓글에 적혀 있지 않아 장비별 기대 속도를 판단할 때는 추가 확인이 필요하다. 실행 구현에서는 혼합 배치, 서로 다른 요청을 함께 처리하는 묶음을 지원하지 않으며, 입력을 미리 계산한 벡터로 넘기는 대신 토큰 ID로 값 임베딩, 토큰을 수치 벡터로 바꾼 표현을 조회하는 방식만 지원한다.

b11988의 실질적 변화는 Limite 1B의 GGUF 변환과 전용 실행을 한 흐름으로 연결해 로컬 수학 추론 실험의 진입 장벽을 낮춘 점이다.