【奶奶看了都會】Meta開源大模型LLama2部署使用教程,附模型對話效果

1.寫在前面
就在7月19日,MetaAI開源了LLama2大模型,Meta 首席科學(xué)家、圖靈獎獲得者 Yann LeCun在推特上表示Meta 此舉可能將改變大模型行業(yè)的競爭格局。一夜之間,大模型格局再次發(fā)生巨變。

推文上列了Llama2的網(wǎng)站和論文,小卷給大家貼一下,感興趣的友友可以自己看看
站點:https://ai.meta.com/llama/
論文:https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/
Github頁:https://github.com/facebookresearch/llama
2.LLama2是什么
Llama官網(wǎng)的說明是Llama2下一代開源大語言模型,可免費用于學(xué)術(shù)研究或商業(yè)用途。
目前模型有7B、13B、70B三種規(guī)格,預(yù)訓(xùn)練階段使用了2萬億Token,SFT階段使用了超過10w數(shù)據(jù),人類偏好數(shù)據(jù)超過100w。

另外大家最關(guān)心的Llama2和ChatGPT模型的效果對比,在論文里也有提到,
對比GPT-4,Llama2評估結(jié)果更優(yōu),綠色部分表示Llama2優(yōu)于GPT4的比例

雖然中文的占比只有0.13%,但后續(xù)會有一大推中文擴充詞表預(yù)訓(xùn)練&領(lǐng)域數(shù)據(jù)微調(diào)的模型被國人放出。這不才開源幾天而已,GIthub上就已經(jīng)有基于Llama2的中文大模型了。。。
3.部署使用
關(guān)于LLama2的技術(shù)細節(jié)就不再多說了,大家可以自行查閱。接下來就教大家怎么自己玩一玩LLama2對話大模型。
大部分人都是沒有本地GPU算力的,我們選擇在云服務(wù)器上部署使用。我這里用的是攬睿星舟平臺的GPU服務(wù)器(便宜好用,3090只要1.9/小時,且已在平臺上預(yù)設(shè)了模型文件,無需再次下載)新用戶注冊時的碼寫 4104 哦,還能白嫖2小時的算力
3.1新建空間
登錄:https://www.lanrui-ai.com/console/workspace
創(chuàng)建一個工作空間,運行環(huán)境鏡像掛載公有鏡像:pytorch: official-torch2.0-cu1117。選擇預(yù)訓(xùn)練模型:llama-2-7b 和 llama-2-7b-chat。然后創(chuàng)建實例

3.2下載代碼
實例創(chuàng)建完成后,以jupyterLab方式登錄服務(wù)器,新建一個Terminal,然后進入到data
目錄下
?cd data
下載代碼
執(zhí)行下面的命令從GIthub上拉取llama的代碼
?sudo git clone https://github.com/facebookresearch/llama.git
下載完成后,會多一個llama
目錄

3.3運行腳本
進入llama
目錄
?cd llama
安裝依賴
?sudo pip install -e .
測試llama-2-7b模型的文本補全能力
命令行執(zhí)行:
?torchrun --nproc_per_node 1 example_text_completion.py \
? ? ? --ckpt_dir ../../imported_models/llama-2-7b/Llama-2-7b \
? ? ? --tokenizer_path ../../imported_models/llama-2-7b/Llama-2-7b/tokenizer.model \
? ? ? --max_seq_len 128 --max_batch_size 4
文本補齊效果示例:

上面的例子是在python腳本里寫了一段話,讓模型補全后面的內(nèi)容。
測試llama-2-7b模型的對話能力
修改llama目錄權(quán)限為777,再修改example_chat_completion.py
文件中的ckpt_dir
和tokenizer_path
路徑為你的llama-2-7b-chat
模型的絕對路徑
?// 1.修改目錄權(quán)限為可寫入
?chmod 777 llama
?
?//2.修改example_chat_completion.py文件里的參數(shù)
?ckpt_dir: str = "/home/user/imported_models/llama-2-7b-chat/Llama-2-7b-chat/",
?tokenizer_path: str = "/home/user/imported_models/llama-2-7b-chat/Llama-2-7b-chat/tokenizer.model"
?
?//3.運行對話腳本
?torchrun --nproc_per_node 1 example_chat_completion.py

這里我修改提示語讓它用中文回答,執(zhí)行對話腳本后,對話效果如下:
?torchrun --nproc_per_node 1 example_chat_completion.py

說明:目前官方還沒有提供UI界面或是API腳本代碼給咱使用,還沒法進行對話交互,如果有懂python的友友,可以自行加個UI界面,歡迎大家留言討論。
4.下載更多模型
llama代碼里有download.sh
腳本可以下載其他模型,但是下載需要的URL需要自行獲取。下載步驟如下:
1.Meta AI網(wǎng)站獲取下載URL
MetaAI下載模型頁地址:https://ai.meta.com/llama/#download-the-model

點擊Download后,要求填入一些信息和郵箱,提交后會給你的郵箱發(fā)一個下載URL,注意這個是你自己的下載鏈接哦~
下圖是小卷郵箱里收到的模型下載鏈接

2.下載模型
服務(wù)器上命令行執(zhí)行
?sudo bash download.sh
接著按照提示粘貼下載URL和選擇要下載的模型

總結(jié)
對于國內(nèi)大模型使用來說,隨著開源可商用的模型越來越多,國內(nèi)大模型肯定會再次迎來發(fā)展機遇。
文章原創(chuàng)不易,歡迎多多轉(zhuǎn)發(fā),點贊,關(guān)注
也歡迎關(guān)注我的公眾號卷福同學(xué)