一、大模型原理
AI产生智能的三要素分别是:算法、数据、算力。AI的智能还是基于各种数学计算产生的。
1、模型的训练
AI的神经网络模型就是在模仿人类的神经元:
你给它输入一些参数,最终它经过计算返回一个结果。因此从某种意义上,你可以把模型看做是一个函数。
这就类似:y = ax + b,这个函数有两个参数a和b,当a和b确定时,这个函数就能表示一条直线。输入一个x,一定能得到一个结果y
当然,模型这个“函数”要复杂的多,其参数不是两个,而是可能达到千亿规模:
因此它表示的不是一条直线,而是表示人类复杂的语言系统。
模型训练的过程,就是求模型参数的过程,类似于求解函数参数。已知直线上两个点的坐标,就能求出这条直线对应的a和b的值。
不过,大模型这个“函数”要复杂的多,其参数规模高达数千亿,模拟的也不是一条直线,它需要的“点”也是天文数字,因此根本就不可能精确计算出每一个参数的值。
所以,模型的训练更像是在猜答案:
先给模型参数设定为随机值
然后输入一个参数,再把模型计算的结果与预期的正确结果做对比
如果不对就调整参数,直到正确为止
这里的输入参数和预期结果就是所谓的训练数据(平面上的“点”)。不断的给模型提供新的训练数据,根据计算结果不断调整模型的参数,直到模型的计算能够与大多数的训练数据吻合,那么模型的训练就完成了。
大语言模型的训练就是拿海量的人类语言文字作为训练数据,不断调整模型参数,使其与人类的语言文字系统拟合。
2、大语言模型
词向量(Word Embedding)的概念,这为神经网络训练学习自然语言打下了坚实的基础。
每个词语都可以经过模型运算转化为一个多维向量(也就是一个浮点数数组,GPT3采用12288维向量)
通过训练使模型计算出的多维向量与文字语义产生关联,使多维空间中的不同方向表示不同语义
例如,在经过训练后的向量空间中,有两个向量:中国、美国:
此时,我们用E(美国) - E(中国) 得到的新向量,就可以表示为美国与中国的差异。
假如此时我询问LLM在中国有什么食物与美国的汉堡类似,我们就可以这么做:
先找到表示汉堡的向量:E(汉堡)
然后加上表示两个国家差异的向量:E(美国) - E(中国)
从而计算出一个新向量:E(汉堡) + E(美国) - E(中国)
最后,将得到的向量反向量化(unembedding),大概率就是我们要的结果
当然,真实情况会比这个复杂的多,受到语句上下文的影响,和多义词的影响,运算可能得到不止一个结果,并且会根据可能性形成每一个结果的概率分布,然后通过某种函数算法选择一个最终结果。
综上,大语言模型,就是把人类语言转为可以计算的多维向量坐标,然后根据上文向量计算,来推测下文。
更神奇的是,人类一开始训练语言模型只是为了让它理解人类语言,起到翻译作用。但当模型和数据规模足够大时,它不仅能够理解和生成自然语言,还能理解、推理、分析人类生活中的大部分问题,成为了可应用于各个领域的通用人工智能(AGI)!
这种因为数据和模型规模扩大而涌现出各种能力的现象,我们称之为泛化。
而这样的大规模语言模型我们就称为大语言模型(Large Language Model),简称LLM.
二、大模型的应用
1、什么是大模型应用
传统应用:是由程序员告诉计算机规则(编程),计算机照着规则执行。
擅长:规则清楚、流程固定的事情;可以确保100%准确;行为可控、可追溯
不擅长:没有明确规则的事情;自然语言的理解;模糊的判断和表达
大模型:计算机通过大量数据训练,自己学会规律和知识
擅长:理解和生成自然语言;模糊问题的合理回答;总结、改写、对话、创作
不擅长:准确的计算;固定的流程和规则;稳定可预测的结果
而大模型应用则是把两者的能力结合:大模型负责“思考”,传统程序负责“行动”。
例如,点外卖的功能,我们可以这样划分:
菜价、优惠、支付 →传统程序
“给我推荐点清淡的” →大模型
最终下单、扣钱 →传统程序
在传统应用开发中介入AI大模型,充分利用两者的优势。既能利用AI实现更加便捷的人机交互,更好的理解用户意图,又能利用传统编程保证安全性和准确性,强强联合,这就是大模型应用开发的真谛!
综上所述,大模型应用就是整合传统程序和大模型的能力和优势来开发的一种应用。
另外,我们熟知的AI对话产品,比如通义千问、豆包这样的APP或者聊天机器人,也都属于大模型应用:
收集网页用户输入文本、上传的文件、图片 →传统程序
分析和理解用户输入的问题 →大模型
联网搜索与问题相关的资料 →传统程序
根据资料生成答案 →大模型
模型本身只具备理解、推理、生成回复的能力。我们平常使用的AI对话产品除了生成和推理,还有会话记忆功能、联网功能等等。这些都是大模型不具备的。是需要通过额外的程序来实现的,也就是基于大模型开发应用。
2、常见大模型
| 大模型 | 对话产品 | 公司 | 地址 |
|---|---|---|---|
| GPT-3.5、GPT-4o | ChatGPT | OpenAI | https://chatgpt.com/ |
| Claude 3.5 | Claude AI | Anthropic | https://claude.ai/chats |
| DeepSeek-R1 | DeepSeek | 深度求索 | https://www.deepseek.com/ |
| 文心大模型3.5 | 文心一言 | 百度 | https://yiyan.baidu.com/ |
| 星火3.5 | 讯飞星火 | 科大讯飞 | https://xinghuo.xfyun.cn/desk |
| Qwen-Max | 通义千问 | 阿里巴巴 | https://tongyi.aliyun.com/qianwen/ |
| Moonshoot | Kimi | 月之暗面 | https://kimi.moonshot.cn/ |
| Yi-Large | 零一万物 | 零一万物 | https://platform.lingyiwanwu.com/ |
3、与大模型交互
调用接口。
大模型在部署时通常都会对外暴露基于HTTP协议的API接口,我们可以用任何自己喜欢的方式调用该接口,实现与大模型的交互: