1 大模型是怎么生成内容的
简单来说就是靠"猜"!
虽然⾮常不可思议,但事实就是这样,现阶段所有的 NLP 任务,都不意味着机器真正理解这个世界,它只是在玩⽂字游戏,进⾏⼀次⼜⼀次的概率解谜,本质上和我们玩报纸上的填字游戏是⼀个逻辑。只是我们靠知识和智慧,AI 靠概率计算。
基于LLM演进出最主流的两个⽅向:BERT和GPT
其中 BERT 是之前最流⾏的⽅向,几乎统治了所有 NLP 领域,并在⾃然语⾔理解类任务中发挥出色(例如⽂本分类、情感倾向判断等)
⽽GPT ⽅向则较为薄弱,事实上在 GPT3.0 发布前,GPT ⽅向⼀直是弱于 BERT的(GPT3.0 是 ChatGPT 背后模型 GPT3.5 的前身)
2 GPT和BERT的区别?

3 代码演示
下⾯⽤程序演示「⽣成下⼀个字」。你可以⾃⼰修改 prompt 试试。还可以使⽤相同的 prompt 运⾏多次安装 OpenAI Python 库
3.1 安装python库
pip install openai
pip install python-dotenv
3.2 openai代码
from openai import OpenAI
from dotenv import load_dotenv # pip install python-dotenv
# 新建⼀个.env⽂件 ⽂件中新建⼀个变量 OPENAI_API_KEY OPENAI_BASE_URL 会⾃动从
#环境变量加载 OPENAI_API_KEY 和 OPENAI_BASE_URL
load_dotenv()
client = OpenAI()
prompt = "我今天真" # 改我试试
response = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt=prompt,
max_tokens=20,
)
print(response.choices[0].text)
3.3 新建.env文件
OPENAI_API_KEY="你们的key"
OPENAI_BASE_URL="https://openai.zhixueyouke.cn/v1"
client = OpenAI(
api_key="你们的Key",
base_url="https://openai.zhixueyouke.cn/v1/"
)
3.4 结果如下

4 大模型的⼯作原理
4.1 ⽤通俗的语⾔描述⼤模型的⼯作原理:
- ⼤模型阅读了⼈类曾说过的所有的话。这就是机器学习,这个过程叫训练
- 把⼀串 token 后⾯跟着的不同 token 的概率记了下来。记下的就是参数,也叫权重
- 当我们给它若⼲ token,⼤模型就能算出概率最⾼的下⼀个 token 是什么。这就是⽣成,也叫推理
- ⽤⽣成的 token,再加上上⽂,就能继续⽣成下⼀个 token。以此类推,⽣成更多⽂字
4.2 Token是什么?
Token⼀定表示⼀个汉字么?
下⾯这个例⼦中我让ChatGPT按照Token的划分粒度将"我喜欢⾹蕉"进⾏倒序输出。

这个例⼦说明:Token既可能是⼀个单词,例如"⾹蕉",也可能是⼀个汉字,例
如:"我"
4.3 Token的定义
在⼤语⾔模型中,Token是模型进⾏语⾔处理的基本信息单元,它可以是⼀个字,⼀个词甚⾄是⼀个短语句⼦。Token并不是⼀成不变的,在不同的上下⽂中,他会有不同的划分粒度。
Tokenizer:https://platform.openai.com/tokenizer
4.3 Token对我们有哪些影响

从官⽅⽂档中我们可以看到每个模型都有⼀个MAX TOKENS的参数,这个参数的意思就是在⼀次会话中,模型能基于整个上下⽂记忆的最⼤的Token数量,这个上下⽂既包含了我们的输⼊,也包含了我们的输出。
在上⾯这个解释中会有两个概念:
- ⼀次会话:所谓的⼀次会话是指你打开了⼀个和ChatGPT的聊天窗⼝,只要你⼀直在这个窗⼝内和ChatGPT聊天,那么这个窗⼝就是你和ChatGPT的⼀次会话,⽆论你们已经聊了多久
- 上下⽂:所谓的上下⽂就是指在最新的⼀个提问之前所有的聊天记录
值得注意的是,这⾥的上下⽂记忆的最⼤Token数量,不仅仅是指你单次提问的语句的最⼤Token数量,⽽是整个会话中之前所有的输⼊和输出的Token数量