LLAMA2在不同系統(tǒng)上運行的結果
LLAMA2 在windows 上運行的結果
LLAMA2 在Mac上運行的結果
安裝Llama2的不同方法
方法一:
?編譯 llama.cpp
克隆 llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
通過conda 創(chuàng)建或者venv. 下面是通過conda 創(chuàng)建的。
conda create --name llama_test python=3.9
conda activate llama_test
安裝python依賴的包
pip3 install -r requirements.txt
編譯llama.cpp
mac
LLAMA_METAL=1 make
windows , 用powershell 運行 make
下載llama2模型
直接在huggingface里下載量化了的 gguf格式的llama2模型。
https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/tree/main
我下載的是llama-2-7b-chat.Q4_0.gguf
拷貝llama-2-7b-chat.Q4_0.gguf 到llama.cpp目錄里的models目錄里
運行模型
如果是windows,要用powershell
./main -m ./models/llama-2-7b-chat.Q4_0.gguf --color --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1.1 -t 8
方法二:
Meta已將llama2開源,任何人都可以通過在meta ai上申請并接受許可證、提供電子郵件地址來獲取模型。 Meta 將在電子郵件中發(fā)送下載鏈接。
下載llama2?
- 獲取download.sh文件,將其存儲在mac上
- 打開mac終端,執(zhí)行 chmod +x ./download.sh 賦予權限。
- 運行 ./download.sh 開始下載過程
- 復制電子郵件中的下載鏈接,粘貼到終端
- 僅下載13B-chat
安裝系統(tǒng)依賴的東西
必須安裝 Xcode 才能編譯 C++ 項目。 如果您沒有,請執(zhí)行以下操作:
xcode-select --install
接下來,安裝用于構建 C++ 項目的依賴項。
brew install pkgconfig cmake
最后,我們安裝 Torch。
如果您沒有安裝python3,請通過以下方式安裝
brew install python@3.11
像這樣創(chuàng)建一個虛擬環(huán)境:
/opt/homebrew/bin/python3.11 -m venv venv
激活 venv。
source venv/bin/activate
安裝 PyTorch:
pip install --pre torch torchvision --extra-index-url https://download.pytorch.org/whl/nightly/cpu
編譯 llama.cpp
克隆 llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
安裝python依賴包
pip3 install -r requirements.txt
編譯
LLAMA_METAL=1 make
如果你有兩個arch (x86_64, arm64), 可以用下面指定arm64
arch -arm64 make
將下載的 13B 移至 models 文件夾下的 llama.cpp 項目。
將模型轉換為ggml格式
13B和70B是不一樣的。 Convert-pth-to-ggml.py 已棄用,請使用 Convert.py 代替
13B-chat
python3 convert.py --outfile ./models/llama-2-13b-chat/ggml-model-f16.bin --outtype f16 ./models/llama-2-13b-chat
Quantize 模型:
In order to run these huge LLMs in our small laptops we will need to reconstruct and quantize the model with the following commands, here we will convert the model’s weights from float16 to int4 requiring less memory to be executed and only losing a little bit of quality in the process.
13B-chat:
./quantize ./models/llama-2-13b-chat/ggml-model-f16.bin ./models/llama-2-13b-chat/ggml-model-q4_0.bin q4_0
運行模型
./main -m ./models/llama-2-13b-chat/ggml-model-q4_0.bin -t 4 -c 2048 -n 2048 --color -i -r '### Question:' -p '### Question:'
您可以使用 -ngl 1 命令行參數(shù)啟用 GPU 推理。 任何大于 0 的值都會將計算負載轉移到 GPU。 例如:
./main -m ./models/llama-2-13b-chat/ggml-model-q4_0.bin -t 4 -c 2048 -n 2048 --color -i -ngl 1 -r '### Question:' -p '### Question:'
在我的 Mac 上測試時,它比純 cpu 快大約 25%。
其它
ggml格式的llama2
如果你下載的是ggml格式的, 要運行下面命令轉換格式
python convert-llama-ggml-to-gguf.py --eps 1e-5 -i ./models/llama-2-13b-chat.ggmlv3.q4_0.bin -o ./models/llama-2-13b-chat.ggmlv3.q4_0.gguf.bin
(llama) C:\Users\Harry\PycharmProjects\llama.cpp>python convert-llama-ggml-to-gguf.py --eps 1e-5 -i ./models/llama-2-13b-chat.ggmlv3.q4_0.bin -o ./models/llama-2-13b-chat.ggmlv3.q4_0.gguf.bin
* Using config: Namespace(input=WindowsPath('models/llama-2-13b-chat.ggmlv3.q4_0.bin'), output=WindowsPath('models/llama-2-13b-chat.ggmlv3.q4_0.gguf.bin'), name=None, desc=None, gqa=1, eps='1e-5', context_length=2048, model_metadata_dir=None, vocab_dir=None, vocabtype='spm')
=== WARNING === Be aware that this conversion script is best-effort. Use a native GGUF model if possible. === WARNING ===
- Note: If converting LLaMA2, specifying "--eps 1e-5" is required. 70B models also need "--gqa 8".
* Scanning GGML input file
* File format: GGJTv3 with ftype MOSTLY_Q4_0
* GGML model hyperparameters: <Hyperparameters: n_vocab=32000, n_embd=5120, n_mult=256, n_head=40, n_layer=40, n_rot=128, n_ff=13824, ftype=MOSTLY_Q4_0>
=== WARNING === Special tokens may not be converted correctly. Use --model-metadata-dir if possible === WARNING ===
* Preparing to save GGUF file
This gguf file is for Little Endian only
* Adding model parameters and KV items
* Adding 32000 vocab item(s)
* Adding 363 tensor(s)
gguf: write header
gguf: write metadata
gguf: write tensors
* Successful completion. Output saved to: models\llama-2-13b-chat.ggmlv3.q4_0.gguf.bin
參考資料
GitHub - facebookresearch/llama: Inference code for LLaMA models文章來源:http://www.zghlxwxcb.cn/news/detail-744705.html
A comprehensive guide to running Llama 2 locally –?Replicate文章來源地址http://www.zghlxwxcb.cn/news/detail-744705.html
到了這里,關于在Windows或Mac上安裝并運行LLAMA2的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!