使用大模型中Token用量计算方法Temperature设置详解

📅 发布时间:2026/7/7 5:15:25 👁️ 浏览次数:
使用大模型中Token用量计算方法Temperature设置详解
⚡⚡⚡ 新年新文⚡⚡⚡文章目录1Token 用量计算1.1 token概念1.2 离线计算 Tokens 用量2Temperature温度 设置2.1 Temperature概念2.2 核心原理2.3 直观图示2.4 参数设置指南2.5 与其他参数的关系3Temperature例子3.1 例子 1事实性问答3.2 例子 2创意故事写作3.3 例子 3代码生成3.4 例子 4角色扮演对话1Token 用量计算1.1 token概念token 是模型用来表示自然语言文本的基本单位也是我们的计费单元可以直观的理解为“字”或“词”通常 1 个中文词语、1 个英文单词、1 个数字或 1 个符号计为 1 个 token。一般情况下模型中 token 和字数的换算比例大致如下1 个英文字符 ≈ 0.3 个 token。1 个中文字符 ≈ 0.6 个 token。但因为不同模型的分词不同所以换算比例也存在差异每一次实际处理 token 数量以模型返回为准您可以从返回结果的 usage 中查看。1.2 离线计算 Tokens 用量您可以通过如下压缩包中的代码来运行 tokenizer以离线计算一段文本的 Token 用量。通过如下代码来运行 tokenizer以离线计算一段文本的 Token 用量。tokenizer.ziphttps://download.csdn.net/download/weixin_43025151/92716095# pip3 install transformers# python3 deepseek_tokenizer.pyimporttransformers chat_tokenizer_dir./tokenizertransformers.AutoTokenizer.from_pretrained(chat_tokenizer_dir,trust_remote_codeTrue)resulttokenizer.encode(Hello!)print(result)2Temperature温度 设置2.1 Temperature概念简单来说Temperature 是一个控制模型输出随机性和创造性的参数。它直接影响模型在生成下一个词时的选择策略。为了直观理解可以先记住这个类比低 Temperature模型像一个严谨、保守的学者总是选择最稳妥、最常用的词语回答精确但可能略显刻板。高 Temperature模型像一个充满想象力的艺术家更愿意尝试冷门、新奇的词语组合回答富有创意但可能不够准确甚至有些天马行空。2.2 核心原理核心原理从概率到选择大模型生成文本的过程本质上是“词语接龙”。当模型看到前面的文字后它会计算出下一个位置可能出现的所有词并为每个词分配一个概率。例如当模型看到“我喜欢吃”这句话时它可能会计算出“苹果”概率 20%“香蕉”概率 15%“米饭”概率 10%“披萨”概率 8%“梦想”概率 0.01%… 其他无数个词的概率加起来是100%模型需要根据这个概率分布来选出下一个词。Temperature 就是用来调整这个概率分布的“平滑度”或“尖锐度”的工具。Temperature 如何工作在模型输出最终概率之前会先计算每个词的“分数”Logits。Temperature 通过一个数学公式来调整这些分数其中 T 就是 Temperature 参数。它的影响如下低 Temperature (T → 0)效果放大高概率词的领先优势。结果模型几乎总是会选择概率最高的那个词即“苹果”。特点输出确定性高、可预测、事实性强。适合需要精确答案的任务如代码生成、事实问答、翻译等。极端情况当 T 0 时模型变成完全的“贪婪解码”每次都选最高概率的词每次的生成结果都是完全一样的。标准 Temperature (T 1.0)效果保持原始概率分布不变。结果模型按照原始计算出的概率来随机选词20%概率选“苹果”15%概率选“香蕉”……。特点这是模型最“自然”的采样方式在大多数通用对话场景下表现良好。高 Temperature (T 1)效果压缩高概率词和低概率词之间的差距使原本可能性很小的词如“梦想”也有机会被选中。结果概率分布变得更加均匀模型更倾向于探索各种可能性。特点输出多样性高、创意性强、但可能偏离主题或产生幻觉胡言乱语。适合需要创意的任务如写故事、诗歌、头脑风暴、生成营销文案等。2.3 直观图示假设有三个词 A、B、C原始概率分别为A (70%)B (20%)C (10%)。低 Temperature (T0.5)概率分布变得更“尖锐”。A 的概率可能上升到 90%B 降到 8%C 降到 2%。选择 A 几乎是板上钉钉的事。标准 Temperature (T1.0)保持 70%20%10% 的概率。A 大概率被选但 B 和 C 也有机会。高 Temperature (T1.5)概率分布变得更“平坦”。A 的概率可能降到 50%B 升到 30%C 升到 20%。B 或 C 被选中的可能性大大增加。2.4 参数设置指南在实际应用中你可以根据任务类型来调整 TemperatureTemperature 值特点适用场景0.1 - 0.4精确、保守、确定性高代码生成、数学解题、事实性问答、数据提取、机器翻译0.5 - 0.9平衡、可控、有一定灵活性通用聊天、文本摘要、信息改写、邮件撰写1.0默认、自然大多数通用对话模型的标准设置1.1 - 1.5创意、多样、随机性强故事创作、诗歌生成、营销文案、头脑风暴、角色扮演2.5 与其他参数的关系Temperature 通常与另外两个参数配合使用共同控制输出Top-P核采样与 Temperature 不同Top-P 是一种“动态”的筛选方法。它设定一个概率阈值如 0.9然后从概率最高的词开始往低处加直到累计概率超过这个阈值然后只在这个动态确定的候选词集合里进行采样。配合使用通常建议只调整 Temperature 或 Top-P 中的一个。可以先固定一个然后微调另一个来找到最佳效果。Top-K这是一种更简单的方法它只保留概率最高的 K 个词作为候选然后重新分配概率。这是一种静态的截断。Temperature 是控制模型创造力的旋钮。低 Temperature 严谨、可靠、可预测。高 Temperature 大胆、创意、多变性。没有绝对最好的设置只有最适合你当前任务的设置。从默认值通常为 0.7-1.0开始然后根据你是想要更精确还是更有创意的结果上下调整即可。3Temperature例子3.1 例子 1事实性问答提示“请解释什么是光合作用。”低温度 (T0.2)输出非常精确、教科书式“光合作用是植物、藻类和某些细菌利用叶绿素在光的照射下将二氧化碳和水转化为储存着能量的有机物主要是葡萄糖并释放出氧气的过程。它是地球上生命赖以生存的基础。”高温度 (T1.2)输出更随意、可能加入比喻或次要信息“哦光合作用啊那可是植物的‘魔法厨房’它们用阳光当能源把空气里的二氧化碳和喝进去的水搅和在一起制造出好吃的糖分给自己当粮食顺便还排出我们人类需要的氧气。没有这个神奇过程地球上可能就没有我们啦”分析低温版本严格、准确高温版本虽然核心意思正确但表达风格活泼甚至带点拟人化但也可能不小心引入不够严谨的比喻。3.2 例子 2创意故事写作提示“写一个关于一只猫和一台时光机的短故事50字左右。”低温度 (T0.2)故事平铺直叙词语常见“一只猫发现了一台时光机。它按下一个按钮瞬间回到了昨天。它看到自己正在吃鱼于是冲上去把鱼抢走了。”高温度 (T1.2)故事充满意外和奇特想象“橘猫‘炸毛’钻进阁楼里的黄铜时光机一阵眩晕后竟落到了古埃及法老的脚边。法老正要赐死它它却打了个哈欠——时空裂缝里涌出无数条沙丁鱼淹没了整个神殿。”分析低温版本情节简单词汇普通高温版本引入了“古埃及”、“法老”、“沙丁鱼淹没神殿”等意想不到的元素更具故事性但逻辑可能跳脱。3.3 例子 3代码生成提示“用 Python 写一个函数判断一个数是否为质数。”低温度 (T0.2)输出干净、标准、符合惯例的代码defis_prime(n):ifn1:returnFalseforiinrange(2,int(n**0.5)1):ifn%i0:returnFalsereturnTrue高温度 (T1.2)代码可能包含额外注释、不同的写法甚至不常见的优化importmathdefcheck_if_prime(num): 这个函数会告诉你一个数字是不是质数用了点小技巧 ifnum1:returnFalse# 1 和更小的数都不是质数哦ifnum2:returnTrue# 2 是唯一的偶质数ifnum%20:returnFalse# 其他偶数直接 passlimitmath.floor(math.sqrt(num))fordivisorinrange(3,limit1,2):# 只检查奇数因子ifnum%divisor0:returnFalsereturnTrue分析低温版本直接给出最常用的实现高温版本添加了详细注释、对偶数做了提前判断、只检查奇数因子——功能正确但风格更个性化。高温也可能导致代码冗余或引入不必要的复杂性。3.4 例子 4角色扮演对话提示“以一位海盗船长的口吻介绍你自己。”低温度 (T0.2)口吻标准基本符合海盗形象“我是红胡子船长纵横七海的勇士。我的船‘复仇号’上载满了黄金和朗姆酒。你要不要加入我的队伍”高温度 (T1.2)口吻夸张充满戏剧性细节“嗬嗬嗬竖起耳朵旱鸭子老子就是让皇家海军闻风丧胆的‘独眼鹈鹕’杰克我的假腿是用美人鱼的肋骨做的这把弯刀喝过海怪的血想知道我的宝藏埋在哪个骷髅岛先陪我喝三大杯朗姆酒再说”分析低温版本只体现了基本特征高温版本融入了“独眼鹈鹕”、“美人鱼肋骨”、“海怪血”等夸张元素角色更加鲜活但也可能脱离真实的海盗背景。为什么会有这些差异低温度模型的词汇选择集中在高概率词上因此输出保守、重复、可预测适合需要精准的场景。高温度概率分布被“压平”原本可能只有 0.1% 概率的词比如“美人鱼肋骨”也有机会被选中从而产生惊喜但也可能选到完全不相关的词如把海盗和宇航员混在一起导致“幻觉”。如何选择需要事实、代码、翻译 → 用低温0.10.4。需要创意、故事、头脑风暴 → 用高温0.81.2。不确定时从中间值0.70.9开始调试。感谢阅读下期更精彩