ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有

文章目录

  • 【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有
    • 1.斯坦福发布 Alpaca 7B,性能匹敌 GPT-3.5
    • 2.弥补斯坦福 Alpaca 中文短板,中文大模型 BELLE 开源
    • 3.国产AI大模型 ChatGLM-6B 开启内测
    • 4.中文 Alpaca 模型 Luotuo 开源
    • 5. ChatGPT 最强竞品 Claude 开放API

【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有

2023 年,聊天机器人领域似乎只剩下两个阵营:「OpenAI 的 ChatGPT」和「其他」。

再加上前段时间 GPT-4 的发布,ChatGPT 也有了更强大的推理和多模态能力,OpenAI 几乎不可能将其开源。

OpenAI 分享了大量 GPT-4 的基准和测试结果,但是基本上没有提供用于训练的数据、成本、或者用于创建模型的方法。

在这里插入图片描述

然而,表现欠佳的「其他」阵营却一直在做开源方面的努力。

目前业界可以下载到的一些大模型:

  • GLM-10B/130B:双语(中文和英文)双向稠密模型。
  • OPT-2.7B/13B/30B/66B:Meta开源的预训练语言模型。
  • LLaMA-7B/13B/30B/65B:Meta开源的基础大语言模型。
  • Alpaca(LLaMA-7B):一个强大的可复现的智能跟随模型,种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。
  • Alpaca-Lora:Stanford Alpaca 是在 LLaMA 整个模型上微调,而 Alpaca-Lora 则是利用 Lora 技术,在冻结原模型 LLaMA 参数的情况下,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数。由于这些新增参数数量较少,这样不仅微调的成本显著下降,还能获得和全模型微调类似的效果。
  • BELLE(BLOOMZ-7B/LLaMA-7B):项目基于 Stanford Alpaca,针对中文做了优化,模型调优仅使用由ChatGPT生产的数据(不包含任何其他数据)。
  • ChatGLM-6B:中英双语的对话语言模型。

原文传送门:【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有

1.斯坦福发布 Alpaca 7B,性能匹敌 GPT-3.5

面对 ChatGPT 等大模型的来势汹汹,开源平替是一个不错的选择。

二月低,Meta「开源」了一个新的大模型系列 —— LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。130 亿参数的 LLaMA 模型「在大多数基准上」可以胜过参数量达 1750 亿的 GPT-3,而且可以在单块 V100 GPU 上运行。

传送门:Meta发布最新大模型LLaMA:参数规模更小,单卡就能跑赢GPT-3

在这里插入图片描述

图注:LLaMA做出的一些成果

翻译:
- 2月24日,LLaMA发布,并在非商业许可下提供给政府、社区和学术界的研究人员和实体工作者;
- 3月2日,4chan网友泄露了全部的LLaMA模型;
- 3月10日,Georgi Gerganov创建了llama.cpp工具,可以在搭载M1/M2芯片的Mac上运行LLaMA;
- 3月11日:通过llama.cpp可以在4GB RaspberryPi上运行7B模型,但速度比较慢,只有10秒/token;
- 3月12日:LLaMA 7B在一个node.js执行工具NPX上成功运行;
- 3月13日:llama.cpp可以在Pixel 6手机上运行;
- 3月14日,斯坦福Alpaca「羊驼」发布。

3月14日,斯坦福基于 LLaMA 7B 微调出一个具有 70 亿参数的新模型 Alpaca,他们使用了 Self-Instruct 论文中介绍的技术生成了 52K 条指令数据,同时进行了一些修改,在初步的人类评估中,Alpaca 7B 模型在 Self-Instruct 指令评估上的表现类似于 text-davinci-003(GPT-3.5)模型。

从参数规模的角度看,Alpaca 远远小于 text-davinci-003,移动端甚至也可以运行 7B 的轻量级语言模型。

在性能上,研究团队测试的结果表明 Alpaca 的输出良好,并且反映出指令遵循数据集的一般风格。例如,Alpaca 输出的答案通常比 ChatGPT 更简洁,这和 text-davinci-003 类似。不过,Alpaca 还是会表现出语言模型的几种常见缺陷,包括幻觉、毒性和刻板印象。

成本方面,研究所涉及到的数据集,是斯坦福团队花了不到500美元用 OpenAI 的API来生成的。另外,在 8 个 80GB A100 上微调一个 7B LLaMA 模型需要 3 个小时,这对大多数云计算提供商来说成本不到 100 美元。所以,斯坦福团队用不到 600 美元就复现了一个性能匹敌 GPT-3.5的AI模型。

部署方面,基于 LLaMA 微调的 Alpaca 可以轻松在本地部署。没有显卡也没关系,苹果笔记本甚至树莓派、手机都可以玩。

最后,团队把数据集(秒省500刀,且比原论文的数据多样性更高)、代码统统都给开源了,这下子人人都能去微调个效果炸裂的对话AI:复制一个GPT-3.5效果的AI,很便宜,很容易,还很小。

在这里插入图片描述

项目地址:
https://github.com/tatsu-lab/stanford_alpaca

试用地址:
https://alpaca-ai-custom6.ngrok.io/

Demo地址:
https://crfm.stanford.edu/alpaca/

2.弥补斯坦福 Alpaca 中文短板,中文大模型 BELLE 开源

由于 Alpaca 的种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。为了提升对话模型在中文上的效果,开源中文对话大模型 70 亿参数的 BELLE(Bloom-Enhanced Large Language model Engine)来了。

BELLE 基于斯坦福的 Alpaca 完成,对中文做了优化,并对生成代码进行了一些修改,模型调优仅使用由 ChatGPT 生产的数据(不包含任何其他数据)。

在这里插入图片描述

项目地址:
https://github.com/LianjiaTech/BELLE

在数据方面,该项目开源了基于 Alpaca 的数据收集代码,基于这段代码生成了约 100 万条中文数据,结合 Alpaca 的 5 万条英文数据,在 BLOOMZ-7B 模型训练得到的 checkpoint 上传在 Hugging Face。

Hugging Face 地址:
https://huggingface.co/BelleGroup

该项目还采取了不同大小规模(20 万、60 万、100 万和 200 万样本)的指令学习的数据集训练模型,得到不同的模型版本如下所示:
在这里插入图片描述

该项目也采用对应数据集基于LLAMA-7B训练调优了模型,现已开放:
在这里插入图片描述

具体的模型训练方法可参考Hugingface Transformers的样例,SFT方法可参考Alpaca的训练代码。

3.国产AI大模型 ChatGLM-6B 开启内测

3 月 14 日,由清华技术成果转化的公司智谱 AI 开源了 GLM 系列模型的新成员——中英双语对话模型 ChatGLM-6B,初具问答和对话功能,现已开启邀请制内测(内测申请网址 http://chatglm.cn)。需要注意的是,目前 ChatGLM 每轮对话最多只可以进行5个来回,每次最多输入1000字。

ChatGLM-6B 基于General Language Model(GLM)架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署。

具体来说,ChatGLM-6B 具备以下特点:

  • 充分的中英双语预训练:ChatGLM-6B 在 1:1 比例的中英语料上训练了 1T 的 token 量,兼具双语能力。
  • 优化了模型架构和大小:具有 62 亿参数,可以在消费级显卡上部署使用。
  • 更长的序列长度:相比 GLM-10B(序列长度 1024),ChatGLM-6B 序列长度达 2048,支持更长对话和应用。
  • 人类意图对齐训练:使用了监督微调(Supervised Fine-Tuning)、反馈自助(Feedback Bootstrap)、人类反馈强化学习(RLHF)等方式,使模型初具理解人类指令意图的能力。

因此,ChatGLM-6B 具备了一定条件下较好的对话与问答能力。

与此同时,ChatGLM-6B 也存在模型容量较小、可能会产生有害说明或有偏见的内容、较弱的多轮对话能力、英文能力不足、易被误导等缺陷。

不过,网上有人质疑该模型是拿 ChatGPT 的数据训练的,加了点中文语料。
在这里插入图片描述

项目地址:
https://github.com/THUDM/ChatGLM-6B

官方博客:
https://chatglm.cn/blog

4.中文 Alpaca 模型 Luotuo 开源

Alpaca 是斯坦福团队基于 LLaMA 7B 在 52k 指令上微调得到的模型,能出色适应多种自然语言应用场景。

Stanford Alpaca 对于普通研究者来说,这是一种切实可行的廉价微调方式,不过需要的运算量仍然较大。而且,Alpaca 的种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。

为了进一步降低微调成本,另一位来自斯坦福的研究者 ——Eric J. Wang 使用 LoRA(low-rank adaptation)技术复现了 Alpaca 的结果。具体来说,Eric J. Wang 使用一块 RTX 4090 显卡,只用 5 个小时就训练了一个和 Alpaca 水平相当的模型,将这类模型对算力的需求降到了消费级。而且,该模型可以在树莓派上运行(用于研究)。

在这里插入图片描述

图注:Eric J. Wang 发布的 Alpaca-LoRA 项目

项目地址:
https://github.com/tloen/alpaca-lora

这非常适合想要训练自己的类 ChatGPT 模型(包括中文版类 ChatGPT)但又没有顶级算力资源配置的研究者。

在 Alpaca-LoRA 项目问世后,为了提升对话模型在中文上的效果,来自商汤科技和华中科技大学开源中文语言模型骆驼 Luotuo,该项目基于 LLaMA、Stanford Alpaca、Alpaca LoRA、Japanese-Alpaca-LoRA 等完成,单卡就能完成训练部署。

一点小插曲,之所以将模型名字命名为骆驼,是因为 LLaMA(大羊驼)和 Alpaca(羊驼)都属于偶蹄目 - 骆驼科。

在这里插入图片描述

项目地址:
https://github.com/LC1332/Chinese-alpaca-lora

目前该项目已公开训练的语料和模型权重文件(两个型号:luotuo-lora-7b-0.1、luotuo-lora-7b-0.3),供开发者可使用自己各种大小的语料,训练自己的语言模型,并适用到对应的垂直领域。

在这里插入图片描述

目前这个中文版 Alpaca-LoRa 模型 —— Luotuo 能够进行简单的中文对话和问答,开发者可以通过引入其他领域的数据进行模型优化。

不过 luotuo-lora-7b-0.1(0.1)、luotuo-lora-7b-0.3(0.3)还是有差距的,在用户询问华中师范大学地址时,0.1 回答错误。

在这里插入图片描述

5. ChatGPT 最强竞品 Claude 开放API

由 OpenAI 前员工(原GPT-3核心成员)创立的人工智能初创公司“Anthropic”发布了一款类似于 ChatGPT的 AI 助手,名为"Claude"。Anthropic宣称,它的目标是“更安全”、“危害更小”的人工智能,但代价更高。目前提供两个版本的 Claude:Claude 和 Claude Instant。不过,Claude 的初始版本无法访问互联网。

因为2019年 OpenAI 与微软达成第一笔交易后越来越注重商业运用,“对公司的方向产生分歧后”离开 OpenAI 的11名前员工创立了“Anthropic”。

在去年12月发布「Constituional人工智能:来自人工智能反馈的无害性」一文后不久,Anthropic 便推出了自家的聊天机器人 Claude,不过并没有开放接口,只能在各个合作伙伴开发的应用中进行体验。

Claude 被称为 ChatGPT 最强竞品,与 ChatGPT 类似,Claude 具有高超的对话能力,能够处理总结、搜索、创意、协同写作、问答、写代码等任务。

3月14日,Anthropic 开放 Claude API,并提供两个版本的模型:Claude 和 Claude Instant。其中 Claude Instant 的延迟更低,性能略差,价格比完全体的 Claude-v1要便宜,两个模型的上下文窗口都是9000个token(约5000个单词,或15页)。

  • Claude Instant,是一个更快、更便宜的模型,可以处理一系列任务,包括随意对话、文本分析、摘要和文档问题回答。定价:输入:0.43美元/百万字符,输出:1.45美元/百万字符。
  • Claude-v1,是Anthropic公司目前最好的产品,擅长于从复杂的对话和创造性的内容生成。定价:输入:2.9美元/百万字符,输出:8.6美元/百万字符。

友情提示:ChatGPT 3.5(gpt-3.5-turbo接口)价格为2.7美元/百万tokens,和Claude-v1版本价格差不多。

在这里插入图片描述

Claude 和 ChatGPT 都依赖于强化学习(RL)来训练偏好(preference)模型,被选中的回复内容将在后续用于模型的微调,只不过具体的模型开发方法不同。Claude 采用了 Anthropic 称之为“宪法式 AI”(Constitutional AI,CAI)的训练技术。

CAI 建立在RLHF的基础之上,不同之处在于,CAI的排序过程使用模型(而非人类)对所有生成的输出结果提供一个初始排序结果。

在这里插入图片描述

体验地址:https://www.anthropic.com/product

自 2020 年底以来,Claude 一直在与发布合作伙伴进行安静的 Beta 测试,包括 AssemblyAI、DuckDuckGo、Notion、Quora 和 Robin AI,具体产品包括为 DuckDuckGo 推出的 DuckAssist 工具、Quora 的 AI 聊天应用程序 Poe 和 AI 写作助手 Notion AI 提供支持。

Claude也在积极的与外部伙伴紧密合作,涵盖问答社区、在线教育、法律领域、数字媒体等。

- Quora:通过人工智能聊天应用程序Poe向用户提供Claude的对话能力。
- Juni Learning:一个在线教育解决方案提供商,利用Claude模型对Discord Juni Tutor Bot的能力进行增强,通过在线辅导的方式提升学生的学术能力。
- Notion:Claude 与 Notion 合作以提高工作和学习场景中的生产力。
- DuckDuckGo:一个隐私浏览器,与Anthropic合作,推出全新工具DuckAssist,可以自动从维基百科中提取和总结信息,并对用户的问题进行回答。
- Robin AI:法律领域软件提供商,使用 Claude 来评估合同的特定部分,并提出对客户更友好的新的替代语言。
- AssemblyAI:数字媒体,Claude 帮助其 API 平台大规模转录和理解音频数据。

Claude 的主要优势有以下几点:Claude 比 ChatGPT 更可控,Claude 比 ChatGPT 更诚实,Claude 比 ChatGPT 更无害。

封闭测试期间的客户报告说,Claude 基本不会生成有害的输出,更容易交谈,可操作性更强,不需要精心组织语言,同时还可以对性格、语气和行为等进行设计等。

欢迎各位关注我的个人公众号:HsuDan,我将分享更多自己的学习心得、避坑总结、面试经验、AI最新技术资讯。

参考:
https://crfm.stanford.edu/2023/03/13/alpaca.html
https://www.thepaper.cn/newsDetail_forward_22302856
https://www.ithome.com/0/681/614.htm
https://replicate.com/blog/fine-tune-alpaca-with-lora?continueFlag=4ecae39885197a5c008faabbefb5c824
https://www.thepaper.cn/newsDetail_forward_22455425
https://zhuanlan.zhihu.com/p/616929229

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络第一章(概述)【湖科大教书匠】

1. 各种网络 网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)。因此,互联网是"网络的网络(Network of Networks)"**因特…

Mybatis的二级缓存

缓存的概述和分类 概述 缓存就是一块内存空间.保存临时数据 为什么使用缓存 将数据源(数据库或者文件)中的数据读取出来存放到缓存中,再次获取的时候 ,直接从缓存中获取,可以减少和数据库交互的次数,这样可以提升程序的性能! 缓存的适用情况 …

38-二叉树练习-LeetCode145二叉树的后序遍历

题目 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root [] 输出:[] 示例 3: 输入:ro…

让chatGPT当我的老师如何? 通过和chatGPT交互式学习,了解在ES中,一条JSON数据是如何写到磁盘上的

最近一直有一个问题,如鲠在喉。争取早一天解决,早一天踏踏实实的睡觉。 问题是:在ES中,一条JSON数据是如何写入到磁盘上的? 如何解决这个问题?我想到了chatGPT,还有lucene的学习资料。这篇文章&…

【机器学习】决策树(理论)

决策树(理论) 目录一、何为决策树1、决策树的组成2、决策树的构建二、熵1、熵的作用2、熵的定义3、熵的计算4、条件熵的引入5、条件熵的计算三、划分选择1、信息增益( ID3 算法选用的评估标准)2、信息增益率( C4.5 算法…

DetectGPT:使用概率曲率的零样本机器生成文本检测

DetectGPT的目的是确定一段文本是否由特定的llm生成,例如GPT-3。为了对段落 x 进行分类,DetectGPT 首先使用通用的预训练模型(例如 T5)对段落 ~xi 生成较小的扰动。然后DetectGPT将原始样本x的对数概率与每个扰动样本~xi进行比较。…

Springboot 多线程分批切割处理 大数据量List集合 ,实用示例

前言 哲学提问镇贴: 不了解异步怎么使用的看官, 可阅: SpringBoot 最简单的使用异步线程案例 Async_小目标青年的博客-CSDN博客 Springboot Async异步扩展使用 结合 CompletableFuture_小目标青年的博客-CSDN博客 想了解更多关于批量list处…

25- 卷积神经网络(CNN)原理 (TensorFlow系列) (深度学习)

知识要点 卷积神经网络的几个主要结构: 卷积层(Convolutions): Valid :不填充,也就是最终大小为卷积后的大小. Same:输出大小与原图大小一致,那么N ​变成了​N2P. padding-零填充. 池化层(Subsampli…

《程序员面试金典(第6版)》面试题 08.08. 有重复字符串的排列组合(回溯算法,全排列问题)C++

题目描述 有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。 示例1: 输入:S “qqe” 输出:[“eqq”,“qeq”,“qqe”] 示例2: 输入:S “ab” 输出:[“ab”, “ba”] 提示: 字符都是英文字母。…

Mybatis持久层框架 | Lombok搭建

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Lombok Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要…

自然语言大模型介绍

1 简介 最近一直被大语言模型刷屏。本文是周末技术分享会的提纲,总结了一些自然语言模型相关的重要技术,以及各个主流公司的研究方向和进展,和大家共同学习。 2 Transformer 目前的大模型基本都是Transformer及其变种。本部分将介绍Transf…

【WEB前端进阶之路】 HTML 全路线学习知识点梳理(上)

前言 HTML 是一切Web开发的基础,本文专门为小白整理,针对前端零基础的朋友们,手把手教你学习HTML,让你轻松迈入WEB开发的行列。 首先,感谢 橙子_ 在HTML学习以及本文编写过程中对我的帮助。 文章目录前言一.HTML简介1.…

【NLP经典论文阅读】Efficient Estimation of Word Representations in Vector Space(附代码)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

二值mask转polygon/RLE (coco segment格式)

coco数据集annotation的segmentation并不是二值mask,而是polygon格式, 看一个annotation. {"segmentation": [[510.66,423.01,511.72,420.03,510.45......]], #两两组成(x,y)坐标,polygon格式"area": 702.1057499999998…

腾讯自研万亿级NLP大模型,自动生成和衍生广告文案

编者按:随着大数据与AI技术的不断发展,人们越来越看见AI大模型在数据理解、运算以及诸多泛化能力上的潜力,时下,大模型已然成为学术界与工业界探索的重点方向。然而,随着模型规模与容量的不断扩大,其所需训…

mac 把word公式默认字体Cambria Math换成LaTex字体以及带章节自动编号

word默认是Cambria Math,想用latex那种公式的字体,这里使用的是XITS Math字体 搜了很多地方,都是用ab Text这个方法先转成文本,再换字体,然后设置斜体 可是公式多起来的话这种办法很麻烦,而且一个公式里常…

PyTorch深度学习实战 | 典型卷积神经网络

在深度学习的发展过程中,出现了很多经典的卷积神经网络,它们对深度学习的学术研究和工业生产都起到了巨大的促进作用,如VGG、ResNet、Inception和DenseNet等,很多投入实用的卷积神经都是在它们的基础上进行改进的。初学者应从试验…

C语言实现堆

注:这里我们所实现的是大根堆(即父节点不小于子节点的堆) 目录 一,堆的介绍 二,堆结构的创建 三,接口实现 1,初始化与销毁 2,数据的插入与删除 3,其他接口 一&…

力扣:最后一个单词的长度(详解)

前言:内容包括:题目,代码实现,大致思路,代码解读 题目: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组…

基于springboot实现留守儿童爱心网站平台【源码+论文】

基于springboot实现留守儿童爱心网站演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&…