问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

人工智能基本概念:从定义到大模型详解

创作时间:
作者:
@小白创作中心

人工智能基本概念:从定义到大模型详解

引用
CSDN
1.
https://blog.csdn.net/alwaysbefine/article/details/145401550

一、人工智能的定义及相关概念

最近DeepSeek公司的开源自然语言处理模型非常火爆。本文将详细探讨人工智能,并基于Ollama+open-webui这两个工具,在本地运行一个可对外提供自然语言处理服务的通用大模型,以此做一个简单的示范。不过,在正式开始实验前,我们还是首先需要把人工智能相关的一些基本概念搞清楚,这样也对以后的学习是有帮助的。

二、人工智能的定义及相关概念

1. 人工智能领域的细分领域

人工智能是有很多细分领域的,这里我们就不用那些太过高大上的词语,尽量使用口语来进行描述:

  • 按应用领域划分:智能机器人、智能家居、智能医疗、智能金融等;
  • 按技术实现方式划分:机器学习、深度学习、自然语言处理、计算机视觉等等;
  • 按智能水平划分:弱人工智能、强人工智能、超级智能

从应用的角度来探讨人工智能意义不大,而本文是一个技术探讨的文章,因此,主要还是从技术实现方式和智能水平这两个角度来进行探讨。

2. 主要技术概念

A. 机器学习(Machine Learning,ML)
  • 监督学习:通过标记数据进行模型训练,用于分类、回归等任务。
  • 无监督学习:在未标记数据上学习数据内在结构和模式,如聚类、降维、异常检测等。
  • 半监督学习:结合少量标记数据与大量未标记数据进行学习。
  • 强化学习:通过与环境的交互,通过试错过程学习最优策略。

机器学习(Machine Learning,ML)主要是说的人工智能的技术实现方法,在自然语言处理方面,也就是DeepSeek,OpenAI这些大模型这里,其实是有涉及到这些的,例如,某个模型,需要训练,那么,训练方法是需要确定的,我们是采用填鸭式物料投喂,也就是无监督学习,亦或者采用大数据分析,分析这个网络环境,舆情环境等等环境来进行强化学习呢?或者为了加速这个人工智能的成长速度,多种方式混合呢?据了解,大部分模型生成都是通过监督学习方式。

B. 深度学习(Deep Learning,DL)

深度神经网络(Deep Neural Networks,DNNs):包括卷积神经网络(CNNs)、循环神经网络(RNNs)、长短时记忆网络(LSTMs)、生成对抗网络(GANs)等,用于图像识别、语音识别、自然语言处理等领域。

目前来说,大部分也就是主流的技术是卷积神经网络,深度学习(Deep Learning,DL)主要说的是人工智能训练的组织方式,那么,具化到技术层面,主要是两种技术,第一个是TensorFlow,第二个是PyTorch。两者好像都是基于卷积神经网络的人工智能开发框架。

这里插个题外话,Python语言的崛起其实是和人工智能有非常大的关系,Python的科学计算库和PyTorch这样的框架以及爬虫家族是真正撑起Python的骨干库。人工智能的物料生成基本都是基于Python的爬虫来进行,而在数据挖掘,数据分析,以及本文提到的卷积神经这些都是基于Python语言来实现的,因此,有理由相信,未来的世界Python语言必定是第一。虽然Java,C这样的语言也可以用于爬虫等等的实现,但给的感觉是非常的不方便。

C. 自然语言处理(Natural Language Processing,NLP)
  • 文本分析:词法分析、语法分析、语义分析、情感分析等。
  • 语音识别与合成:将语音转化为文字(ASR)及反之(TTS)。
  • 对话系统:聊天机器人、语音助手等。
  • 机器翻译:自动将文本从一种语言翻译成另一种语言。

DeepSeek,ChatGPT,豆包,文心一言,Kimi,通义千问等等这些大模型都是属于此范畴。这些模型各有特色,俗话说 文无第一,武无第二,如果谁非要说这些大模型哪个更好,可能是没有一个确定的答案。这些NLP工具都有使用,从准确率来说,通义千问应该是最高的,阿里大厂确实是很给力的,不过 主要应用是电子信息方面,只能说各有侧重吧。

自然语言处理(Natural Language Processing,NLP)的意思就是自然语言生成,主要是机器把自然语言翻译为机器能理解的东西,然后机器返回给使用者机器重新编译的自然语言。说直白点就是机器----解码自然语言----加工自然语言---重新编码自然语言,但这个加工的过程是有机器的见解,理解,会有一个升华的过程。

当然了,像天猫精灵,小米智能音箱这些语音识别处理也算是此范畴。比如,假设有一个Python脚本,感觉不太正确,但具体哪不正确并不清楚,那么,此时告诉通义千问,它认为这个Python脚本哪有问题,它首先就需要把这个脚本内容解码后让机器理解,然后,它根据前面的模型训练,理解这个Python脚本,在完成理解Python脚本工作后,它会将它认为错误的地方指出并修正,这个时候就需要机器将机器语言重新编码成Python脚本,返回给使用者,那么,这么一个过程,就是一个完整的自然语言处理过程了。

D. 计算机视觉(Computer Vision,CV)
  • 图像识别与分类:物体识别、人脸识别、车牌识别等。
  • 目标检测与追踪:在图像或视频中定位并跟踪特定对象。
  • 图像分割:将图像划分为具有不同语义意义的区域。
  • 三维重建与SLAM:从二维图像重建三维模型,或实现室内/室外环境的实时定位与建图。

这个比较熟悉,主要是采用OpenCV这样的框架进行开发。主要应用在交通管理,社会治安,房屋设计这些领域。比如,某个刑事案件,很多时候是需要查看监控,很多时候监控录像检索时间范围可能是几周或者几个月,那么,如果单纯靠人力基本是无法完成的,而人工智能可以依据目标人物特征,快速的检索监控,很快就可以寻找到目标人物或者目标车辆。同样的,在处理交通肇事等类似事件时,人工智能也能够通过快速检索路面监控确定嫌疑车辆。收费站过桥等等,人工智能识别车牌号,并记录车牌号,最终形成车辆行驶轨迹等等场景的应用也基本都是基于OpenCV这个框架完成的。多说一句,OpenCV是C++语言编写的,这个对于Python来说,不得不说是一个遗憾的事情。

E. 机器人学(Robotics)
  • 自主导航:路径规划、避障、定位与地图构建(SLAM)等。
  • 机械臂控制与规划:运动学、动力学建模,轨迹规划与控制。
  • 人机交互:手势识别、语音交互、情感识别等。

机器人学(Robotics)主要应用在自动化生产车间,车机交互系统。比较出名的是华为的问界智驾,特斯拉的智驾以及宇树双足机器人等等这些应用领域,当然,银行里的导航机器人,酒店的服务机器人也在此领域。

F. 知识表示与推理(Knowledge Representation&Reasoning,KRR)
  • 知识图谱:构建、存储、查询和更新实体及其关系的知识库。
  • 符号推理:基于逻辑、规则和约束进行推理。
  • 不确定推理:处理模糊、概率、证据理论等不确定知识。

这个类似百度百科这样的东西,遥测,预测,总的来说比较宽泛的一个概念,主要偏向应用层面。还有其它的应用层面,技术路线是混合的,就不在此过多介绍了,比如脑机接口,股市量化交易预测,大数据内容分析等等。

三、大模型的相关概念

1. 什么是大模型

大模型全称是大型语言模型(Large Language Model, LLM),通常指的是在机器学习和人工智能领域中,具有大量参数的模型,能够捕捉和学习更复杂的数据模式,从而在各种任务上表现出色,例如语言理解、图像识别和预测分析等,具有更好的性能和更强的泛化能力。相比传统小模型,大模型具有更多参数,基于强大的计算资源,训练大量数据,提高模型的表达能力和预测性能。

随着人工智能技术的发展,超大模型(Huge Models)和基座模型(Foundation Model)正在变得越来越重要,它们在推动人工智能领域的发展和突破方面发挥着关键作用。so,如果你看到某个文件名称带有LLM,这个时候不用疑惑,它就是大模型文件。当然了,从模型功能来说,也可以叫基础模型(Foundation Model),基座模型。总而言之,大模型就是一个虚拟的庞然大物,架构复杂、参数庞大、依赖海量数据,且非常烧钱。那么,有些大模型是开源的,比如DeepSeek。

国内下载大模型的网址是魔搭社区,这个社区是一个开源社区,阿里云运营的,非常nice的一个社区,有命令行工具。通过Ollama工具下载大模型:Ollama。HuggingFace官网:https://huggingface.co/models(需要科学上网支持,国外的)。魔搭社区。这些模型库点进去后,会发现一些奇怪的文件,比如:model-00001-of-00008.safetensors,那么这个文件是干什么的?表示什么意义呢?

2. 如何获取模型文件

例子1:

model-00001-of-00008.safetensors是一个模型文件,通常用于存储机器学习模型的权重和参数。具体来说:

  1. 文件格式:.safetensors是一种用于存储模型权重的文件格式。与传统的.bin或.pt文件相比,.safetensors提供了更高效和安全的存储方式,特别适合大规模模型。
  2. 分片存储:文件名中的00001-of-00008表示这个文件是模型权重的一部分,总共有8个分片。这种分片存储方式常用于大型模型,因为单个文件可能过大,不方便存储和传输。
  3. 用途:这个文件通常用于加载预训练模型。在深度学习任务中,模型权重文件是模型的核心部分,加载这些权重后,模型可以进行推理或进一步的微调。
  4. 加载方式:要使用这个文件,通常需要结合相应的模型架构代码和加载工具(如Hugging Face的transformers库或safetensors库)。

这种格式的文件,可以认为它就是原始模型,只是通常会很大,一般家庭是无法运行的,需要很多硬件资源支撑。例如DeepSeek -r1的模型库下载地址:魔搭社区。

例子2:

还有一种文件格式gguf文件,例如DeepSeek-R1-Distill-Llama-8B-Q5_K_M.gguf这个文件,该文件又是干什么的?表示什么意义呢?

DeepSeek-R1-Distill-Llama-8B-Q5_K_M.gguf是一个模型文件,具体来说:

  1. 文件格式:.gguf是一种用于存储机器学习模型权重和架构的文件格式。这种格式通常用于高效地存储和加载大型模型。
  2. 模型类型:文件名中的Llama-8B表明这是一个基于LLaMA(Large Language Model Meta AI)架构的模型,具有80亿个参数。LLaMA是由Meta(前Facebook)开发的一系列大型语言模型,Distill蒸馏的意思,可以理解为基于LLaMA-8B模型通过知识蒸馏技术得到的。
  3. 量化信息:Q5_K_M表示该模型经过了量化处理。量化是一种减少模型大小和计算需求的技术,通过降低权重的精度来实现。Q5_K_M是一种特定的量化方法,通常在保持模型性能的同时减少资源消耗。
  4. 用途:这个文件可以用于加载和使用一个经过量化的LLaMA模型,适用于自然语言处理任务,如文本生成、翻译、问答等。
  5. 加载方式:要使用这个文件,通常需要结合相应的模型加载工具和框架,如llama.cpp或其他支持.gguf格式的工具,比如ollama。

Q5_K_M是一种量化方法的表示,通常用于描述机器学习模型的量化级别和方式。以下是对Q5_K_M的具体解释:

  • Q5表示量化级别为5位(5-bit)。这意味着模型中的权重或激活值被量化为5位整数。与常见的8位量化(Q8)相比,5位量化进一步减少了模型的存储空间和计算需求,但可能会引入更多的精度损失。
  • K通常表示量化方法中的一种特定技术或配置。在量化中,K可能代表某种分组量化(Group Quantization)或块量化(Block Quantization)方法。这种方法将权重分成若干组或块,每组或块使用独立的量化参数,以提高量化的灵活性和精度。
  • M通常表示量化方法中的一种变体或模式。它可能代表一种混合量化(Mixed Quantization)策略,即在模型的不同部分使用不同的量化精度或方法。例如,某些关键层可能使用更高的精度,而其他层使用更低的精度。

那么,单位B具体表示什么?除了B还有什么单位?

在机器学习和大模型领域,模型的大小通常用参数数量来表示。常见的单位包括:

  1. B (Billion):表示十亿(1,000,000,000)个参数。例如,Llama-8B表示该模型有80亿个参数,当然这个数字越大,表示模型越好
  2. Q:表示百万亿(quadrillion)参数。
  3. M (Million):表示百万(1,000,000)个参数。例如,一个模型有500M参数,意味着它有5亿个参数。
  4. T (Trillion):表示万亿(1,000,000,000,000)个参数。这是非常大的模型,通常用于最先进的模型,如GPT-3和GPT-4。当然这个数字越大,表示模型越好
  5. K (Thousand):表示千(1,000)个参数。这个单位较少用于描述大型模型,但在某些情况下可能会用到。

3. 量化处理的概念

量化处理(Quantization)是一种在机器学习和深度学习中用于减少模型大小和计算需求的技术。它通过降低模型参数的精度来实现这一目标。以下是量化处理的主要概念和优势:

  1. 基本原理

量化处理将模型中的浮点数参数(通常是32位或16位浮点数)转换为更低精度的表示形式(如8位整数或更低)。例如:

  • 原始参数:32位浮点数(float32)
  • 量化后:8位整数(int8)或4位整数(int4)
  1. 量化类型
  • 权重量化:仅对模型的权重进行量化。
  • 激活量化:对模型的激活值(即中间计算结果)进行量化。
  • 混合量化:对权重和激活值都进行量化。
  1. 量化方法
  • 线性量化:将浮点数范围线性映射到整数范围。
  • 非线性量化:使用非线性函数(如对数或分段函数)进行映射。
  • 对称量化:量化范围对称于零。
  • 非对称量化:量化范围不对称。
  1. 优势
  • 减少模型大小:量化后的模型占用更少的存储空间。
  • 加速推理:低精度计算通常更快,尤其是在支持低精度计算的硬件上。
  • 降低功耗:低精度计算消耗更少的能量,适合移动设备和嵌入式系统。
  1. 挑战
  • 精度损失:量化可能导致模型性能下降,尤其是在过度量化时,具体表现就是回答的正确率降低以及答非所问等等情况
  • 硬件支持:需要硬件支持低精度计算才能充分发挥量化的优势。
  1. 应用场景
  • 移动设备:在手机、平板等设备上运行深度学习模型,这其实意味着可以在家用电脑上部署本地大模型了
  • 边缘计算:在资源受限的边缘设备上部署模型。
  • 大规模部署:在云端或数据中心部署大型模型时减少资源消耗。

量化处理是优化深度学习模型的重要技术之一,能够在保持模型性能的同时显著减少资源需求,简单的说,就是可以部署在硬件资源不太充足的服务器上,例如,家用级i713700+4060ti+32GB这样的平台。

稍作总结:

总结来说,gguf文件,尽量每个数字大一点,越大越好,比如精度高,表示答案生成更准确,B数字更高,表示可回答范围更广,回答更细致。以DeepSeek-R1-Distill-Llama-70B-Q5_K_S.gguf为例,这个文件如果部署成功后,相应速度,回答准确率,回答范围会很高,但同时需要注意,文件越大,部署所需要的资源也更多,通常整个文件是都要读入内存的,也就是说内存需要至少64G。

还有一个需要注意的地方,通常这些文件部署的时候不需要太高端的显卡,也不需要安装什么cuda,驱动,python环境什么的,ollama可以直接运行,只是需要本地的硬件资源足够就行了。本地部署加载大模型文件通常使用两个工具,第一个是ollama,第二个是hugging。Ollama是一个强大的工具,使得在本地运行和管理大型语言模型变得更加简单和高效。无论是开发者、研究人员还是普通用户,都可以通过Ollama轻松地利用语言模型进行各种任务。

对于学习人工智能来说,其实主要就是通过上面所提到的模型网站所提供的文件,本地部署后进行直接推理使用或者微调以适应自身的需求。本地部署的显著优点第一个是安全,第二个是可以进行个性化微调,但微调需要的技术比较多而已,其次需要的硬件资源也很多。比如DeepSeek-R1-Distill-Qwen-32B-Q3_K_M.gguf这个文件,大小是14.8G,需要的硬件配置较高,推理的时候经常能闻到显卡淡淡的糊味,不过只安装了ollama,其它什么cuda,python环境是一点没有安装。

参考文献:写给小白的大模型入门科普

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
人工智能基本概念:从定义到大模型详解