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

article/2025/6/7 10:39:59

欢迎关注我的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 大模型
文章来源:https://blog.csdn.net/u012515223/article/details/131312366
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://chatgpt.dhexx.cn/article/tWEYsfq0.shtml

相关文章

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智能回复的.代码此文就不讲解了,源码面前,了无秘密…

chatgptH5源码开发

hatGPTH5源码开发需要以下步骤: 确定需求:在开发ChatGPTH5应用之前,需要明确用户的需求和目标,以便进行合理的设计和开发。 技术选型:选择适合的前端技术框架和工具,如React、Vue、Angular等&#…

ChatGPT: 智能对话时代的未来展望与应用实践

ChatGPT: 智能对话时代的未来展望与应用实践 简介 ChatGPT 是一种基于深度学习和自然语言处理技术的人工智能对话模型。它可以通过生成自然语言文本的方式,与用户进行交互式的对话。作为一种先进的对话生成模型,ChatGPT 在近年来快速发展的人工智能领域中…

公众号ChatGPT历史对话记录查看升级完成啦

公众号【javastarboy】已支持 ChatGPT 3.5-turbo 模型, 进入公众号,输入文字消息即可聊天。 今天主要升级了三个内容: 支持“历史对话”查看(一小时内)解决了多人会话 session 隔离问题解决了一些 bug 几个说明&…

解决微信公众号消息回复五秒限制最好方法

如题 很多朋友发现在消息回复处理业务的时候,可能时间不固定,甚至超过5s,亲测可用 我的办法是不用消息回复接口,全部改用客服消息接口 1.收到消息后,首先回复“处理中,请稍等” 2.直接上代码 ob_start(); h…

就挺无语的,这是有脾气的博客

文章目录 前言1. 背景2. 使用3. 公众号体验4. 结束语 前言 ChatGPT已经推出两个多月了,热度已经不减。ChatGPT由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的…

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

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

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

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

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

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

2023 ChatGPT公众号 解锁授权版 支持AI绘画

源码介绍 2023最新ChatGPT公众号版本源码,该产品支持用户付费套餐,多Key轮询,AI绘画等功能,并且可以免费使用,同时附带详细的教程文档。 这款产品采用了最新的 ChatGPT 技术,可以生成、重写和汇总文本&am…

使用ChatGPT加个人微信公众号打造属于自己的AI助手

使用ChatGPT加个人微信公众号打造属于自己的AI助手 1、总体介绍2、实现2.1 搭建微信公众号后台2.2 用Python实现和ChatGPT的交互(核心)2.2.1 启动/关闭浏览器2.2.2 开启监听(实现程序和浏览器交互)2.2.3 人机验证(重点…

10分钟!快速部署ChatGPT微信公众号机器人!

在上面公众号后台就可以免费体验gpt机器人 马上五一啦,很多小伙伴都要出去玩了,出去玩没有GPT怎么行呢!有没有一个简单的,可以24小时玩的GPT的!前面我们教过大家部署微信机器人做24小时的助理,还有chatgpt …

2023ChatGPT公众号去授权版源码、扩展+支持AI绘画/一键安装

正文: 2023最新ChatGPT公众号版本源码,该产品支持用户付费套餐,多Key轮询,AI绘画等功能,并且可以免费使用,同时附带详细的教程文档。 程序: wwgheo.lanzouw.com/imFU50uv6cyj 图片:

ChatGPT 对接微信公众号技术方案实现!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 9天假期写了8天代码和10篇文章,这个5.1过的很爽🤨! 如假期前小傅哥的计划一样,这…

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

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

微信小程序_把chatgpt聊天数据复制到剪切板

文章目录 ⭐ 前言⭐ 开始网格背景样式配置对话框样式配置复制到剪切板 ⭐ 结束 ⭐ 前言 大家好,我是yma16,不止前端,本文将介绍微信小程序中 chatgpt聊天页面设计和复制聊天数据。 往期微信小程序文章 小程序自定义微信昵称和头像 小程序制作…

微信小程序ChatGpt流式响应

最近用微信小程序做chatGpt的Ai对话,其中重要的一点就是流式响应,现在分享处理逻辑,先给演示图。 下面是关键代码实现逻辑 const that this;const requestTask wx.request({url: xxxxx,responseType: "arraybuffer",method: POST…

ChatGPT正式开放API,企微接入平台上线

ChatGPT正式开放API,企微接入平台上线 前言接入方法Demo 前言 这几天,OpenAI正式开放ChatGPT API的消息又再次火爆AI界的朋友圈了吧,并且开放的是已经应用到 ChatGPT 产品中的gpt-3.5 - turbo模型。不仅如此,让开发者更兴奋的是C…