今日带咱们在自己的电脑(笔记本)上布置一个类似于 chatGPT 的 AI 谈天大模型。
布置完之后,你就具有了一个私人 AI 谈天机器人,无需联网,随时进行实时对话。
0. 简略说下背景
大模型咱们都不陌生了,可是以 chatGPT 为代表的大模型是闭源的,他们的源代码不开放,咱们只能用他们的商业化产品。
好在 Meta(也便是原来的 FaceBook) 开源了他们家的大模型 LLaMa。
之所以叫“大”模型,是因为它的参数量巨大。
以 LLaMa举比如,它开源了 LLaMa-7B, LLaMa-33B 等模型,后面的数字就代表着参数数量。
7B,就意味着参数有 70 亿,可是许多人微调后,发现它的作用却一点也不输具有几千亿的 chatGPT-3.5 模型。
可是参数量大,就会对计算机的算力有更高的要求,因此许多大模型,基本布置都是要求在 GPU 上进行。
后来有人为了在传统 CPU 电脑上运行大模型,就开发了比较牛的结构,咱们今日要用的,便是其中的一个明星产品:llama.cpp 。
它是悉数运用 C++ 言语来重写的 llama 项目,不像 python 那样需求依赖大量的包,显的臃肿。
而且这个 C++ 项目能够运用 CPU 的特性,完结模型的极致功能优化。
举个比如:llama.cpp 项目中,针对 Intel CPU 会运用 avx2 向量指令集来做优化。
avx2 指令集有些小伙伴可能不清楚,可是之前看过我的小册(计算机视觉从入门到调优)内容的同学肯定知道。
我在小册中就运用 avx2 指令集完结了对 resnet50 这个神经网络的功能优化,下图是小册中关于 avx2 部分的介绍。
总的来说,llama.cpp 项目不只能够运行在 CPU 上,而且对于电脑的配置要求也不高。
一般有 4G 以上的内存就够了,这点要求基本上许多笔记本都能够满足要求。
别的需求阐明的是,我自身很少用 Windows 和 MacOS 环境做开发,因此本篇文章以 Linux 环境来介绍,而且默认咱们熟悉 Linux 操作。
假如没有Linux 环境,能够参考这篇文章快速搭建一个:不必虚拟机,10 分钟快速在 windows 下装置 linux 系统。
至于 Windows 和 MacOS 环境的布置,能够去项目主页检查阐明自行完结,llama.cpp 项目主页:github.com/ggerganov/l…
好了,话不多说,咱们直接开端,以下 3 步轻松搞定。
1、下载 llama.cpp 源码并编译
以下一切指令均在 Linux Ubuntu 环境下履行。
假如短少 Linux 指令,运用 `sudo apt-get install` 来装置。
假如短少 python 包,运用 `pip3 install `指令来装置。
首要,运用 git 下载 llama.cpp 源码。
git clone git@github.com:ggerganov/llama.cpp.git
下载完结后,进入 llama.cpp 目录。
cd llama.cpp
履行 make 指令,完结编译。
make
编译完结后,在 llama.cpp 目录下,会看到一个名称为 main 的可履行文件,这个便是等会要发动谈天的履行文件。
只需网络链接没问题,这一步很快就能够完结。
2. 下载量化后的模型文件
许多文章把这部分讲复杂了,我今日看了一些文章感觉也很吃力,跟别提新手了。
所以这部分我不计划介绍任何知识点,咱们不必关心什么是量化操作,直接下载一个已经量化好的模型运用就行。
这一步需求从 huggingface (这是一个专门保存大模型的网站) 下载大模型(首要便是70 亿的参数)。
第一次下载估量许多人都会遇到问题,因此,我直接给出可行的过程,一定按过程来做。
仿制以下 3 条指令,在 Linux 环境下履行:
pip3 install -U huggingface_hubpip install -U "huggingface_hub[cli]" export HF_ENDPOINT=https://hf-mirror.com
简略来说便是拜访 huggingface 的国内镜像网站,而不去拜访国外的 huggingface 网站。
履行完上面两步后,履行:
huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF llama-2-7b-chat.Q4_K_M.gguf --local-dir .
该指令会直接把模型文件下载到履行该指令的目录下,主张以上一切指令都在 llama.cpp 根目录下履行。
从上面的指令中咱们能够看出,下载的是 llama-2-7b 模型,也便是有着 70 亿参数的那个模型。
需求阐明一下,由于模型文件比较大,这一步下载时刻会比较长,耐心等待即可,中途假如有问题能够多尝试几次。
3、开端谈天吧
下载完模型后,就能够直接开端谈天了。
在 llama.cpp 目录下履行:
./main -m llama-2-7b-chat.Q4_K_M.gguf -c 4096 --temp 0.7 --repeat_penalty 1.1 -i
就会进入谈天交互界面,在交互界面里,就开端你的畅聊体会吧,你能够问这个模型任意问题,由它来答复。
比如,我问了一个问题:“Three birds in the tree, i killed one by a gun, how many birds left?”
模型竟然先反问了我一下,承认是不是这个问题,在我答复“yes”后,它才开端答复。
通过以上这 3 步就完结了大模型布置,是不是感觉挺简略的?
需求阐明的是,上面的示例中我下载的是 llama-7b 模型,它还不支持中文。
假如你想要进行中文对话,能够去 hugging-face 网站上找一些支持中文的模型来下载,其他的过程不变。
假如你想体会商用的 chatGPT-4,能够参考这个文章去晋级GPT:手把手教你免费晋级 GPT-4。
好啦,今日关于如何在 CPU 上布置大模型的介绍到这,假如体会成功的小伙伴记住回来点个赞哦。