如何本地部署ChatGPT大模型

共 3455字,需浏览 7分钟

 ·

2024-03-25 19:30


一、介绍 二、iPhone本地部署 三、LLaMa2本地部署 四、Stable Diffusion本地部署 五、ChatGLM部署     5.1 前置安装     5.2 修改代码     5.3、运行



美东时间11月6日举行的OpenAI首届开发者大会(OpenAI DevDay)上,OpenAI宣布,推出自定义版本的ChatGPT,这种由用户定制版本的ChatGPT都简称为GPT。从周二当天开始,用户可以打造自己的GPT,并且公开分享。




此外,Runway的视频生成工具Gen-2也推出新功能“Motion Brush”(运动笔刷),该功能可以通过手势控制生成内容的运动,无需输入文字,大有颠覆未来视频和电影制作行业的趋势,人人都是电影制作导演。




Turbo版GPT 4也迎来了更大的优化加强,各AI公司产品也层出不穷,Polycam发布3DGS、OpenAI发布Dall·E3同款解码器Consistency Decoder、Meetups.AI推出OpenAI助手目录、NousResearch推出长文本语境模型Yarn-Mistral-7b-128k,上周算得上AI春晚了。




而Sam Altman 在大会收尾中暗示,OpenAI 正在进行下一轮重大创新,到时候所有人会发现今天发布的东西是如此的不值一提。



如果说上周之前有人说GPT在未来会取代程序员我还会觉得可笑,那么AI春晚后再有人说这句话我就会倍感焦虑了。


所以计划后续进行一些GPT相关的学习与分享,包括资讯、应用等。


本文会介绍一些本地部署训练一些大模型的方案,主要包括ChatGLM、LLaMa2、AI绘图工具Stable Diffusion、以及一个iOS的本地大模型应用。


一、介绍


什么是GPT?ChatGPT最基本的原理其实就在它的名称中,GPT (Generative Pre-training Transformer)。



  • Chat 聊天


  • G  Generative 生成


  • P  Pre-training 预训练


  • T  Transformer



而与之有鲜明对比的是智普AI开源的ChatGLM-6B,其原理是GLM(General Language Model),虽然跑起来有类似ChatGPT的效果,但在原理上是天差地别,但由于其参数量只有6B大小,且对中文语料支持友好,算得上是个人部署的最佳选择。


此外还有复旦开源的MOSS,Meta开源的LLaMa等。


由于运行依赖GPU,虽然使用CPU也可以部署,但生成速度会非常慢。


二、iPhone本地部署


首先推荐一种最简单的安装部署方式,如果你使用iOS,那么可以使用LLMFarm,安装后只需要下载模型导入即可,详细操作可以参考该项目Readme。


https://github.com/guinmoon/LLMFarm

















聊天机器人 模型 生成内容
1f153ede6231caacf4a7ca55cd8bd71a.webp 89345a74c44469ac8d38aefb755f5832.webp 0be14b5583e71f913f5204135c58ac7e.webpcontent3

三、LLaMa2本地部署


LLaMA2-7B默认是cuda模式,需要基于GPU来训练运行,对个人用户支持不友好,好在@ggerganov(此人还移植了whisper https://github.com/ggerganov/whisper.cpp)开源了C++实现的基于LLaMA跑在CPU上的版本,可以有效解决MacOS用户难处。


https://github.com/ggerganov/llama.cpp



  • clone代码




git clone https://github.com/ggerganov/llama.cpp




  • 进入项目目录




cd llama.cpp




  • 创建模型文件夹




mkdir models




  • 下载模型




https://huggingface.co/nyanko7/LLaMA-7B/tree/main




  • 下载后在models下新建7B目录,将模型放入




tokenizer.model放在models下;checklist.chk、consolidated.00.pth、params.json放在7B目录下。




  • 将模型转化为C++版本




python convert-pth-to-ggml.py models/7B/ 1



成功后7B目录下出现ggml-model-f16.bin



  • 执行make命令




项目目录下出现main.cpp文件




  • 使用




./main -m ./models/7B/ggml-model-f16.bin -p '帮我写一首诗'



bf0c77f650fe723f6fe274338991d235.webp


四、Stable Diffusion本地部署


Stable Diffusion目前有可以一键运行的包,个人只需要下载不同绘画风格的模型即可。


应用下载: https://github.com/AUTOMATIC1111/stable-diffusion-webui


模型下载: https://huggingface.co/runwayml/stable-diffusion-v1-5


下载后运行webui-user.sh即会提示本地运行端口与地址。


五、ChatGLM部署


5.1 前置安装



  • 安装Conda




https://www.paddlepaddle.org.cn/documentation/docs/zh/2.2/install/conda/macos-conda.html




  • 安装Git、Brew


  • LFS安装




https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage




https://git-lfs.com/




  • 下载glm源码




https://github.com/THUDM/ChatGLM2-6B




  • 下载glm2-6b模型




https://huggingface.co/THUDM/chatglm2-6b/tree/main




  • 安装mps




curl -O https://mac.r-project.org/openmp/openmp-14.0.6-darwin20-Release.tar.gz




sudo tar fvxz openmp-14.0.6-darwin20-Release.tar.gz -C /



5.2 修改代码


    


- - gpu


        tokenizer = AutoTokenizer.from_pretrained("/Users/?/Desktop/llm-model/chatglm2-6b", trust_remote_code=True)

        model = AutoModel.from_pretrained("/Users/?/Desktop/llm-model/chatglm2-6b", trust_remote_code=True).half().to('mps')


5.3、运行



python cli_demo.py




文中 链接请点击阅读原文访问。


浏览 178
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报