郭震 AI公众号:郭震AI

12 ChatGPT原理小白教程:生成过程之温度与多样性控制

发布日期:

最近更新:

分类: ChatGPT原理

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点8 个
图文要点6 张
正文规模1.6k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 8 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

温度与多样性控制图解查看大图
温度与多样性控制图解

温度不是越高越聪明,也不是越低越专业。写事实性说明、代码和合同时要稳;做头脑风暴、标题备选和创意草稿时可以更开放。参数要跟任务风险匹配。

读完这节可以做一个小实验:同一个问题分别用低温和高温生成几次,比较事实稳定性和表达变化。你会发现参数不是魔法开关,而是让模型在稳妥和多样之间移动。越高风险的内容,越要降低随机性并加强核对。

温度参数按任务选查看大图
温度参数按任务选

在上一篇文章中,我们探讨了采样与生成的基本概念,以及如何利用不同的生成策略影响模型的输出。而在本篇中,我们将深入分析温度多样性控制的机制,如何影响文字生成的风格与内容多样性,这些概念对于理解ChatGPT生成能力至关重要。

1. 温度控制

1.1 温度的定义

温度多样性控制判断卡查看大图
温度多样性控制判断卡

理解温度与多样性控制时,先看概率分布如何被拉平或压尖,再观察输出稳定性和创造性变化。

温度是生成文本时调整输出概率分布的一个超参数。其值通常在0到1之间,通过改变输出中选择单词的随机性来改变生成的文本风格。

  • 高温度 (>1):当温度较高时,模型的输出将更加随机,可能生成更加创意和多样的内容,但也容易导致不合适或无关内容的产生。
  • 低温度 (<1):当温度较低时,输出将更加确定和保守,生成的内容通常更加一致和合乎逻辑,但可能会导致生成的内容缺乏创意。

1.2 案例分析

让我们用一个简单的案例来展示温度如何影响文本生成:

假设我们使用以下文本提示:“Once upon a time...”来生成下一个单词。

  • 高温度(如1.5):

    Once upon a time, there was a dragon who loved to dance under the moonlight and tell stories to the stars.
    
  • 低温度(如0.2):

    Once upon a time, there was a king who ruled a peaceful kingdom.
    

可以看出,高温度生成的内容更加丰富和多样,而低温度则生成了一个更加标准和常见的故事开头。

2. 多样性控制

2.1 多样性的含义

ChatGPT 原理阅读地图卡查看大图
ChatGPT 原理阅读地图卡

看《ChatGPT原理小白教程:生成过程之温度与多样性控制》时,先把图中的问题、关键词、操作和验收标准对上,再读正文会更省力。读完后,最好能用自己的项目重新讲一遍。

多样性是指生成内容的丰富性和独特性。在生成过程中,多样性可以通过多种方法实现,如调整温度、使用Top-k采样和Top-p(核采样)等策略。

2.2 控制方法

2.2.1 Top-k采样

Top-k采样是指在每次生成时,从概率最高的k个单词中进行随机选择。选择较小的k值可以提升生成的确定性,而较大的k值则能增加多样性。

例如,设定k=5表示我们只从生成概率最高的5个单词中进行选择,这样能够产生相对多样而有趣的内容。

2.2.2 Top-p采样(核采样)

Top-p采样(或称为核采样)是另一种控制多样性的策略。它不是设定具体的单词个数,而是选择一个概率阈值p,只考虑那部分累计概率达到p的单词。这样可以自适应地调整选择的单词数量。

例如,当设置p=0.9时,模型将选择累计概率达到90%的词,这样可以保证生成内容的多样性同时又不至于选择过于冷门的词。

2.3 案例代码

下面是一个简单的Python示例,展示如何使用温度和多样性控制的采样方法:

import numpy as np

def sample(logits, temperature=1.0, top_k=0, top_p=1.0):
    # 应用温度调整
    logits = logits / temperature
    probabilities = np.exp(logits) / np.sum(np.exp(logits))
    
    # Top-k采样
    if top_k > 0:
        top_k_indices = np.argsort(probabilities)[-top_k:]
        probabilities = np.zeros_like(probabilities)
        probabilities[top_k_indices] = logits[top_k_indices]
        probabilities = probabilities / np.sum(probabilities)
    
    # Top-p采样
    if top_p < 1.0:
        sorted_indices = np.argsort(probabilities)[::-1]
        cumulative_probs = np.cumsum(probabilities[sorted_indices])
        cutoff_index = np.where(cumulative_probs > top_p)[0][0]
        selected_indices = sorted_indices[:cutoff_index + 1]
        
        probabilities = np.zeros_like(probabilities)
        probabilities[selected_indices] = logits[selected_indices]
        probabilities = probabilities / np.sum(probabilities)
    
    # 随机选择下一个单词
    next_word_index = np.random.choice(len(probabilities), p=probabilities)
    return next_word_index

在上面的代码中,我们通过调整temperaturetop_ktop_p的参数,来控制生成文本的风格和多样性。这使得ChatGPT能够适应不同的应用场景和用户需求。

ChatGPT原理小白教程:生成过程之温度与多样性控制应用复盘卡查看大图
ChatGPT原理小白教程:生成过程之温度与多样性控制应用复盘卡

读到这里,可以把《ChatGPT原理小白教程:生成过程之温度与多样性控制》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。

ChatGPT原理小白教程:生成过程之温度与多样性控制应用检查卡查看大图
ChatGPT原理小白教程:生成过程之温度与多样性控制应用检查卡

读完《ChatGPT原理小白教程:生成过程之温度与多样性控制》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。

3. 总结

在本篇中,我们学习了温度多样性控制的概念,以及它们在生成过程中如何影响输出的样式与多样性。掌握这些概念后,可以更好地理解ChatGPT如何在各种应用场景中(如问答系统)进行灵活而富有创意的文本生成。接下来,我们将探讨应用场景之问答系统,并进一步了解ChatGPT在实际应用中的表现和潜力。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

ChatGPT原理小白教程:生成过程之温度与多样性控制适合谁读?

这是 ChatGPT 原理入门 系列第 12 / 18 篇,适合正在学习ChatGPT 原理入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇ChatGPT 原理入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...