无需GPU无需网络“本地部署chatGPT”(更新中文模型)

news/2024/4/29 12:20:04/文章来源:https://blog.csdn.net/weixin_45569617/article/details/129553293

想当初图像生成从DELL到stable diffusion再到苹果的移动部署过了两三年吧
聊天bot才发展几个月就可以边缘部署了,如果苹果更新silicon,npu和运存翻倍,争取apple watch也能本地内置,最快ios18 mac、ipad、iPhone能内置吧
又是一个平民百姓都高兴的开源项目,chatGPT这种级别的模型甚至能部署到树莓派上运行,然后在操作的过程中也遇到一些问题,这篇就是记录步数的这个过程。
最近github那边更新了,我踩坑遇到的问题已经不痛用了,但我暂时又没时间研究这个,干脆好人做到底,把未更新的代码贴在下面。
已经为最新版的github更新了(2023.4.7),可以放心食用,不用下载下面的老代码链接了。

链接: https://pan.baidu.com/s/1J9FBxSDhmBcqAnHx3rGhEQ 提取码: q5xv
–来自百度网盘超级会员v6的分享
然后配合下面的模型百度云链接,大家应该就可以自己搭建语言模型了。

大佬的网址:https://github.com/ggerganov/llama.cpp

下载及生成

打开命令行输入下面的指令

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make#对于Windows和CMake,使用下面的方法构建:
cd <path_to_llama_folder>
mkdir build
cd build
cmake ..
cmake --build . --config Release

在这里插入图片描述

模型下载

我觉得模型下载是最麻烦的,还好有别人给了

git clone https://huggingface.co/nyanko7/LLaMA-7B

好吧我直接给百度云
链接: https://pan.baidu.com/s/1ZC2SCG9X8jZ-GysavQl29Q 提取码: 4ret
–来自百度网盘超级会员v6的分享

在这里插入图片描述

然后安装python依赖,然后转换模型到FP16格式。然后第一个小bug会出现。

python3 -m pip install torch numpy sentencepiece# convert the 7B model to ggml FP16 format
python3 convert-pth-to-ggml.py models/7B/ 1

在这里插入图片描述

他会报找不到文件。
在这里插入图片描述
打开convert-pth-to-ggml.py文件,修改"/tokenizer.model"的路径,再运行python3 convert-pth-to-gaml.py ./models/7B 1,我顺便名字也改了。
在这里插入图片描述

文件找到了,然后出现第二个bug。。。。。
在这里插入图片描述

我一开始找不出问题,后来对比原网址和7B文件夹里的文件,才发现文件大小根本都不一样,我说几十个G的东西怎么git这么。
打开网站下图这个网址,点红色框的那两个下载。替换掉7B文件夹里的那两个文件。
在这里插入图片描述

在这里插入图片描述

将模型再转换成4位格式

# quantize the model to 4-bits
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.bin 2

在这里插入图片描述

推理

# run the inference
./main -m ./models/7B/ggml-model-q4_0.bin -n 128

在这里插入图片描述

想和chatGPT一样对话的话用下面这个指令,-n 控制回复生成的最大长度, --color是区分ai和人类的颜色,-i 作为参数在交互模式下运行, -r 是一种反向提示,-f 是一整段提示, --repeat_penalty 控制生成回复中对重复文本的惩罚力度,–temp 温度系数,值越低回复的随机性越小,反之越大。
更新了之后速度快了很多。

./main -m ./models/7B/ggml-model-q4_0.bin -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt

让我们打开prompts/chat-with-bob.txt来看一下。
在这里插入图片描述

我们可以看到这相当于给了ai模型一个场景话题,然后你和ai之间就可以接着这个话题聊天。

我英文名叫zale,然后我把这个机器人叫作kangaroo,这样的身份和他聊天,你可以按自己的喜欢自己修改下面的代码。

./main -m ./models/7B/ggml-model-q4_0.bin -n 256 --repeat_penalty 1.0 --color -i -r "Zale:" \

写一个txt文件

"Transcript of a dialog, where the Zale interacts with an Assistant named Kangaroo. Kangaroo is helpful, kind, honest, good at writing, and never fails to answer the Zale's requests immediately and with precision.Zale: Hello, Kangaroo.
Kangaroo: Hello. How may I help you today?
Zale: Please tell me the largest city in Europe.
Kangaroo: Sure. The largest city in Europe is Moscow, the capital of Russia.
Zale:"

在这里插入图片描述

有点呆呆的,不过也算边缘部署的巨大进步了!
一个蛮有意思的发现,明明看得懂中文却跟我说不懂中文。。。。。
在这里插入图片描述
分享一段有意思的对话
在这里插入图片描述

中文部署

哈工大的github
https://github.com/ymcui/Chinese-LLaMA-Alpaca

git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.git

下载中文模型,但这不是llama.cpp要输入的模型,官方的说明是llama的中文补丁模型,需要和原版的llama/alpaca模型合并才能使用。
在这里插入图片描述

安装依赖

pip install git+https://github.com/huggingface/transformers
pip install sentencepiece
pip install peft

为了方便起见,我把llama原文件也放到了这里
在这里插入图片描述

还有一些注意事项
在这里插入图片描述

查看sha256,每个平台查看方式略微不同,可以上网搜一下如何查看sha256
在这里插入图片描述

整理一下llama原文件的路径
在这里插入图片描述

我是将transformers下载到conda里了,路径有点长。你就是找到你的convert_llama_weights_to_hf.py文件的路径就好。

python /Users/kangaroo/miniconda3/envs/pytorch/lib/python3.10/site-packages/transformers/models/llama/convert_llama_weights_to_hf.py \--input_dir ./llama_7b \--model_size 7B \      --output_dir ./llama_hf

在这里插入图片描述

合并模型

python scripts/merge_llama_with_chinese_lora.py \--base_model ./llama_hf \                   --lora_model ./chinese_llama_lora_7b \             --output_dir ./cn_llama 

在这里插入图片描述

再把这个文件夹复制到llama.cpp/models 中
在这里插入图片描述

回到llama.cpp里重新量化

python convert-pth-to-ggml.py models/cn_llama/ 1./quantize ./models/cn_llama/ggml-model-f16.bin ./models/cn_llama/ggml-model-q4_0.bin 2

有点话痨,我直接掐掉了,之后再看看

./main -m ./models/cn_llama/ggml-model-q4_0.bin -n 48 --repeat_penalty 1.0 --color -i -r "Zale:" -f prompts/chat-with-zale.txt

在这里插入图片描述

./main -m models/cn_llama/ggml-model-q4_0.bin --color -f ./prompts/alpaca.txt -ins -c 2048 --temp 0.2 -n 256 --repeat_penalty 1.3

在这里插入图片描述

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

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

相关文章

手把手教会你如何通过ChatGPT API实现上下文对话

前言 ChatGPT最近热度持续高涨&#xff0c;已经成为互联网和金融投资领域最热门的话题。 有的小伙伴可能需要在公司搭建一套ChatGPT系统&#xff0c;那使用ChatGPT的API显然是最好的选择。 不过ChatGPT的API都是无状态的&#xff0c;没有对话管理的功能。 你调用API发送一个…

文心一言(中国版ChatGPT)内测申请体验

百度十年&#xff0c;汇成一言 文心一言 文心一言&#xff08;英文名&#xff1a;ERNIE Bot&#xff09;是百度全新一代知识增强大语言模型&#xff0c;文心大模型家族的新成员&#xff0c;能够与人对话互动&#xff0c;回答问题&#xff0c;协助创作&#xff0c;高效便捷地帮…

用ChatGPT生成openAI全景报告

“云孚科技基于业内领先的自然语言处理、知识图谱、语义匹配、智能写作等技术&#xff0c;打造了云孚开源情报系统YFINT&#xff0c;并结合ChatGPT模型成果&#xff0c;重磅推出OpenAI调研报告。”ChatGPT简介 2022年11月30日&#xff0c;总部位于旧金山的OpenAI推出了其最新作…

干货!​如何打造我们自己的“ChatGPT”?| 大佬思辨

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入&#xff01;火爆全网的ChatGPT究竟是什么&#xff1f;为什么这么强&#xff1f;ChatGPT会取代搜素引擎吗&#xff1f;ChatGPT凸显的能力会是metaverse的有力支撑吗&#xff1f;ChatGPT的火爆背后, AI发展路向何方?2022年12月…

ChatGPT 工具论 我能用它做什么

​ 前言 bing版ChatGPT现在已经可以使用了。试用下来&#xff0c;相较于原版本ChatGPT&#xff0c;更加流畅&#xff0c;数据库也是最新的&#xff0c;在这里梳理下它能为我做什么。 1.搜索代码片段 我目前最想用过的功能就是这个&#xff0c;以前在CSDN上太难找到直接可以用…

天润融通首席科学家田凤占:如何客观看待ChatGPT在智能客服领域的商业化落地?

天润融通首席科学家田凤占&#xff1a;如何客观看待ChatGPT在智能客服领域的商业化落地&#xff1f; 2012年到2022年&#xff0c;AI革命历经了十年的黄金发展期。从互联网、金融、汽车、工业制造&#xff0c;再到医疗健康、零售、物流等&#xff0c;AI技术在现实生活中的应用持…

ChatGPT Prompt工程:设计、实践与思考

作者 | 太子长琴 整理 | NewBeeNLP大家好&#xff0c;这里是 NEewBeeNLP。ChatGPT 火爆出圈了&#xff0c;有些人惊叹于它的能力&#xff0c;当然也有部分人觉得也就那样。这就不得不提 Prompt 了&#xff0c;据说【相关文献1】&#xff0c;ChatGPT 效果好不好完全取决于你的 P…

如何使用ChatGPT开发Unity小游戏

写在前面 首先我们需要知道ChatGpt的语料学习机制&#xff0c;所以为了让它更加“精准扶贫”&#xff0c;钥匙君建议大家在提问之前先引导它进入你想要它成为的角色&#xff0c;ChatGpt在国外已经被“玩坏”&#xff0c;在游戏领域也切实提高了不少码农的工作效率&#xff0c;…

漫画科普ChatGPT:绝不欺负文科生

图文原创&#xff1a;亲爱的数据 你所热爱的&#xff0c;都值得拥有一个名字。 世界上里程碑式计算机&#xff0c;问世之时大多拥有自己的名字。 我认为&#xff0c;假如计算机的诞生是元年&#xff0c;下一个元年将会是“奇点”。 不是比特币&#xff0c;不是虚拟现实&…

【ChatGPT】基于GO语言实现的微信聊天和图片生成机器人

ChatGPT-DreamStudio WeChat Robot &#x1f3a8;基于GO语言实现的微信聊天和图片生成机器人&#x1f3a8; 个人微信接入ChatGPT&#xff0c;实现和GPT机器人互动聊天&#xff0c;同时支持基于文本生成图像。支持私聊回复和群聊艾特回复。 GitHub源代码地址 实现功能 GPT机…

微软发布ChatGPT 版必应 用的是 .NET 技术

微软在今天在Redmond 线下举办媒体一场活动&#xff0c;发布了新版的微软必应&#xff0c;在桌面上推出了测试版&#xff0c;移动版也即将推出。微软首席执行官纳德拉称Al-powered搜索为公司自云15年以来最大的事情。2023年1月初&#xff0c;微软已经在讨论将OpenAI的技术纳入W…

python 调用 chatgpt

1. 安装 openai 的包&#xff1a; 我们在 pycharm 中安装包 pip3 install openai 2. 我们查找 chatgpt 账户的 api 的 key 1. 首先我们进入到官网&#xff1a; OpenAI 2. 接下来我们点击 api 即可&#xff1a; 3. 查找自己账户的 key&#xff1a; 我们依次点击 Personal &…

在Matlab上用API调用chatgpt模型

在这个快节奏的数字时代 深度学习技术正逐渐成为大家的热门话题 如果你也是一名程序员或者科研工作者 那么你一定听说过GPT模型 是一种非常流行的自然语言处理模型 各大平台都已经接入了ChatGpt模型 将其应用各行对应的领域 下面介绍如何在Matlab中使用API调用chtgpt模型…

ChatGPT|一文读懂GPT-4!

前言 大家好&#xff0c;我是小满同学&#xff0c;感谢各位的点赞、收藏、评论 今天早上一早醒来&#xff0c;发现各大科技圈公众号平台开始刷屏OpenAI发布的新模型GPT4.0&#xff0c;看这个版本号就已经知道又是一大波特性的更新 于是立马起来开始学习&#xff01; GPT-4 发…

ChatGPT为什么可以取代那么多职位?

最近的ChatGPT段子满天飞&#xff0c;以至于&#xff0c;不聊ChatGPT咱都不好意思在社交媒体上发言了。 这种力度的出圈&#xff0c;各种长期离线好友&#xff0c;甚至我妈都来问我&#xff0c;这是啥玩意啊&#xff1f; “十年老友&#xff0c;不请自来”&#xff1f;这架势&…

ChatGPT快速开始 (Node版本)

近期公司大佬让我调研一下ChatGPT&#xff0c;虽然网络上已经热火朝天了&#xff0c;感觉很多人都在应用它&#xff0c;但是ChatGPT 对大多数人来说依旧是一个很陌生的东西&#xff0c;对我来说也是。只能一点点的去了解去学习&#xff0c;浅显的先从账号注册、接口调用来看一看…

抱抱脸:ChatGPT背后的算法——RLHF | 附12篇RLHF必刷论文

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。前几天&#xff0c;抱抱脸公司&#xff08;HuggingFace&#xff09;发表了一篇博客[1]&#xff0c;详细讲解了ChatGPT背后的技术原理——RLHF。笔者读过之后&#xff0c;觉得讲解的还是蛮清晰的&#xff0c;因此提炼了一下核心脉络&a…

工具 | VSCode+ChatGPT 编程利器

本文首发微信公众号&#xff1a;全副武装的大师兄&#xff08;一个分享前沿技术&#xff0c;生活感受的公众号&#xff0c;关注我&#xff0c;率先了解好玩的工具&#xff09; 托了GPT同学的福&#xff0c;最近编程时&#xff0c;常会在ChatGPT中说明自己的需求以生成代码&…

Java调用ChatGPT(基于SpringBoot),实现可连续对话和流式输出的ChatGPT API(可自定义实现AI助手)

目录1. 配置阶段1.1 依赖引入1.2 配置application.yml文件1.3 注解添加2 使用2.1 生成回答2.1.1 测试2.2 生成图片2.2.1 测试2.3 下载图片2.3.1 测试2.4 生成流式回答2.4.1 流式回答输出到IDEA控制台2.4.2 流式回答输出到浏览器页面3 AI助手展示本文Demo地址&#xff1a;https:…

奇舞周刊第486期:ChatGPT 的狂飙之路

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■ChatGPT 的狂飙之路最近随着 ChatGPT 爆火出圈&#xff0c;网络上各种关于 ChatGPT 的争论声也不断&#xff1b;有些人把它当成一个更高级的聊天机器人&#xff0c;有人兴奋地看到了创…