站务组整理一个容易被忽略的评分细节:把候选答案送入模型,比较其生成概率,并不等于获得了与格式无关的“真实偏好”。候选文本的长度、分词方式、标签词和上下文模板,都可能改变分数。评分方法本身需要成为实验定义的一部分。

自回归模型对整段文本的概率通常由逐 token 条件概率相乘得到,计算时常使用对数求和。较长答案包含更多乘数,直接比较总概率可能倾向短答案;改为平均对数概率又会改变目标,未必符合任务所需。不存在一个不说明条件就 普遍公平的归一化规则。

即便只比较 A、B、C 等短标签,标签也可能因分词和提示上下文不同而产生不同倾向。前面是否有空格、标签后是否跟标点、输出格式是否固定,都会影响被计分的序列。应明确评分从哪个 token 开始、是否包含前缀与结束符,不能让不同候选采用不同边界。

选项的语义内容和位置也需要分开。可以交换选项顺序、替换标签并保持内容不变,观察结果是否稳定。若答案随标签或位置明显变化,应先分析格式敏感性,而不是宣称模型识别出语义差异。顺序扰动后的结果也不能简单取最高分,避免选择性报告。

对于开放答案,多种等价表述会分散概率。一个事实可以有不同措辞,单独一条参考文本概率较低,不表示模型不知道该事实。若任务本身需要语义正确,可以结合明确的可接受答案规则或人工核验;若任务研究的是语言建模,则应保留概率目标,不把它偷偷换成问答准确率。

本站建议分享评分脚本时同时给出模板、分词器、候选字符串和归一化方法,并用小样本手工核对计分位置。不同模型使用不同词表时,逐 token 分数更不宜直接横比。结论应绑定具体评分口径,让读者能够区分能力变化与测量方式带来的变化,而不是只看到一个排序结果。

讨论问题:
1. 当前分数包含答案前缀、空格或结束符吗?
2. 更换标签和选项顺序后,判断是否仍稳定?
3. 开放答案的等价表述通过什么规则被接受?