1. 理解LLM的三大核心要素
当第一次接触大语言模型(LLM)时,token、temperature和上下文长度这三个概念就像黑匣子里的神秘参数。作为从ChatGPT API开始接触LLM的开发者,我最初也只是机械地调整这些参数,直到亲眼目睹它们如何彻底改变模型输出行为,才真正理解其重要性。
1.1 Token:语言模型的原子单位
在LLM眼中,文本不是由字符或单词组成,而是由token构成的序列。以GPT-3为例,"ChatGPT"可能被拆分为["Chat","G","PT"]三个token。这种切分方式源自字节对编码(BPE)算法,它通过统计语料库中的字符共现频率,将常见词保留为完整token,生僻词则拆分为子词。
实际测试发现,中文通常1个汉字=1~2个token,英文则平均1个单词=1.33个token。API调用时的计费就是基于token数量计算的。
我在开发客服机器人时曾犯过一个典型错误:没有预先计算用户问题的token长度。当用户输入300字以上的咨询时,由于超出模型上下文限制,导致回答质量骤降。后来我养成了先用tiktoken库(OpenAI官方token计数器)检测长度的习惯:
python复制import tiktoken
enc = tiktoken.encoding_for_model("gpt-4")
tokens = enc.encode("你的文本")
print(len(tokens)) # 输出token数量
1.2 Temperature:控制创造力的旋钮
这个参数调节模型输出的随机性程度,本质上是softmax前对预测概率分布的调整。temperature=0时模型总是选择最高概率的词(确定性输出),大于1时则会放大低概率词的出现机会。
在技术文档生成的场景中,我设置temperature=0.3获得稳定输出;而在创意写作时调整为0.7-1.0。但要注意,过高的temperature会导致:
- 事实性错误增加(如虚构不存在的论文引用)
- 逻辑断裂(突然切换话题)
- 格式混乱(混合多种语言风格)
1.3 上下文长度:模型的记忆窗口
这决定了模型能"记住"多少之前的对话/文本。GPT-4 Turbo支持128k上下文,相当于300页书的内容量。但
