大模型关键参数调
大模型关键参数调
一、核心任务:学习大模型关键参数
在使用大模型时,理解并合理调整关键参数能显著影响模型生成的回答质量和风格。参数有很多,我就不一一列举了,列举以下是几个重要参数及其作用:
(一)temperature(温度系数)
-
作用:这个参数控制模型输出的随机性。简单来说,temperature 值越高,模型的回答越具创造性和多样性,但也可能变得更加不可预测和偏离主题;temperature 值越低,回答则越保守、确定,更倾向于重复常见的内容。
-
举例理解:想象我们让模型写一篇关于旅游的短文。当 temperature 接近 0 时,模型可能会给出非常标准、常规的描述,比如列举一些著名景点和常规的旅游建议。而当 temperature 接近 1 时,模型可能会给出一些独特的、甚至有些奇特的旅游视角或组合,比如推荐一些小众且意想不到的景点搭配。
(二)top_p(核采样概率)
-
作用:top_p 也叫核采样,它从概率最高的那些词中选择一部分来生成文本。具体来说,模型会从所有可能的下一个词中,按照概率从高到低累加,直到概率和达到 top_p 值,然后从这些词中随机选择一个作为下一个词。这有助于平衡多样性和合理性,避免选择非常罕见的词导致生成结果过于离谱。
-
举例理解:假设模型在生成文本时,下一个词有 100 种可能。如果 top_p 设置为 0.9,模型会先把这 100 个词按概率从高到低排序,然后依次累加概率,直到累加和达到 0.9 。接着,它只会从这些累加和达到 0.9 的词中随机选择一个作为下一个输出的词。
-
temperature与top_p均可以控制生成文本的多样性,建议只设置其中一个值
(三)max_tokens(最大令牌数)
-
作用:这个参数限制了模型生成的文本长度,以令牌(token)为单位。令牌可以理解为模型处理文本时的基本单元,可能是一个单词、一个字词或一个标点符号等。通过设置 max_tokens,我们可以控制模型输出的内容量,避免生成过长或过短的文本。
-
举例理解:如果我们设置 max_tokens 为 50,模型生成的回答在达到 50 个令牌左右时就会停止。这对于一些有明确长度要求的应用场景,比如生成短摘要或固定长度的回复非常有用。
(四)stop(停止词)
-
作用:stop 参数用于指定一个或多个词,当模型生成的文本中出现这些词时,生成过程就会停止。这在我们希望模型在特定条件下结束生成时非常有用,比如我们只需要模型回答到某个特定的句子结束,就可以把这个句子的结尾词设为停止词。
-
举例理解:假设我们让模型生成一篇故事,并且希望故事在 “故事结束” 这个词出现时停止。我们就可以把 “故事结束” 设置为 stop 词,这样模型一旦生成到 “故事结束”,就会停止继续生成后续内容。主要用于敏感词控制模型的输出
练习调整参数,观察回答差异:以调用通义千问为例,在代码中尝试修改上述参数的值,向模型提出相同的问题,观察每次回答的差异。
通义千问
对比不同 temperature ([0, 2))值的回答效果:
import requests
def call_qwen_api(api_key, prompt, model="qwen-plus"):
url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
# 不同参数设置
parameters_list = [
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"temperature": 0.1,
"max_tokens": 100,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"temperature": 0.5,
"max_tokens": 100,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"temperature": 0.9,
"max_tokens": 100,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"temperature": 1.9,
"max_tokens": 100,
"stream": False
}
]
for parameters in parameters_list:
data = parameters
response = requests.post(url, headers=headers, json=data).json()
print("-----------------------------------------------")
print(response["choices"][0]["message"]["content"])
if __name__ == "__main__":
QWEN_API_KEY = "你的API_KEY"
prompt = "我想去上海旅游,请介绍一下上海有哪些可以游玩的?"
call_qwen_api(QWEN_API_KEY, prompt)
返回结果:可以明显看出随着temperature增大,模型的回答越具创造性和多样性
----------------------temperature==0.1-------------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、老城厢的江南韵味,又有陆家嘴的摩天楼群和活力四射的艺术街区。以下为您精选几类经典又具代表性的游玩体验,兼顾文化、自然、美食与休闲,适合不同兴趣和行程时长(3–5天推荐):
🌟【必打卡经典地标】
✅ **外滩
--------------------------temperature==0.5---------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻乐园。以下为您精选几类经典且值得一游的景点,兼顾文化、自然、美食与体验感,适合不同兴趣和行程安排(建议3–5天深度游):
🌟【必打卡地标】
✅ **外滩 &
-------------------------temperature==0.9----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻世界。以下是为您精心整理的上海经典+特色游玩推荐,按类别分类,兼顾文化、自然、美食与亲子体验,适合不同兴趣和行程时长:
🌟【必打卡·经典地标】
✅ **外滩**:漫步黄
------------------------temperature==1.9-----------------------
当然可以!上海是一座融合了摩登时尚与历史底蕴的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的现代天际线、弄堂里的烟火人情。以下为您精选推荐几类经典游玩体验,兼顾标志性景点、文化深度与在地生活感:
🌟 **必打卡地标 & 经典路线**
✅ **外滩 + 南京路步行街**:白天
对比不同 top_p ((0, 1])值的回答效果:
import requests
def call_qwen_api(api_key, prompt, model="qwen-plus"):
url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
# 不同参数设置
parameters_list = [
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"top_p": 0.1,
"max_tokens": 200,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"top_p": 0.5,
"max_tokens": 200,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"top_p": 1.0,
"max_tokens": 200,
"stream": False
}
]
for parameters in parameters_list:
data = parameters
response = requests.post(url, headers=headers, json=data).json()
print("-----------------------------------------------")
print(response["choices"][0]["message"]["content"])
if __name__ == "__main__":
QWEN_API_KEY = "你的API_KEY"
prompt = "如果人类可以和动物交流,会发生什么有趣的事情?"
call_qwen_api(QWEN_API_KEY, prompt)
返回结果:可以明显看出随着top_p增大,模型的想象力越来越丰富
-----------------------top_p==0.1------------------------
这是一个充满诗意与哲思的假设!如果人类真的能和动物“真正交流”——不是靠翻译器或行为解读,而是理解彼此的语言、语境、情感逻辑甚至世界观(比如蜜蜂的舞蹈是语法严谨的“句子”,乌鸦用工具时在脑中模拟因果链,鲸歌里藏着跨代际的海洋记忆)……那世界可能会发生这些既荒诞又深刻的变化:
🐾 **日常生活的幽默反转**
- 通勤路上,一只蹲在公交站牌上的流浪猫对你说:“别坐这趟车,司机今天心情差,我刚被他瞪了三秒——按我的‘愤怒换算表’,等于人类摔了三次咖啡杯。”
- 宠物狗不再只是摇尾巴,而是在你加班回家时叹气:“你第17次把‘马上来’说成‘马上来摸我’。我数了,上次‘马上’是2
--------------------------top_p==0.5---------------------
这是一个充满诗意与哲思的假设!如果人类真的能和动物“真正交流”——不是单向解读行为或声音,而是双向、语义清晰、带有文化语境与主观体验的理解(比如理解狗的“焦虑”不只是心跳加快,而是它在想:“主人出门前摸了三次门把手,上次这样之后他消失了三天……这次会不会又丢下我?”)——世界可能会发生一系列既温暖又颠覆性的变化:
🐾 有趣又真实的可能场景:
1. **宠物界的“劳动仲裁”爆发**
一只布偶猫冷静指出:“合同第3条写明‘提供无限量阳光斑+定期梳毛’,但上周连续5天阴雨,你只给了我3次梳毛,且力度不均——要求补偿:多开一罐三文鱼罐头,并允许我睡你枕头。”
→ 宠物主开始收到手写(爪写?)《
--------------------------top_p==0.9---------------------
这是一个充满诗意与哲思的假设!如果人类真的能和动物「真正交流」——不是靠拟人化想象,而是理解它们真实的感知逻辑、情感尺度、时间观念和生存语言(比如蜜蜂的舞蹈是空间坐标,蝙蝠的超声是3D实时建模,蚂蚁的信息素是化学互联网)——世界可能会发生既荒诞又深刻的转变。以下是一些有趣又发人深省的可能场景:
🐾 **日常生活的“颠覆性幽默”**
- 你家猫用低频呼噜声+瞳孔微颤+尾巴尖三下轻弹,精准表达:“第7次提醒:饮水机滤芯该换了。你昨天倒的水有氯味,我喝了两口就走开——不是高冷,是抗议。”
- 麻雀在窗台开“社区听证会”:“人类投喂面包屑?谢谢,但请改投燕麦粒
对比不同 stop 值的回答效果:
import requests
def call_qwen_api(api_key, prompt, model="qwen-plus"):
url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
# 不同参数设置
parameters_list = [
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"stop": None,
"max_tokens": 200, ## 限制200,防止输出过多
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"stop": "外滩",
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"stop": "东方明珠",
"stream": False
}
]
for parameters in parameters_list:
data = parameters
response = requests.post(url, headers=headers, json=data).json()
print("-----------------------------------------------")
print(response["choices"][0]["message"]["content"])
if __name__ == "__main__":
QWEN_API_KEY = "你的API_KEY"
prompt = "我想去上海旅游,请介绍一下上海有哪些可以游玩的?"
call_qwen_api(QWEN_API_KEY, prompt)
返回结果:可以明显看出增加了stop敏感词,到对应场景介绍时自然就会停止回答
-----------------------stop==none-----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻乐园。以下为您精选几类经典且值得一游的景点,兼顾文化、自然、美食与体验感,适合不同兴趣和行程安排(建议3–5天深度游):
🌟【必打卡地标】
✅ **外滩 & 南京路步行街**
- 外滩:白天看黄浦江对岸陆家嘴“三件套”(上海中心、金茂大厦、环球金融中心),傍晚华灯初上时更美,百年万国建筑群与现代天际线同框,是上海最经典的明信片视角。
- 南京路步行街:紧邻外滩,百年商业街,老字号(沈大成、第一食品商店)与国际
------------------------stop==外滩-----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有
-------------------------stop==东方明珠----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻乐园。以下为您精选几类经典且值得一游的景点,兼顾文化、自然、美食与体验感,适合不同兴趣和行程安排(建议3–5天深度游):
🌟【必打卡·经典地标】
✅ **外滩**:漫步黄浦江畔,左手是百年欧式老建筑群(海关大楼、和平饭店等),右手是陆家嘴“三件套”(上海中心、金茂大厦、环球金融中心)的震撼天际线。推荐傍晚前往,欣赏华灯初上时的“光影交响”,夜景尤其迷人。
✅ **陆家嘴金融区**:登顶上海中心大厦(中国第一高楼,632米)或
对比不同 max_tokens值的回答效果:
import requests
def call_qwen_api(api_key, prompt, model="qwen-plus"):
url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
# 不同参数设置
parameters_list = [
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"max_tokens": 20,
"stop": None,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"max_tokens": 100,
"stop": None,
"stream": False
},
{
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": prompt},
],
"max_tokens": 200,
"stop": None,
"stream": False
}
]
for parameters in parameters_list:
data = parameters
response = requests.post(url, headers=headers, json=data).json()
print("-----------------------------------------------")
print(response["choices"][0]["message"]["content"])
if __name__ == "__main__":
QWEN_API_KEY = "你的API_KEY"
prompt = "我想去上海旅游,请介绍一下上海有哪些可以游玩的?"
call_qwen_api(QWEN_API_KEY, prompt)
返回结果:输出字数在设置的max_tokens左右
------------------------max_tokens==20-----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外
------------------------max_tokens==100-----------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻乐园。以下为您精选几类经典且值得一游的景点,兼顾文化、自然、美食与体验感,适合不同兴趣和行程安排(建议3–5天深度游):
🌟【必打卡地标】
✅ **外滩 &
-----------------------max_tokens==200------------------------
当然可以!上海是一座融合了历史底蕴与现代摩登的国际大都市,既有外滩的万国建筑博览群、豫园的江南古典园林,也有陆家嘴的摩天大楼、迪士尼的梦幻乐园。以下为您精选几类经典且值得一游的景点,兼顾文化、自然、美食与体验感,适合不同兴趣和行程安排(建议3–5天深度游):
🌟【必打卡地标】
✅ **外滩 & 南京路步行街**
- 外滩:白天看黄浦江对岸陆家嘴“三件套”(上海中心、金茂大厦、环球金融中心),傍晚华灯初上时更美,百年万国建筑群与现代天际线同框,是上海最经典的明信片视角。
- 南京路步行街:从外滩向西延伸,百年商业街,老字号(沈大成、第一食品商店)
疑问解答:
-
top_p(核采样概率)怎么描述让模型回答才能体现出差异性?
设计描述任务:
故事创作:让模型创作一个奇幻故事,例如 “创作一个关于魔法森林的奇幻故事,森林中有会说话的动物和神奇的植物”。在调用模型时,分别设置不同的
top_p值,如top_p = 0.7、top_p = 0.9。当top_p = 0.7时,模型从概率累积到 0.7 的词中选择下一个词,这会使故事更倾向于使用常见的、大概率的词汇,故事发展可能较为传统。而当top_p = 0.9时,模型考虑的词汇范围更广,可能会引入一些不太常见但仍然合理的词汇,让故事出现更奇特的情节转折,比如森林中的魔法植物具有能扭曲时空的能力,这在top_p值较低时不太容易出现。诗歌生成:要求模型 “以春天为主题创作一首诗歌”。设置不同
top_p值,较低的top_p值(如 0.6)可能使诗歌的用词和意象更符合大众对春天的普遍认知,像 “春天花朵开,鸟儿枝头来” 这种较为常规的表述。而较高的top_p值(如 0.9)可能会带来更独特的意象组合,例如 “春天是一场彩色的梦,云朵在树梢编织着朦胧”,展现出更具创意和新鲜感的诗歌内容。文本续写:
给定开头续写新闻报道:假设提供一个新闻报道开头 “今日,在城市的中心广场举办了一场大型的文化活动,吸引了众多市民参与”。当设置
top_p = 0.8时,模型续写的内容可能围绕常见的活动场景展开,如描述活动中的表演节目、市民的反应等,比较符合一般新闻报道的思路。而当top_p = 0.95时,模型可能引入一些不那么常见但仍然合理的情节,比如活动过程中突然出现了一位神秘嘉宾,给活动带来了意想不到的高潮,使续写内容更具戏剧性和独特性。小说片段续写:给出小说片段 “主角走进了那间神秘的古宅,门在他身后缓缓关上……”。在不同
top_p值下,较低的top_p(如 0.75)可能导致续写内容遵循常见的恐怖或悬疑小说套路,比如出现阴森的场景描述、奇怪的声音等。而较高的top_p(如 0.9)可能会让情节发展更加出人意料,例如古宅中突然出现了一个通往异世界的传送门,将主角带入了一个全新的奇幻空间。问题回答:
开放性问题:提出问题 “如果人类可以和动物交流,会发生什么有趣的事情?” 设置不同
top_p值。top_p值较低(如 0.7)时,模型的回答可能集中在常见的场景,如人类询问动物的生活习性、寻求帮助等。而top_p值较高(如 0.9)时,回答可能会包含一些更具想象力的场景,比如动物组织起来成立了自己的议会,与人类讨论资源分配问题,展现出更丰富多样的思维角度。专业领域问题:对于问题 “在医学领域,如果研发出能让人类肢体再生的技术,会带来哪些影响?” 较低的
top_p(如 0.8)可能使模型从常见的医学、社会影响角度回答,如改善残疾人生活、推动医学进步等。较高的top_p(如 0.9)可能会引入一些更前沿或跨领域的思考,比如对体育竞技规则的重新制定,因为运动员可能利用肢体再生技术获得更强的竞技能力,体现出回答的差异性。 -
max_tokens设置之后,他只是输出一半的话语,怎么保证模型回答的完整性?
问题类型分析:
**简单事实性问题:**这类问题通常寻求具体、简短的答案。例如 “中国的首都是哪里?” 或 “水的沸点是多少摄氏度?” 对于这类问题,模型只需提供关键信息,回答可能在 1 - 2 句话内完成,预计 max_tokens 设置在 20 - 50 左右就足够。因为答案相对固定和明确,不需要过多的描述。 **描述性问题:**像 “描述一下热带雨林的气候特点” 这类问题,需要一定的篇幅来详细阐述相关特征。模型可能需要从温度、湿度、降水等多个方面进行描述,可能需要 5 - 10 句话,此时 max_tokens 可设置在 100 - 300 之间,以确保能全面涵盖相关内容。 **分析性或论述性问题:**比如 “分析人工智能对就业市场的影响”,此类问题要求模型从多个角度进行分析,可能涉及不同行业、不同层面的影响,还可能需要举例说明。这通常需要更多的文字来阐述观点和逻辑,max_tokens 可能要设置在 500 - 1000 甚至更高,以便模型能充分展开论述。
关键词与细节需求判断:
**关键词数量与复杂度:**如果用户问题包含多个关键词,且这些关键词之间存在复杂的关系,那么可能需要更多的内容来解释清楚。例如,“分析大数据、云计算和物联网在智慧城市建设中的协同作用”,这里涉及三个关键技术以及它们在特定领域的协同关系,需要详细阐述各个技术的特点、它们如何协同以及对智慧城市建设的具体影响,max_tokens 应设置得较高,可能 800 - 1500 。相比之下,单关键词问题如 “解释区块链”,虽然也需要一定篇幅,但相对来说所需 max_tokens 会少一些,大概 200 - 500 。 **细节要求关键词:**当问题中出现如 “详细”“全面”“举例说明” 等关键词时,表明用户期望获得更丰富、详细的回答。例如 “详细介绍一下中国传统节日的习俗,并举例说明在现代生活中的传承方式”,这种情况下,为了满足细节需求,max_tokens 要相应提高,可能设置在 600 - 1200 。
上下文信息利用:
**多轮对话场景:**如果是在多轮对话中,前面的对话内容可以提供重要线索。例如,前面已经讨论了人工智能的基本概念,接着用户问 “那它在医疗领域具体有哪些应用?” 由于已经有了前面关于人工智能的铺垫,此次回答不需要再赘述基础概念,重点在于医疗领域的应用,max_tokens 可根据应用的复杂程度设置在 300 - 600 。但如果是全新的话题开启,可能需要更多的内容来全面阐述,max_tokens 要适当增加。 **用户角色与背景推测:**如果知道用户的角色信息,也有助于判断回答长度。比如,面对专业领域的专家提问,回答可能需要更深入、详细,max_tokens 要设置得较高,以满足专家对专业知识深度和广度的需求;而对于普通大众的一般性问题,回答可以相对简洁易懂,max_tokens 相应减少。
预生成与反馈调整:
**初步生成试探:**可以先使用一个相对适中的 max_tokens 值进行初步生成,观察模型输出结果。如果输出在结尾处戛然而止,且明显感觉内容未完成,说明 max_tokens 设置过小,需要增加;如果输出内容在达到 max_tokens 限制前就已经完整且没有冗余,那么这个 max_tokens 值可能较为合适;如果输出内容出现大量重复或明显冗长,可能 max_tokens 设置过大,需要减小。 **用户反馈优化:**根据用户对回答的反馈来进一步调整 max_tokens 。如果用户表示回答太简略,没有涵盖其期望的内容,那么下次生成时应适当增加 max_tokens ;若用户觉得回答过于冗长繁琐,可考虑减小 max_tokens 值。通过不断结合用户反馈进行调整,逐渐找到最符合用户语义需求的 max_tokens 长度。
更多推荐

所有评论(0)