跳到正文
@AYi_AInotes· @AYi_AInotes · X·· 15 天前AI 评分58
AI 导读

阿易 AI Notes 整理了用 SGLang 做本地批量单选决策的三步实现:先启动 SGLang 推理服务并挂载 Qwen 或 Llama 等开源模型,再把常规对话补全接口换成 /v1/score 打分端点并在请求结尾预留答案位置,最后在参数中显式指定 candidate_tokens 如 A、B、C 或 是、否。

正文

很多做本地部署和模型微调的朋友在要具体的跑通方法, 替大家把核心的三步极简实现逻辑整理如下:
第一步 启动 SGLang 推理服务
支持挂载任何主流开源模型比如 Qwen 或 Llama:
python3 -m sglang.launch_server --model-path Qwen/Qwen2.5-7B-Instruct --port 30000
第二步 抛弃生成接口改调打分端点
核心秘密就在于千万不要调用常规的对话补全接口, 而是向推理服务发送专门的评分请求:
端点地址: /v1/score
请求体中传入需要判断的完整上下文, 并在结尾处预留答案位置。
第三步 注入候选标签实现限制性归一化
在参数中显式指定 candidate_tokens 比如选项 A、B、C 或者 是、否。
底层计算机制会自动截断原本庞大的几万词表, 仅在这几个预设标签的对数概率上执行归一化计算, 一步前向传播直接返回各自的绝对概率。
因为完全不产生任何输出 Token, 显存占用极小且吞吐量极高, 配合框架的 Radix 缓存机制, 面对长上下文的批量单选决策速度极度惊人。

来源:@AYi_AInotes · x.com