人工智能|基本概念|人工智能相关重要概念---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环境是一点没有安装:

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

 

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python GIL(全局解释器锁)机制对多线程性能影响的深度分析

在Python开发领域,GIL(Global Interpreter Lock)一直是一个广受关注的技术话题。在3.13已经默认将GIL去除,在详细介绍3.13的更亲前,我们先要留了解GIL的技术本质、其对Python程序性能的影响。本文将主要基于CPython&am…

从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(绘图设备封装)

目录 图像层的底层抽象——绘图设备抽象 如何抽象一个绘图设备? 桥接绘图设备,特化为OLED设备 题外话:设备的属性,与设计一个相似函数化简的通用办法 使用函数指针来操作设备 总结一下 图像层的底层抽象——绘图设备抽象 在…

Git 版本控制:基础介绍与常用操作

目录 Git 的基本概念 Git 安装与配置 Git 常用命令与操作 1. 初始化本地仓库 2. 版本控制工作流程 3. 分支管理 4. 解决冲突 5. 回退和撤销 6. 查看提交日志 前言 在软件开发过程中,开发者常常需要在现有程序的基础上进行修改和扩展。但如果不加以管理&am…

(笔记+作业)书生大模型实战营春节卷王班---L0G2000 Python 基础知识

学员闯关手册:https://aicarrier.feishu.cn/wiki/QtJnweAW1iFl8LkoMKGcsUS9nld 课程视频:https://www.bilibili.com/video/BV13U1VYmEUr/ 课程文档:https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/Python 关卡作业:htt…

仿真设计|基于51单片机的高速路口货车称重系统仿真

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部内容 资料获取 具体实现功能 (1)LCD1602液晶第一行显示当前的车辆重量,第二行显示车辆重量…

Ubuntu Server 安装 XFCE4桌面

Ubuntu Server没有桌面环境,一些软件有桌面环境使用起来才更加方便,所以我尝试安装桌面环境。常用的桌面环境有:GNOME、KDE Plasma、XFCE4等。这里我选择安装XFCE4桌面环境,主要因为它是一个极轻量级的桌面环境,适合内…

2025:影刀RPA使用新实践--CSDN博客下载

文章目录 一键CSDN博客下载器程序说明指导说明使用步骤 获取方法 一键CSDN博客下载器 程序说明 配置信息:CSDN账号(手机号/邮箱/用户名)、密码、博客文件类型支持markdown格式、html格式(默认值markdown格式)、博客保…

深度学习的应用

目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…

前端js高级25.1.30

原型:函数的组成结构 通过这个图我们需要知道。 假设我们创建了一个Foo函数。 规则:Function.protoType是函数显示原型。__proto__是隐式对象。 Function、Object、Foo函数的__proto__指向了Function.protoType说明。这三个都依托function函数来创建。…

android 音视频系列引导

音视频这块的知识点自己工作中有用到,一直没有好好做一个总结,原因有客观和主观的。 客观是工作太忙,没有成段时间做总结。 主观自己懒。 趁着这次主动离职拿了n1的钱,休息一下,对自己的人生做一下总结,…

为AI聊天工具添加一个知识系统 之80 详细设计之21 符号逻辑 之1

本文要点 要点 前面我们讨论了本项目中的正则表达式。现在我们将前面讨论的正则表达式视为狭义的符号文本及其符号规则rule(认识的原则--认识上认识对象的约束),进而在更广泛的视角下将其视为符号逻辑及其符号原则principle(知识…

.NET Core缓存

目录 缓存的概念 客户端响应缓存 cache-control 服务器端响应缓存 内存缓存(In-memory cache) 用法 GetOrCreateAsync 缓存过期时间策略 缓存的过期时间 解决方法: 两种过期时间策略: 绝对过期时间 滑动过期时间 两…

自动驾驶---苏箐对智驾产品的思考

1 前言 对于更高级别的自动驾驶,很多人都有不同的思考,方案也好,产品也罢。最近在圈内一位知名的自动驾驶专家苏箐发表了他自己对于自动驾驶未来的思考。 苏箐是地平线的副总裁兼首席架构师,同时也是高阶智能驾驶解决方案SuperDri…

Sklearn 中的逻辑回归

逻辑回归的数学模型 基本模型 逻辑回归主要用于处理二分类问题。二分类问题对于模型的输出包含 0 和 1,是一个不连续的值。分类问题的结果一般不能由线性函数求出。这里就需要一个特别的函数来求解,这里引入一个新的函数 Sigmoid 函数,也成…

FPGA|使用quartus II通过AS下载POF固件

1、将开发板设置到AS下载挡位,或者把下载线插入到AS端口 2、打开quartus II,选择Tools→Programmer→ Mode选择Active Serial Programming 3、点击左侧Add file…,选择 .pof 文件 →start 4、勾选program和verify(可选&#xff0…

.Net / C# 分析文件编码 并将 各种编码格式 转为 另一个编码格式 ( 比如: GB2312→UTF-8, UTF-8→GB2312)

相关库 .Net 8 编码识别: github.com/CharsetDetector/UTF-unknown <PackageReference Include"UTF.Unknown" Version"2.5.1" />代码 using UtfUnknown;var dir_path "D:\\Desktop\\新建文件夹2\\新建文件夹"; var dir_new_path &quo…

32. C 语言 安全函数( _s 尾缀)

本章目录 前言什么是安全函数&#xff1f;安全函数的特点主要的安全函数1. 字符串操作安全函数2. 格式化输出安全函数3. 内存操作安全函数4. 其他常用安全函数 安全函数实例示例 1&#xff1a;strcpy_s 和 strcat_s示例 2&#xff1a;memcpy_s示例 3&#xff1a;strtok_s 总结 …

浅谈网络 | 容器网络之Flannel

目录 云原生网络架构深度解构&#xff1a;Flannel的设计哲学与实现机制Flannel架构解析&#xff1a;三层核心设计原则UDP模式&#xff08;用户态隧道&#xff09;VXLAN模式&#xff08;内核态隧道&#xff09;Host-GW模式&#xff08;直连路由&#xff09; 生产环境架构选型与调…

autosar bsw 的关键模块

AUTOSAR&#xff08;AUTomotive Open System ARchitecture&#xff09;的**基础软件层&#xff08;BSW&#xff0c;Basic Software&#xff09;**是汽车电子系统标准化的核心&#xff0c;负责提供硬件抽象、通信、诊断、安全等基础服务。以下是BSW的关键模块及其功能分类&#…

hive:基本数据类型,关于表和列语法

基本数据类型 Hive 的数据类型分为基本数据类型和复杂数据类型 加粗的是常用数据类型 BOOLEAN出现ture和false外的其他值会变成NULL值 没有number,decimal类似number 如果输入的数据不符合数据类型, 映射时会变成NULL, 但是数据本身并没有被修改 创建表 创建表的本质其实就是在…