最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

apple sillicon在llama.cpp下運行l(wèi)lama2過程

2023-08-11 11:31 作者:畫面  | 我要投稿

蘋果芯片下部署大模型算是比較小眾,所以寫一篇過程,記錄一下。llama2的模型比較大,可以通過申請下載。llama2在mac的部署分為兩種,其中一種是text generation webui,text generation是比較全面的工具,支持多種模型讀取形式,包括transformer,llama.cpp,exllama,?另外一種是直接使用llama.cpp。

首先,講一下為什么不建議直接用text generation webui的方式搭建,因為text generation的llama.cpp調(diào)用是通過llama-cpp-python(一種python wrapper),llama-cpp-python不一定會指向本地的llama.cpp(llama.cpp的更新速度很快,llama-cpp-python不一定跟得上),有可能會導致llama.cpp下轉換的llama2模型在text generation webui無法正確讀出,或者即使能夠使用,但是沒有mps加速。hugging-face下TheBloke提供了一批轉換過的llama2模型,但是這些在text generation webui下不支持mps加速。fp16下,帶mps加速的會比不帶mps加速的快3倍。

過程分為幾步,環(huán)境的搭建,模型性能調(diào)優(yōu),寫提示。

環(huán)境搭建

安裝的大致順序如下:

xcode - > vscode -> brew -> python -> github desktop

github desktop把llama.cpp clone到本地,可以隨時更新最新版本。

在llama.cpp目錄下pip install?-r requirement.txt 下載依賴庫,并把mps選項打開編譯安裝。

模型性能調(diào)優(yōu)

默認70b,使用python convert.py 模型路徑,把模型轉換為ggml。

使用如下./main -m ./models/70B/ggml模型文件.bin -gqa 8?-ngl 1 -t 線程數(shù)量 進行試運行。

運行的log如果有metal performance,mps則成功被調(diào)用,否則重新打開mps選項并編譯llama.cpp。在mps打開的情況下,線程數(shù)量不一定是mac的線程最大值為最快,一般來說,t為2/3*tmax為最優(yōu)。gqa在70b下強制為8,否則會報錯。ngl設為一個大于等于1的數(shù)值,就可以打開mps加速。

建議多做嘗試,并記錄速度,把參數(shù)調(diào)整至合適。

寫提示文本

在prompts下復制chat_with_bob.txt的文本,編寫提示詞,這一部是用來設置啟動時的提示詞,類似于text generation的角色卡。

最終運行

./main -m ggml模型文件?-gqa 8?-ngl?1 -t 16?-f 提示詞 -r "User:" --repeat_penalty 1.0 --color -i

其中,-r "User:"是提示文本的用戶輪。這里t為16,我試下來會更快一些。









apple sillicon在llama.cpp下運行l(wèi)lama2過程的評論 (共 條)

分享到微博請遵守國家法律
南投县| 乌兰县| 上林县| 府谷县| 昂仁县| 罗甸县| 新营市| 浦县| 威宁| 义乌市| 蓬莱市| 聂荣县| 龙山县| 泸水县| 梅河口市| 东乌珠穆沁旗| 武鸣县| 平昌县| 湘潭县| 门头沟区| 沂水县| 来安县| 喀喇沁旗| 南木林县| 宁陵县| 绥中县| 平泉县| 神池县| 耒阳市| 丹棱县| 彰武县| 兴安县| 池州市| 华宁县| 唐河县| 扎鲁特旗| 清丰县| 怀仁县| 孟州市| 赤城县| 新乡县|