Skip to content
🔗 分享本题
查看我的学习进度 →

场景化采样调优动漫知识图:事实问答与创意写作目标不同,通过同一评测集做单变量实验并设置回归门禁

记忆点:参数没有万能值,围绕任务目标做可复现的单变量实验。

💡 答案要点

Temperature 原理:

Softmax 输出概率分布:
T=0.1: [0.95, 0.04, 0.01]  ← 极度集中,几乎总选概率最高的词
T=1.0: [0.50, 0.30, 0.20]  ← 标准分布
T=2.0: [0.40, 0.35, 0.25]  ← 更平坦,更随机

场景化调参经验(面试可直接讲):

场景Temperature理由
RAG 问答 / 事实类问题0.0 - 0.2需要准确,不能乱编
代码生成0.0 - 0.3语法要正确,确定性强
摘要/翻译0.2 - 0.5忠实原文,允许少量变化
内容创作/营销文案0.7 - 1.0需要多样性和创意
头脑风暴/创意生成1.0 - 1.2探索性,允许偏离常规

实际项目调参案例(可以讲):

展开 Python 代码示例(32 行)
python
# 案例1:RAG 知识库问答
# 问题:T=0.7 时模型会"补充"检索内容里没有的信息(幻觉)
# 解决:调低到 T=0.1,模型更保守,只说检索到的内容

response = openai.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    temperature=0.1,     # RAG场景低温
    max_tokens=800,
    top_p=0.9,           # 配合 top_p 限制候选词范围
)

# 案例2:营销文案生成
# 问题:T=0 时每次生成都一样,客户说"没新意"
# 解决:T=0.8,加 seed 参数让结果可复现
response = openai.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    temperature=0.8,     # 创意场景高温
    seed=42,             # 固定seed,相同输入得到相同输出(可复现)
)

# 案例3:Self-Consistency 多次推理投票
# 需要多次采样→投票,必须 temperature > 0
for _ in range(5):
    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        temperature=0.7,  # 保证每次结果不同
    )
    answers.append(extract_answer(response))
final = majority_vote(answers)

其他参数联动调整:

Temperature 低时(<0.3):
  → top_p 可以稍高(0.9+),候选词范围宽一点
  → 不需要 frequency_penalty(已经保守了)

Temperature 高时(>0.7):
  → top_p 适当降低(0.85),避免太随机
  → presence_penalty=0.5,减少重复内容
  → max_tokens 要给够,创意内容往往更长

面试话术:

"Temperature 要按任务和模型调参,不能把某个固定值当标准答案。Self-Consistency 需要采样出有差异的候选路径,因此通常使用非零温度或其他随机采样设置;但结果是否可复现还受 seed、服务端实现、并发和模型版本影响,不能只靠 temperature 判断。"