学习实践-Vicuna【小羊驼】(部署+运行)
1、Vicuna【小羊駝】-FastChat"更快的對話" 介紹
3 月底,UC伯克利開源大語言模型Vicuna來了,這是一個與 GPT-4 性能相匹配的 LLaMA 微調版本。“缺啥補啥缺啥練啥,傻子也突出”!
Vicuna 使用從 ShareGPT 收集的用戶共享數據對 LLaMA 模型進行微調(ShareGPT 是一個 ChatGPT 數據共享網站,用戶會上傳自己覺得有趣的 ChatGPT 回答)。利用ShareGPT的7萬對話數據對LLaMA微調。
Vicuna訓練硬件:8塊 A100 80G的GPU(比Alpaca訓練花銷便宜一半)
相對于Alpaca 進行了如下改進:
1.內存優化:將最大上下文長度從 512 擴展到 2048,利用梯度檢查點和閃存注意力來解決內存壓力問題。
2.多輪對話:該研究調整訓練損失以考慮多輪對話,并僅根據聊天機器人的輸出計算微調損失。
3.通過 Spot (SkyPilot)實例降低訓練成本。
結果:Vicuna 比 Alpaca 的生成質量更好,速度也更快。仍然不擅長涉及推理或數學的任務
運行界面:
2、Vicuna【小羊駝】實戰
FastChat模型GitHub代碼地址
部署步驟如下:(注意使用的是Linux系統單片3090,如若嘗試用Windows請注意內存是否充裕(至少>30G))
創建并配置FastChat虛擬環境
1.前置軟件Git
sudo apt install git2.創建FastChat虛擬環境
conda create -n fastchat python=3.9 #官網要求Python版本要>= 3.8,注意不要安裝錯版本了 conda activate fastchat3.安裝PyTorch
pytorch官方網址
安裝完后進行如下測試(可忽略)
conda activate fastchat python >>> import torch >>> print(torch.__version__) 1.13.1+cu116 >>> print(torch.version.cuda) 11.6 >>> exit()4.安裝 FastChat
pip install fschat5.安裝 huggingface/transformers
不可省略:在fastchat項目下,打開pyproject.toml文件,移除掉dependencies中的transformers(紅框內容刪除)
(上面沒有成功時才考慮)嘗試平替
手動下載https://github.com/huggingface/transformers
6.下載 LLaMA
百度PaddlePaddle(7B的模型) https://aistudio.baidu.com/aistudio/datasetdetail/203425/0
請注意:下載的解壓、保存文件的路徑中 ,不要有中文、特殊符號等。
7. 轉換LLaMA的文件,構建FastChat對應的模型Vicuna
#進入到huggingface/transformers項目中,利用transformers中的代碼,完成對LLaMA的轉換 cd src/transformers/models/llama/convert_llama_weights_to_hf.py#不需要指令,手動打卡即可 #--input_dir指定的是剛才你下載好的LLaMA文件地址,這個路徑下有個tokenizer.model文件,請仔細核對一下 #--model_size指定用哪個參數數量級的模型,7B代表的是70億個參數的那個模型(如果你用的種子鏈接下載的話,還有13B/30B/65B的模型) #--output_dir是轉換后輸出的路徑修改convert_llama_weights_to_hf.py文件,添加default變量后執行即可。
8.生成FastChat對應的模型Vicuna
生成Vicuna模型,即將原始的LLaMA weights轉為Vicuna weights
前提:保證內存充足!
Vicuna-13B 需要大約60GB內存
Vicuna-7B 需要大約30GB內存
修改apply_delta.py文件,注意一定要刪掉required(紅框)內容或改為false,因為true指的是命令框輸入。
請注意!請注意!請注意!
vicuna-7b-delta-v1.1不是v0!!!
遇到個小錯誤
提示我protobuf版本過高,因此uninstall一下后創新install,成功!
9.啟動FastChat
找到cli.py進行修改
執行
按照上述步驟走正常內存夠用就不會出錯!如若有問題的話歡迎評論區留言,大家互相探討學習!
總結
以上是生活随笔為你收集整理的学习实践-Vicuna【小羊驼】(部署+运行)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何打造有战斗力的团队
- 下一篇: 敏锐嗅出商机,她瞄准花卉市场的空白,将花