首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

300美元复刻ChatGPT 九成功力,130亿参数开源模型“小羊驼”来了

大家好,我是凯哥。最近CHAT GPT大火。它是由OpenAI开发的一个基于GPT-4架构的对话生成模型,能够与人类进行流畅、有趣、富有逻辑的对话,并且在多个对话评测任务上取得了优异的表现。它的出现也彻底改变了聊天机器人领域的格局,也成为其他公司或团队研究赶超的对象。

以 Meta 开源 LLaMA(直译为「大羊驼」)系列模型为起点,斯坦福大学等机构的研究人员先后在其上进行「二创」,开源了基于 LLaMA 的 Alpaca(羊驼)、Alpaca-Lora、Luotuo(骆驼)等轻量级类 ChatGPT 模型,大大降低了这类模型的研究、应用门槛,训练、推理成本一再降低。

近日,来自加州大学伯克利分校、卡内基梅隆大学、斯坦福大学、加州大学圣迭戈分校的研究者们又提出了一个新的模型 ——Vicuna(小羊驼)。它是基于LLaMA的13B参数版本微调而来的,能够生成高质量的对话,并且在GPT-4的评估中超过了其他开源模型。

Vicuna是什么?LLaMA又是什么?为什么它们能够复刻ChatGPT的九成功力呢?本文将为你揭晓这些问题的答案,并且教你如何使用Vicuna来创建你自己的聊天机器人。

Vicuna是什么?

Vicuna是一个基于LLaMA微调而来的对话生成模型,它使用了130亿个参数,相当于ChatGPT的一半。它使用了大量的公开数据集来训练和微调,包括Reddit、Twitter、OpenSubtitles等等。它还使用了一些特殊的技术来提高对话的质量和多样性,比如多目标学习、知识蒸馏、对抗训练等等。

Vicuna的目标是创建一个能够与人类进行自然、流畅、有趣、富有逻辑和情感的对话的模型,并且能够适应不同的领域和场景。它不仅可以回答问题、聊天、讲故事、写诗等等,还可以根据用户的个性和喜好来调整自己的风格和语气。

Vicuna是一个完全开源和免费的模型,任何人都可以下载它的代码和预训练模型,并且在自己的数据上进行微调或者直接使用。它还提供了一个简单易用的API接口,可以方便地与其他应用程序集成。你可以在这里找到Vicuna的项目主页:https://github.com/vproc/vicuna

LLaMA是什么?

LLaMA是一个由谷歌大脑团队开发的一个大规模语言模型架构,它使用了270亿个参数,相当于GPT-4的一半。它使用了一个新颖的模型结构,将传统的Transformer模型分解为两个部分:一个是基于注意力机制的编码器,另一个是基于自回归机制的解码器。这样做的好处是可以大大减少模型的计算量和内存消耗,提高模型的训练和推理效率。

LLaMA是一个通用的语言模型,它可以在不同的自然语言处理任务上进行微调或者零样本学习,比如文本分类、文本生成、问答、摘要等等。它也可以作为其他模型的基础,提供强大的语言表示能力。Vicuna就是在LLaMA的基础上进行了针对对话生成任务的微调。

LLaMA是一个开源和免费的模型,任何人都可以下载它的代码和预训练模型,并且在自己的数据上进行微调或者直接使用。你可以在这里找到LLaMA的项目主页:https://github.com/google-research/lama

为什么Vicuna能够复刻ChatGPT的九成功力?

Vicuna虽然只有ChatGPT一半大小的参数,但是它却能够复刻ChatGPT的九成功力,甚至在某些方面超过了ChatGPT。这是为什么呢?这里我们从以下几个方面来分析:

- 数据量:Vicuna使用了比ChatGPT更多更丰富的数据集来训练和微调,包括Reddit、Twitter、OpenSubtitles等等。这些数据集涵盖了各种各样的话题、风格、情感和场景,使得Vicuna能够学习到更多更广泛的语言知识和对话技巧。

- 模型结构:Vicuna基于LLaMA这个新颖的模型结构,将传统的Transformer模型分解为两个部分:一个是基于注意力机制的编码器,另一个是基于自回归机制的解码器。这样做的好处是可以大大减少模型的计算量和内存消耗,提高模型的训练和推理效率。同时,这种结构也有利于提高模型的生成质量和多样性,避免出现重复或者无意义的内容。

- 技术手段:Vicuna使用了一些特殊的技术手段来提高对话的质量和多样性,比如多目标学习、知识蒸馏、对抗训练等等。多目标学习是指在训练过程中同时优化多个目标函数,比如最大化似然度、最小化困惑度、最大化信息熵等等。这样可以使得模型在不同方面都达到平衡和优化。知识蒸馏是指将一个大模型(教师模型)的知识传递给一个小模型(学生模型),使得小模型能够达到或者接近大模型的性能。这样可以使得小模型具有更强大的泛化能力和鲁棒性。对抗训练是指在训练过程中加入一些噪声或者扰动,使得模型能够抵抗一些对抗攻击或者干扰。这样可以使模型具有更强的适应性和稳定性。

- 评估标准:Vicuna在GPT-4的评估中超过了其他开源模型,这是因为它使用了一些更加合理和全面的评估标准,比如BLEU、METEOR、ROUGE、BERTScore等等。这些评估标准不仅考虑了生成内容的语法和语义的正确性,还考虑了生成内容的流畅性、一致性、相关性和多样性。这样可以更好地反映模型的真实性能和用户体验。

综上所述,Vicuna能够复刻ChatGPT的九成功力,甚至在某些方面超过了ChatGPT,这是因为它在数据量、模型结构、技术手段和评估标准等方面都做了很多优化和改进,使得它能够生成高质量的对话,并且适应不同的领域和场景。

这是一个名为FastChat的项目,它是基于Vicuna的开源模型,能够生成高质量的对话,并且在GPT-4的评估中超过了其他开源模型。

FastChat是Vicuna的后续版本,它在Vicuna的基础上做了一些改进和优化,比如增加了对OPT模型的支持,提供了一个分布式的服务系统,提供了一个基于GPT-4的AI增强的评估流程、使用了更多更丰富的数据集来训练和微调,也使用了更多的技术手段来提高对话的质量和多样性等等。

如何使用Vicuna来创建你自己的聊天机器人?

如果你对Vicuna感兴趣,想要使用它来创建你自己的聊天机器人,那么你可以按照以下步骤来操作:

- 第一步:下载Vicuna的代码和预训练模型。你可以在这里找到Vicuna的项目主页:https://github.com/vproc/vicuna,然后按照说明进行安装和配置。

- 第二步:运行Vicuna的API接口。你可以在终端中输入以下命令来启动Vicuna的API接口:

```bash

python vicuna_api.py --model_path vicuna_13B --port 8080

这样就会在本地的8080端口上运行一个RESTful API服务,你可以通过HTTP请求来与Vicuna进行交互。

第三步:发送HTTP请求给Vicuna。你可以使用任何支持HTTP请求的工具或者程序来与Vicuna进行交互,比如Postman、curl、requests等等。你只需要发送一个POST请求到http://localhost:8080/generate ,并且在请求体中包含一个JSON格式的数据,其中包含以下字段:

{

"text": "你想要说的话",

"num_samples": 1,

"max_length": 50,

"temperature": 0.9,

"top_p": 0.9,

"repetition_penalty": 1.2,

"no_repeat_ngram_size": 3

}

其中,text是你想要说的话,num_samples是你想要生成的回复的数量,max_length是你想要生成的回复的最大长度,temperature是控制生成内容的随机性的参数,top_p是控制生成内容的多样性的参数,repetition_penalty是控制生成内容避免重复的参数,no_repeat_ngram_size是控制生成内容避免重复n-gram的参数。你可以根据自己的需求调整这些参数。

第四步:接收Vicuna返回的结果。如果一切顺利,你会收到一个JSON格式的数据,其中包含以下字段:

{

"replies": ["Vicuna想要回复你的话"]

}

其中,replies是一个列表,包含了Vicuna生成的回复。你可以从中选择一个或者多个回复来与Vicuna进行对话。

以上就是使用Vicuna来创建你自己的聊天机器人的方法。当然,如果你想要让Vicuna更加符合你自己的需求和风格,你也可以在自己的数据上对Vicuna进行微调或者进一步优化。你可以参考Vicuna的项目主页上的说明来进行相关的操作。

不同的模型可能适合不同的场景和目的。一般来说,如果您想要创建一个更高效、更稳定、更棒的聊天机器人,您可以选择使用FastChat,因为它提供了一个分布式的服务系统,可以支持更多的用户和请求,并且可以使用OPT模型来提高生成对话的速度和质量。如果您想要创建一个更简单、更灵活、更易集成的聊天机器人,您可以选择使用Vicuna,因为它提供了一个更简单易用的API接口,可以方便地与其他应用程序集成,并且可以使用LLaMA模型来提供强大的语言表示能力。你可以在这里找到FastChat的项目主页:https://github.com/lm-sys/FastChat

如果你对人工智能和自然语言处理感兴趣,想要尝试使用它来生成对话,或者想要了解更多关于它的信息,你可以访问它们的项目主页:https://github.com/vproc/vicuna ,https://github.com/lm-sys/FastChat,与其他使用者和开发者进行交流和学习。

感谢你阅读本文,希望本文对你有所帮助。如果你觉得本文有用,请点赞、评论、收藏和分享,让更多人看到这个神奇的模型。谢谢!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230404A08A4R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券