目录
📢📢📢《跟着权威学AI》系列开源文档,将在业余时间梳理完善,保持月更频率。
前言
自我介绍下,我叫郭权威,是“洋葱学园”在职六年的后端研发岗(2018年8月入职),主要负责课程数据管理和相关学习场景的技术探索、服务搭建。出于公司业务发展和个人发展考虑,开始探索研究AI相关知识,并使用业余时间梳理完善本系列文档。
首先作为AI外行(计算机是大类,口腔科不会治心脏病🤣),我们都面临着知识体系未知、学习路径不清晰的迷茫。大语言模型作为新兴技术,学习资源匮乏而杂乱,更新迭代频率又极高,相信大多数人对AI和大模型都是一头雾水。
但是在这个快速进化的AI时代,连全国一卷的高考作文都在考AI的认知,普通人该怎样保证不被时代抛弃、不被AI取代,甚至能用AI为自己赋能?本书希望能给大家讲清楚:AI是什么、大模型是什么、有什么用、该怎么用!
结识一个聊天机器人
2022年11月30日OpenAI(美国开放人工智能研究中心)推出ChatGPT聊天机器人,可根据用户的要求快速生成文章、故事和歌词甚至代码,回答各类疑问,在短短两个月后就达到惊人的1亿月活!ChatGPT低门槛使用“AI”的交互方式(聊天对话),迅速提升了人们对AI行业的认识,也就此引发了一系列传统产品AI化的变革,以及创新型AI应用的落地。
- 因国内外网络阻隔,本节使用一款国产大模型
- 请使用手机号注册智谱清言
- 向它提问,比如“你是谁?你来自哪里?”
- 棒!你已经学会使用AI了,课程结束!
- 等等…开个玩笑,好戏刚刚开场!
什么是AI
概念
AI(Artificial intelligence)人工智能,字面意思是由人制造出来的机器所表现出来的智能,但通常是指机器通过学习、推理和模仿等方式模拟出人类智能的效果,能实现人类的某项能力,如听力、说话、视觉、思考、动作。该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
AI技术应用
- 机器人(Robot)。此“人”非人类的人,而是人工智能的人。无论是人形还是非人形,只要模仿实现了部分人类行为,都可以叫机器人。
- 语音识别(ASR)。窄义的理解就是把说话转成文字,以便进行二次操作,比如语音输入法、智能终端。
- 语音合成(TTS)。将任意文字信息实时转化为标准流畅的语音朗读出来,比如英文词典APP里的发音。
- 自然语言处理(NLP)。能让计算机理解、解释和生成人类语言,实现人机交互。比如:智能手机和车载系统的语音指令
- 其他的细分领域,如:图像识别、人脸识别、机器翻译、智能推荐…
- 其他的集成系统,如:自动驾驶、智慧交通、多模态通用大模型…
所以AI技术早已深度参与到我们的工作和生活中,一直在逐渐促进人类社会的进步!
什么不是AI
-
简单的数据管理程序:比如某一类数据的保存/修改和显示。
-
简单的用户态数据汇算程序:比如根据少量的用户数据和课程数据,反馈出不同的产品效果。
-
仿AI-复杂的用户态数据汇算程序:比如通过复杂且精细的多环节设计,根据用户数据和课程数据,表现出普通人看不懂原理的效果,是常见的夸大式营销。
什么是机器学习
机器学习(Machine Learning,简称ML)是AI的一个子领域,是实现人工智能的一个手段,为人工智能的发展提供了数据驱动的能力,使人工智能系统能够从海量的数据中提取有用的信息和模式,为人工智能提供可靠的数据基础。此外,机器学习使得人工智能系统具备了自主学习和优化的能力,通过数据的反馈来不断学习和改进,减少了对人工编程的依赖,提高了系统的灵活性和适应性。
机器学习本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。基本思路是模仿人类学习行为,是通过经验归纳、总结规律,从而预测未来的过程。机器学习分为以下四类:
监督学习
监督学习(Supervised Learning)是从有标签的训练数据集中进行学习的模式,完成学习后的模型,可以预测新数据的标签。训练数据的标签分类越精准,则训练出的模型,其预测准确度越高。
比如下图:有12条训练数据,各自打上了三种标签(红/蓝/绿)。目的是在完成模型训练后,模型能较准确地预测出新数据的标签分类。
监督学习主要用于回归和分类任务:
- 回归:预测连续的、具体的数值,如房价、气温;
- 分类:预测非连续的、离散型额数据,如:动植物识别、商品识别。
半监督学习
半监督学习(Semi-Supervised Learning)是利用少量已标注数据和大量未标注数据进行学习的模式,侧重于在有监督的分类算法中,加入无标注的数据一起训练,来实现半监督分类。
比如下图:有12条训练数据,5条已标注(红/蓝/绿)、7条未标注。
无监督学习
无监督学习(Unsupervised Learning)是从未标注数据中寻找隐含结构(模式/规律)的过程,主要用于关联分析、聚类和降维。
比如下图:有12条训练数据,全部未标注。
强化学习
强化学习(Reinforcement Learning)类似于监督学习,但未使用样本数据进行训练。智能体(agent)通过与环境(environment)互动来学习如何最大化累积奖励。智能体的目标是学习一个策略(policy),这个策略定义了在给定状态下应该采取的行动。智能体通过试错(trial-and-error)的方式学习,并根据收到的奖励或惩罚来调整其行为,即模型可以根据策略“自主学习”业务环境里的数据特征。在LLM爆火以前,所谓的AI Agent就是以强化学习方式运行的AI模型;而当下对AI Agent的定义则是依托于LLM运行的逻辑应用。
什么是深度学习
深度学习(Deep Learning,简称DL)是机器学习(ML)的一个分支,它通过使用具有多层结构的神经网络(称为深度神经网络)来模拟人脑处理信息的方式。这些神经网络由多个层次组成,每个层次都能够学习数据中的不同层次的特征、解决不同层次的问题。它主要用于监督学习和非监督学习任务,如图像识别、语音识别、自然语言处理等。深度学习模型通常需要大量的标注数据进行训练。
卷积神经网络(CNN)
- 主要用于图像和视频分析,如图像识别、物体检测和视频分类。
- 卷积层:提取图片的特征
- 激活函数:应用激活函数(如ReLU)以引入非线性,增强网络的表达能力
- 池化层:降低数据的维度,同时保留重要信息。最常见的池化方式是最大池化(max pooling),它选择每个局部区域内的最大值作为代表值。
- 全连接层:将学到的特征映射到分类标签或回归目标。
- 归一化层和Dropout层:归一化层可以加速训练过程,而Dropout层则在训练过程中随机忽略一些神经元,以减少模型对特定训练样本的依赖。
循环神经网络(RNN)
适用于处理序列数据,如时间序列分析、语言模型和机器翻译。
- 序列数据:指按照一定顺序排列的数据集合,其中每个元素被称为序列的一个项。时间序列数据是序列数据的一种,它是在不同时间点上收集到的数据,用于描述现象随时间变化的情况。在深度学习中,序列数据是非常重要的概念,因为它涉及到如何处理和预测具有时间依赖性的数据,如文本、语音等。
- 网络的输出不仅依赖于当前输入,还依赖于之前的输入和状态。
- 记住之前看到的信息,并使用这些信息来影响后续操作。
长短期记忆网络(LSTM)
是RNN的一种变体,能够学习长期依赖关系,常用于语言模型和语音识别。
- 长期保留有效信息
- “遗忘”不重要的信息
生成对抗网络(GAN)
由两部分组成,生成器和判别器,通过相互对抗的方式生成新的数据,常用于图像生成和风格迁移。
- 生成器的目标是生成足够真实的数据,以欺骗判别器
- 判别器的目标是能够准确地区分真实数据和生成器生成的假数据
数据特征提取
在机器学习和数据挖掘领域中,特征提取是一个非常重要的步骤,因为特征的质量和数量直接影响模型的性能和准确度。特征提取的目的是将原始数据转换为更具代表性和可解释性的特征,以便更好地描述和区分数据。
例如:
- 在图像识别任务中,可以使用特征提取方法从图像中提取出边缘、角点、纹理等特征,以便更好地区分不同的图像。
- 在自然语言处理任务中,可以使用特征提取方法从文本中提取出词频、TF-IDF等特征,以便更好地描述和区分文本。
- 在个性化推荐任务中,可以使用特征提取方法从用户数据中提取出姓名、性别、年龄、学历、所在城市、是否喜欢运动等特征,以便更好地区分用户需求。
数据降维
维度其实指的就是数据的一类特征,通常使用浮点数表示数据的一个维度特征。比如我们要提取一名应聘者的特征,设计出13个维度,并把特征值转为哈希数值表示;每个应聘者就能用一个长度为13的数组表示他的特征,方便后续进行岗位匹配、智能推荐等业务:
数据的降维是指在最大程度降低数据特征数量的同时,尽可能多的保留原数据中包含的重要信息。简单的说降维指的是特征的数量减少,当我们拿到特征丰富的数据时,有一些维度的特征对于结果是没有意义、或意义极小的,但若在做机器学习的过程中参与计算,就会对最终的分析结果造成不利影响。所以我们要根据实际情况,把数据进行降维,使计算过程更轻便、更聚焦。
不同的嵌入模型,设计和提取的数据维度不同,精度和效果也就不同。相同的嵌入模型,输出的数据维度越大(重要特征越多),在计算相似度、聚类、分类等场景时越精准,但计算量也就更大。在实际使用中,特征向量一般只取 256或512 维;比如人脸识别应用,通常就采用512维特征向量,也就是一张人脸对应了含512个浮点数的一维数组,再通过比较不同向量相似度的算法,判定使用者的身份。
比如某张人脸的向量数据结构:[ 3.60721558e-01,7.86174655e-01,8.18841517e-01,-2.01314002e-01,-1.74384236e-01 -1.00326824e+00,-1.72811300e-01,-1.04662508e-01...共512个浮点数
]
什么是Transformer架构
Transformer 架构是一种基于注意力机制的神经网络架构,⼴泛使⽤了基于注意力机制的交叉注意⼒模块和⾃注意⼒模块。它由Google的研究团队于2017年提出,彻底改变了 NLP 领域,因为它能够有效地解决之前的 NLP 模型(如 RNN)存在的⼀个关键问题:很难处理⻓⽂本序列并记住其上下⽂。换句话说,RNN 在处理⻓⽂本序列时容易忘记上下⽂(也就是臭名昭著的“灾难性遗忘问题”),Transformer 则具备⾼效处理和编码上下⽂的能⼒。
交叉注意⼒有助于模型确定输⼊⽂本的不同部分与输出⽂本中下⼀个词的相关性。它就像⼀盏聚光灯,照亮输⼊⽂本中的词或短语,并突出显⽰预测下⼀个词所需的相关信息,同时忽略不重要的细节。
⾃注意⼒机制是指模型能够关注其输⼊⽂本的不同部分。具体到 NLP 领域,⾃注意⼒机制使模型能够评估句⼦中的每个词相⽐于其他词的重要性。这使得模型能够更好地理解各词之间的关系,并根据输⼊⽂本中的多个词构建新概念。
Transformer架构本质上是一个Encoder-Decoder架构,其中编码器负责将输入序列转换成一系列的向量表示,而解码器则负责将这些向量表示转换成输出序列。编码器和解码器都由多个层组成,每层都包含自注意力子层和前馈神经网络子层。
Transformer架构在AI领域的位置:
NLP 技术的演变历程:
向量化
向量化(Vectorization)是数据科学和统计学中的一个概念,指的是将数据转换为向量形式的过程。在数学和计算机科学中,向量是具有大小和方向的量;而在数据科学中,向量是数字数据的线性组合,通常表示为一维数组或矩阵。
向量化技术在应用研发中常用于检索业务,如文本或图片转向量后,实现文本相似、语义相似、图片相似的对比和检索。本质是使用数值向量做计算,如KNN算法可以对比不同向量在空间的邻近度(距离)。
市场上有很多开源或闭源的模型,支持把文本、图片、音频等类型的数据,转为可参与数学计算的特征向量。
数据向量化的好处
- 提高计算效率:向量化操作通常比直接解析源数据更高效,因为它们可以利用向量处理引擎、向量数据库等技术高效计算。
- 简化代码:向量化可以简化数据分析过程,使得操作更加简洁和易于理解。
- 支持高级分析:向量化是许多高级数据分析技术和机器学习算法的基础,包括矩阵运算、线性代数、概率分布等。
什么是AI模型
AI模型基本原理
AI模型的基本原理是通过训练和学习来自动提取输入数据的特征和规律,并根据这些特征和规律来预测未来的结果或执行相应的任务。在实际应用中,AI模型需要经过大量的训练和优化才能达到较高的准确性和效率,同时也需要不断地更新和改进以适应不同的应用场景和数据变化。
AI模型的研发流程(监督学习)
比如,我们想训练出【人像图片性别判定】模型,大致按以下流程开展工作:
数据收集和清洗
找出有标签的数据,即已经确认性别的图片,越多越好、越准越好!通常会将数据分成3个部分:训练集(70%)、验证集(15%)、测试集(15%)。如果数据量非常大,则降低验证集和测试集的比例,比如各自2%。
已标注结果的图片举例:图1-男、图2-女、图3-女…
- 训练集 :(Training Set): 训练集是用来训练模型的。在这个阶段,模型会学习如何从输入数据中提取特征并做出预测。 训练集包含了大量的样本数据,这些数据被用来指导模型调整其内部参数,以便更好地完成任务,比 如分类、回归等。
- 验证集 (Validation Set) : 验证集是用来调整模型超参(外部参数)和选择模型结构的。在模型训练过程中,验证集可以用来评估模型在不同参数下的表现,帮助开发选择最佳的模型配置。 验证集也用于防止模型过拟合,过拟合是指模型在训练数据上学习得太好,以至于它对训练数据中的噪声和特例也进行了学习,导致在未知数据上的泛化能力下降。通过在验证集上的表现,可以监控模型是否对训练数据过度拟合。
- 测试集(Test Set) : 测试集是用来评估模型泛化能力的,泛化是指各个不同的数据场景。在模型经过训练集训练和验证集调整后,最终在测试集上进行测试,以得到模型性能的一个无偏估计。 测试集通常是模型开发者最后一次看到的数据,它模拟了模型在现实世界中的应用场景。
构建基础模型
选择一个合适的算法作为模型的基础底座。常见的监督学习算法包括线性回归、逻辑回归、决策树、随机森林、支持向量机、神经网络等
训练基础模型
使用训练集的数据一一输入给模型,即问题-答案、问题-答案…,在训练过程中,模型会学习如何将输入信息的特征,映射到正确的输出标签(本示例输出为:男/女)。
验证模型
- 超参调整&性能评估:使用验证集评估不同外部参数设置下的模型性能,选择出一组最优的超参
- 防止过拟合:在训练过程中,判断模型在训练集上的表现是否远优于验证集,如果是则意味着模型可能过拟合了训练数据,不能很好地泛化未见过的数据。
测试模型
评估泛化能力:使用模型对测试集一一预测,预测结果与数据标签比对,计算正确率。评估模型在未见过的数据上的识别能力。
部署使用
把模型部署在服务器上,并使用python等语言调用模型,实现输入图片后返回性别的业务功能。新输入的图片和预测结果并不会再影响模型效果,但可以收集起来,经过人工校准后补充到数据集中,用作后续二次训练优化。
大语言模型(LLM)
大语言模型(Large Language Models,简称LLM、大模型)是指具有大量参数的预训练自然语言处理模型,它们能够理解和生成自然语言文本。这些模型通常基于深度学习技术,尤其是变换器(Transformer)架构,并且通过在海量文本数据上的预训练来学习语言的复杂特性。
更多LLM的细节请看文中“LLM”目录,锚链接:《跟着权威学AI》常见AI名词及概念-持续完善
大模型分类
- 大语言模型(LLM):输入文字要求生成文本信息
- 图片编辑与生成大模型:输入文字要求生成图片、输入文字要求和图片生成新图片
- 视觉理解大模型:输入文字要求和图片,识别并理解其中的文本等信息
- 视频大模型:输入文字生成短视频、输入图片生成短视频、输入短视频进行视频续写延长
- 向量大模型:输入文本、图片、音视频、表格等各类数据,生成数字向量表示(浮点数数组)
- 是机器能理解并处理各种数据类型的基础,也是各类大模型的基础依赖技术
- 代码大模型:根据输入文本生成/转换出各种语言的编程代码,也可以理解并解释现有代码
- … 记住大模型就是训练参数大的模型,可以有N种分支或垂直领域
预训练模型
预训练模型是一种已经被训练好的、可以用于特定任务的模型,这些模型经过大量的训练数据,能够学习到复杂的特征和模式。预训练模型的优势在于它们可以在多个任务上进行训练,并且能够利用之前已经学习到的知识。这使得预训练模型能够快速适应新的数据集和任务,而不需要从头开始进行大量的训练。我们所用的LLM模型都是各个厂商提供的预训练模型。
自然语言处理(NLP)
自然语言处理(Natural Language Processing)是 AI的一个子领域, 现代 NLP 解决⽅案基于机器学习算法,它涉及到计算机和人类(自然)语言之间的互动。NLP 的目标是通过理解、解释和生成人类语言,使计算机能够执行有用的任务,如机器翻译、情感分析、文本摘要、聊天机器人、语音识别等。
ChatGPT是什么
ChatGPT(Chat Generative Pre-trained Transformer,聊天生成预训练转换器)是OpenAI(开放人工智能研究中心)在2022年发布的聊天机器人,属于LLM驱动的应用,初版基于GPT3.5模型。GPT模型基于⼀种特定的神经⽹络架构即 Transformer架构,Transformer 就像阅读机⼀样,它关注句⼦或段落的不同部分,以理解其上下⽂并产⽣连贯的回答。此外,它还可以理解句⼦中的单词顺序和上下⽂意思。这使 Transformer 在语⾔翻译、问题回答和⽂本⽣成等任务中⾮常有效。
如何体验ChatGPT:《跟着权威学AI》OpenAI账号注册和使用,下图分别是GPT模型在AI领域的位置和演变过程。
LLM驱动的聊天机器人应用
📢📢:因为有“墙的网络阻隔”和“数据出海的法律风险”,优先(只能)使用国产大模型进行商业化落地,大模型综合能力排行榜请看文中“大模型排行榜”目录,锚链接:《跟着权威学AI》常见AI名词及概念-持续完善
- 开山祖师-OpenAI ChatGPT
- 基于gpt系列模型
- GPT-3共有1750亿个参数
- GPT-4使用16个混合专家模型、共120层、每个模型1110亿个参数、共1.8万亿参数、训练成本1.5亿
- GPT-4o多模态大模型
- 多模态模型:将文本、图像、视频、音频等信息联合训练的模型
- Azure OpenAI,微软全球托管云服务商和OpenAI合作,在不同区域/国家部署OpenAI系列模型
- 很遗憾,中国区域没有部署
- 清华大学-智普:智谱清言
- 阿里:通义千问
- 基于通义大模型,在2024年6月的测评中,是国内模型第一
- 百度:文心一言
- 基于文心大模型,在2024年6月的测评中,是国内模型前列
- 科大讯飞:星火大模型
- 在2024年6月的测评中,是国内模型前列
- 字节:豆包
- 基于豆包大模型,发布时间很晚,但效果差距不大,而且字节投入很大,长期看好
- 字节的llm应用开发平台-扣子,封装的功能最全,界面化组装工作流越来越方便
- 月之暗面:Kimi智能助手
- 基于moonshot大模型,聊天机器人做的比较好用,对上传文件的分析总结能力较强
- 聊天API可以免费调用,并发限制为1,信息时间2024年8月20日
- 腾讯:元宝
- 基于腾讯混元大模型,效果远逊色于平均水平,极不推荐
- 腾讯投资了其他几家独角兽公司,如月之暗面,真是老资本家了
常见AI名词及概念
课程作业
- 阅读书籍
- 《大模型应用开发极简入门:基于 GPT-4 和 ChatGPT》
- 第1章:“初识GPT-4和ChatGPT”
- 第2章:“深入了解GPT-4和ChatGPT的API”
- 注册使用任意一个平台的账号
- 多多问答,感受底层LLM的人工智能和智障
- 推荐智谱清言-中文训练参数最大的LLM
- 未理解或想深入了解的技术概念,主动搜索资料学习