当前位置: 首页 > article >正文

对标ChatGPT的开源中文方案

目录

前言

一、Meta发布大语言模型LLaMA

二、斯坦福基于 Meta 的 LLaMA 7B 模型微调出Alpaca

三、基于TencentPretrain训练中文LLaMA大规模语言模型

四、基于斯坦福Alpaca训练中文对话大模型BELLE

五、 清华开源项目ChatGLM中文对话模型

六、基于LLaMA的开源中文语言模型“骆驼”

总结


前言

新年伊始,火爆全网的 ChatGPT,仿佛开启了第四次工业革命,它像个无所不能的六边形战士,可以聊天、写代码、修改 bug、做表格、写论文、写作业、做翻译、搜索答案等……
自发布以来,ChatGPT 便已摧枯拉朽之势席卷各个行业,不仅 5 天时间便突破百万用户,月活用户更是仅用时 2 个月便突破 1 亿,成为史上增速最快的消费级应用,远超其他知名应用。



然而由于 OpenAI 没有开源 ChatGPT,如何有效的复现针对中文的 ChatGPT 已成为摆在大家面前的头号难题。
下面我会介绍一些对标ChatGPT的中文开源方案,代码地址也列在每个项目的介绍最上面,希望这些方案能够对大家有所帮助!

一、Meta发布大语言模型LLaMA

项目地址:GitHub - facebookresearch/llama: Inference code for LLaMA models

Meta一次性发布四种尺寸的大语言模型 LLaMA:7B、13B、33B和65B。还声称, 效果好过GPT,偏向性更低,更重要的是所有尺寸均开源,甚至13B的LLaMA在 单个GPU上就能运行。
Meta发布的LLaMA是 通用大语言模型,原理就不多赘述,和以往的大语言模型一样:将一系列单词作为输入,并预测下一个单词以递归生成文本。

这次,Meta之所以一次给出不同大小的LLaMA模型,论文中给出了这样的解释:

近来的研究表明,对于给定的计算预算,最佳性能不是由最大的模型实现的,而是由 基于更多数据训练的 更小的模型实现的。也就是说,较小的模型规模加上比较大的数据集,获得的性能可能会比更大规模模型的要好很多。一方面,小规模模型需要的计算能力和资源相对来说都会少很多,另一方面,它还能基于更多数据集 训练更多token,更容易针对特定的潜在产品用例进行重新训练和微调。

除了一次性给出四种尺寸的LLaMA,Meta这次还直接开源了这个大语言模型。更重要的是,Meta为了让自己的工作与开源兼容,使用的都是公开的数据。

二、斯坦福基于 Meta 的 LLaMA 7B 模型微调出Alpaca

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

三月初,斯坦福基于 Meta 的 LLaMA 7B 模型微调出一个新模型 Alpaca。该研究让 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 指令遵循(instruction-following)样本,以此作为 Alpaca 的训练数据。研究团队已将训练数据、生成训练数据的代码和超参数开源,后续还将发布模型权重和训练代码。
实验结果表明,Alpaca 的很多行为都与 text-davinci-003 类似。也就是说,只有 7B 参数的轻量级模型 Alpaca 性能可媲美 GPT-3.5 这样的超大规模语言模型。

三、基于TencentPretrain训练中文LLaMA大规模语言模型

项目地址:https://github.com/Tencent/TencentPretrain

TencentPretrain 是 UER-py 预训练框架的多模态版本,支持 BERT、GPT、T5、ViT、Dall-E、Speech2Text 等模型,支持文本、图像和语音模态预训练及下游任务。TencentPretrain 基于模块化设计,用户可以通过模块组合的方式构成各种模型,也可以通过复用已有的模块进行少量修改来实现新的模型。例如,LLaMA 的模型架构基于 Transformer 有三项改动:前置 normalization [GPT3]、SwiGLU 激活函数[PaLM]、旋转位置编码[GPTNeo]。
得益于模块化特性,该项目在 TencentPretrain 中基于 GPT2 模型的已有模块,仅添加约 100 行代码就能实现以上三个改动从而训练 LLaMA 模型。

效果如下所示:

HumanComputer
中国的首都在哪里中国首都是北京。
北京9月的平均气温是多少秋分,中国北京的平均气温为25.5℃。
列出一些能用于登山的装备To climb mountains, you should bring a lot of
> climbing equipment, including a compass, a climbing harness, a helmet,
> gloves, good shoes with plenty of ankle support, and a backpack.
介绍一下自然语言处理技术Natural language processing (NLP) is the study and design of algorithms that are able to understand and manipulate human language. 
帮我解答这个数学题: 6+3*26+3*2=11
生成一段代码来创建一个从1到100的列表def gen_list(n):
      """Generate a list from 1 to n""" 
          return [i for i in range(1, n+1)]

四、基于斯坦福Alpaca训练中文对话大模型BELLE

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

为了提升在中文上的效果,本项目基于Stanford Alpaca优化了中文种子任务,对生成代码进行了一些修改,同时选用BLOOMZ-7B作为基础模型训练得到了一个可以更好支持中文指令的开源模型 - BELLE。同时基于Alpaca的数据收集代码,基于这段代码生成了约100万条中文数据,结合Alpaca的5万条英文数据,在BLOOMZ-7B模型训练得到的checkpoint上传在Hugging Face。

项目包含以下内容:

  • 175个中文种子任务
  • 生成数据的代码
  • 1M + 0.5M生成的中文数据集
  • 基于BLOOMZ-7B1-mt优化后的模型

效果如下所示:

HumanComputer
 小明的爸爸有三个孩子,老大叫王一,老二叫王二,老三叫什么?

 

小明

 

用python写一个二分查找的代码def binary_search(arr, target):
  low = 0
  high = len(arr) - 1
  while (low <= high):
    mid = low + high // 2
    if arr[mid] == target:
      return mid
    elif target < arr[mid]:
      low = mid + 1
    else:
      high = mid - 1
  return -1
今天天气怎么样,把这句话翻译成英语What's the weather like today?
怎么让自己精力充沛,列5点建议以下是一些可以让你保持精力充沛的建议:
1. 睡眠充足。确保每天晚上得到充足的睡眠时间。
2. 多运动。进行适度的有氧运动,如慢跑、游泳等,可以帮助你提高能量和耐力。
3. 吃健康食品。选择富含蛋白质的食物,如鸡肉、鱼肉和鸡蛋,以及新鲜的水果和蔬菜。
4. 减少咖啡因的摄入量。尽量避免在白天喝含咖啡因的饮料或吃含有咖啡因的食物。
5. 放松身心。尝试冥想、瑜伽或其他形式的放松活动来减轻压力和焦虑感。
推荐几本金庸的武侠小说以下是三本我最喜欢的金庸武侠小说的推荐:
1. 《射雕英雄传》 - 一部充满智慧和机智的小说,讲述了郭靖、黄蓉夫妇的故事。
2. 《神雕侠侣》- 这是一部浪漫而感人的故事,讲述了一对情侣小龙女与杨过之间的爱情故事。
3. 《倚天屠龙记》- 这是一个宏伟而壮观的故事,描绘了明教领袖张无忌如何成为一位出色的英雄

五、 清华开源项目ChatGLM中文对话模型

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

据官方介绍,ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGLM 相同的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

效果如下所示:

六、基于LLaMA的开源中文语言模型“骆驼”

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

这个模型是在Meta开源的LLaMA基础上,参考Alpaca和Alpaca-LoRA两个项目,对中文进行了训练,0.1版本的模型取得了基础的中文会话能力。

效果如下所示:

HumanComputer
中国的首都在哪里?中国的首都是北京。
麦当劳是哪个国家的?美国
2017年美国总统是谁?特朗普
华中师范大学在哪里?华中师范大学在武汉市。

总结

ChatGPT掀起的新一轮人工智能狂欢下,隐藏在背后的“大模型”正进入越来越多开发者的视野。正如有一句话说的那样:数据是燃料、模型是引擎、算力是加速器。ChatGPT的出现,恰如其分地诠释了数据、模型和算力的“化学反应”。

如何在垂直领域做出更有针对性模型也是未来的发展方向之一,尤其是算力以及数据不那么充足的情况下。

大家如果有什么好的想法和项目,也欢迎在评论区里留言评论!


参考:

1.开源方案复现ChatGPT流程!1.62GB显存即可体验,单机训练提速7.73倍_数据派THU的博客-CSDN博客

2.对标ChatGPT有哪些开源的方案? - 知乎 

3.训练中文LLaMA大规模语言模型 - 知乎

4.【开源GPT】三位华人小哥开源中文语言模型“骆驼”,单卡即可完成训练部署,花费几百训练自己的中文聊天模型 - 知乎


http://www.kler.cn/a/7465.html

相关文章:

  • 15分钟学 Go 第 56 天:架构设计基本原则
  • JWTUtil工具类
  • 哈佛商业评论 | 未来商业的技术趋势:百度李彦宏谈技术如何变革商业
  • CondaError: Run ‘conda init‘ before ‘conda activate‘解决办法
  • [Admin] Dashboard Filter for Mix Report Types
  • 关于在Reverse函数中不能使用L=s而是*L=*s的原因分析
  • JSON 与 Ajax
  • 渗透测试综合实验(迂回渗透,入侵企业内网并将其控制为僵尸网络)
  • MySQL用户与权限管理
  • InnoDB 是如何解决幻读的
  • Java方法
  • 优秀测试工程师必须掌握的关系型和非关系型数据库
  • python之socket模块
  • 【Java Web】009 -- MyBatis(入门 增删改查 动态SQL)
  • 【Redis学习】Redis10大数据类型
  • Java并发编程(4) —— Java 内存模型(JMM)详解
  • 勒索软件正在从 Windows 转向 Linux
  • C++ setsockopt() 函数
  • thymeleaf radio 获取及回显
  • 【Python】九十条简单py技巧打包(仅此一次哦)
  • 统一结果封装异常处理
  • 基于Pytorch的可视化工具
  • 手写一个llvm的mem2reg pass
  • chatGPT的未来应用有哪些-ChatGPT对未来工作的影响
  • 网络安全书籍推荐+网络安全面试题合集
  • 2023年五一数学建模竞赛来袭