AI开源概览及工具使用

news2024/9/25 21:24:04

一、前言

随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置AI玩法,如抖音的AI特效;

在这里插入图片描述

关联资源:代码 GitHub、相关论文、项目Demo、产品文档、Grok Ai、grokstream、添加链接描述

二、开源版「ChatGPT Plus」

来自香港大学、XLang实验室、Sea AI实验室和Salesforce的研究者联合打造了一款用于真实世界生产力工具的开源智能体框架——OpenAgents,并开源了全栈代码(完整前后端);OpenAgents还 提供线上的网页 demo (以及配套的开源代码),非程序员背景的普通用户也可轻松与智能体进行交互;OpenAgents 支持真实世界环境和可控环境,支持超过 200 + 的日常工具调用,支持网页自动浏览。OpenAgents 的动机是作为一个开源平台,旨在成为一个真实而全面的人类可交互的智能体评估平台:根据真实需求,真实用户与智能体互动以完成其任务,并记录整个用户 - 智能体互动过程和用户反馈以供进一步评估。为使用和部署智能体提供,目前包括三个关键智能体:

  • 用于 Python 和 SQL 的数据智能体;
  • 200 多个工具使用的插件智能体;
  • 自动网络浏览的 Web 智能体。

OpenAgents 用基于「大语言模型」(LLMs)的技术和全栈工程代码尝试近似复刻了 ChatGPT Plus 的功能。智能体可执行 Python/SQL 代码,熟练调用工具,也能上网找地图发帖子,OpenAgents完全开源了代码,包含从科研到逻辑代码到前端代码的一切。代码完善、易于拓展,本地直接可以一键部署,配套提供了含有丰富的使用案例的文档,帮助研究者和开发者在模型上搭建自己的智能体和应用。一路从代码实现到后端前端全部开源,让其变成了人人都能用的落地级别应用,基于代码开源,开发者和研究者可以定制适配业务需要,修改若干行代码适配自己想要的模型,改进、创造自己想要的功能,甚至创造新的 Agent。 下面是OpenAgents 总览图,面向用户的网页界面,面向开发者的本地部署。
在这里插入图片描述
1)数据分析对比

OpenAgents 和 ChatGPT 都能不错地完成用户对股价和交易的分析要求。不过 OpenAgents 可以自动搜索 Kaggle 数据集并下载,ChatGPT 需要用户从本地上传。

2)插件和画图

两者都能成功调用了 Wolfram 插件画出多种八面体的图片。

3)网页调用

模拟测试用户想要查询 10 月 20 日从中国香港到纽约的机票,OpenAgents 识别用户意图后直接跳转到 Skycanner,像 “真人” 一样一边思考一边在网站中填入信息,最后回到聊天页面总结信息;而 ChatGPT 出于安全考虑保证可控性,和调用插件类似,在云端做网页浏览,将最后搜寻到的信息返回。

三、马斯克的Grok

Grok-1(Open Release of Grok-1[1])是一款由 xAI 开发的大型语言模型,拥有 3140 亿个参数,属于混合专家模型(MoE:Mixture-of-Experts model),包含8个专家,总参数量为314B(3140亿),处理Token时,其中的两个专家会被激活,激活参数量为86B。该模型的基础模型权重(一堆训练/投喂的数据,也称模型参数)和网络架构现已在 GitHub:xai-org/grok-1上公开发布,并未经过针对任何特定任务的微调,即它是是2023年10月预训练阶段的原始模型,避免引入任何自定义内核。开源协议遵循 Apache 2.0 许可证,商用友好。引起参数庞大,部署时注意需要一台拥有充足 GPU 内存的机器。Grok-1没有采用常见的Python、PyTorch或Tensorflow,而是选用了Rust编程语言以及深度学习框架新秀JAX,在底层技术上,Grok-1选择使用了基于JAX(一个由Google开发的用于高性能机器学习研究的库)和Rust(一种注重安全性和并发的系统编程语言)的自定义训练堆栈。xAI称:计划未来将Grok打造成多模态的大模型。

关联资源:grok-博客、问题讨论、JAX、JAX GitHub、精度说明
在这里插入图片描述
Grok-1 相关特性:

  • 3140 亿参数(314B parameters)
  • 8 个专家的混合体(Mixture of 8 Experts)
  • 每个 token 使用 2 个专家(2 experts used per token)
  • 64 层(64 layers)
  • 查询的 48 个注意力头(48 attention heads for queries)
  • 键/值的 8 个注意力头(8 attention heads for keys/values)
  • 嵌入大小:6144(embeddings size: 6,144)
  • 旋转嵌入(rotary embeddings, RoPE)
  • SentencePiece 分词器;131,072 个令牌(SentencePiece tokenizer; 131,072 tokens)
  • 支持激活分片和 8 位量化(Supports activation sharding and 8-bit quantization)
  • 最大序列长度(上下文):8192 个 token(Max seq length (context): 8,192 tokens)

Grok-1存储库提供了使用 JAX 框架(是一个专为加速器优化的数组计算和程序转换设计的 Python 库,主要目标是高性能数值计算和大规模机器学习。)加载和运行 Grok-1 模型的示例代码。相对比Grok采用的框架和技术,大多数知名的大模型比如OpenAI的GPT系列或Google的大模型通常是基于TensorFlow或PyTorch这样的主流深度学习框架开发的,且有丰富的API和社区支持,能让模型开发和训练变得更高效。而Grok-1将JAX和Rust的结合,优势在于能够在模型性能、效率和可伸缩性方面有所优化。但这也意味着,xAI可能需要投入更多的资源来维护和支持这种非主流的技术栈。

要运行这些示例,用户需要先下载模型的检查点文件,将其放置在指定的目录中(将下载的 ckpt-0 目录放置在 checkpoint 目录中),然后执行以下命令来安装依赖并运行示例(基础模型大约有七百多个文件,近 300G,注意存储):

git clone https://github.com/xai-org/grok-1.git
cd grok-1

# install
pip install -r requirements.txt
python run.py

根据网络相关经验显示, Grok 的最低配置要求(仅作为参考):

#3[3]:8bit量化的话,可能需要8块H100;在 FP16 精度下,Grok-1 模型大约需要 630GB 至 700GB 的显存。即便配置了 8 个 NVIDIA H100 GPU,能否成功运行该模型仍不确定。在进行某些优化(如通过 GGUF[4] 工具)之前,这个模型可能无法在 CPU 上运行。

#24[5]:你需要拥有 TPU 或 NVIDIA/AMD 品牌的 GPU,且系统中必须装有 8 个此类设备。当前不支持 Apple silicon 设备(如 M1、M2、M3 等)。尽管 Jax 提供了一个 Metal 插件,让你可以在苹果芯片上运行 Jax(Accelerated JAX training on Mac[6]),但在使用 dm_haiku[7] 依赖时仍会遇到问题。即便克服了这些技术障碍,苹果芯片设备可能也没有足够的内存来运行如此庞大的 Grok-1 模型。

#25[8]:需要 8 个 GPU,每个 GPU 拥有 80GB 的显存,典型的选择是 A100 型号。即使是使用 4 个 NVIDIA 4090 显卡,也只能在 4 位量化的情况下勉强容纳模型的权重,而无法实际运行模型。此外,所需的硬件成本极高,单个 A100 的价格约为 12,000 美元,而一台配备 4 个 A100 GPU 的 NVIDIA DGX Station 的起价在 120,000 美元左右。因此,尽管技术上可行,但这样的配置对于大多数人来说是不切实际的。

下图是一组网络测试数据,从整体测试效果来看,这次开源的Grok-1可以说“比上不足,比下有余”——在各个测试集中呈现的效果要比GPT-3.5、70b的LLAMA2和Inflection-1要好,但距离Claude2和GPT-4仍然差了一大截。因Grok-1是xAI从零开始训练,在2023年10月就已经结束了预训练,且没有针对任何特定应用(如对话)进行微调,所以目前无法直接体验到对话的应用。

四、Sora

五、Meta:Llama 2

在这里插入图片描述

Meta联手微软开源了Llama 2,是一系列预训练和微调的大型语言模型(LLMs),一共有7B、13B、70B三个版本,Llama 2 的社区MIT许可证相当宽松,且可商用。相比于 Llama 1 ,Llama 2 的训练数据多了 40%,上下文长度也翻倍,并采用了分组查询注意力机制。具体来说,Llama 2预训练模型是在2 万亿的 token上训练的,精调 Chat 模型是在100 万人类标记数据上训练的。相关评测显示,70B模型与GPT-3.5-0301大致持平。
在这里插入图片描述

相关资源:-Llama-2-7b代码、Llama2-Chinese、llama-recipes、llama2官网

六、谷歌Gemini:Gemma

它采用Gemini同款技术架构,主打开源和轻量级,免费可用、模型权重开源、允许商用,同时笔记本可跑。
共有2B和7B两个版本,7B版本使用多头注意力机制,2B版本使用多查询注意力机制,Gemma 2B/7B分别使用了2T和6T token进行训练,主要来自网络文档、数学和代码,不过这些数据不是多模态的。据相关测试数据表明:性能全面超越开源标杆Llama 2;目前模型也同步上线Hugging Chat,可在线体验试玩。

关联资源:gemma、博客、博客2、Gemma代码

在这里插入图片描述

七、法国Mistral AI

八、国内的开源项目

关联资源:讯飞AI应用、Open-Sora社区

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

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

相关文章

国内git最新版本下载链接2.44

git官网地址:Git - Downloading Package (git-scm.com) 蓝奏云: ​​​​​​gGit-2.44.0-64-bit.exe - 蓝奏云 git仓库地址:git/git: Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via …

机器学习:智能时代的核心引擎

目录 一、什么是机器学习 二、监督学习 三、无监督学习 四、半监督学习 五、强化学习 一、什么是机器学习 机器学习是人工智能的一个分支,它主要基于计算机科学,旨在使计算机系统能够自动地从经验和数据中进行学习并改进,而无需进行明确…

LeetCode刷题【树状数组、并查集、二叉树】

目录 树状数组307. 区域和检索 - 数组可修改406. 根据身高重建队列673. 最长递增子序列的个数1409. 查询带键的排列 并查集128. 最长连续序列130. 被围绕的区域 二叉树94. 二叉树的中序遍历104. 二叉树的最大深度101. 对称二叉树543. 二叉树的直径108. 将有序数组转换为二叉搜索…

JavaSE:类与对象

目录 一、前言 二、类与对象的介绍 1.类的定义格式 三、类的实例化 1.类的实例化介绍 2.成员初始化 3.类中方法的实现 四、封装 1.private实现封装 2.getter和setter方法 五、构造方法的使用 1.构造方法的介绍 2.构造方法的特性 六、this引用 1.this的介绍 2.th…

基于SpringBoot+MyBatis框架的智慧生活商城系统的设计与实现(源码+LW+部署+讲解)

目录 前言 需求分析 可行性分析 技术实现 后端框架:Spring Boot 持久层框架:MyBatis 前端框架:Vue.js 数据库:MySQL 功能介绍 前台功能拓展 商品详情单管理 个人中心 秒杀活动 推荐系统 评论与评分系统 后台功能拓…

【源码】I.MX6ULL移植OpenCV

编译完成的源码: git clone https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.下载源码放在自己的opecv源码目录下 2.QTOpenCV工程代码放置的位置 3.更改.pro工程文件的opencv地址 4.使用命令行编译 前提是自己环境中已经配置好arm-qt的交叉编译…

【Langchain-Chatchat】部署ChatGLM3-6B-32K教程

介绍 Langchain-Chatchat这个框架可以帮助我们更容易的部署大语言模型,之前也写过ChatGLM传统的部署教程,有兴趣的可以参考 【ChatGLM3】第三代大语言模型多GPU部署指南【ChatGLM2-6B】从0到1部署GPU版本 借助Langchain-Chatchat框架,可以…

从产品组装和维护/维修的角度来看,基于增强现实的指导:关于挑战和机遇的最新综述

作者: 1. M. Eswaran 2. Anil Kumar Gulivindala 3. M.V.A.Raju Bahubalendruni 关于本文 •分析了增强现实在装配和维护/维修中的作用。 •讨论了AR辅助制造系统的软件和硬件元素。 •讨论了AR跟踪和配准技术面临的挑战。 •讨论了AR辅助制造系统的未来…

二分查找法总结

目录 1、思路讲解(LC704)2、代码思路讲解(循环不变量)(1) 左闭右闭(2)左闭右开(3)总结:左开右闭和左闭右开(4)复杂度分析 …

力扣刷题31-33(力扣 0024/0070/0053)

今日题目: 24. 两两交换链表中的节点 题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换) 思路&…

想来开视频号小店,你需要准备好这些内容!新手建议收藏!

大家好,我是电商小布。 视频号小店项目,作为当前在电商行业内推出时间最短的项目,内部发展潜力大,吸引到了很多小伙伴想要来入局其中。 而对于我们新手朋友来说,在开店的时候,不知道该准备哪些东西&#…

性能测试-Jmeter中IF控制器使用

一、Jmeter控制器 分为两种类型: 控制测试计划执行过程中节点的逻辑执行顺序,如:循环控制器,if控制器等对测试计划中的脚本进行分组,方便Jmeter统计执行结果以及进行脚本的运行时控制等,如:吞…

小红书扫码登录分析与python实现

文章目录 1. 写在前面2. 接口分析3. 代码实现 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…

Unity发布webgl之后打开PDF文件,不使用js,不和浏览器交互

创建一个按钮,然后点击就会打开 在webgl下要使用这样的路径拼接,不然就会报错。 btnBook.onClick.AddListener(() >{var uri new System.Uri(Path.Combine(Application.streamingAssetsPath "/Books", "文档.pdf"));Debug.Log…

mysql80-DBA数据库学习1

掌握能力 核心技能 核心技能 mysql部署 官网地址www.mysql.com 或者www.oracle.com https://dev.mysql.com/downloads/repo/yum/ Install the RPM you downloaded for your system, for example: yum install mysql80-community-release-{platform}-{version-number}.noarch…

Python代码实现Excel表格转HTML文件

Excel工作簿是常用的表格格式,广泛用于组织、分析及展示数据。Excel文件通常需要专门的文档阅览器进行查看。如果我们想要以更兼容的方式展示Excel表格,可以将其转换为HTML格式,使其能够在各种浏览器中直接进行查看。同时,将Excel…

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(六)—— 二元分类

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 这篇文章咱们将深度学习应用到另一个常见任务中。 前言 在…

基于Matlab的眼底图像血管分割,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

前端应用开发实验:条件渲染和循环渲染

目录 实验目的相关知识点实验内容图片的隐藏和显示代码实现效果 电影票房排序代码实现效果 代办事项记录代码实现效果 实验目的 (1)熟练掌握v-on 指令的用法,学会使用v-on 指令监听DOM元素的事件,并通过该事件触发调用事件处理程序。 (2)掌握v-on指令修…

FFmepg--AVFilter过滤器使用以及yuv视频裁剪

文章目录 AVFilter 流程:api核心代码变量yuv视频裁剪AVFilter 流程: ⾸先使⽤split滤波器将input流分成两路流(main和tmp),然后分别对两路流进⾏处理。对于tmp流,先经过crop滤波器进⾏裁剪处理,再经过flip滤波器进⾏垂直⽅向上的翻转操作,输出的结果命名为flip流。再将…