本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权)
目录
一、什么是语言模型?
那么什么是语言模型?
为何是通讯问题?为何转换成通讯问题后,就能实现语音识别?
那如何解决这个问题?
二、如何计算概率?
第一阶段是统计语言模型(Statistical Language Model,SLM)
第二阶段是神经网络语言模型(Neural Language Model,NLM)
第三阶段是预训练语言模型(Pre-trained Language Model,PLM)
第四阶段是大语言模型(Large Language Model)
三、开发大语言模型需要什么?
关键一:数据
关键二:算法
关键三:算力
四、大语言模型有什么缺点?
缺点一:结果高度依赖训练语料
缺点二:Hallucinations
缺点三:暂时只能解决数学问题
一、什么是语言模型?
大家或多或少都听过 ChatGPT 是一个 LLMs,那 LLMs 是什么
LLMs 全称是 Large Language Models,中文是大语言模型。
那么什么是语言模型?
语言模型简单说来,就是对人类的语言建立数学模型,注意,这里的关键是数学模型,语言模型是一个由数学公式构建的模型,并不是什么逻辑框架。这个认知非常重要。
最早提出语言模型的概念的是贾里尼克博士。
他是世界著名的语音识别和自然语言处理的专家,他在 IBM 实验室工作期间,提出了基于统计的语音识别的框架,这个框架结构对语音和语言处理有着深远的影响,它从根本上使得语音识别有实用的可能。在贾里尼克以前,科学家们把语音识别问题当作人工智能问题和模式匹配问题。而贾里尼克把它当成通信问题。
为何是通讯问题?为何转换成通讯问题后,就能实现语音识别?
根据香农确定的现代通讯原理,所谓的通讯,也被称为信道的编码和解码,信息源先产生原始信息,然后接收方还原一个和原始信息最接近的信息。
比如,你打电话的时候,问对方一句「你吃了晚饭了吗」,在传输前,通讯系统会对这句话进行编码,编成类似「100111101100000…」,但是传输过程中,一定会有信号损失,接收方收到的编码可能是「1001111011000…」,此时我们就没法解码回原来的句子了。
那如何解决这个问题?
我们可以把与接收到的编码「1001111011000…」类似的句子都罗列出来,可能的情况是:
- 吃了晚饭了吗
- 你吃了饭了吗
- 你吃了晚饭了吗
- 你吃了晚饭了
然后通讯系统会计算出哪一种的可能性最大,最后把它选出来。只要噪音不大,并且传输信息有冗余,那我们就能复原出原来的信息。
贾里尼克博士认为让计算机理解人类的语言,不是像教人那样教它语法,而是最好能够让计算机计算出哪一种可能的语句概率最大。
这种计算自然语言每个句子的概率的数学模型,就是语言模型。
二、如何计算概率?
既然是数学模型,那应该如何计算呢?
最简单的方法,当然就是用统计学的方法去计算了,简单说来,就是靠输入的上下文进行统计,计算出后续词语的概率,比如「你吃了晚饭了吗」,「你吃了」后面按照概率,名词如「饭」或「晚饭」等概率更高,而不太可能是动词,如「睡」「睡觉」。
第一阶段是统计语言模型(Statistical Language Model,SLM)
这是语言模型的第一阶段,模型也被称为是统计语言模型(Statistical Language Model,SLM),其基本思想是基于马尔可夫假设建立词语测模型,根据最近的上下文预测下一个词。
后续语言模型的发展又迭代了三个版本。
统计语言模型是自然语言处理(NLP)中的一种核心技术,主要用于根据单词的历史序列来计算语句的概率。这种模型基于大量的文本数据来学习单词之间的统计规律,从而能够预测接下来可能出现的单词或者生成整个句子。
统计语言模型主要有以下几种类型:
N-gram模型:这是最简单的统计语言模型,它通过计算前N−1N-1个词出现后某个词出现的概率来进行预测。例如,一个三元模型(trigram model)会考虑前两个词来预测第三个词。
隐马尔可夫模型(HMM):这种模型用于序列数据处理,特别是在语音识别和某些类型的文本处理中,它假设每个单词由一个隐藏的状态生成,而这些状态之间的转移概率是可学习的。
条件随机场(CRF):这是一种用于预测序列数据标签的统计建模方法,广泛用于命名实体识别和其他NLP任务。
随着技术的进步,基于深度学习的语言模型,如Transformer和BERT,开始取代传统的统计语言模型,提供了更高的准确率和灵活性。这些模型使用大规模的语料库进行预训练,能够捕捉更深层次的语义关系,并在各种NLP任务中表现出色。