人工智能|基本概念|人工智能相关重要概念---AI定义以及模型相关知识

一、

前言:

最近deepseek(深度求索)公司的开源自然语言处理模型非常火爆。

本人很早就对人工智能比较感兴趣,但由于种种原因没有过多的深入此领域,仅仅是做了一点初步的了解,借着这个deepseek(深度求索)爆火的由头,本文来详细探讨一下人工智能,并基于Ollama+open-webui这两个工具,在本地运行一个可对外提供自然语言处理服务的通用大模型,以此做一个简单的示范。

不过我想在正式的开始实验前,我们还是首先需要把人工智能相关的一些基本概念搞清楚,这样也对以后的学习是有帮助的,对我而言,也是把人工智能的相关概念做一个总结和记录

二、

人工智能的定义的相关概念

1、什么是人工智能领域的细分领域-

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

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

那么,这么多的概念,如何理解呢?其实,按应用领域划分,那么种类是非常多的,各行各业都可以应用到人工智能,比如,宾馆住宿业的专门用于服务,传递东西的智能机器人,无人驾驶技术所使用的各种各样的智驾系统,都可以理解为人工智能,从应用的角度来探讨人工智能是没有什么太大的意义,而本文是一个技术探讨的文章,因此,主要还是从技术实现方式和智能水平这两个角度来进行探讨

🆗,现在就这些技术我挑一些比较主要或者常见的来详细说说

A、机器学习(Machine Learning,ML)

●监督学习:通过标记数据进行模型训练,用于分类、回归等任务。

●无监督学习:在未标记数据上学习数据内在结构和模式,如聚类、降维、异常检测等。

●半监督学习:结合少量标记数据与大量未标记数据进行学习。

●强化学习:通过与环境的交互,通过试错过程学习最优策略。

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

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

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

目前来说,大部分也就是主流的技术是卷积神经网络,深度学习(Deep Learning,DL)主要说的是人工智能训练的组织方式,那么,具化到技术层面,主要是两种技术,第一个是tenseflow,第二个是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

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

    Q5 表示量化级别为 5 位(5-bit)。这意味着模型中的权重或激活值被量化为 5 位整数。与常见的 8 位量化(Q8)相比,5 位量化进一步减少了模型的存储空间和计算需求,但可能会引入更多的精度损失。

  7. KK通常表示量化方法中的一种特定技术或配置。在量化中,K 可能代表某种分组量化(Group Quantization)或块量化(Block Quantization)方法。这种方法将权重分成若干组或块,每组或块使用独立的量化参数,以提高量化的灵活性和精度。

  8. 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)

2. 量化类型
  • 权重量化:仅对模型的权重进行量化。

  • 激活量化:对模型的激活值(即中间计算结果)进行量化。

  • 混合量化:对权重和激活值都进行量化。

3. 量化方法
  • 线性量化:将浮点数范围线性映射到整数范围。

  • 非线性量化:使用非线性函数(如对数或分段函数)进行映射。

  • 对称量化:量化范围对称于零。

  • 非对称量化:量化范围不对称。

4. 优势
  • 减少模型大小:量化后的模型占用更少的存储空间。

  • 加速推理:低精度计算通常更快,尤其是在支持低精度计算的硬件上。

  • 降低功耗:低精度计算消耗更少的能量,适合移动设备和嵌入式系统。

5. 挑战
  • 精度损失量化可能导致模型性能下降,尤其是在过度量化时,具体表现就是回答的正确率降低以及答非所问等等情况

  • 硬件支持:需要硬件支持低精度计算才能充分发挥量化的优势。

6. 应用场景
  • 移动设备在手机、平板等设备上运行深度学习模型,这其实意味着可以在家用电脑上部署本地大模型了

  • 边缘计算:在资源受限的边缘设备上部署模型。

  • 大规模部署:在云端或数据中心部署大型模型时减少资源消耗。

量化处理是优化深度学习模型的重要技术之一,能够在保持模型性能的同时显著减少资源需求,简单的说,就是可以部署在硬件资源不太充足的服务器上,例如,家用级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环境是一点没有安装:

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

 

​​​​​​​​​​​​​​

​​​​​​​​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/962628.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【疑海破局】一个注解引发的线上事故

【疑海破局】一个注解引发的线上事故 1、问题背景 在不久前一个阳光明媚的上午,我的思绪正在代码中游走、双手正在键盘上飞舞。突然,公司内部通讯工具上,我被拉进了一个临时工作群,只见群中产品、运营、运维、测试等关键人员全部严阵以待,我就知道大的可能要来了。果不其…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.1 NumPy高级索引:布尔型与花式索引的底层原理

2.1 NumPy高级索引:布尔型与花式索引的底层原理 目录 #mermaid-svg-NpcC75NxxU2mkB3V {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NpcC75NxxU2mkB3V .error-icon{fill:#552222;}#mermaid-svg-NpcC75…

如何在 ACP 中建模复合罐

概括 本篇博文介绍了 ANSYS Composite PrepPost (ACP) 缠绕向导。此工具允许仅使用几个条目自动定义高压罐中常见的悬垂复合结构。 ACP 绕线向导 将必要的信息输入到绕组向导中。重要的是要注意“参考半径”,它代表圆柱截面的半径,以及“轴向”&#x…

【Linux】使用管道实现一个简易版本的进程池

文章目录 使用管道实现一个简易版本的进程池流程图代码makefileTask.hppProcessPool.cc 程序流程: 使用管道实现一个简易版本的进程池 流程图 代码 makefile ProcessPool:ProcessPool.ccg -o $ $^ -g -stdc11 .PHONY:clean clean:rm -f ProcessPoolTask.hpp #pr…

【算法-位运算】求数字的补数

文章目录 1. 题目2. 思路3. 代码4. 小结 1. 题目 476. 数字的补数 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 “101” &…

DeepSeek能下围棋吗?(续)

休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则: 游戏规则 定义: 1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…

[Collection与数据结构] B树与B+树

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

origin如何在已经画好的图上修改数据且不改变原图像的画风和格式

例如我现在的.opju文件长这样 现在我换了数据集,我想修改这两个图表里对应的算法里的数据,但是我还想保留这图像现在的形式,可以尝试像下面这样做: 右击第一个图,出现下面,选择Book[sheet1] 选择工作簿 出…

Workbench 中的热源仿真

探索使用自定义工具对移动热源进行建模及其在不同行业中的应用。 了解热源动力学 对移动热源进行建模为各种工业过程和应用提供了有价值的见解。激光加热和材料加工使用许多激光束来加热、焊接或切割材料。尽管在某些情况下,热源 (q) 不是通…

Midjourney中的强变化、弱变化、局部重绘的本质区别以及其有多逆天的功能

开篇 Midjourney中有3个图片“微调”,它们分别为: 强变化;弱变化;局部重绘; 在Discord里分别都是用命令唤出的,但如今随着AI技术的发达在类似AI可人一类的纯图形化界面中,我们发觉这样的逆天…

嵌入式知识点总结 ARM体系与架构 专题提升(三)-中断与异常

针对于嵌入式软件杂乱的知识点总结起来,提供给读者学习复习对下述内容的强化。 目录 1.中断与异常有何区别? 2.中断与DMA有何区别? 3.中断能不能睡眠,为什么?下半部能不能睡眠? 4.中断的响应执行流程是什么&#…

Leetcode:541

1,题目 2,思路 用List集合来装字符串其中每k个为一个元素单位我们根据题目意思就可以明白list中偶数位需要反转reverse,奇数保持原样再全部拼接一块最后return tostring 3,代码 import java.util.ArrayList; import java.util.…

CSS 背景与边框:从基础到高级应用

CSS 背景与边框:从基础到高级应用 1. CSS 背景样式1.1 背景颜色示例代码:设置背景颜色 1.2 背景图像示例代码:设置背景图像 1.3 控制背景平铺行为示例代码:控制背景平铺 1.4 调整背景图像大小示例代码:调整背景图像大小…

【机器学习】自定义数据集使用框架的线性回归方法对其进行拟合

一、使用框架的线性回归方法 1. 基础原理 在自求导线性回归中,我们需要先自定义参数,并且需要通过数学公式来对w和b进行求导,然后在反向传播过程中通过梯度下降的方式来更新参数,从而降低损失值。 2. 实现步骤 ① 散点输入 有一…

DeepSeekMoE:迈向混合专家语言模型的终极专业化

一、结论写在前面 论文提出了MoE语言模型的DeepSeekMoE架构,目的是实现终极的专家专业化(expert specialization)。通过细粒度的专家分割和共享专家隔离,DeepSeekMoE相比主流的MoE架构实现了显著更高的专家专业化和性能。从较小的2B参数规模开始&#x…

【ESP32】ESP-IDF开发 | WiFi开发 | UDP用户数据报协议 + UDP客户端和服务器例程

1. 简介 UDP协议(User Datagram Protocol),全称用户数据报协议,它是一种面向非连接的协议,面向非连接指的是在正式通信前不必与对方先建立连接, 不管对方状态就直接发送。至于对方是否可以接收到这些数据内…

Oracle Primavera P6自动进行进度计算

前言 在P6 Professional 有一个自动计划计算的选项,很多人不了解该设置如何使用,以及什么时候该启动这项配置。 详情 P6 Professional 默认为非自动进度计算。启用自动选项后,可以快速查看调度更改的效果。 ​ ​ 如图所示,当你…

gesp(C++六级)(6)洛谷:P10109:[GESP202312 六级] 工作沟通

gesp(C六级)(6)洛谷:P10109:[GESP202312 六级] 工作沟通 题目描述 某公司有 N N N 名员工,编号从 0 0 0 至 N − 1 N-1 N−1。其中,除了 0 0 0 号员工是老板,其余每名员工都有一个直接领导…

冯诺依曼结构和进程概念及其相关的内容的简单介绍

目录 ​编辑 冯诺依曼体系结构 操作系统(Operator System) 进程 引入 基本概念 描述进程-PCB task_ struct内容分类 进程 ID (PID)和查看进程 进程状态: 进程创建: 进程终止: 进程间通信 (IPC): 冯诺依曼体系结构 冯诺依曼体系结构是现代计算机的基础架构&#xf…

松灵机器人 scout ros2 驱动 安装

必须使用 ubuntu22 必须使用 链接的humble版本 #打开can 口 sudo modprobe gs_usbsudo ip link set can0 up type can bitrate 500000sudo ip link set can0 up type can bitrate 500000sudo apt install can-utilscandump can0mkdir -p ~/ros2_ws/srccd ~/ros2_ws/src git cl…