添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

Meta的大语言模型LLaMA 13B,现在用2060就能跑了~

羊驼家族的Alpaca和Vicuna也都能运行,显存最低只需要6G,简直是低VRAM用户的福音有木有。

GitHub上的搭建教程火了之后,网友们纷纷跑来问苹果M2是不是也能跑。



这通操作的大致原理是利用最新版CUDA,可以将Transformer中任意数量的层放在GPU上运行。

与此前llama.cpp项目完全运行在CPU相比,用GPU替代一半的CPU可以将效率提高将近2倍。

而如果纯用GPU,这一数字将变成6倍。



网友实测的结果中,使用CPU每秒能跑2.1个token,而用GPU能跑3.2个。



生成的内容上,开发者成功用它跑出了“尼采文学”。



如何操作

在开始搭建之前,我们需要先申请获得LLaMA的访问权限。

传送门:https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

此外还需要有一个Linux环境。(Windows用户可以用WSL2)

准备工作完成之后,第一步是将llama.cpp克隆到本地。

  • git clone https://github.com/ggerganov/llama.cpp.git
    cd llama.cpp
    pacman -S cuda //make sure you have CUDA installed
    make LLAMA_CUBLAS=1S=1

如果没有安装CUDA,可以参考下面的步骤:

  • wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
    sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
    wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
    sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
    sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    sudo apt-get -y install cuda

然后是建立micromamba环境,安装Python和PyTorch等工具。

接着需要在micromamba环境下安装一些包:

export MAMBA_ROOT_PREFIX=(自定义安装路径)
eval "$(micromamba shell hook --shell=bash)"
micromamba create -n mymamba
micromamba activate mymamba
micromamba install -c conda-forge -n mymamba pytorch transformers sentencepiece

然后运行Python脚本以执行转换过程:

  • python convert.py ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/

之后将其量化为4bit模式。

  • ./quantize ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/ggml-model-f16.bin ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/ggml-model-13b-q4_0-2023_14_5.bin q4_0 8

接着是新建一个txt文本文档,把提示词输入进去,然后就可以运行了。

./main -ngl 18 -m ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)
/llama-13b/ggml-model-13b-q4_0-2023_14_5.bin -f 文档名称.txt -n 2048q4_0 8

这步当中-ngl后面的数字是可以修改的,它代表了转换层的数量。

当该值为18时,运行中消耗的VRAM为5.5GB,根据显存的大小最高可以调至40。

网友:AMD不配吗

这一教程出现之后,网友们的新玩具又增加了。

“苦OpenAI久矣”的网友更是感觉仿佛找到了光。

这位网友就表示自己太期待在自己的设备上运行LLM了,宁愿花5千美元购置设备也不想给OpenAI交一分钱。



但AMD用户可能就不那么兴奋了,甚至透露出了嫉妒之情。

这套方法要用到CUDA(英伟达专用),所以AMD是不配了吗?



那么,你期待用自己的设备跑大语言模型吗?

参考链接:
[1].https://gist.github.com/rain-1/8cc12b4b334052a21af8029aa9c4fafc
[2].https://twitter.com/_akhaliq/status/1657779996247588865
[3].https://news.ycombinator.com/item?id=35937505