简介
人工通用智能(AGI)可以被认为是一个人工智能系统,它能够像人类一样理解、处理和响应智力任务。这是一项具有挑战性的任务,需要深入了解人脑的工作方式,以便我们能够复制它。然而,ChatGPT的出现引起了研究界对开发此类系统的巨大兴趣。微软已经发布了这样一个由AI驱动的关键系统,名为HuggingGPT(Microsoft Jarvis)。
在深入了解HuggingGPT的新内容以及它工作原理的相关细节之前,让我们首先了解ChatGPT的问题,以及为什么它在解决复杂的AI任务方面很困难。像ChatGPT这样的大型语言模型擅长于解释文本数据和处理一般任务。然而,它们经常在特定任务中挣扎,并可能产生荒谬的反应。你可能在解决复杂的数学问题时遇到过来自ChatGPT的虚假答复。另一方面,我们有专家级的AI模型,如Stable Diffusion和DALL-E等,它们对各自的学科领域有更深入的了解,但在更广泛的任务上却举步维艰。除非我们在LLM和专业AI模型之间建立起联系,否则我们无法完全利用LLM的潜力来解决具有挑战性的AI任务。这就是HuggingGPT所做的,它结合了两者的优势,创造了更有效、更准确、更多的AI系统。
什么是HuggingGPT?
根据微软最近发表的一篇论文,HuggingGPT利用LLM的强大功能,把它作为控制器,将其与机器学习社区(HuggingFace)中的各种AI模型连接起来,使它能够使用外部工具,以提高工作效率。HuggingFace是一个为开发人员和研究人员提供大量工具和资源的网站。它还拥有各种各样的专业和高精确度的模型。HuggingGPT将这些模型用于不同领域和模式的复杂AI任务,从而取得了令人印象深刻的结果。在涉及文本和图像时,它具有与OPenAI GPT-4类似的多模式功能。但是,它也将你连接到互联网上,你可以提供一个外部Web链接来询问有关问题。
假设你想让模型对写在图像上的文字进行音频阅读。HuggingGPT将使用最适合的模型串行地执行这项任务。首先,它将从图像中导出文本,并将其结果用于音频生成。可以在下面的图片中查看响应详细信息。简直太神奇了!
对视频和音频模式的多模式合作进行定性分析
HuggingGPT是如何工作的?
HuggingGPT是一个协作系统,它使用LLM作为接口,向专家模型发送用户请求。从用户提示到模型直到收到响应的完整过程可以分解为以下不连续的步骤:
1.任务规划
在这个阶段,HuggingGPT利用ChatGPT来理解用户的提示,然后将查询分解为小的可操作任务。它还确定了这些任务的依赖关系,并定义了它们的执行顺序。HuggingGPT有四个插槽用于任务解析,即任务类型、任务ID、任务依赖性和任务参数。HuggingGPT和用户之间的聊天记录被记录下来并显示在显示资源历史的屏幕上。
2.模型选择
基于用户环境和可用的模型,HuggingGPT使用一个上下文中的任务-模型分配机制,为一个特定的任务选择最合适的模型。根据这一机制,模型的选择被认为是一个单选题,它最初根据任务的类型筛选出模型。之后,根据下载次数对模型进行排名,因为它被认为是反映模型质量的可靠措施。Top-K模型是根据这个排名选择的。这里的K只是一个反映模型数量的常数,例如,如果它被设置为3,那么它将选择下载次数最多的3个模型。
3.任务执行
在这里,任务被分配给一个特定的模型,它对其进行推理并返回结果。为了提高这个过程的效率,HuggingGPT可以同时运行不同的模型,只要它们不需要相同的资源即可。例如,如果给出一个提示,生成猫和狗的图片,那么不同的模型可以并行运行来执行这个任务。然而,有时模型可能需要相同的资源,这就是为什么HuggingGPT维护一个
4.生成响应
最后一步是生成对用户的响应。首先,它整合了前几个阶段的所有信息和推理结果。这些信息以一种结构化的格式呈现。例如,如果提示是检测图像中狮子的数量,它将绘制具有检测概率的适当的边界框。然后,LLM(ChatGPT)使用这种格式,并以人类友好的语言呈现它。
设置HuggingGPT
HuggingGPT建立在Hugging Face最先进的GPT-3.5架构之上,它是一个深度神经网络模型,可以生成自然语言文本。以下是如何在本地计算机上设置它的步骤:
系统要求
默认配置需要Ubuntu 16.04 LTS,至少24GB的VRAM,至少12GB(最小)、16GB(标准)或80GB(完整)的RAM,以及至少284GB的磁盘空间。此外,需要42GB的空间用于damo-vilab/text-to-video-ms-1.7b,126GB用于ControlNet,66GB用于stable-diffusion-v1-5,50GB用于其他资源。对于“lite”配置,只需要Ubuntu 16.04 LTS。
开始使用的步骤
首先,将server/configs/config.default.yaml文件中的OpenAI Key和Hugging Face Token替换为你的密钥。或者,你可以将它们分别放在环境变量OPENAI_API_KEY和HUGGINGFACE_ACCESS_TOKEN中
运行以下命令:
对于Server:
- 设置Python环境并安装所需的依赖项。
<code># 设置环境cd serverconda create -n jarvis pythnotallow=3.8conda activate jarvisconda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidiapip install -r requirements.txt</code>
- 下载所需的模型。
<code># 下载模型。确保`git-lfs`已经安装。cd modelsbash download.sh # required when `inference_mode` is `local` or `hybrid`.</code>
- 运行服务器
<code># 运行服务器cd ..python models_server.py --config configs/config.default.yaml # required when `inference_mode` is `local` or `hybrid`python awesome_chat.py --config configs/config.default.yaml --mode server # for text-davinci-003</code>
现在你可以通过向Web API端点发送HTTP请求来访问Jarvis的服务。发送请求到:
- /hugginggpt端点,使用POST方法访问完整的服务。
- /tasks端点,使用POST方法访问阶段1的中间结果。
- /results端点,使用POST方法访问阶段1-3的中间结果。
这些请求应该是JSON格式的,应该包括代表用户输入的信息列表。
对于Web:
- 在服务器模式下启动应用程序awesome_chat.py后,在计算机上安装node js和npm。
- 导航到web目录并安装以下依赖项:
<code>cd webnpm installnpm run dev</code>
- 将http://{LAN_IP_of_the_server}:{port}/设置为web/src/config/index.ts的HUGGINGGPT_BASE_URL,以防你在其他机器上运行Web客户端。
- 如果要使用视频生成功能,请使用H.264手动编译ffmpeg。
<code># 可选:安装 ffmpeg# 这个命令需要在没有错误的情况下执行。LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/ffmpeg -i input.mp4 -vcodec libx264 output.mp4</code>
- 双击设置图标,切换回ChatGPT。
对于CLI:
使用CLI设置Jarvis是非常简单的。只需运行下面提到的命令:
<code>cd serverpython awesome_chat.py --config configs/config.default.yaml --mode cli</code>
对于Gradio:
Gradio演示也在Hugging Face Space上托管。你可以在输入OPENAI_API_KEY和HUGGINGFACE_ACCESS_TOKEN后进行试验。
要在本地运行它:
- 安装所需的依赖项,从Hugging Face Space克隆项目存储库,然后导航到项目目录
- 使用以下命令启动模型服务器,然后启动Gradio演示:
<code>python models_server.py --config configs/config.gradio.yamlpython run_gradio_demo.py --config configs/config.gradio.yaml</code>
- 在浏览器中通过http://localhost:7860访问演示,并通过输入各种输入进行测试
- 作为选择,你也可以通过运行以下命令以Docker镜像的形式运行该演示:
<code>docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/microsoft-hugginggpt:latest python app.py</code>
注意:如果有任何问题,请参考官方Github Repo(https://github.com/microsoft/JARVIS)。
最后的思考
HuggingGPT也有某些需要在此强调一下的局限性。例如,系统的效率是一个主要瓶颈,在前面提到的所有阶段,HuggingGPT都需要与LLM进行多次交互。这些交互会导致用户体验的降低和延迟的增加。同样,最大的上下文长度也受到允许的令牌数量的限制。另一个问题是系统的可靠性,因为LLM可能会误解提示并产生一个错误的任务序列,这反过来又会影响整个过程。尽管如此,它在解决复杂的AI任务方面具有很大的潜力,并且是AGI的一个很好的进步。一起期待这项研究会把AI的未来带向哪个方向吧!
以上是HuggingGPT:处理AI任务的神奇工具的详细内容。更多信息请关注PHP中文网其他相关文章!

拥抱Face的OlympicCoder-7B:强大的开源代码推理模型 开发以代码为中心的语言模型的竞赛正在加剧,拥抱面孔与强大的竞争者一起参加了比赛:OlympicCoder-7B,一种产品

你们当中有多少人希望AI可以做更多的事情,而不仅仅是回答问题?我知道我有,最近,我对它的变化感到惊讶。 AI聊天机器人不仅要聊天,还关心创建,研究

随着智能AI开始融入企业软件平台和应用程序的各个层面(我们必须强调的是,既有强大的核心工具,也有一些不太可靠的模拟工具),我们需要一套新的基础设施能力来管理这些智能体。 总部位于德国柏林的流程编排公司Camunda认为,它可以帮助智能AI发挥其应有的作用,并与新的数字工作场所中的准确业务目标和规则保持一致。该公司目前提供智能编排功能,旨在帮助组织建模、部署和管理AI智能体。 从实际的软件工程角度来看,这意味着什么? 确定性与非确定性流程的融合 该公司表示,关键在于允许用户(通常是数据科学家、软件

参加Google Cloud Next '25,我渴望看到Google如何区分其AI产品。 有关代理空间(此处讨论)和客户体验套件(此处讨论)的最新公告很有希望,强调了商业价值

为您的检索增强发电(RAG)系统选择最佳的多语言嵌入模型 在当今的相互联系的世界中,建立有效的多语言AI系统至关重要。 强大的多语言嵌入模型对于RE至关重要

特斯拉的Austin Robotaxi发射:仔细观察Musk的主张 埃隆·马斯克(Elon Musk)最近宣布,特斯拉即将在德克萨斯州奥斯汀推出的Robotaxi发射,最初出于安全原因部署了一支小型10-20辆汽车,并有快速扩张的计划。 h

人工智能的应用方式可能出乎意料。最初,我们很多人可能认为它主要用于代劳创意和技术任务,例如编写代码和创作内容。 然而,哈佛商业评论最近报道的一项调查表明情况并非如此。大多数用户寻求人工智能的并非是代劳工作,而是支持、组织,甚至是友谊! 报告称,人工智能应用案例的首位是治疗和陪伴。这表明其全天候可用性以及提供匿名、诚实建议和反馈的能力非常有价值。 另一方面,营销任务(例如撰写博客、创建社交媒体帖子或广告文案)在流行用途列表中的排名要低得多。 这是为什么呢?让我们看看研究结果及其对我们人类如何继续将


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver Mac版
视觉化网页开发工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中