30 分钟纯本地 CPU 搭建自己的 GPT Vicuna 离线版并让它写高考英语作文

30分钟纯本地CPU搭建自己的GPTVicuna离线版并让它写高考英语作文

我不得不承认,它写的作文比我好。我认为英语教育培训行业,法律行业,医疗会是第一批受到冲击的行业。

无需联网,也不用花钱,一台24G内存的台式机或笔记本即可。

最小安装要求:经过测试,2018 年的 Thinkpad X1 carbon 16G 内存可以跑起来,但是很卡,因为虚拟机只能使用 75%的整体内存。24G 内存应该是个不错的起点了,不需要显卡,cpu 4 核以上应该就够了。

测试环境:AMD2600, 48G 内存,1070Ti(纯 CPU,显卡没用上,显卡版正在研究,暂时有些依赖包没搞明白)。实测输出速度大概每秒 3-4 个词,基本和 New Bing 接近。

软件环境 win10LTSC,用 powershell 安装 WSL-Ubuntu 系统,WSL 简单来说就是一个跑在 windows10 上的 linux 内核,用来进行开发测试很方便,安装或删除也很快,1-2 分钟就好了,最关键的是不影响本地系统。

难点是国内的网络环境*载下**外国的各种包,我大概花了几个晚上*载下**模型,实际安装可能一共用了不到 30 分钟,这三十分钟大部分是*载下**各种依赖包花掉的,本文使用的各种依赖包我已经尽量替换成了国内的清华源了,*载下**会快不少。但是还是会有个别包需要到 github *载下**的情况,各位只能去网页下或者各显神通了。

安装好后的命令行界面

30分钟纯本地CPU搭建自己的GPTVicuna离线版并让它写高考英语作文

CPU 和内存占用

30分钟纯本地CPU搭建自己的GPTVicuna离线版并让它写高考英语作文

问一些英语学习的问题:教我如何打全英文的电话给老外?

30分钟纯本地CPU搭建自己的GPTVicuna离线版并让它写高考英语作文

让 AI 写 2022 年的北京高考英语作文

以李华的身份给外国学生 jim 写一封邀请信,邀请其为自己的同学线上分享英语写作经验的交流会。

30分钟纯本地CPU搭建自己的GPTVicuna离线版并让它写高考英语作文

输出到字数会自己停下,你需要输入继续活着continue让他继续写

打开 powershell 输入安装 WSL Ununtu 的命令

wsl --install

替换软件源为清华源,

sudo vim /etc/apt/sources.list

进入 Vim 后按 i 进入插入模式,复制粘贴以下源内容, 按 esc 退出插入模式,接着按 :wq(冒号加上 w 和 q)保存退出

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

更新软件包

sudo apt update && sudo apt upgrade

从清华源*载下**miniconda,不然会很慢

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh --no-check-certificate

安装miniconda,帮你*载下**各种依赖包,管理环境用的

sh Miniconda3-latest-Linux-x86_64.sh

按住回车,yes, yes 重启终端后显示 (base)就是ok了创建配置文件 ``` touch .condarc ``` 添加清华源 ``` sudo vim .condarc ```

复制以下内容,再 i, esc, :wq

channels:

- defaults

show_channel_urls: true

default_channels:

- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r

- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

custom_channels:

conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

清除索引缓存

conda clean -i

检验是否成功

conda config --show

创建 conda 环境

conda create -n vicuna python=3.9

激活 conda 环境

conda activate vicuna

更新pip3的安装源到清华

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装fschat,Vicuna页面里让安的,不确定不安会怎样

pip3 install fschat

Vicuna 页面里让安的,不确定不安会怎样,这步可能要网络好才行

pip3 install git+https://github.com/huggingface/transformers

从 git 上直接*载下** zip 包复制到 home 个人文件夹内

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

cd llama.cpp-master

make

若失败提示缺少 gcc 和 g++的话运行如下

sudo apt install gcc

sudo apt-get install g++

抱抱脸 *载下** ggml-vicuna-13b-4bit-rev1.bin 放到 llama.cpp-master 里的 modules 里 https://huggingface.co/eachadea/ggml-vicuna-13b-4bit/tree/main

最后运行这个命令即可开启对话终端

./main -m ./models/ggml-vicuna-13b-4bit-rev1.bin --color -f ./prompts/alpaca.txt -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1 -t 7

关掉 wsl 环境,不关的话内存会一直占用着

wsl --shutdown

删除 ubuntu

wsl --unregister Ubuntu

开始菜单 Ubuntu 图标上右键删除

有疑问或者有更好的技术或建议欢迎评论区讨论交流,一起建立属于我们自己的开源MOSS。