LLM - 基于 Vicuna-13B 参数计算搭建私有 ChatGPT 在线聊天

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://blog.csdn.net/caroline_wendy/article/details/131312366

LLaMA

LLaMA 和 Vicuna 都是大语言模型(LLM),两者的差异如下:

  • LLaMA (Large Language Model Meta AI):开放和高效的基础语言模型,这是一系列从7B到65B参数的语言模型,使用公开可用的数据集进行训练,没有使用专有和无法获取的数据集。LLaMA-13B在大多数基准测试中超越了GPT-3 (175B),LLaMA-65B 与最好的模型 Chinchilla-70B 和 PaLM-540B 相当。预训练数据集是多个来源的混合,包括CommonCrawl、C4、Github、Wikipedia、Gutenberg、Books3、ArXiv和Stack Exchange等,总共包含约1.4T个标记。论文:LLaMA: Open and Efficient Foundation Language Models

  • Vicuna: 由 UC伯克利、CMU、斯坦福等机构的学者,在 2022 年发布的一种改进版的 LLaMA,使用了用户共享的对话数据(约70K samples)来进行全量微调,并且降低了训练成本。通过在来自 ShareGPT 的用户共享对话上微调 LLaMA 而训练的,使用 GPT-4 作为评判标准的初步评估显示,Vicuna-13B 在 OpenAI ChatGPT 和 Google Bard 的质量上达到了 90% 以上,同时在 90% 的情况下超过了其他模型,如 LLaMA 和 Stanford Alpaca。

这两种算法都在一些对话任务上表现出了优异的效果,但是也存在着一些局限性,比如编程、推理、数学以及事实准确性等方面的不足。目前,很多大语言模型算法都是基于 Vicuna 进行对齐,例如 DrugChat 等。因此,需要配置 Vicuna 的模型参数。

1. 配置工程

需要配置的工程有2个,都来源于 Hugging Face:

  1. Vicuna-13B:https://huggingface.co/lmsys/vicuna-13b-delta-v0
  2. LLaMA-13B-hf:https://huggingface.co/decapoda-research/llama-13b-hf

下载方式,可以参考 Server - 使用网盘快速下载 Hugging Face 大模型,使用网盘下载速度要快于Git LFS

普通方式:

git lfs install
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v0.git
cd vicuna-7b-delta-v0
git lfs pullgit lfs install
git clone https://huggingface.co/decapoda-research/llama-13b-hf.git
cd llama-13b-hf
git lfs pull

其中,bin 文件 和 model 文件较大,可以离线下载之后,再覆盖。

git clone 如果遇到 Bug,TCP connection reset by peer,建议使用 ssh 的方式下载,需要简单配置一下,参考 Server - 使用网盘快速下载 Hugging Face 大模型。

2. 组合权重

不同版本的 Vicuna,使用不同的 FastChat 版本,例如v0,使用 FastChat 版本是v0.1.10。

具体配置参考:GitHub - vicuna_weights_version.md

Vicuna

配置环境:

conda create -n vicuna python=3.8
source activate vicuna
pip install fschat==0.1.10  # 注意版本

下载工程,注意切换版本:

git clone https://github.com/lm-sys/FastChat.git
cd FastChat
git checkout v0.1.10  # 注意版本

更新 transformers 库,因为 transformers 库,随着版本不同,包括的 Tokenizer 和 Model 的函数不同:

pip install --upgrade transformers

查看 fschat 和 transformers 的版本,如下:

pip show fschat transformers
Name: fschat
Version: 0.1.10
---
Name: transformers
Version: 4.28.1

修改 FastChat 工程的 fastchat/model/apply_delta.py 文件,版本不同,函数不同:

AutoTokenizer 全部替换为 LlamaTokenizer
AutoModelForCausalLM 全部替换为 LlamaForCausalLM

即:

...
from transformers import LlamaTokenizer, LlamaForCausalLMdef apply_delta(base_model_path, target_model_path, delta_path):print(f"Loading the base model from {base_model_path}")base = LlamaForCausalLM.from_pretrained(base_model_path, torch_dtype=torch.float16, low_cpu_mem_usage=True)print(f"Loading the delta from {delta_path}")delta = LlamaForCausalLM.from_pretrained(delta_path, torch_dtype=torch.float16, low_cpu_mem_usage=True)delta_tokenizer = LlamaTokenizer.from_pretrained(delta_path, use_fast=False)DEFAULT_PAD_TOKEN = "[PAD]"base_tokenizer = LlamaTokenizer.from_pretrained(base_model_path, use_fast=False)num_new_tokens = base_tokenizer.add_special_tokens(dict(pad_token=DEFAULT_PAD_TOKEN))
...

否则报错:

ValueError: Tokenizer class LLaMATokenizer does not exist or is not currently imported.

接着,组合模型权重:

  • 脚本:apply_delta.py
  • llama权重:llama-13b-hf/
  • vicuna权重:vicuna-13b-delta-v0/
  • 输出权重:vicuna-13b-weight/
CUDA_VISIBLE_DEVICES=1 python FastChat/fastchat/model/apply_delta.py --base-model-path llama-13b-hf/  --delta-path vicuna-13b-delta-v0/ --target-model-path vicuna-13b-weight/

3. 测试权重

执行脚本,即可命令行,使用:

CUDA_VISIBLE_DEVICES=3,4 python -m fastchat.serve.cli --model-path ./vicuna-13b-weight --style rich  --num-gpus 2

运行如下:

  • 问题1:let’s talk something about biological pharmacy ?
  • 问题2:What are the big pharmaceutical companies in the world ?

日志如下:

Log

测试成功。

参考:

  • CSDN - Vicuna 模型学习与实战
  • GitHub - lm-sys/FastChat
  • GitHub - vicuna_weights_version.md
  • 知乎 -【LLMs 入门实战 —— 八 】MiniGPT-4 模型学习与实战
  • GitHub - Vision-CAIR/MiniGPT-4
  • Server - 使用网盘快速下载 Hugging Face 大模型

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

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

相关文章

Keep chatgpt alive, 安装插件,保持chatgpt在线

前言 ChatGPT是一种基于自然语言处理(NLP)的人工智能技术,可以帮助我们实现智能聊天。 然而,在使用ChatGPT插件过程中,我们可能会遇到频繁的网络错误,这会导致我们需要不断刷新网页,重复进行一…

chatgpt prompt 在线生成器

1. Hugging Face ChatGPT Prompt Generator (有时候需要等很久) ChatGPT-prompt-generator是一个特殊的ChatGPT prompt 生成器应用程序,允许用户生成适合其所需角色的提示。 左边输入,然后提交以后右边出prompt 该应用程序生成…

ChatGPT在线个人小助手应用搭建

ChatGPT在线个人小助手应用搭建 在线体验 点我在线体验 因为openAI账户申请后会默认有18美元的账户, openAI每次调用大概会花掉0.01美元, 所以为了防止恶意刷api,无意义聊天, 页面做了密码限制,如果密码不对,是不会启用openAI智能回复的.代码此文就不讲解了,源码面前,了无秘密…

微信公众号对接ChatGPT-实现基于自己知识库的机器人功能-并且可以人工接入进行回复的客服系统...

现在很多教程有介绍如何把chatGPT对接到自己的公众号上,利用公众号的自动回复接口功能,实现用户在公众号与chatGPT进行交互。 而我实现的功能比上面的要高级很多 首先,用户在公众号端发送咨询消息,可以得到自动回复,并…

【极客技术】啥?公众号免费开放ChatGPT Plus了?

【火速出圈】ChatGPT 上线啦! 这段时间ChatGPT火速出圈,感谢大师兄的亲情支持,上周我们的公众号自动回复功能成功接入ChatGPT啦!从此,智能问答、趣味互动一触即达!体验更加便捷~ 公众号目前已经接入的是Cha…

实现ChatGPT项目(可商用:web端、接入qq群、公众号、企业微信)

前言 ChatGPT是一款非常流行的社交媒体应用程序,它可以让用户在全球范围内与其他用户进行交流和互动,分享他们的想法、观点和经验。ChatGPT的成功得益于它的许多独特的功能和优势。它涵盖了各种各样的话题和主题,从科技和商业到娱乐和文化&a…

ChatGPT专业应用:快速撰写公众号文章

正文共 420 字,阅读大约需要 2 分钟 品牌营销/内容运营必备技巧,您将在2分钟后获得以下超能力: 快速生成公众号文章 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Alice 编辑者 | …

ChatGPT来袭,手把手教你如何接入公众号!

朋友们,最近有什么新鲜玩意儿吗?没错,我把ChatGPT接入到公众号了,直接和公众号对话就能体验到ChatGPT的魔法。 那么,怎么接入呢?不用担心,我会手把手教你如何做! 首先,你…

ChatGPT体验地址,超多功能,附公众号源码

GPT 说明效果演示地址体验公众号源码 说明 ChatGPT是一种基于深度学习的自然语言处理(NLP)技术,它可以实现自然的文字对话。ChatGPT是基于预训练的语言模型,使用大量的数据和计算资源进行训练,使其能够理解和生成自然…

ChatGPT时代,推荐几个宝藏公众号!

ChatGPT的出现让人们对于AI人工智能的质疑戛然而止! 人们惊奇的发现,以ChatGPT为代表的,基于人工智能生产内容技术(AIGC)的创新产品在内容创作、影视、绘画、办公等方面可以替代甚至超过大部门“新手”。 ChatGPT的强大…

【Python】极简部署私有化ChatGPT-Web,使用Flask框架编写网页版ChatGPT

极简部署私有化ChatGPT 使用ChatGPT最新API创建的聊天页面,模型回复效果与官网的ChatGPT一致特性演示动图使用前提介绍 使用ChatGPT最新API创建的聊天页面,模型回复效果与官网的ChatGPT一致 特性 python环境下可极简配置windows、linux、mac os均可部署…

使用 Tampermonkey 插件流畅使用 ChatGPT 网页端教程

在本教程中,我们将详细介绍如何使用 Tampermonkey 插件改善您在浏览器中使用 ChatGPT 网页版的体验。由于某些原因,浏览器访问 ChatGPT 容易出现断开连接或报错的情况。使用 Tampermonkey,您可以运行一个用户脚本,解决这些问题&am…

程序员+本硕博——一站式导航——收集+转载+讲解

程序员本硕博——一站式导航——收集转载讲解 程序员开发机器学习发论文的期刊Github——黄海广,温州大学教授MoMeeDo咪豆圈,机器学习廖雪峰——git廖雪峰——pythonpandas_IllustratedNumPy_Illustrated web前端 : vue3 vitevue3vitets的【可视化】在线…

如何用python画世界地图,并用不同的颜色展现每个国家的数据?

以下的图来自 iMeta 期刊文章,使用此代码,请引用文章: Yong-Xin Liu, Chun-Lin Shi, Tengfei Ma, Wubin Ding, Danyi Li, Tong Chen, Jingyuan Fu, Shuang-Jiang Liu. 2023. iMeta progress and acknowledgment of reviewers in 2022. iMeta …

互联网产品中的平台、社区、软件、网站、品牌等科普

文章目录 GitHubGitLabxiaomi.cn微博B站MIUIAndroidRedmiROMLineageOSSUASUSNokiaNubiaNVIDIAOnePlusRazerFairphoneSamsungGoogleLeEcoSonylenovoXiaomiLGMotorolaTwitterPixelexperienceDOT OSARROW OS1.1.1.1iPhoneOPPOvivoHUAWEIHONORrealmeIQOOMEIZUBlacksharkZTE红魔Cool…

字符编码与 C++ 处理

基本概念 字符集 字符集(Character Set):是指多个字符的集合。不同的字符集包含的字符个数不一样、包含的字符不一样、对字符的编码方式也不一样。例如 GB2312 是中国国家标准的简体中文字符集,GB2312 收录简化汉字(…

wordpress 占用内存 CPU过高的解决方案

(ChatGpt的回复再结合其它资料整理,有任何意见欢迎指出)WordPress占用内存过高可能由多种因素引起,以下是一些可能的原因和解决方法。总之,为了解决WordPress占用内存过高的问题,您需要对主题,插…

阿里云服务器可以干嘛?ChatGPT等12件小事

拥有一台阿里云服务器可以用来做什么?ChatGPT最近很火,可以在云服务器上部署本地ChatGPT,搭建个人博客、企业网站,学习Linux、跑Python爬虫等,阿里云服务器网分享使用阿里云服务器用途的12件小事: 阿里云服…

感谢飞书放过幕布!GPT-4平替Poe;100个GPT-4实战案例;AI绘画新手指南之SD篇;new Bing靠谱教程;AI生成视频摘要神器 | ShowMeAI日报

👀日报合辑 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『感谢飞书放过幕布』flomo 从字节收购幕布,时代变了 3月15日,flomo 浮墨笔记团队已与飞书初步达成全资收购幕布的合作意…

一周 AI 丨每天都在见证历史,AI 从未如此让人震撼

过去的一周,是 AI 史上最热门的一周。斯坦福 Alpaca 7 B 发布,用六百 刀实现接近 GPT3.5 的能力。Google Workspace AI 发布,G 家终于也开始整合进产品了。GPT4 发布 OpenAI 继续狂飙。Anthropic Claude 发布,OpenAI 出走的人才打…