NVIDIA/logits-processor-zoo
A collection of LogitsProcessors to customize and enhance LLM behavior for specific tasks.
해결하는 문제
대규모 언어 모델(LLM)이 텍스트 생성 중 특정 형식이나 행동 지침을 엄격히 따르는 것이 어려운 문제를 해결합니다. 문법 준수를 넘어서 응답의 실제 내용과 구조를 제어할 수 있도록 합니다.
작동 방식
이 라이브러리는 모델이 다음 토큰을 샘플링하기 전에 확률 분포(Logits)를 가로채고 수정하는 'Logits 프로세서'의 모음 제공합니다. 특정 토큰의 가능성을 높이거나 낮추어 모델이 특정한 표현을 사용하도록 유도하거나, 응답 길이를 제한하거나, 특정 출력 형식을 보장할 수 있습니다.
대상 사용자
transformers, vLLM, TensorRT-LLM 프레임워크를 사용하는 LLM 개발자로, 모델의 출력 형식과 동작에 정밀한 제어가 필요한 분들입니다.
주요 기능
- 길이 제어: EOS 토큰의 가능성 조정을 통해 짧은 응답을 장려하거나 억제합니다.
- 프롬프트 기반 인용: 프롬프트에 포함된 토큰의 가능성을 높여 모델이 프롬프트 내용을 참조하도록 유도합니다.
- 문구 강제: 응답을 마치기 전에 특정 문구(예: 인용, 감사의 말)를 포함하도록 강제합니다.
- 다중 선택: 제공된 선택지만 사용하여 다중 선택 문제에 답변하도록 모델을 제약합니다.
- 트리거된 문구: 특정 토큰이 등장할 때 자동으로 특정 문구(예: Python 코드 블록)를 삽입합니다.
- 환각 완화: 모델의 토큰 신뢰도가 임계값 이하로 떨어지면 백업 문구를 강제합니다.
- 시간 기반 종료: 최대 시간 제한 후 문장을 종료하여 생성 지연을 제어합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트