llama.cpp에 출력 선택을 부드럽게 하는 scatter 샘플러 추가
용 실험 기능으로 scatter 샘플러가 추가됐다. 이 기능은 다음에 나올 토큰 후보 중 이미 상위권으로 고른 후보들 안에서만 확률을 조금씩 나눠 갖게 만든다.
목표는 답변이 너무 딱딱하게 굳지 않게 하면서도, 온도를 올릴 때처럼 품질 낮은 하위 후보가 갑자기 섞이는 일을 줄이는 것이다. 빛이 퍼지는 모습에 비유하지만 실제 물리 계산은 아니며, 토큰 순위 주변에서 값이 조금 번지는 가벼운 평균 처리에 가깝다.
예를 들어 1순위 후보의 확률 일부가 2순위, 3순위, 4순위 후보로 옮겨갈 수 있고, 5순위 후보도 가까운 순위와 확률을 주고받는다. 현재 의 기본 샘플러 API와 샘플러 체인 이름 scatter로 구현되어 테스트된 실험 기능이다.
핵심 포인트
- scatter는 에 추가된 실험적 샘플러다.
- 상위 토큰 후보들끼리만 확률을 조금 나누도록 만든다.
- 온도를 높일 때 생길 수 있는 낮은 품질 후보 유입을 피하려는 목적이다.
- 실제 물리 계산이 아니라 토큰 순위 주변을 부드럽게 만드는 간단한 처리다.
- 현재 샘플러 API와 scatter 체인 이름으로 구현되어 테스트됐다.