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 克隆到本地。
1git clone https://github.com/ggerganov/llama.cpp.git
2cd llama.cpp
3pacman -S cuda //make sure you have CUDA installed
4make LLAMA_CUBLAS=1
如果沒有安裝 CUDA,可以參考下面的步驟:
1wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
2sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
3wget 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
4sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
5sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
6sudo apt-get update
7sudo apt-get -y install cuda
然後是建立 micromamba 環境,安裝 Python 和 PyTorch 等工具。
接着需要在 micromamba 環境下安裝一些包:
1export MAMBA_ROOT_PREFIX=(自定義安裝路徑)
2eval "$ ( micromamba shell hook --shell=bash ) "
3micromamba create -n mymamba
4micromamba activate mymamba
5micromamba install -c conda-forge -n mymamba pytorch transformers sentencepiece
然後運行 Python 腳本以執行轉換過程:
1python convert.py ~/ai/Safe-LLaMA-HF-v2 ( 4-04-23 ) /llama-13b/
之後将其量化爲 4bit 模式。
1./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 文本文檔,把提示詞輸入進去,然後就可以運行了。
1./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