扫码阅读
手机扫码阅读

AIGC|AutoGPT凭什么爆火出圈?

510 2023-09-14

本期摘要

在ChatGPT大受欢迎后,越来越多的人投身于AI项目开发实践。经过一段时间,一小部分项目脱颖而出,其中AutoGPT在上线后的10天内收获了超过8W个标星,迅速吸引了众人的关注。那么AutoGPT究竟是什么呢?
AutoGPT是一个基于GPT-4的开源项目,旨在简化用户与语言模型的交互过程,提高文本生成和信息收集的效率。它具备管理记忆、连接互联网收集信息、文件存储和汇总等功能。在本文中,笔者将重点介绍对AutoGPT的理解以及使用方法。

作者

马鹏程、李代伟 | 后端开发工程师


01

介绍

AutoGPT 是一个基于 GPT-4 的开源项目,AutoGPT的设计目标是简化用户与语言模型的交互过程,使文本生成和信息收集更轻松、更高效。AutoGPT管理短期和长期记忆,并可以连接互联网收集信息,此外AutoGPT具有文件存储和汇总功能。在我们使用AutoGPT时需要赋予一个目标,此时它会提出一个执行计划并采取行动,从而完成我们赋予的目标。

AutoGPT是一个功能强大的工具,但它也有一些局限性。一方面,由于成本较高,将其应用于生产环境可能会有困难。每一步操作都需要经过一系列的思考和迭代,而为了提供更好的推理和提示,模型通常会使用尽可能多的Token。根据OpenAI的说法,在GPT-4 8K版本中,输入端的价格为每1K个Token收费0.03美元,输出端的价格为每1K个Token收费是0.06美元。另一方面AutoGPT提供的功能范围是有限的。此外,GPT-4的分解和推理能力仍然受到限制,这进一步限制了Auto-GPT解决问题的能力。

02

基本原理

一、AutoGPT怎样理解目标?

这个其实是通过 GPT4的一个特殊功能叫做 zero shot learning,也就是零样本学习来实现的, 0 样本学习就是让GPT4在没有接触过特定类别样本的情况下,仍然能够识别和处理这些类别的数据,或者说可以根据一些描述或者定义学习到一个新的概念,然后用这个概念再来生成新的内容。传统的监督学习方法通常需要大量标注数据来训练模型,而零样本学习则试图解决这个问题,降低收集和标注数据的需求。零样本学习主要依赖于将不同类别的信息以语义形式表示,这些表示通常是高维向量,例如属性向量或词嵌入。这些向量可以捕捉到类别之间的相似性,从而帮助模型泛化到未见过的类别。当模型在训练过程中学习到这些语义表示时,它可以借助这些信息来识别和处理新类别的数据。

例如,如果一个零样本学习模型被训练识别动物,已经识别了猫和狗的特征,而狐狸具备猫的特征,比如外貌与猫有一些相似之处,如身体的柔软灵活、细长的尾巴、尖耳朵等。同时,狐狸也具备狗科动物的一些特征,比如狐狸属于犬科,具有狗一样的嗅觉敏锐,所以虽然没有“见过”狐狸,但是能够用过特征描述很快识别出狐狸。

、AutoGPT拆解任务以及目标的原理 ?

任务拆解是通过多任务学习(Multi-task Learning, MTL)来实现的,它一种机器学习方法,它训练模型在单个学习过程中同时学习多个相关任务。这种方法的核心思想是通过让模型共享不同任务之间的底层表示(例如,特征、权重等),从而提高模型的泛化能力和学习效率。多任务学习的一个重要优势在于,它可以借助不同任务之间的潜在联系,在一定程度上减少过拟合的风险。此外,多任务学习还能更有效地利用有限的训练数据,提高训练效率。总之,多任务学习方法试图通过让模型在一个统一的框架下学习多个相关任务,实现知识的共享和迁移,从而提高模型的性能。

三、AutoGPT如何生成提示以及如何评估子任务达标?

AutoGPT生成提示的原理是通过元学习和预训练模型等技术手段实现的。它利用元学习来学习如何生成有效的提示,元学习可以帮助模型理解任务的特点和目标,并根据这些理解生成适当的提示。此外,AutoGPT还可以使用预训练模型,通过学习大量的语言数据和任务样本,掌握不同任务的模式和特征,从而更好地生成与任务相关的提示。

评估子任务达标的过程主要依赖于人类的反馈和自我评估。在生成提示后,AutoGPT会根据生成的提示和执行的结果,与人类的期望进行比较和评估。如果生成的结果符合预期,并得到人类的正面反馈,说明子任务已经达到了预期的标准。如果结果不符合预期或人类提供了负面反馈,AutoGPT会根据反馈进行修改和改进,再次生成新的提示并执行任务,直到达到预期的标准为止。

这种评估过程可以是迭代的,AutoGPT不断根据反馈进行调整和改善,逐步提高生成的提示的质量和准确性。通过不断学习和自我评估,AutoGPT能够逐渐适应任务的要求,提供更好的提示,并达到或超过人类的预期。

03

快速开始

一、云端安装AutoGPT

1、登录Google云端硬盘,点击 我的云端硬盘->更多-> Google Colaboratory

2、重命名文件,点击修改->笔记本设置,选择使用GPU,点击保存。然后点击右边的连接按钮,等待分配主机。

3、单独执行以下每行代码:

1 # 与Google云端硬盘进⾏绑定,即使⽤云端硬盘作为⽂件存储的位置。配置⽂件和输出⽂档等等都可以在云盘⾥找到。 2 from google.colab import drive
3 drive.mount('/content/drive')
4
5 # 进⼊MyDrive⽂件夹 6 cd drive/MyDrive/
7
8 # 克隆代码到上⾯的⽂件夹⾥⾯,前⾯记得加上!表示执⾏终端命令 9 !git clone https://github.com/Significant-Gravitas/Auto-GPT.git -b stable
10
11 # 进⼊包含AutoGPT代码的⽂件夹 12 cd Auto-GPT/
13
14 # 安装依赖 15 !pip install -r requirements.txt
16
17 # 点击左侧⽂件按钮,路径是/content/drive/MyDrive/Auto-GPT/env.txt,打开它,然后在第56⾏左右找到openai-api-key: 18 # 添加openAI api密钥不加双引号。 19 !mv .env.template env.txt
20
21 # 把env⽂件变成隐藏⽂件格式 22 !mv env.txt .env
23
24 # 运⾏autoGPT,--gpt3only参数表示使⽤chatgpt3.5,如果使⽤chatgpt4可以不⽤加这个参数 25 !python -m autogpt --gpt3only

4、运行成功之后会显示如下Info信息。之后可以让AutoGPT自动完成目标,或者输⼊--manual指令,为AI指定详细的角色,目标和步骤。注意在最后的目标中输⼊: Oncedone, shutdown(一旦完成就终止运行)。

5、例如,让AutoGPT写一篇关于时间管理500字文章大纲

执行完成后会生成一个路径,输出文章大纲就在这个目录里面

本次分享完毕了,对于AutoGPT有没有新的了解呢?


原文链接: http://mp.weixin.qq.com/s?__biz=Mzg5MzUyOTgwMQ==&mid=2247523906&idx=1&sn=52c63319fbd5e12d20d1a6fd34259f2e&chksm=c02fa5e4f7582cf27babc787d9bf9b5345c670f96ab29164195f29924770c36896afb973d21d#rd