优雅码住!ChatGPT的五大开源替代方案

news2024/9/9 0:46:52

自去年11月发布以来,ChatGPT吸引了全球各行业人士的注意力和想象力。人们将它用于各种任务和应用程序,而且它有可能改变流行的应用程序并创建新的应用程序。

但ChatGPT也引发了微软和谷歌等科技巨头之间的人工智能竞赛,使得该行业在大型语言模型(LLM)上的竞争更加激烈,并越来越降低了开放性。这些遵循指令的LLM的源代码、模型架构、权重和训练数据不对公众开放。它们中的大多数都可以通过商业API或黑盒网络应用程序获得。

ChatGPT、Bard和Claude等封闭式LLM有很多优势,包括容易获得尖端技术。但它们也对想要学习和更好地理解LLM的研究实验室和科学家带来了一些限制。对于想要创建和运行自己的模型的企业和组织来说,也很不方便。

幸运的是,在创建商业LLM的竞赛中,也有一个社区努力创建与最先进的LLM性能相匹配的开源模型。这些模型可以通过分享结果来帮助改进研究。他们还可以帮助防止一些资金充足的企业对LLM市场拥有太多的影响和权力。

LLaMa

最重要的开源语言模型之一来自Meta公司的人工智能研究实验室FAIR。今年2月,FAIR发布了LLaMA,这是一个LLM家族,有四种不同的大小:7亿个、13亿个、33亿个和650亿个参数(ChatGPT基于1750亿参数的InstructGPT模型)。

FAIR研究人员对1.4万亿令牌的LLaMA 65B和LLaMA 33B进行了训练,对1万亿令牌的最小模型LLaMA 7B进行了训练(GPT-3 175B是InstructGPT的基本模型,在4990亿个令牌上进行了训练)。

LLaMa不像ChatGPT那样是一个遵循指令的LLM。但LLaMA规模较小背后的想法是,在更多令牌上预训练的较小模型更容易重新训练,并更容易针对特定任务和用例进行微调。这使得其他研究人员可以通过人类反馈强化学习(RLHF)等技术对模型进行微调,使其具有类似ChatGPT的性能。

Meta公司以“专注于研究用例的非商业许可”发布了该模型。它只让学术研究人员、政府附属组织、民间社会和研究实验室根据具体情况访问该模型。人们为了了解可以查阅一些论文,并请求访问训练过的模型。

LLaMa模型在发布后不久就被泄露到网上,这实际上让所有人都可以使用它。

Alpaca

斯坦福大学的研究人员在今年3月发布了Alpaca,这是一种基于LLaMA 7B LLM之后的指令。他们在由InstructGPT生成的52,000个指令遵循示例的数据集上对LLaMA模型进行了微调。

研究人员使用了一种叫做自我指导的技术,在这种技术中,LLM生成指令、输入和输出样本来微调自己。自我指导从一小部分工作人员编写的例子开始,包括指导和输出。研究人员使用这些例子来提示语言模型生成类似的例子。然后他们审查和过滤生成的示例,将高质量的输出添加到种子池中,并删除其余的输出。他们重复这个过程,直到获得足够大的数据集来微调目标模型。

Alpaca的训练流程:

根据他们的初步实验,Alpaca的表现与InstructGPT非常相似。

斯坦福大学的研究人员发布了整个自我指导的数据集,数据生成过程的细节,以及生成数据和微调模型的代码(由于Alpaca是基于LLaMA的,必须从Meta公司获取原始模型)。

其研究人员表示,其样品生成的微调成本不到600美元,这对于资金紧张的实验室和组织来说很适用。

然而,研究人员强调,Alpaca仅用于学术研究,禁止用于任何商业用途。它是由LLaMa创建的,这使得它受到与其基本模型相同的许可规则的约束。由于研究人员使用了InstructGPT来生成微调数据,因此他们必须遵守OpenAI公司的使用条款,该条款禁止开发与OpenAI公司竞争的模型。

Vicuna

加州大学伯克利分校、卡内基梅隆大学、斯坦福大学和加州大学圣地亚哥分校的研究人员发布了Vicuna,这是基于LLaMA的遵循指令的另一个LLM。Vicuna有70亿个和130亿个参数的两种大小。

研究人员使用Vicuna的训练代码和ShareGPT上的7万个例子对Vicuna进行了微调。ShareGPT是一个用户可以与ChatGPT分享对话的网站。他们对训练过程做了一些改进,以支持更长的对话场景。他们还使用了SkyPilot机器学习工作量管理器,将训练成本从500美元降至140美元左右。

Vicuna的LLM训练流程:

初步评估表明,Vicuna的表现优于LLaMA和Alpaca,也非常接近Bard和ChatGPT-4。研究人员发布了模型权重以及安装、训练和运行LLM的完整框架。还有一个非常有趣的在线演示,用户可以在其中测试和比较Vicuna与其他开源指令LLM。

Vicuna的在线演示是“仅供非商业用途的研究预览”。用户要运行自己的模型,必须首先从Meta获取LLaMA实例并对其应用权重增量。

Dolly

Databricks公司在今年3月发布了Dolly,这是EleutherAI的GPT-J 6B的微调版本。研究人员受到LLaMA和Alpaca研究团队所做工作的启发。训练Dolly的费用不到30美元,只需在一台计算机上花费30分钟训练。

EleutherAI基础模型的使用消除了Meta对LLaMA衍生LLM的限制。然而,Databricks根据Standford Alpaca团队通过ChatGPT生成的相同数据训练Dolly。因此,由于OpenAI公司对ChatGPT生成的数据施加了竞业限制,该模型仍然不能用于商业目的。

Databricks公司在今年4月发布了Dolly 2.0,这是一个基于EleutherAI的Pythia模型的具有120亿个参数的大型语言模型。这一次,Databricks公司在15000个示例数据集上对模型进行了微调,这些示例完全由人类生成。他们通过一个有趣的、游戏化的过程收集了这些例子,其中包括Databricks公司的5000名员工。

Databricks公司发布了训练有素的Dolly 2.0模型,它没有以前模型的条款限制,用户可以将它用于商业目的。Databricks公司还发布了15K指令遵循语料库,用于微调Pythia模型。机器学习工程师可以使用这个语料库来微调他们自己的LLM。

Open Assistant

Open Assistant是一个非常有趣的项目,这是一个类似于ChatGPT的语言模型,从一开始就以防止大公司垄断LLM市场为目的。

其研究团队将开放他们所有的模型、数据集、开发、数据收集等,这是一项全面、透明的社区努力结果。所有参与该项目的人员都是志愿者,致力于开放性。

观看其联合创始人兼团队负责人Yannic Kilcher的娱乐视频,可以了解Open Assistant的最佳方式。Kilcher长期以来一直直言不讳地批评OpenAI等公司采取的封闭方式。

Open Assistant有基于LLaMA和Pythia的不同版本。用户可以将Pythia版本用于商业目的。大多数模型可以在单个GPU上运行。

来自世界各地的13000多名志愿者帮助收集了用于微调基本模型的样本。该团队将很快发布所有数据以及一篇解释该项目的论文。经过训练的模型可以在Hugging Face上找到。该项目的GitHub页面包含用于训练模型和使用模型的前端的完整代码。

该项目还有一个网站,用户可以在那里与Open Assistant聊天并测试模型。它有一个任务仪表板,用户可以通过创建提示或标记输出来为项目做出贡献。

相关生产力工具

近10年间,甚至连传统企业都开始大面积数字化时,我们发现开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。

针对这类问题,低代码把某些重复出现的场景、流程,具象化成一个个组件、api、数据库接口,避免了重复造轮子。极大的提高了程序员的生产效率。体验官网:https://www.jnpfsoft.com/?csdn

推荐一款程序员都应该知道的软件JNPF快速开发平台,采用业内领先的SpringBoot微服务架构、支持SpringCloud模式,完善了平台的扩增基础,满足了系统快速开发、灵活拓展、无缝集成和高性能应用等综合能力;采用前后端分离模式,前端和后端的开发人员可分工合作负责不同板块,省事又便捷。

开源之美

最近推出开源LLM的努力为科技公司重振合作和共享权力的承诺做出了很大贡献,而这正是互联网最初的承诺。它展示了所有这些不同的社区如何相互帮助,共同推动这一领域的发展。

LLaMA的开源模型帮助推动了这场运动。Alpaca项目表明,创建调整指令的LLM不需要付出巨大的努力和成本。这反过来又激发了Vicuna项目的灵感,该项目进一步降低了训练和收集数据的成本。Dolly则朝着不同的方向努力,展示了社区主导的数据收集工作的好处,以解决商业模型的竞业限制要求。

当然,还有其他几个值得一提的模型,包括加州大学伯克利分校的Koala和LLaMA.cpp, LLaMA .cpp是LLaMA模型的C++实现,可以在ARM处理器上运行。在接下来的几个月,观察开源运动将如何发展以及它将如何影响LLM市场,将成为一件有趣的事情。

原文标题:A look at open-source alternatives to ChatGPT,作者:Ben Dickson

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

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

相关文章

Docker服务编排之Docker Compose的使用

Docker服务编排 概念:按照一定的业务规则批量的管理容器 微服务架构的应用系统中一般包含很多微服务,一个微服务中又包含很多的实例,每个微服务都要手动管理,维护的工作量很大。 拉去镜像,创建多个容器,分…

使用YOLOv5实现实时目标检测结果保存

本文将分享保存实时目标检测结果的方法,包括将目标信息逐帧保存到.txt文件中、逐帧输出检测结果图片、以及如何保存所有检测图片(包括视野中无目标的帧)。 目录 0.准备 1.目标信息保存 2.检测图片保存 3.保存所有帧 0.准备 本文以单摄像…

基于卷积变分自动编码器的3D数据处理与重建【CVAE】

在这个项目中,我们将学习如何使用卷积变分自动编码器 (CVAE) 来处理和重建 3D 湍流数据。 我们使用计算流体动力学 (CFD) 方法生成 3D 湍流立方体,每个 3D 立方体沿着三个速度分量携带物理信息(与图像数据类似,被视为单独的通道&…

elk中kibana使用

1.前言 kibana是一款作为elasticsearch可视化的一款软件,将elasticsearch中的数据以可视化的状态展现出来,kibana也提供了查询、统计、修改索引等功能 2.kibana使用 索引管理 在索引管理中,可以看到所有索引的状态、运行状况、主分片、副本…

76-基于51单片机家庭红外人体检测震动报警系统(程序+原理图+元件清单全套资料)...

资料编号:076 功能介绍:采用51单片机作为主控CPU,采用红外接触传感器采集当前是否有人,采用震动传感器采集当前是否有震动,起到家庭防盗效果,采用按键设置当前布防/撤防状态,布防状态下&#xf…

Binder系列--获取ServiceManager

获取ServiceManager hongxi.zhu 2023-7-1 以SurfaceFlinger为例&#xff0c;分析客户端进程如何获取ServiceManager代理服务对象 主要流程 SurfaceFlinger中获取SM服务 frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp // publish surface flingersp<…

适合初中生用的台灯有哪些?这样的台灯最适合学生!

对于学生而言台灯主要的点就是能够护眼、缓解眼睛疲劳&#xff0c;因为学生需要长时间的学习和用眼而且可以休息放松的时间比较少&#xff0c;导致眼睛过度疲劳&#xff0c;这也是为什么这么多中小学生近视的原因。那么我们应该怎么样选好一款台灯呢&#xff1f; 要想台灯能护眼…

Linux系统之dnf包管理器的基本使用

Linux系统之dnf包管理器的基本使用 一、dnf工具介绍1. dnf工具简介2. dnf的功能 二、DNF的安装1. 检查本地操作系统版本2. 安装epel3. 检查本地yum仓库状态4. 安装dnf包 三、dnf的使用帮助1. 查看dnf版本2. 查看dnf命令的帮助信息3. dnf命令的选项解释 四、dnf命令的基本使用1.…

浅谈Unicode与UTF-8

我们都知道&#xff0c;在Golang中字符都是以UTF-8编码的形式存储&#xff0c;当我们使用range遍历字符串的时候&#xff0c;go会为我们取出一个字符(rune)而不是一个byte&#xff0c;例如以下例子&#xff0c;我们使用range迭代取出第一个字符“你”&#xff0c;并且打印输出取…

TechSmith Camtasia for Mac 2023.0.3 中文破解版 Win/Mac上强大的屏幕录像工具

Camtasia 是Win/Mac上最强大的屏幕录像工具之一&#xff0c;该软件集成了视频录制、编辑、导出等一系列功能&#xff0c;支持鼠标光标样式、草绘示意插图、冰冻区域等实用的功能&#xff0c;还具有移动客户端让你录制视频&#xff0c;然后通过无线传输到 Camtasia 中进行编辑&a…

判断数组中所有元素是否均为实数对象 numpy.isrealobj()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 判断数组中所有元素 是否均为实数对象 numpy.isrealobj() [太阳]选择题 请问关于以下代码的说法错误的是&#xff1f; import numpy as np a np.array([1, 2, 3]) b np.array([1, 1 2j, …

剑指 Offer 19: 正则表达式匹配

可能存在一个现象&#xff0c;就是aaab&#xff0c;然后a*ab&#xff0c;那么这样*只能代表一个a。 这道题可以使用动态规划的方式来解决。 这道题就是状态的判断&#xff1a;是否两个都为0&#xff1f;只有两个都为0才为true&#xff0c;并且判断*&#xff0c;有两个情况&…

Docker WebRTC容器部署方案

文章目录 WebRTC简介WebRTC Docker容器部署优势方案&#xff08;mpromonet/webrtc-streamer&#xff09;步骤 WebRTC简介 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一种开放的实时通信技术&#xff0c;它允许浏览器之间进行音频、视频和数据的实时传输。W…

从古代八卦探究计算机的八进制

八进制&#xff0c;即八卦&#xff0c;是中国古代哲学体系中非常重要的一个概念&#xff0c;它被广泛应用于易经、道家、儒家等诸多领域。随着计算机科学的快速发展&#xff0c;人们开始思考&#xff1a;八进制是否可以应用到计算机上&#xff1f; 一、什么是八进制&#xff1…

Javaee技术目的总结

一.前节回顾 在前一节中&#xff0c;我们了解了&#xff1a; 1.将中央控制器中的Action容器&#xff0c;变成可控制! 2.针对于反射调用业务代码&#xff0c;最终页面跳转 3.jsp页面参数传递后台的代码优化字段太多有影响&#xff01; 二.项目部署前期准备工作 1.项目运行环境…

c语言 va_start/va_end函数

c语言 va_satrt和va_end函数介绍 头文件&#xff1a;#include <stdarg.h> 函数原型&#xff1a;void va_start(va_list ap, last) 和 void va_end(va_list ap); 可以被参数数量和类型可变的函数调用。 可变参数用…&#xff08;3个省略号表示可变参数列表&#xff09; …

深入理解 http 反向代理

要理解什么是 反向代理(reverse proxy) , 自然你得先知道什么是 正向代理(forward proxy). 另外需要说的是, 一般提到反向代理, 通常是指 http 反向代理, 但反向代理的范围可以更大, 比如 tcp 反向代理, 在这里, 不打算讨论 tcp 之类的反向代理, 当文中说到反向代理时, 指的就是…

C++day5

2、 #include <iostream> using namespace std; static int blood 10000; class hero { protected:string name;int hp;int attack; public:hero(){}//无参构造hero(string name,int hp,int attack):name(name),hp(hp),attack(attack){}//有参构造virtual void Atk(){b…

使用supervisor管理进程

写目录 一、supervisor简介二 、supervisor安装2.1下载supervisor2.2配置文件详解2.3把squid服务加入到supervisor管理当中 一、supervisor简介 supervisor是Python开发的c/s服务&#xff0c;是Linux系统下的进程管理工具。可以监听、启动、停止、重启一个或多个进程用supervi…

卡尔曼滤波原理和使用

随着传感技术&#xff0c;机器人&#xff0c;自动驾驶等不断发展&#xff0c;对控制系统的精度以及稳定性要求越来越高。卡尔曼滤波作为一种状态最优估计方法&#xff0c;应用也越来越普遍、 对于Kalman Filter的理解&#xff0c;用过都知道“黄金五条”公式&#xff0c;且通过…