Stanford Alpaca (羊驼):ChatGPT 学术版开源实现

Stanford Alpaca (羊驼):ChatGPT 学术版开源实现

文章目录

  • Stanford Alpaca (羊驼):ChatGPT 学术版开源实现
    • 前言介绍
    • Alpaca 在线体验
      • 查语病
      • 写代码
      • 连续对话能力
    • 原理简要分析
    • 一些有意思的观察
    • 总结

前言介绍

最近 ChatGPT 大热,让人惊叹其强大的对话、上下文理解、代码生成等等能力,3 月 15 日 OpenAI 又放出了能实现图像理解的多模态大模型 GPT-4,直让人感觉通用人工智能 (AGI)仿佛离自己不远了。有生之年看到人类命运共同体能有这样的进展我是由衷的高兴,并不自觉地给 OpenAI 点了一个赞:

但另一方面由于 GPT 系列模型 & ChatGPT 均未开源,再加上高昂的训练成本所构成的坚不可摧的护城河,让普通人 & 公司望而却步,说实话,还是挺让人焦虑的。当然焦虑的不止国内的研发人员,今天惊喜的发现斯坦福大学开源了学术版的 ChatGPT, 他们命名为 Alpaca (羊驼,没错,说的就是神兽),目前放出了在线体验网址、数据生成代码、训练过程和超参,不久就会放出模型权重参数以及完整的训练代码。详情如下:

  • 在线体验网址:https://alpaca-ai-custom2.ngrok.io/
  • 模型介绍文章:https://crfm.stanford.edu/2023/03/13/alpaca.html Alpaca: A Strong Instruction-Following Model
  • Github 代码地址:https://github.com/tatsu-lab/stanford_alpaca

代码刚放出来不久,我先 mark 一下,趁代码量还比较少的时候赶紧看看,否则后面代码越多看不过来🤣。简单看了下这个开源库,发现一些挺有意思的现象,待会分享,先说下 Alpaca 的体验。

Alpaca 在线体验

查语病

比如写这篇文章的时候,突然不清楚上文写的 “再加上高昂的训练成本所构成的坚不可摧的护城河” 一句是否有语病,我就尝试把它扔给 Alpaca 替我检查一下,测试其智能程度,此外再验证下它是否能识别中文,效果如下:

第一个红框中输入我的问题,第二个红框是 Alpaca 的回答,它不仅指出 “坚不可摧的护城河” 没有语病,还把这句话翻译了一下。保险起见我还到 Google 中搜了一下,确认有句子是这样用的,那我只能默认它是对的 🤣。

另外注意到第二个红框下还有 “Upvote response” 和 “Downvote response” 两个按钮,用来给回答进行反馈。

写代码

给它出了一道简单的编程题,LeetCode 中的链表反转问题,让它用 Python 实现一下:

居然写对了,能运行🤣!算是一个小惊喜。说明这个模型虽然轻便,但也有足够强的能力。

连续对话能力

为了测试 Alpaca 的连续对话能力,我仍然从代码的角度进行提问;我首先让它写非常简单的 python 代码,可能 5 ~ 10 行的样子,它顺利的完成了:

之后我让它将代码写复杂一些,我在提问的时候说的是 “make it more complex”, 其中 “it” 需要它理解了上下文,才能知道我指的是它前面所写的简单代码:

我表扬它 “Good”,它还回我一句 “Perfect”,商业互吹这是… 但是回复的时候偷懒,只给了思路,但是没有具体的 code, 因此我决定 CPU 它一下:“Talk is cheap, show me the code”:

果然,它给了一个稍微复杂的 code… 还挺好玩。

功能体验就介绍到这。

原理简要分析

Alpaca 本身的介绍 blog:https://crfm.stanford.edu/2023/03/13/alpaca.html 其实说的非常清晰了,模型的训练流程基本可以用下图来概括:

它使用 52K 个 intruction-following examples 来微调 Meta 的大语言模型 LLaMA 7B (Meta 开放了模型权重以及 Inference 代码,详见 https://github.com/facebookresearch/llama),从而生成了 Alpaca 7B。

但是这 52K 个 intruction-following examples 是如何生成的呢?Alpaca 团队使用 https://github.com/yizhongw/self-instruct 提供的 175 个 seed tasks,这些 seed tasks 长这样:

调用 OpenAI 的 text-davinci-003 模型,利用 OpenAI 的模型来产生有价值的 instructions!

不得不说,有点机智,这种方式很像蒸馏训练啊。将 OpenAI 性能完备的模型作为 Teacher,来指导参数更少的 Alpaca 模型进行训练,大幅降低了训练成本 。其中调用 OpenAI API 的成本不到 500 美刀,另外微调 7B 参数的 LLaMA 模型,使用云服务商提供的 8 块 80GB A100 显卡,训练 3 小时,消费不到 100 美刀。因此整体成本是小于 600 美刀。

相对来说,确实方便了独立的研究人员、学术机构以及大部分公司。

一些有意思的观察

在前言中曾说查看 https://github.com/tatsu-lab/stanford_alpaca 这个库时发现一些有意思的现象。那是因为我在 PR (https://github.com/tatsu-lab/stanford_alpaca/pull/24) 中发现,这些研发人员看东西都超细致…

比如上面小哥发现 prompt.txt 行号标错了:

这都能注意到,当时我就震惊了!也许是运行代码时发现的错误也说不定,but never mind。

总结

本文简要介绍了 Alpaca, 一个关于 ChatGPT 的学术版开源实现。最近想复现 ChatGPT 的工作有很多,我目前关注的几个除了 Alpaca, 还有:

  • OpenChatKit: https://github.com/togethercomputer/OpenChatKit
  • ChatRWKV: https://github.com/BlinkDL/ChatRWKV

好想自己有多个分身,以有涯随无涯,殆矣!

最后:可以在微信中搜索 “珍妮的算法之路” 或者 “world4458” 关注我的微信公众号, 可以及时获取最新原创技术文章更新. 🤣

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火爆全网的 ChatGPT 虽然好玩,但是也有几件事是需要当心的 - 弘扬正能量

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4…

最近很火的ChatGPT和GPT4

ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话…

登录次数限制实例

业务逻辑 1、根据用户名从数据库中取出一行数据,并根据数据库服务器时间,算出上次限制登录的时间和当前时间的时间间隔。 2、判断此用户时间间隔过了15分钟没有。如果没有,则给出禁止登录的提示;如果超过15分钟,则判…

ChatGPT爆火| 微软ATP推出教师AI素养提升秘籍

最近全球爆火的ChatGPT,让我们领略AI技术的迅猛发展,尤其在自然语言处理(NLP)、机器学习(ML)等方向与教育的结合日趋紧密,人工智能在教育领域中的应用呈现出快速增长的趋势。 几乎是在一夜之间 ChatGPT刷爆…

怎么把中文用户名改成英文?

我们的c盘存放的是我们系统的文件,有些用户没有键盘分盘,软件游戏也在其中,因为名字是中文,需要更改成英文,那么win11怎么把中文用户名改成英文?很多小伙伴都想要了解,下面就来看看具体的操作。…

英文论文如何进行润色?

众所周知,英文论文投稿是一件专业性非常强的技术工作。想要被期刊收录,以下三个方面缺一不可:论点和论据优秀的论文;优良的英文表达质量;精湛的投稿技术。 在发表英文论文时,由于语言表达的差异&#xff0c…

心法利器[82] | chatgpt下query理解是否还有意义

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里&…

chatGPT大规模使用kubernetes,云原生技术在AI领域也大有可为

文章目录 一、云原生在AI领域的应用方向1.1、弹性部署1.2、自动化和可维护性1.3安全性和隔离性 二、云原生在AI领域的应用案例2.1、chatGPT全面使用云原生技术2.2、TensorFlow Serving和k8s及docker的集合2.3、AWS SageMaker 三、云原生AI开发平台的发展 公众号: M…

与chagpt对话记录

每日chagpt对话记录 关注我一下 vscode 浏览器版本 c 函数 无法跳转 C/C IntelliSense, debugging, and code browsing. C/C IntelliSense、调试和代码浏览是指在使用VS Code进行C/C开发时的一些核心功能。下面是对这些功能的简要说明: IntelliSense(智能…

使用 ChatGPT 碰到的坑

最近在使用 ChatGPT 的时候碰到一个小坑,因为某些特殊情况我需要使用 syslog 向 logbeat 中发送日志。 由于这是一个比较古老的协议,确实也没接触过,所以就想着让 ChatGPT 帮我生成个例子。 原本我已经在 Go 中将这个流程跑通,所…

ChatGPT帮你调用PID算法【结合代码】

目录 PID算法是一种控制算法 下面分别介绍PID算法中的三个参数 MATLAB代码实现PID MATLAB代码实现PID PID算法是一种控制算法 用于控制系统的稳定性和精度。PID算法的名称来源于其三个组成部分:比例(P)、积分(I)和微…

ChatGPT实战之PID算法实现

让chatgpt写一段pid控制算法,看看效果如何。 通过调参也能实现收敛了。实际应用还是要看你具体的需求了。 话不多说上代码: import matplotlib.pyplot as plt import numpy as np class PositionPID(object): “”“位置式PID算法实现”“” def __ini…

Qt:依据ChatGpt生成Qt可选择扇形按钮

目录 引言1、生成过程1.1 饼图2.2 扇形图3.3 可选择扇形按钮1.4 新的扇形画法*GraphicItem 2、训练过程3、错误原因4、涉及知识点 引言 因为项目需要绘制一个中间为圆心,包含数个扇形的可选择按钮。正好ChatGpt使用起来比较成熟,因此使用询问的方式得到两…

五分钟零基础开发chatgpt+Midjourney工具赢得被动收入

首先感谢laf提供免费使用Midjourney API接口和云函数,需要详细了解的可以访问他们的官网论坛。 感谢论坛前面几位的分享,我做了参考。都有参考就不列啦哈!!! 直接开始: 第一步 复制MJ-SEND云函数到laf云…

chatgpt赋能python:Python短信通知:简单高效的实现方式

Python 短信通知:简单高效的实现方式 现在,随着移动互联网的飞速发展,越来越多的企业和个人开始利用短信来进行通知、推广等操作。Python 作为一门广泛应用于 Web 和数据领域的编程语言,也可以通过一些简单的 API 接口&#xff0…

chatgpt赋能python:Python如何接收短信?——详细介绍,并提供实用代码

Python如何接收短信?——详细介绍,并提供实用代码 短信已经成为了我们日常生活中不可或缺的一部分。在很多行业中,短信通知也被广泛应用,如金融、教育、医疗等等。那么,如何在Python中实现接收短信呢?在本…

人工智能之读懂CNN卷积神经网络

通过往期文章的分享,我们了解了神经网络的结构,一般分为输入层,隐藏层,输出层 TensorFlow神经网络 那什么是卷积神经网络那,这就要我们追溯一下人类识别图像的原理 人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现…

人工智能CNN 卷积神经网络结构(tensorflow代码实现)

MNIST是一个简单的视觉计算数据集,它是像下面这样手写的数字图片: MNIST 通过上期的分享,我们了解了手写数字识别的基本原理以及CNN卷积神经网络的基本原理,本期我们结合MNIST数据集,来用代码来实现CNN。(手写数字识别是TensorFlow人工智能最基础的案例,这个跟学习编程…

基于深度学习的图像分类:使用卷积神经网络实现猫狗分类器

摘要: 深度学习在计算机视觉领域中具有广泛的应用。本文将介绍如何使用卷积神经网络(CNN)实现一个猫狗分类器。我们将使用Python和TensorFlow框架搭建一个简单的卷积神经网络模型,并利用猫狗图像数据集进行训练和测试。通过本文&a…

6种卷积神经网络压缩方法

点击上方“AI遇见机器学习”,选择“星标”公众号 第一时间获取价值内容 来源:机器学习杂货店 本文约5200字,建议阅读10分钟 我们知道,在一定程度上,网络越深,参数越多,模型越复杂,其…