想象一节数学课。老师在黑板上写下一道应用题:“17 × 24 等于多少?”他没有让全班齐声回答,而是要求每个同学独立演算,把答案写在纸上,最后举手投票。结果,小明算出了 408,小刚也算出了 408,小华一走神算成了 410,小红又算出 408……众人的答案集中在 408,老师于是宣布:正确答案是 408。 一个人可能粗心犯错,但只要十几个独立演算的人各自犯错的方向不同,多数人同时犯同一个错的概率就低得多——这就是“众志成城”的智慧。Self-Consistency(自洽投票)正是把这种智慧搬进了大模型:同一个问题,让模型在稍高的随机性下独立推理多条路径,每条路径给出一个答案,最后统计票数,得票最多的答案胜出。在论文报告的数据中,数学应用题基准 GSM8K 上,单次思维链推理准确率约 17.9%,投票后跃升到 56.5%——模型没换、数据没加,仅靠“多算几次再举手表决”,准确率就实现了翻倍式增长。
掌握 Self-Consistency 是 Prompt 工程师的必备技能:无需训练、只用推理时采样与投票,就能低成本地把数学与逻辑任务的可靠性拉高一个台阶。
目录
可视化演示
演示多路径采样投票提升推理准确率:推理路径投票、温度参数影响、CoT与SC对比,三种模式交互切换。
本节配有交互动效(进入视口后自动加载,约 3KB)。
多路径采样与投票 同一问题生成5条独立推理路径 投票选出出现频率最高的答案 P(answer) = majority_vote(paths) 5条路径中3条得到A,投票结果:A(60%)
投票核心思想
数学老师走进教室,在黑板上写下一道应用题:“17 × 24 等于多少?”他做了一个特别的要求:不许讨论,每个人独立演算,把答案写在纸上。等所有人都算完,他一声令下:“算好的举手!”算 408 的同学纷纷举起手;只有小华算成 410,小强算出 402。望着七嘴八舌的答案,老师笑了笑:“多数人都说 408,那我们就以 408 为准。”——这就是自洽投票的原始直觉:与其相信某个人的一次演算,不如相信一群人独立演算后的多数结论。
Self-Consistency(自洽投票)正是把这道“班级算术题”搬进了大模型。2022 年,Google 团队提出:同一个问题,让模型在 temperature > 0 的随机采样下,生成 N 条彼此独立的推理路径——就像 N 个同学各自演算;然后剥掉推理过程,只保留每条路径的最终答案,统计哪个答案得票最多,票数最高的答案作为最终输出。它背后的假设是:模型单次推理会犯各种随机错误,但多数人同时犯同一个错的概率,远小于某一个人犯错。用数学语言描述这一投票过程就是:
回到班级场景:老师要求的“独立演算”是采样路径,他“统计举手”是累加票数,“以 408 为准”就是 argmax。Self-Consistency 的每一步,都能在班级里找到对应角色——它是一种朴素到近乎天真、却又极其可靠的智慧。
- 路径集合模型采样出 N 条独立推理路径,第 i 条路径给出候选答案 $y_i$。
- 指示函数$\mathbf{1}\{y_i = y\}$ 是一个“计票器”,若第 i 条路径的答案正好等于待统计的 y,就返回 1,否则返回 0。
- 累加票数$\sum_{i=1}^{N}$ 把 N 个计票器的输出加起来,得到答案 y 的总得票数。
- 多数胜出$\arg\max_{y}$ 表示在候选答案集合中挑选得票数最大者,这就是最终输出。
温度参数:把“独立程度”调到刚刚好
要让投票有意义,前提是同学们真的“独立”了。如果老师规定所有人必须照抄课本例题的解法,全班答案高度雷同,投票等于投了个寂寞。反过来,如果老师让大家放飞自我随便写,答案又将变成一盘散沙。老师需要的,是一个能调节“独立思考程度”的旋钮——temperature(温度)就是这个旋钮。
在语言模型内部,生成每个词时,模型都会给候选词打一个分数 $z_i$(logit),分数高的词更受青睐。temperature 决定这个分数差距如何被放大或压缩,其数学形式是带温度的 softmax:
T=1 时就是普通 softmax;T 越大,各候选词的得分差距被压缩,模型越“随心所欲”;T 越小,差距被放大,模型越“循规蹈矩”。
把温度想象成老师调节“自由度”的旋钮:0.2 意味着人人照本宣科,1.2 意味着课堂乱成一锅粥。Self-Consistency 的实践经验是取 0.5~0.8——既让不同路径之间有可见差异,又让每条路径仍然认真答题。调得太低,N 条路径同质化,投票退化为单次推理;调得太高,多数路径都在胡诌,投票集结的是噪声。这个度,正是一节“成功的讨论课”需要的那个度。
- 候选打分模型对每个候选词给出实数分数 $z_i$,分数越高代表越倾向选它。
- 温度缩放用温度 T 除分数。T>1 时分数差缩小,T<1 时分数差放大,T→0 时只有最高分词的概率趋于 1。
- 指数化$e^{z_i / T}$ 把缩放后的分数映射为正数,同时放大差距的“感知”。
- 归一化除以所有候选的指数和 $\sum_{j=1}^{K} e^{z_j / T}$,让所有概率之和恰好为 1,得到最终采样概率 $p_i$。
采样数量:问多少个同学才够?
老师决定用投票,但马上遇到现实问题:只问 1 个同学,跟直接信他一个人没区别;问 3 个同学,万一有两个人恰好犯同一个错呢?问 30 个同学确实更稳,可每多问一个人,课堂时间就多消耗一分。投票的数量 N,是一个典型的“收益 vs 成本”权衡。
假设每条路径独立答对的概率是 p(比如 0.6),则 N 条路径中至少有 N/2 条答对时,多数投票才正确。这个概率服从二项分布:
代入 p=0.6 可以算出:N=5 时约 68%,N=11 时约 76%,N=21 时约 82%。增速肉眼可见地放缓——多买的每一票,边际收益都在递减。
班级里的经验同样如此:问 5 个同学可能刚好撞上“多数派也错了”的背运,问 40 个同学时,只要每个人独立演算的质量在线,答案几乎必然收敛到正确项。工程上的常见选择是 5~40 条,通常 10 条左右已能吃掉大部分收益。大模型 API 按调用次数计费,采样 40 条意味着约 40 倍成本——预算有限时,与其盲目加到 100 条,不如先把温度调对、把数据洗干净。投票这件事,讲的是“边际收益递减”,而不是“多多益善”。
- 单条正确率设每条路径独立答对的概率为 p,答错概率为 1-p,p 通常来自模型的基础能力。
- 组合数$\binom{N}{k}$ 表示 N 条路径中“恰好 k 条答对”这件事有多少种安排方式。
- 恰 k 对概率$p^k (1-p)^{N-k}$ 是“k 条答对、其余答错”这一具体局面的概率。
- 过半求和$\sum_{k=\lceil N/2 \rceil}^{N}$ 把“至少一半答对”的所有局面概率相加,得到投票总正确率。
适用题型:什么题适合举手投票?
并不是所有问题都适合“举手投票”。如果老师问“1+1 等于几”,全班异口同声,投票毫无意义;如果老师让每人写一首以春天为题的诗,写出来的作品全然不同,投出来的“大多数人的诗”也未必是好诗。投票的有效性,取决于问题是否存在“可判别的正确答案”。
Self-Consistency 的黄金适用区间是:数学计算、逻辑推理、常识问答、事实性校验——这些题目的答案可以明确比较异同,408 与 410 谁对谁错一望可知。相反,创意写作、开放式续写、闲聊寒暄没有标准答案,多数票反而会消弭个性。如何度量“这题适不适合投票”?看答案分布的熵:
班级投票什么时候有意义?当同学们意见足够分散、且正确答案具备判定标准的时候。熵就是那个“意见分散程度”的仪表盘。工程上遇到新任务,第一个动作往往是小规模采样 20 条看答案熵:熵很低,直接单次推理即可,别浪费钱;熵很高且答案能离散判定,Self-Consistency 简直是量身定做。若是开放生成任务,即便熵再高,投票也不适用——大家不会用举手表决来评诗。
- 答案概率$P(a)$ 是答案 a 在 N 条路径中的得票占比,例如 6 条路径中 3 条给 A,则 $P(A)=0.5$。
- 惊讶度$\log_2 P(a)$ 是信息量,答案越罕见(概率越小),数值越负,“惊讶”越大。
- 加权求和$-\sum_a$ 把每个答案的惊讶度按概率加权求和,得到整个答案分布的混乱程度。
- 熵的判读H 接近 0 说明路径高度一致,投票没什么可投的;H 较大说明答案四分五裂,正需要投票来“收拢军心”。
CoT配合:先交草稿,再举手
小学时老师常要求“应用题必须写脱式过程,不写草稿不给分”。为什么要写过程?因为草稿让思路可追踪,也逼着学生一步步算而不是瞎猜答案。对语言模型而言,“思维链”(Chain-of-Thought,CoT)就是那张必须交的草稿——先写出推理步骤,再给出最终答案。
Self-Consistency 与 CoT 是一对黄金搭档:CoT 负责保证每条路径认真演算,自洽投票负责多数裁决。在 CoT 框架下,模型先从问题出发生成一条推理链 r,再基于 r 给出答案 y。单条路径是一个条件概率链,而 Self-Consistency 的本质是对所有采样路径做边缘化求和:
回到班级:CoT 相当于老师规定“必须附演算草稿”,自洽投票相当于“按最终答案举手表决”。草稿保证了每个人不是空口报数,投票保证了团体决策的稳健。研究也反复证明:“CoT + 采样 + 投票”三件套,比单独用 CoT 或单独用投票都更稳定。别忘了在 prompt 里加上“请逐步推理”——没有 CoT 的话,采样出来的路径往往只冒一个答案,投票就成了盲猜。
- 推理链 rr 是一条完整的中间步骤序列,从读题到列式再到计算。
- 生成链的概率$P(r \mid x)$ 表示给定问题 x,模型恰好生成这条推理链 r 的概率。
- 链上的答案概率$P(y \mid x, r)$ 表示在已经写出 r 的条件下,模型最终给出答案 y 的概率。
- 全链求和$\sum_r$ 把所有可能推理链的贡献按概率加权相加——这就是“让每条路径都贡献一票”的数学本质。
效果对比:全班投票 vs 班长一个人说了算
如果只让“班长”(模型单次贪心解码)答题,班长很聪明,但偶尔也犯低级错误;如果让全班独立演算再投票,团体智慧往往碾压单兵作战。Self-Consistency 论文中最震撼的实验数据来自 GSM8K 数学应用题基准:在 PaLM-540B 上,思维链单次贪心推理准确率只有 17.9%,而 Self-Consistency 投票后冲到 56.5%——准确率翻了三倍,而这仅仅是把“推理一次”改成“推理 40 次取多数”,没有动任何模型参数。
不同基线的差距可以用“错误削减率”来比较,它衡量投票消灭了单次推理中多大比例的错误:
在班级语境里,$A_{\text{CoT}}$ 是班长的个人正确率,$A_{\text{SC}}$ 是全班的团体命中率,$\Delta$ 则回答了一个关键问题:“搞投票到底值不值得?”值得。数学推理、符号逻辑类任务中,投票收益普遍显著;而在常识问答上,当单次准确率原本就很高(例如 90%),投票的提升空间也有限——错误削减率自然帮你识别这种“锦上添花 vs 起死回生”的差异。
- 两次准确率$A_{\text{CoT}}$ 是单次思维链的准确率,$A_{\text{SC}}$ 是投票后的准确率。
- 绝对提升$A_{\text{SC}} - A_{\text{CoT}}$ 是投票带来的绝对提升,本例为 0.386。
- 剩余错误空间$1 - A_{\text{CoT}}$ 代表单次推理还错的比例,这是理论上还能挽救的空间,本例为 0.821。
- 错误削减率两者相除,$\Delta=0.47$ 表示投票消灭了约 47% 的原有错误,跨任务比较时这个指标更公平。
工程实现:发卷、收卷、唱票
把 Self-Consistency 落到真实业务,本质上是在组织一场持续的小测验。流程分三步:发卷(多次调用模型)、收卷(归一化答案)、唱票(统计票数)。每张“试卷”都是独立的一次 API 调用,带着同一个问题、同样的 CoT prompt,不同的只是随机性(以及稍高的 temperature)。
工程上第一个坑是“归一化”——模型的答案五花八门:"408"、“答案是408”、“408元”、“408。因此正确”,字符串完全不一样,语义却是同一个答案。必须先写一个解析器,把每条路径末尾的答案抽取并归一化,再进入投票池。第二个坑是延迟与成本:采样 N 条路径,总延迟按下式增长:
类比班级测验:如果一张一张收卷子再一张一张批改,40 张卷子要等一节课;如果 40 个同学同时答题(并行请求),收齐后唱票只需几秒。企业落地时的做法通常是:设置并发水位(例如 8 路并发)、对高频题做结果缓存、把“投票 + 胜出推理链”组合返回给上层,既保住了准确率,又不会让用户等到失去耐心。Self-Consistency 本质上是一个“以算力换精度”的决策:只要预算买得起试卷,准确率就能实打实地提上来。
- 单条推理延迟$T_{\text{infer}}$ 是模型生成一条完整 CoT 路径所需的时间,往往占大头。
- N 倍推理$N \times T_{\text{infer}}$ 是 N 条路径的推理总耗时。串行时严格累加,并行时约等于单次耗时。
- 聚合开销$T_{\text{aggregate}}$ 是答案归一化与计票的本地计算时间,通常毫秒级。
- 总延迟$T_{\text{total}}$ 是用户可感知的等待时间。工程上通过并发请求(async/多路 HTTP)把 N 倍积压拉回近单次水平,并配合缓存、超时与熔断。
AI 应用场景
智能解题辅导 App
阶段:生成后处理 / 推理增强
解决的问题:拍照搜题类产品的单次推理经常算错,尤其应用题步骤多,模型容易在中途出错。传统做法是递归调用模型直到“看起来对”,既慢又不稳定;Self-Consistency 通过多次投票直接量化置信度,得票集中的答案可以放心讲给学生。
具体案例:某 K12 数学辅导应用上线“自洽投票”后处理:前端拍题 → 后端对题目采样 5 条 CoT 路径 → 归一化答案 → 若 5 条中 ≥4 条一致,直接按胜出答案给学生讲解完整推理链;若票数分散(如 3:2 僵持),则自动降级为“人工审核队列”。上线后解析类题目的答错率下降约 40%。
大模型评测集的参考答案生成
阶段:评测数据构建
解决的问题:为数学/逻辑评测集标注参考答案成本高且有标注噪声。单次模型推理生成的“参考答案”本身可能是错的,会导致误判学生模型。
具体案例:评测团队对每道题采样 20 条推理路径做投票,仅在票数 ≥15 时才将该答案写为参考答案;票数分散的题目直接丢弃。相比纯人工标注,成本降低约 70%,且参考答案可追溯具体推理链、可复核。
SQL 生成后的结果一致性校验
阶段:生成结果校验
解决的问题:大模型生成的 SQL 语法正确但业务语义错误,是数据分析平台的高频事故,单次生成无法自检。
具体案例:某 BI 平台对大模型生成的 SQL 采样 3 条分别执行,若 3 条 SQL 的执行结果集完全一致,直接返回结果并标记“高置信”;若有分歧则告警,提示用户确认表字段含义。用投票代替人工逐条 review,数据事故工单量减少约 33%。
Python 演示
"""Self-Consistency majority voting demo: sample paths and vote for the answer."""import random def sample_path(question, temperature): """Return a (reasoning_chain, answer) record simulating one LLM call.""" pool = [ ("17*24=17*20+17*4=340+68=408", "408"), ("17*24=20*24-3*24=480-72=408", "408"), ("17*24=17*25-17=425-17=408", "408"), ("17*24=18*24-24=432-24=408", "408"), ("17*24=410", "410"), ("17*24=400+8=408", "408"), ("17*24=17*4*6=68*6=408", "408"), ("17*24=80", "80"), ] lines = list(pool) if temperature >= 1.0: # 温度过高: 注入更多离谱答案, 模拟随机性失控 lines += [("17*24=1000", "1000"), ("17*24=500", "500")] if temperature <= 0.2: # 温度过低: 每次贪心解码几乎相同, 投票退化为单次推理 lines = [pool[0]] return random.choice(lines) def normalize(answer): """Normalize '答案是408' / '408元' into the same canonical '408'.""" return answer.replace("答案是", "").replace("元", "").strip() def self_consistency(question, num_paths=7, temperature=0.7): """Sample num_paths reasoning paths and return (winner, votes, records).""" records = [] votes = {} for _ in range(num_paths): reasoning, answer = sample_path(question, temperature) answer = normalize(answer) records.append((reasoning, answer)) votes[answer] = votes.get(answer, 0) + 1 winner = max(votes, key=votes.get) return winner, votes, records def main(): question = "17 x 24 = ?" for temp in (0.2, 0.7, 1.2): winner, votes, records = self_consistency(question, num_paths=7, temperature=temp) print(f"temperature={temp}, votes={votes}, winner={winner}") # 打印胜出答案对应的一条推理链, 作为给用户的解释 best_chain = next(r for r, a in records if a == winner) print(f" winning chain: {best_chain}") if __name__ == "__main__": main()
def sample_path(question, temperature):每个“同学”独立演算一次,真实场景中这里换成大模型 API 调用,把 question 与 CoT prompt 一起传入。if temperature >= 1.0:模拟温度过高时路径池里涌入离谱答案,直观看到高温度会让投票翻车。if temperature <= 0.2:温度太低时每次返回同一条链,投票等于白设,这就是“温度 0 无多样性”的缩影。def normalize(answer):投票前必须把“答案是408”、“408元”归一为"408",否则同一答案会被拆成不同字符串而稀释票数。votes[answer] = votes.get(answer, 0) + 1每生成一条路径就给它的答案投一票;get缺省 0 保证首次计票从 1 开始。winner = max(votes, key=votes.get)取出得票最多的答案,对应公式中的 argmax。for temp in (0.2, 0.7, 1.2):跑三组温度对比,直观感受“温度过低没多样性、过高噪声淹没信号”。
常见误区
误区我为了让模型每次推理都不一样,把 temperature 拉到 1.5 甚至 2.0,觉得路径越不一样,投票就越准。
正解投票的前提是“每条路径都还在认真答题”。温度过高时,softmax 把分数差距压平,模型几乎在随机选词,采出来的路径大多驴唇不对马嘴,多数票集结的是噪声而非共识。实践经验推荐 0.5~0.8:足够让路径分岔,又不会让路径失控。这就像开班会,课堂越吵闹不等于结论越正确。
为何常见:新手容易把“多样性”直接等同于“多样性更好”,忽略了多样性必须建立在单条路径质量合格的前提上。
误区既然投票越多越好,我就把采样数从 5 加到 20 再到 50,准确率应该一路涨。
正解从二项分布的多数投票公式看,当单路径正确率 p 固定时,准确率随 N 增大呈“先快后平”的边际递减曲线:p=0.6 时,N=5 约 68%,N=21 约 82%,再往上收益趋近于 0,而 API 成本与延迟却线性增长。工程上 5~40 条即可,10 条左右已覆盖大部分收益。
为何常见:日常经验“问的人越多越稳”没有考虑边际收益递减;当路径高度趋同时,新增的票只是重复投票。
误区这是个能提准确率的万能技巧,写文案、翻译、闲聊都套上“多采样 + 投票”。
正解投票在数学计算、逻辑推理等“答案可离散判定”的任务里管用;在开放生成任务里,没有统一标准答案,多数票只会抹掉多样性和创意——全班投票选不出最好的诗。落地前先用答案熵或小样本实验判断任务是否适合投票。
为何常见:把“准确率”误解为一切任务的目标,忽略了自洽投票对“答案可比较”这一前提的依赖。
误区我直接把整条 CoT 文本放进投票池,想着“推理链长的就是对的”,再用文本相似度来聚类投票。
正解投票的对象必须是归一化后的最终答案,而不是推理链。两条推理链文字完全不同,可能指向同一个正确答案;两条链相似,也可能只是复读同一个错误。工程上需要先用规则或二段 prompt 抽取每条路径的最终答案,再做归一化和计票。
为何常见:没分清“过程多样性”和“结论一致性”——过程千变万化没关系,结论一致才有投票价值。
误区我把 temperature 设成 0(贪心),调用 10 次 API,心想“调用多次总归会有不同结果吧”。
正解temperature=0 时模型输出完全确定,同等输入下 10 次调用的路径和答案一模一样,投票退化为单次推理,等于花了 10 倍的钱买了同一份答案。要获得路径多样性,必须让 temperature > 0(0.5~0.8),或显式传入不同的随机种子。
为何常见:不了解贪心解码的确定性——greedy 每次选概率最大的词,结果不含随机性,多次调用不过是重复同一份答案。
面试题
Q1. Self-Consistency 的核心思想是什么?
- A.让模型多次推理,对答案投票取多数← 正确答案
- B.让模型单次推理的步长拉长
- C.用更大的模型替换当前模型
- D.用更多训练数据微调模型
答案:A。Self-Consistency 的核心是“采样多条独立推理路径 + 多数投票”。B 只是把单次推理变长,C 换模型、D 微调都属于模型侧改进,均未体现“多条路径投票”这一核心。
Q2. 使用 Self-Consistency 时,temperature 通常设置为多少?
- A.0(贪心解码)
- B.0.5~0.8← 正确答案
- C.1.5~2.0
- D.任意值均无影响
答案:B。0.5~0.8 既保证路径有差异又保证路径仍在认真答题。A 的 T=0 会让所有路径完全一样,投票失效;C 过高会让输出接近随机;D 认为无影响,忽略了温度对路径多样性的决定性作用。
Q3. 为什么 Self-Consistency 投票能提升推理准确率?
- A.多次采样增加了模型参数
- B.多数投票能抵消个别路径的随机错误← 正确答案
- C.投票过程让模型学会了新知识
- D.每条推理路径变得更长了
答案:B。单条路径存在随机性失误,但失误方向各不相同;多数投票把个别“跑偏”路径的票淹没在多数正确路径中。A 采样不改变参数,C 推理不产生学习,D 路径长度与准确率无必然关系。
Q4. 以下哪类问题最适合 Self-Consistency?
- A.开放式故事续写
- B.数学应用题求解← 正确答案
- C.日常闲聊寒暄
- D.诗歌意境翻译
答案:B。数学应用题有离散可判定的标准答案,多数投票能显著提分;开放式续写、闲聊、诗歌翻译没有统一标准,多数票无法判定优劣,也不该用投票抹杀多样性。
Q5. 采样数量从 1 增加到 40,投票准确率的变化趋势是?
- A.线性持续单调上升
- B.先快速上升后趋于平缓← 正确答案
- C.先下降后波动上升
- D.几乎保持不变
答案:B。多数投票准确率随 N 增大呈边际收益递减:从单条路径的 p 开始快速爬升,随后逐渐逼近 1(当 p>0.5 时)。A 的“线性”不符合二项分布规律;C、D 与二项分布的单调递增趋势不符。
Q6. 投票前为什么需要对答案做归一化处理?
- A.让答案看起来更完整规范
- B.让“408“与”答案是408”计为同一票← 正确答案
- C.为了减少采样路径数量
- D.归一化后就不需要温度设置了
答案:B。模型输出的最终答案形式五花八门,不归一化会把同一答案拆成多个字符串,导致票数被稀释、多数派逆转。A 不是目的,C 与归一化无关,D 更是把归一化误当成温度设置的替代品。
Q7. 关于 Self-Consistency 的工程实现,以下哪些做法正确?
- A.多次调用模型并保持 temperature>0← 正确答案
- B.只保留贪心解码的结果
- C.对每条路径的答案归一化后投票← 正确答案
- D.把整条推理链文本也纳入投票
答案:AC。A 保证采样多样性,C 防止同一答案被拆票,二者是标准做法。B 的贪心解码无多样性;D 投票对象应是最终答案而非推理链文本,否则过程文字差异会干扰计票。
Q8. 以下哪些策略能与 Self-Consistency 正确配合?
- A.配合思维链 CoT 提示词← 正确答案
- B.温度参数固定为 0
- C.采样多条独立的推理路径← 正确答案
- D.不写提示词直接输出答案
答案:AC。CoT 让路径先写草稿再给答案,配合投票效果最好;多条独立路径是投票的前提。B 温度 0 无多样性;D 无 CoT 时模型直接报答案,路径质量差,投票收益也差。
Q9. 投票结果中答案 A 得 4 票、答案 B 得 3 票,Self-Consistency 最终输出什么?
- A.输出 A,因为得票最多← 正确答案
- B.输出 B,因为最后出现
- C.重新采样 10 条再投
- D.随机选择一个答案
答案:A。Self-Consistency 就是多数投票,得票最多的 A 胜出。B 的“最后出现”没有依据;C 重采样增加成本而未必改变结论;D 随机选择等于放弃投票结果,也不符合多数原则。
Q10. Self-Consistency 相对单次推理的主要代价有哪些?
- A.推理延迟按采样数成倍增加← 正确答案
- B.API 调用成本随采样数放大← 正确答案
- C.模型参数量同步翻倍
- D.需要额外的人工标注数据
答案:AB。N 次采样意味着 N 倍 tokens 生成与 N 倍 API 计费,延迟可用并发压缩但成本不可压缩。C 模型参数完全不变;D 该方法无需训练与标注,这正是它比微调更轻量、更受欢迎的原因。