大模型发展历程
大模型的发展历程
- 大语言模型的发展历程
- 一、语言模型是个啥?
- 二、语言模型的 “进化史”
- (一)统计语言模型(SLM)
- (二)神经语言模型(NLM)
- (三)预训练语言模型(PLM)
- (四)大语言模型(LLM)
- 三、语言模型的 “秘密武器”
- (一)模型参数规模
- (二)数据数量和质量
- 四、未来展望
大语言模型的发展历程
哈喽~今天咱们来好好唠唠大语言模型。这可不是什么高深莫测的玩意儿,它就在咱们身边,像 ChatGPT、文心一言这些,都是大语言模型的 “明星成员”。咱今天就来扒一扒它的 “老底”。
一、语言模型是个啥?
简单来说,语言模型就是能让计算机 “懂得” 人类语言的模型。它能预测下一个词是什么,也能生成像模像样的句子。就像咱们学外语,刚开始可能只会背单词,后来就能用单词造句,语言模型就是让计算机学会 “造句” 的。
举个例子,输入 “今天天气很”,语言模型就能预测下一个词可能是 “好”、“晴朗” 之类的词。是不是挺神奇的?
二、语言模型的 “进化史”
(一)统计语言模型(SLM)
这算是语言模型的 “老祖宗” 了。它基于统计学,用链式法则来建模句子序列。比如,要计算 “我爱学习” 这句话出现的概率,就得算出 “我” 出现的概率、“爱” 在 “我” 后面出现的概率、“学习” 在 “爱” 后面出现的概率,然后把这些概率乘起来。
用公式表示就是: p ( I , a m , f i n e ) = p ( I ∣ S T A R T ) ∗ p ( a m ∣ I ) ∗ p ( f i n e ∣ I , a m ) p(I,am,fine) = p(I|START) * p(am|I) * p(fine|I,am) p(I,am,fine)=p(I∣START)∗p(am∣I)∗p(fine∣I,am)
但有个麻烦,就是如果有些词组合在训练数据里没出现过,概率就算不出来。这时候就得用 “平滑” 和 “回退” 来解决。平滑就像是给没见过的词也分一点概率,回退则是当高阶模型算不出来时,用低阶模型来代替。
案例:假设我们有 “学生打开书”、“学生打开笔记本” 这两句话,如果要算 “学生打开考试” 这句话的概率,发现 “打开考试” 这个组合没出现过,那就可以用平滑方法,给 “打开考试” 也分配一点概率。
(二)神经语言模型(NLM)
随着深度学习的发展,神经语言模型登场了。它用神经网络来学习词向量,然后预测当前词。比如,用多层感知机(MLP)把单词映射到词向量,再由神经网络预测当前时刻词汇。
它的训练目标函数是:
1
N
∑
i
=
1
N
log
p
(
w
i
∣
w
i
−
n
,
…
,
w
i
−
1
)
\frac{1}{N}\sum_{i=1}^{N}\log p\left(w_{i} \mid w_{i-n}, \ldots, w_{i-1}\right)
N1i=1∑Nlogp(wi∣wi−n,…,wi−1)
循环神经网络(RNN)也是神经语言模型的一种。它的基本单元是:
h
t
=
σ
(
W
h
x
x
t
+
W
h
h
h
t
−
1
+
b
)
h_t = \sigma(W_{hx} x_t + W_{hh} h_{t-1} + b)
ht=σ(Whxxt+Whhht−1+b)
y
t
=
W
h
y
h
t
+
c
y_t = W_{hy} h_t + c
yt=Whyht+c
它能处理序列数据,就像咱们看文章一样,前面的词会影响后面的词。不过,RNN 有 “短记性”,对离得很远的词的记忆会变弱。
案例:用 RNN 来预测下一个词。比如输入 “我今天吃了一顿”,它会根据前面的词来预测下一个词可能是 “饭”、“美食” 之类的。
(三)预训练语言模型(PLM)
预训练语言模型是在大量语料上进行无监督预训练,然后在特定任务上微调的模型。比如,GPT 系列是自回归语言模型,它能根据前面的词生成后面的词;BERT 是自编码语言模型,它能理解词在句子中的含义。
GPT 的目标函数是:
L
=
−
∑
i
=
1
n
log
p
(
w
i
∣
w
1
,
…
,
w
i
−
1
)
\mathcal{L} = -\sum_{i=1}^{n} \log p\left(w_{i} \mid w_{1}, \ldots, w_{i-1}\right)
L=−i=1∑nlogp(wi∣w1,…,wi−1)
BERT 的目标函数是:
L
=
−
∑
i
=
1
n
(
y
i
log
p
(
w
i
)
+
(
1
−
y
i
)
log
(
1
−
p
(
w
i
)
)
)
\mathcal{L} = -\sum_{i=1}^{n} \left( y_{i} \log p\left(w_{i}\right) + (1 - y_{i}) \log \left(1 - p\left(w_{i}\right)\right) \right)
L=−i=1∑n(yilogp(wi)+(1−yi)log(1−p(wi)))
案例:GPT-3 有 1750 亿参数,经过海量文本预训练,能生成各种文本,像写文章、写代码都不在话下。
(四)大语言模型(LLM)
大语言模型是参数规模更大、经过海量数据预训练的模型。它的特点就是 “大力出奇迹”,能处理各种复杂任务,像问答、生成、翻译等。
案例:ChatGPT 是大语言模型的代表,它能和人进行多轮对话,回答各种问题,还能写故事、写诗。
三、语言模型的 “秘密武器”
(一)模型参数规模
参数规模越大,模型能学到的知识就越多。就像一个学生,读书越多,知识就越丰富。比如,Chinchilla 模型有 700 亿参数,经过 1.4 万亿个词训练,虽然比一些大模型参数少,但性能却很不错。
(二)数据数量和质量
数据就是模型的 “粮食”,没有足够的数据,模型就学不会东西。而且,数据质量也很重要。如果数据里有很多错误,那模型学到的东西也会有问题。
案例:有些语言模型用维基百科、新闻文章这些高质量数据来训练,所以能生成比较准确的文本。
四、未来展望
大语言模型还在不断发展,未来可能会更智能、更高效。它可能会在更多领域发挥作用,像教育、医疗、金融等。