庆云古诗词

庆云古诗词

chatgpt带来的革命性突破在哪里 解剖chatgpt背后的核心技术

互联资讯 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

革命带来的影响,革命带来了什么好处,革命的影响,革命带给我们的启示

随着科技的不断进步和发展,我们的生活方式也在不断地变化和升级。在这个数字时代,人们需要跟上时代的步伐,学会利用新技术,更好地适应和生存。作为一个大型语言模型,ChatGPT可以带来很多便利,帮助我们更好地适应这个数字时代的生活方式。

首先,要想用好ChatGPT,我们需要了解它的基本原理和使用方法。ChatGPT是一种基于深度学习的自然语言处理技术,能够理解人类语言并生成类似人类的回复。在使用ChatGPT时,我们可以输入任何问题或主题,然后它会尝试生成一个类似于人类的回答。这种技术可以广泛应用于各种领域,例如客服、智能家居、自然语言生成等等。

其次,我们需要学会如何与ChatGPT交互并获取它所提供的信息。与ChatGPT交互的最简单方法就是在网站上使用聊天窗口或通过应用程序。当我们输入问题或主题时,ChatGPT会生成一些回答和建议,这些回答和建议可以帮助我们更好地理解问题和解决问题。此外,ChatGPT还可以通过文本或语音输入,帮助我们查找信息、翻译文本、生成语音等。

最后,要想真正用好ChatGPT,我们需要不断地更新和改进自己的知识和技能,以更好地适应时代潮流和发展。我们应该了解最新的技术和趋势,并学会将它们应用到我们的工作和生活中。我们还应该不断地提高自己的语言能力和表达能力,以更好地与ChatGPT进行交互并从中获得更多的信息和建议。

总之,跟上时代的潮流,用好ChatGPT带来的便利需要我们不断地学习和进步。我们需要了解ChatGPT的基本原理和使用方法,学会与它交互并获取信息,同时不断地更新和改进自己的知识和技能。只有这样,我们才能更好地适应数字时代的生活方式,并从中获得更多的便利和发展。

强烈推荐《人人都能玩赚ChatGPT:Chat GPT 10亿打工人被革命》,是一本非常好的ChatGPT学习教程,内容全面详细,清晰易懂,非常适合研究学习,希望对大家有所帮助!

举报/反馈

ChatGPT需要学习吗


点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33?更新文章,每天掉亿点点头发...

源码精品专栏

?
  • 原创 | Java 2021?超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 【【微信】】 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源&#【【网址】】/

p/616504594

  • 计划

  • 实践

    • 加速推理

    • 测试

  • 总结

LLM 这两周不断带给我们震撼与惊喜。GPT-4 的发布让大家对 LLM 的想象空间进一步扩大,而这些想象在本周眼花缭乱的 LLM 应用发布中逐渐成为现实,下面分享一位朋友训练ChatGPT的完整方案,供大家参考~

LLM 相关的开源社区这两周涌现了很多优秀的工作,吸引了很多人的关注。其中,我比较关注的是 Stanford 基于 LLaMA 的 Alpaca 和随后出现的 LoRA 版本 Alpaca-LoRA。原因很简单,便宜

Alpaca 宣称只需要 600$ 不到的成本(包括创建数据集),便可以让 LLaMA 7B 达到近似 text-da【【微信】】 的效果。而 Alpaca-LoRA 则在此基础上,让我们能够以一块消费级显卡,在几小时内完成 7B 模型的 fine-turning。

下面是开源社区成员分享的可以跑通的硬件规格及所需时间:

根据大家分享的信息,fine-tune 7B 模型仅需要 8-10 GB vram。因此我们很有可能可以在 Google Colab 上完成你所需要的 fine-tune!

那么,说干就干!

为什么要训练自己的 ChatGPT ?

我想到了以下的方面:

  • 对我个人而言,这非常非常 cooooool !

  • 让模型能够讲我熟悉的语言

  • 让模型替我写注释和测试代码

  • 让模型学习产品文档,帮我回答用户提出的小白问题

  • ...

那么,为了训练自己的 Chat我们需要做那些事儿呢? 理论上需要如下步骤:

第一步:准备数据集

fine-tune 的目标通常有两种:

  • 像 Alpaca 一样,收集 input/output 生成 prompt 用于训练,让模型完成特定任务

  • 语言填充,收集文本用于训练,让模型补全 prompt。

以第一种目标为例,假设我们的目标是让模型讲中文,那么,我们可以通过其他 LLM (如 text-da【【微信】】)把一个现有数据集(如 Alpaca)翻译为中文来做 fine-tune。实际上这个想法已经在开源社区已经有人实现了。

第二步:训练并 apply LoRA

在第一步准备的数据集上进行 fine-tune。

第三步:合并模型(可选)

合并 LoRA 与 base 可以加速推理,并帮助我们后续 【【微信】】 模型。

第四步:【【微信】】(可选)

最后,【【微信】】 可以帮助我们加速模型推理,并减少推理所需内存。这方面也有开源的工具可以直接使用。

【【网址】】/meg【【微信】】/Sparsebit/blob/main/large_language_models/llama/【【微信】】/README.md

基于 Spring Boot + MyBatis Plus + Vue & 【【微信】】 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:【【网址】】/YunaiV/【【微信】】

  • 视频教程&#【【网址】】/video/

柿子挑软的捏,我们从简单的目标开始:让模型讲中文。

为了达成这个目标,我使用的数据集是 Luotuo 作者翻译的 Alpaca 数据集,训练代码主要来自 Alpaca-LoRA。

准备

由于我打算直接使用 Alpaca-LoRA 的代码,我们先 clone Alpaca-LoRA:

下载数据集:

创建虚拟环境并安装依赖(需要根据不同环境的 cuda 版本调整):

训练

单卡选手很简单,可以直接执行:

双卡选手相对比较麻烦,需要执行:

在我的环境下(2 * RTX 3090 Ti 24GB),需要额外配置 micro_batch_size 避免 OOM。

推荐的其他额外参数:

训练的过程比较稳定,我在训练过程中一直在用 nvitop 查看显存和显卡的用量:

下面是我训练时模型收敛的情况,可以看到差不多 2 epochs 模型就收敛的差不多了:

推理

单卡选手可以直接执行:

双卡选手还是会麻烦点,由于现在还不支持双卡推理,我手动修改了 generate.py,添加了第 47 行:

而后,执行上面的命令即可。

如果你的推理运行在服务器上,想要通过其他终端访问,可以给 launch 方法添加参数:

此时打开浏览器,享受你的工作成果吧 :D

Alpaca-LoRA 提供了一些脚本,如 export_hf_checkpoint.py 来合并模型。合并后的模型可以通过 llamap.cpp 等项目达到更好的推理性能。

最后,让我们对比下原生 Alpaca 与自己 fine-tune 的 Alpaca,看看 fine-tune 到底有没有让模型学会讲中文吧!

Good Examples

Bad Examples

可以看出模型确实在讲中文,也能依据中文的指令和输入完成一些工作。但是由于 LLaMA 本身训练数据大部分为英文以及 Alpaca 数据集翻译后的质量不足,我们的模型有些时候效果不如原生 Alpaca。此时不得不感叹高质量数据对 LLM 的重要性

基于 Spring Cloud Alibaba + Gateway + Nacos + 【【微信】】 + Vue & 【【微信】】 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:【【网址】】/YunaiV/【【微信】】

  • 视频教程&#【【网址】】/video/

作为一个分布式系统方向的工程师,fine-tune 一个 LLM 的过程遇到了不少问题,也有很多乐趣。虽然 LLaMA 7B 展现出的能力还比较有限,我还是很期待后面开源社区进一步的工作。

后续我也打算尝试 fine-tune 特定目的的 LLM,比如让 LLM 教我做饭,感兴趣的朋友可以保持关注!

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了?MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、【【微信】】、权限、WebSocket、Dubbo、RabbitMQ、【【微信】】、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复?666?领取,更多内容陆续奉上。