如何本地部署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

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

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报