AIGC|AGI究竟是什么?为什么大家都在争先入场?

一、AI大语言模型进入爆发阶段

2022年12月ChatGPT突然爆火,原因是其表现出来的智能化已经远远突破了我们的常规认知。虽然其呈现在使用者面前仅仅只是一个简单的对话问答形式,但是它的内容化水平非常强大,甚至在某些方面已经超过人类了,这是人工智能板块的重大突破。

近半年来,整个行业都在致力于研发和应用大型模型。这涉及到算力的提升、大型模型算法的优化以及相关语料和数据的准备。行业对此非常关注,各个参与者都铆足干劲,特别是一些大型企业纷纷下水,担心被AI浪潮拍在沙滩上。

在这张图中,我们可以看到一些主要的玩家,比如Meta(即Facebook)、OpenAI和谷歌,以及国内的华为、阿里巴巴和百度。尤其是在大型模型领域,它们都在做相应的投入和研发。最近,有一个名为Stable Diffusion的技术非常令人震撼。它可以让你无限地放大和缩小一张图片,甚至将其放大到地球的大小,这对整个行业都是一个巨大的挑战。

另外值得一提的是Meta,两年前,Facebook将其名称改为Meta,并宣布将全力发展元宇宙。但是为什么元宇宙还没有崛起呢?因为元宇宙需要人们用工具去创造其中的3D内容。但是现在,如果将Stable Diffusion技术与元宇宙技术结合起来,所有的场景都不需要手动创造了。这是非常令人震撼的,也可能会推动元宇宙的爆发。因为在这之前,元宇宙最大的瓶颈就是内容。如果人工智能能够与之很好地结合并生成内容,对元宇宙的推动将是非常巨大的。所以,我们可以无限地想象这个技术将如何改变我们的生活。

二、什么是大语言模型?

大语言模型是AI中的一个重要组成部分,它主要用于生成内容。我们可以通过这个模型给定一段文字,然后生成相应的文字、图片或图生图,以及将文字转换为声音或视频等等。这个模型的架构被称为Transformer,它是一种深层次的生成式模型。在卷积神经网络中,有许多层和参数,通过降维计算和权重来生成每个节点的可能性。虽然理解这个模型可能对于数学不太好的人来说有些复杂,但我们可以大致了解它的工作原理、功能和优势,以便在后续的应用开发中打下基础。

总结下来大模型其实就是三块大的能力:自然语言理解与生成,推理能力以及通识能力。

首先最重要的是自然语言的理解能力。在过去,我们经常进行各种搜索,包括在电商网站上进行搜索。当你在输入框中输入想要购买的物品,比如电脑,系统会给你返回一大堆相关的结果。这种搜索的本质是什么呢?其实它是通过给每个商品打上标签的方式进行的,比如只要是电脑,系统就会给它打上电脑的标签。当你输入电脑时,系统会命中所有带有电脑标签的商品,然后给你返回搜索结果。所以从本质上说,这种搜索是基于你的输入进行分词和命中,而没有理解你的意图。

但现在,自然语言理解的技术已经得到了很大的进步,在搜索层面上可以实现更多的功能。我们可能都尝试过ChatGPT、文心一言等等,当你输入一段话时,它会给你返回一系列相关的信息。这是因为它真正地理解了你的语言含义,理解了你的意图,然后才进行相应的操作。所以在搜索方面,实现这种真正的理解并提供相关结果是可能的。

比如你要去购买电脑,你可以对着AI输入“我是一个程序员,平时主要用来写Python程序,现在要购买一台1万元左右的电脑”,这是会自动给你推荐符合的商品,这就是体验方式的不一样。这个模型他理解了你的需求,然后再去完成特定的任务。

第二个很重要的是推理能力。同样是上文买电脑的例子,我只是描述了我的职业属性以及使用需求,而大语言模型会根据我提供的信息来推理出我需要购买电脑或者电脑的配件。这是它在基于我的语言理解去做的推理。

很典型的一个例子是ChatGPT-4发布时的一个举例,将一个有气球的图片传给ChatGPT,这时候你问ChatGPT

“如果我把气球的绳子剪断会怎样?”

“气球会飞走”

对于人类来说,这些回答很正常,但对于机器来说却是令人震撼的,这意味着AI已经能够理解物理世界的一些现象。

例如,当给AI展示一张烧红的铁的图片,并问它如果用手去碰会怎样,它能回答“你要当心受伤”。这个回答展示了AI的通识能力,它知道烧红的铁温度很高,然后进行推理得出碰到它会受伤的结论,并知道人的手不能碰高温物体。这些都属于通识知识,对我们来说很基本。但在这个大型模型出现之前,这个问题一直困扰着科学界很长时间,即使像AlphaGo这样的强大AI也不知道烧红的铁不能用手碰。

但现在这个问题已经得到解决。

三、大语言模型的核心要素

算法和模型是区分大语言模型研发的核心要素。算法和模型影响的模型丰富度、模型准确性、能力涌现等都成为评价大语言模型优劣的核心指标。

目前LLM市场有三大方向,分别是OpenAI、Google和Meta。

ChatGPT的回答更注重模拟人类表达,因此在准确性方面可能会有一定欠缺,有时会出现所谓的“一本正经的胡说八道”,这在专业术语中称为“幻觉”。相比之下,Google追求100%的准确性,所以它的训练更加困难。这也解释了为什么OpenAI先出现并且更快流行,因为它的回答相对更巧妙,难度没有那么大。

而Meta的LLaMA则是另一条完全不同的路线,它是完全开源并且可以商用的,因此围绕这一个模型会出现成百上千的模型,很多个人或者大厂都会基于这个模型进行一定的改进,比如ChatGLM等等。

四、如何构建大语言模型

大模型的本质除了是Transformer算法,它还需要进行数据训练。这与人类类似,孩子出生后就自然拥有了算力,而随着大脑中的神经元不断增长,算力也会增强。

无论是对于人类还是对于大模型来说,学习都是一个过程。实质上,对于大模型来说,学习的过程就是消耗数据和语料的过程。在训练中,所有的数据都被称为语量。

将大语言模型从一个Transformer算法训练成一个类似ChatGPT的模型需要经过三步:预训练、指令微调和RLHF。

预训练是指进行大量的无监督学习,这个概念可以用一个例子来解释。就像训练一个鹦鹉一样,你给它一个开着的电视,让它去看,不管电视上放什么内容,只要鹦鹉看着就好。经过一段时间,鹦鹉就会学会很多话。当然,这种训练资料不是完全随机,还是会进行一定的选择。

指令微调是一种技术,通过向模型提供特定的指令或约束来进一步调整模型的行为和生成结果。通常用于去除预训练过程中不安全数据,这些数据包括但不限于黄赌毒等等违法内容。AI在面对关于违法行为的问题时,会避免回答。同时,指令微调还涉及一些伦理问题,它会尽量排除对人类有害的内容。

然而,传统数据库中可以查找到有害数据的位置,但在大模型中,由于存储的内容太多,不知道具体位置。因此,无法通过穷举的方式检查出所有有害内容,特别是在开源大模型中,隐藏的有害内容更难察觉,需要更加小心谨慎。

RLHF是Reinforcement Learning From Human Feedback的缩写,意为从人类反馈中进行强化学习。这是整个过程的最后一步,引入专家或其他人在不同时间点问同样的问题,观察回答的差异,尽管可能有些微差别,但意思可能是一样的。然后需要评估回答,选择最好的回答,并给予相应的权重。这实际上是一个强化学习的过程。

五、大模型时代下企业应用痛点

随着进入大模型时代,越来越多的企业将加入这一浪潮,现有的几家独大的局面必将很快被打破。在这个时代,企业应用发展同样面临着众多挑战。

例如ChatGPT在通识领域表现出很强的能力,这是因为ChatGPT的语料来源于公开网络,所以它会成长为通识领域的领先选手。

然而,每个行业最专业的资料都是在企业或行业协会的私域中,不对外公开的。所以ChatGPT在回复中经常会存在事实性错误,部分原因就是这些特定的行业机密是无法在公有网络中获取的。这些行业协会或企业可以使用自己的数据来训练模型,从而成为该领域的专家,专注解决特定问题。可以预见的是,未来将会有各种大模型涌现,如医生模型、投资模型、生产制造模型等。我们可以想象将各种大模型与各个行业结合,从而对传统应用进行重构和升级,实现更好的效果。

另一方面是企业应用面临着数据和信息泄露的风险。由于AI大模型的应用无法签订保密协议,无法保证企业数据的安全性,也无法保证内容不会外流。这给企业带来了一定的安全隐患和控制风险。

六、大模型究竟能做什么

大模型应用可以轻松生成文字,比如广告文案、客服等。虽然目前大多数应用将其用于客服问答,但它的能力远不止于此,特别是在企业场景中,它具有强大的推理和分析能力。例如在自动驾驶领域,人工智能也发挥了重要作用,但目前仍存在100%正确性的问题,因此智能驾驶还不能完全取代人类控制。然而,一旦突破了这一问题,将对整个行业产生颠覆性的影响,释放出与蒸汽机一样重要的生产力,实现机器设备的无人驾驶和操控。

我们现在才刚进入大模型时代,更多的应用可能其实还需要不断地去尝试挖掘。

七、AI企业应用开发

(一)开发工具及资源

目前我们已经拥有了很多模型,回到我们的本质,我们要开发一些应用,更重要的是如何去运用它们。现在业界有一些框架、思路和工具来开发这些AI应用。在这个过程中,我们可以看到有一些层次顺序。最底层是模型的能力,它是不可或缺的,而它的算力则是由CPU支撑,在这之上还有一些框架。

//脚手架

AI应用脚手架软件是一种用于构建和部署AI应用的工具。它提供了一个基本框架,帮助开发者快速搭建AI应用的基础结构。

很火的脚手架如AutoGPT和LangChain其实都采用了同一种代理思路,即基于"思维链"的循环往复过程。当面对复杂任务时,大模型具备拆解能力,将任务拆解为小任务,并提前包装好API工具,让模型知道每个API的功能。整个过程相当于自动化的步骤,模型会根据任务的拆解和工具的匹配来完成相应的任务。

//向量数据库

在传统的应用中,我们使用了Claude框架和Java语言。然而,这些还不够,我们还需要记忆体,也就是关系型数据库。在AI应用中,它也有相应的记忆体,即向量。在大型模型中,它通过计算来存储自然的向量,并通过向量来表示各个节点之间的关系。向量数据库并不是现在才出现的,它的优势在于处理非结构化的数据,因为我们知道结构化数据对机器来说更友好。非结构化数据是指文档、文字、声音、视频等无固定格式的数据。与之相对的是结构化数据,例如表格或数据库中的数据。在过去,我们能够录制和存储视频、音频等非结构化数据,但一直没有一种基于这些数据进行计算的方式。

为了解决这个问题,我们引入了向量数据。向量数据库将现实中的非结构化数据转化为向量形式,每个数据都成为一个向量。当进行计算时,将数据转化为向量的原因是它已经变成了数值,可以进行计算。可以计算两个向量之间的距离,这个距离在向量化过程中具有实际意义,它表示相似度。

例如,如果将两句话“今天天晴”和“今天天气很好”存储在向量数据库中,它们将成为两个不同的向量。但是,这两个向量之间的距离非常接近,通过使用向量引擎将它们向量化,可以得到非常接近的距离。这具有实际意义,可以对非结构化的数据进行大量计算。

//大模型运行环境

大模型通常需要大量的计算资源来进行训练和推理。强大的硬件算力,如高性能的CPU、GPU或TPU,可以提供更快速和高效的计算能力,加速大模型的运行。较低的算力可能会导致运行速度变慢或无法完成任务。

目前市场上提供的算力服务包括Google Colab、Hugging Face以及国内公有云等等,可为学习和开发提供长期算力支持。

业界中有很多大厂正在努力降低AI和大模型对算力的要求,有人表示这一趋势符合摩尔定律,将会迅速下降。同时,还有各种算法优化和并行处理的可能性。虽然这些可能超出了我们目前个人的能力范围,但我们可以关注未来的发展,说不定哪一天在笔记本上都能够运行。

//大模型获取方式

获取想要的大模型非常简单。像Hugging Face提到的类似于GitHub的开源模型库,提供了大量的开源数据集和预训练的大模型。开发者可以直接在这些库中搜索并下载所需的大模型,然后在本地环境中进行使用和运行。

(二)AI应用架构

各位小伙伴可以关注公众号“神州数码云基地”回复关键词【AGI通识及应用开发】获取原文PPT材料

AI应用的基本框架是用户输入在左边完成后,下方可以连接外部数据库和向量数据库。在中间是一个大模型,我们可以通过API的形式调用AI或者国内的文心一言等等来完成任务。另外,我们也可以选择自己部署一个开源的大模型,例如ChatGPT来进行基础的开发工作,这已经足够使用了。

模型层的代理层其实就是一个脚手架,通过代理机制利用大模型理解用户的需求,并将其切分为多个小任务,然后调用各种已知的工具来完成任务,当然这些工具需要事先告知给代理层。如何告诉工具需要做什么呢?一种常见的方式是通过查询和调用搜索引擎的API。在这个API中,你只需要用自然语言写一段话,告诉它你想搜索人、事、物等方面的信息。当大模型在分解任务时,如果某个步骤需要查询某个人的信息,它会自主地调用这个工具。

注册过程实际上是将每个现有应用或外部系统的API进行简单的自然语言包装,以便在任何时候调用底层机制。它会观察结果,并根据满足要求与否来判断是否继续执行任务,直到任务完成。

整个机制还配合着向量数据库,该数据库专门为个人或特定场景提供服务。在企业场景中,大量的数据都是私有的,无论是结构化还是非结构化的,例如企业文档、规章制度、报告等都可以存储在向量数据库中。这样这个系统就能够成为企业私有的定制AI系统,用于回答内部问题。

八、说在最后

在AGI(通用人工智能)时代的到来之际,大模型成为了推动AI技术发展和应用的关键驱动力。通过大模型,我们可以探索和实现更加复杂、智能的任务和应用,为人类社会带来巨大的变革。

正如我们在上文所说,获取想要的大语言模型已经变得非常简单。开源模型库、数据科学平台、云计算服务以及自行训练等方式,都为我们提供了丰富的资源和工具,让我们能够轻松地学习和探索大模型的世界。

通过学习大语言模型的原理、应用和开发技术,我们能够更好地理解和应用这一强大的工具。不论是从事研究、开发还是应用,学习和掌握AGI的知识和技能都将为我们的职业发展和个人成长带来巨大的机会和潜力。

分享者:胡浩文 | 神州数码云基地 开发总监

版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。

公众号搜索神州数码云基地,回复关键词【AGI通识及应用开发获取原文PPT材料

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

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

相关文章

运动控制系统::几篇大佬的文章

运动规划 - 知乎 (zhihu.com) 运动规划、运动控制 & 运动感知 - 知乎 (zhihu.com)

电脑屏幕闪烁?别慌!解决方法在这!

“我新买了一台电脑,还没用几天呢,就出现了电脑屏幕闪烁的情况,这让我感到很烦躁。有什么方法可以解决电脑屏幕闪烁的问题呢?” 使用电脑的过程中,我们不难发现电脑屏幕有时候会出现闪烁的情况,这会导致使用…

vscode|pycharm + docker + python

1,docker run的时候要加上port docker run -it --gpusall -p 2222:22 -v /挂载目录/:/docker 目录1/ -v /挂载目录/:/docker 目录2/ --namexxx image:v2 /bin/bash 2,docker 内部要安装ssh 2.1方法命令: apt-get update apt-get install…

使用蓝牙外设却不小心把台式机电脑蓝牙关了

起因 今天犯了一个贼SB的错误,起因是蓝牙键盘突然就不能输入了(虽然是连接状态,但是按什么键都没有反应) 原来我的解决方法就是重启一下电脑,但是那会电脑开了贼多的软件。我就想重启也太麻烦了,既然重启…

一文读懂c++语言

一文读懂C语言 C的发展C的设计目标C的特性C的挑战 C的发展 C是一种通用的、高级的编程语言,它是C语言的扩展。C由Bjarne Stroustrup于1983年首次引入,并在之后的几十年中不断发展壮大。C被广泛应用于各种领域,包括系统开发、游戏开发、嵌入式…

pytest数据驱动(最简单)

目录 第一种:通过yaml文件获取数据(一维列表) 第二种:通过yaml文件获取数据(二维列表) 第三种:通过yaml文件获取数据(pytest.fixture) 资料获取方法 第一种&#xff…

四、Linux中cd、pwd以及相对/绝对路径和特殊路径符

1、cd命令: cd命令可以切换当前工作目录,基础语法是: cd [linux路径] (1)、打开Linux的命令提示行,当前工作目录是home,输入“cd /”,可以切换到根目录下,在根目录下输…

6_AccessKeyId和AccessKeySecret的环境变量配置

系列文章目录 第1章 Linux安装Docker 第2章 Docker安装jdk1.8和MySql 第3章 Docker安装redis 第4章 Jar包部署Docker 第5章 Docker-compose多服务统一编排管理 第6章 AccessKeyId和AccessKeySecret的环境变量配置 文章目录 系列文章目录前言一、WIN系统配置二、LINUX系统配置三…

【go语言学习笔记】05 Go 语言实战

文章目录 一、 RESTful API 服务1. RESTful API 定义1.1 HTTP Method1.2 RESTful API 规范 2. RESTful API 风格示例3. RESTful JSON API4. Gin 框架4.1 导入 Gin 框架4.2 使用 Gin 框架4.2.1 获取特定的用户(GET)4.2.2 新增一个用户(POST&am…

【前端 | CSS】align-items与align-content的区别

align-items 描述 CSS align-items 属性将所有直接子节点上的 align-self 值设置为一个组。align-self 属性设置项目在其包含块中在交叉轴方向上的对齐方式 align-items是针对每一个子项起作用,它的基本单位是每一个子项,在所有情况下都有效果&…

SpringBoot复习:(31)Controller中返回的对象是如何转换成json字符串给调用者的?

首先,SpringBoot自动装配了HttpMessageConvertersAutoConfiguration这个自动配置类 而这个自动配置类又通过Import注解导入了JacksonHttpMessageConvertersConfiguration类, 在这个类中配置了一个类型为MappingJackson2HttpMessageConverter类型的bean…

vant van-tabs van-pull-refresh van-list 标签栏+上拉加载+下拉刷新

<template><div class"huibj"><div class"listtab"><!--顶部导航--><div class"topdh"><topnav topname"余额明细"></topnav></div><!--Tab 标签--><van-tabs v-model"…

Python教程(9)——Python变量类型列表list的用法介绍

列表操作 创建列表访问列表更改列表元素增加列表元素修改列表元素删除列表元素 删除列表 在Python中&#xff0c;列表&#xff08;list&#xff09;是一种有序、可变的数据结构&#xff0c;用于存储多个元素。列表可以包含不同类型的元素&#xff0c;包括整数、浮点数、字符串等…

配置 yum/dnf 置您的系统以使用默认存储库

题目 给系统配置默认存储库&#xff0c;要求如下&#xff1a; YUM 的 两 个 存 储 库 的 地 址 分 别 是 &#xff1a; ftp://host.domain8.rhce.cc/dvd/BaseOS ftp://host.domain8.rhce.cc/dvd/AppStream vim /etc/yum.repos.d/redhat.repo [base] namebase baseurlftp:/…

C语言快速回顾(一)

前言 在Android音视频开发中&#xff0c;网上知识点过于零碎&#xff0c;自学起来难度非常大&#xff0c;不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》&#xff0c;结合我自己的工作学习经历&#xff0c;我准备写一个音视频系列blog。C/C是音视频必…

Rabbitmq延迟消息

目录 一、延迟消息1.基于死信实现延迟消息1.1 消息的TTL&#xff08;Time To Live&#xff09;1.2 死信交换机 Dead Letter Exchanges1.3 代码实现 2.基于延迟插件实现延迟消息2.1 插件安装2.2 代码实现 3.基于延迟插件封装消息 一、延迟消息 延迟消息有两种实现方案&#xff…

vue3 setup+Taro3 调用原生小程序自定义年月日时分多列选择器,NutUI改造

vue3 setupTaro3 调用原生小程序自定义年月日时分多列选择器&#xff0c;NutUI改造 NutUI 有日期时间选择器&#xff0c;但是滑动效果太差&#xff0c;卡顿明显。换成 原生小程序 很顺畅 上代码&#xff1a; <template><view><pickermode"multiSelector&…

2023牛客暑期多校训练营9-J Puzzle: Star Battle

2023牛客暑期多校训练营9-J Puzzle: Star Battle https://ac.nowcoder.com/acm/contest/57363/J 文章目录 2023牛客暑期多校训练营9-J Puzzle: Star Battle题意解题思路代码 题意 解题思路 出题人都说是诈骗题&#xff08;&#xff0c;可以发现满足每行每列恰好有 n n n个星…

【解决】Kafka Exception thrown when sending a message with key=‘null‘ 异常

问题原因&#xff1a; 如下图&#xff0c;kafka 中配置的是监听域名的方式&#xff0c;但程序里使用的是 ip:port 的连接方式。 解决办法&#xff1a; kafka 中配置的是域名的方式&#xff0c;程序里也相应配置成 域名:port 的方式&#xff08;注意&#xff1a;本地h…

机器学习笔记之优化算法(十三)关于二次上界引理

机器学习笔记之优化算法——关于二次上界引理 引言回顾&#xff1a;利普希兹连续梯度下降法介绍 二次上界引理&#xff1a;介绍与作用二次上界与最优步长之间的关系二次上界引理证明过程 引言 本节将介绍二次上界的具体作用以及它的证明过程。 回顾&#xff1a; 利普希兹连续…