簡(jiǎn)介
-
Llama2
2023年7月19日:Meta 發(fā)布開(kāi)源可商用模型 Llama2。Llama2 是一個(gè)預(yù)訓(xùn)練和微調(diào)的生成文本模型的集合,其規(guī)模從70億到700億個(gè)參數(shù)不等。
LLaMA2 的詳細(xì)介紹可以參考這篇文章:【大模型】更強(qiáng)的 LLaMA2 來(lái)了,開(kāi)源可商用、與 ChatGPT 齊平
-
Llama2-Chinese
Llama2中文社區(qū)
Llama2-Chinese GitHub地址
Llama2 中文 Hugging Face倉(cāng)庫(kù) FlagAlpha: https://huggingface.co/FlagAlpha
Llama2在線體驗(yàn)鏈接 llama.family
模型數(shù)據(jù):
中文微調(diào)參數(shù):
環(huán)境配置
環(huán)境搭建
-
系統(tǒng)環(huán)境
- Ubuntu 20.04LTS
- CUDA 11.8
- Docker 18.09.5
-
創(chuàng)建docker容器
拉取docker鏡像
docker pull nvcr.io/nvidia/pytorch:21.08-py3
創(chuàng)建docker
nvidia-docker run -it -d \
--name llama2_chinese \
-p 15550:15550 \
-p 15551:15551 \
-v /xx/xx/llm:/notebooks \
-e TZ='Asia/Shanghai' \
--shm-size 16G \
nvcr.io/nvidia/pytorch:21.08-py3
# docker exec -it llama2_chinese env LANG=C.UTF-8 /bin/bash
修改 /xx/xx/llm 為自己的路徑
進(jìn)入容器內(nèi):
docker exec -it llama2_chinese env LANG=C.UTF-8 /bin/bash
- 安裝conda
下載:
cd /notebooks
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安裝:
bash Miniconda3-latest-Linux-x86_64.sh
安裝提升安裝即可
將miniconda加入PATH路徑:
export PATH="/root/miniconda3/bin:$PATH"
創(chuàng)建 conda 環(huán)境:
conda create -n llama2 python=3.10.9
- 安裝依賴(lài)庫(kù)
conda activate llama2
conda init
exit退出docker,重新進(jìn)入docker
docker exec -it llama2_chinese env LANG=C.UTF-8 /bin/bash
cd /notebooks
conda activate llama2
依賴(lài)安裝
安裝依賴(lài)庫(kù):
pip install -r requirements-2.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
代碼及模型權(quán)重拉取
拉取 Llama2-Chinese
git clone https://github.com/FlagAlpha/Llama2-Chinese.git
github網(wǎng)站偶爾會(huì)抽風(fēng),需要耐心等待,如果失敗了,執(zhí)行 rm -rf Llama2-Chinese,再重新拉取
拉取 Llama2-Chinese-13b-Chat 模型權(quán)重及代碼
cd Llama2-Chinese
git clone git clone https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat
由于權(quán)重文件特別大,如果失敗了,執(zhí)行 rm -rf Llama2-Chinese-13b-Chat,再重新拉取。
建議中午時(shí)間拉取,速度比較快,大概 1 小時(shí)(和你的網(wǎng)絡(luò)帶寬有很大關(guān)系?。?/p>
文件大小查看:
du -sh Llama2-Chinese-13b-Chat
輸出:
25G Llama2-Chinese-13b-Chat
如果文件大小不一致,或者太小,說(shuō)明權(quán)重文件下載識(shí)別,
請(qǐng)執(zhí)行: rm -rf Llama2-Chinese-13b-Chat, 再重新拉取
或者 按照后面的方法去下載權(quán)重文件
查看文件列表:
ls -l Llama2-Chinese-13b-Chat/
輸出:
# ls -l Llama2-Chinese-13b-Chat/
total 25421840
-rw-r--r-- 1 root root 1514 Jul 27 06:33 README.md
-rw-r--r-- 1 root root 683 Jul 27 06:33 config.json
-rw-r--r-- 1 root root 327 Jul 27 07:12 down.sh
-rw-r--r-- 1 root root 175 Jul 27 06:33 generation_config.json
-rw-r--r-- 1 root root 9948728430 Jul 24 23:12 pytorch_model-00001-of-00003.bin
-rw-r--r-- 1 root root 9904165024 Jul 24 12:44 pytorch_model-00002-of-00003.bin
-rw-r--r-- 1 root root 6178983625 Jul 24 12:14 pytorch_model-00003-of-00003.bin
-rw-r--r-- 1 root root 33444 Jul 27 06:33 pytorch_model.bin.index.json
-rw-r--r-- 1 root root 414 Jul 27 06:33 special_tokens_map.json
-rw-r--r-- 1 root root 131 Jul 27 06:33 tokenizer.model
-rw-r--r-- 1 root root 749 Jul 27 06:33 tokenizer_config.json
【】如果大文件下載識(shí)別,按照下面的方法下載模型文件;
wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00001-of-00003.bin
wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00002-of-00003.bin
wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00003-of-00003.bin
如果還是沒(méi)法下載,參考下面的“國(guó)內(nèi) Llama2 最新下載地址” 進(jìn)行下載
終端測(cè)試
進(jìn)入python環(huán)境:
python3
輸入代碼:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('Llama2-Chinese-13b-Chat',device_map='auto',torch_dtype=torch.float16,load_in_8bit=True)
model =model.eval()
tokenizer = AutoTokenizer.from_pretrained('Llama2-Chinese-13b-Chat',use_fast=False)
tokenizer.pad_token = tokenizer.eos_token
input_ids = tokenizer(['<s>Human: 介紹一下深圳\n</s><s>Assistant: '], return_tensors="pt",add_special_tokens=False).input_ids.to('cuda')
generate_input = {
"input_ids":input_ids,
"max_new_tokens":512,
"do_sample":True,
"top_k":50,
"top_p":0.95,
"temperature":0.3,
"repetition_penalty":1.3,
"eos_token_id":tokenizer.eos_token_id,
"bos_token_id":tokenizer.bos_token_id,
"pad_token_id":tokenizer.pad_token_id
}
generate_ids = model.generate(**generate_input)
text = tokenizer.decode(generate_ids[0])
print(text)
頁(yè)面測(cè)試
使用 gradio 搭建頁(yè)面
安裝 gradio
pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
加載模型并啟動(dòng)服務(wù)
修改端口;
vi /notebooks/Llama2-Chinese/examples/chat_gradio.py
到94行:
demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")
修改為:
demo.queue().launch(share=False, debug=True, server_name="0.0.0.0", server_port=15550)
啟動(dòng)腳本:
python examples/chat_gradio.py --model_name_or_path Llama2-Chinese-13b-Chat
如果出現(xiàn)下面的錯(cuò)誤:
File "/notebooks/Llama2-Chinese/examples/chat_gradio.py", line 94
demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")
^
SyntaxError: invalid character ',' (U+FF0C)
則按照下面的步驟修改代碼:
vi /notebooks/Llama2-Chinese/examples/chat_gradio.py
:94
修改中文逗號(hào),為英文逗號(hào),
94 demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")
=>
94 demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")
-
測(cè)試
瀏覽器打開(kāi)地址:http://10.192.x.x:15550/文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-650811.html
國(guó)內(nèi) Llama2 最新下載地址
Llama2-7B官網(wǎng)版本:https://pan.xunlei.com/s/VN_kR2fwuJdG1F3CoF33rwpIA1?pwd=z9kf
Llama2-7B-Chat官網(wǎng)版本:https://pan.xunlei.com/s/VN_kQa1_HBvV-X9QVI6jV2kOA1?pwd=xmra
Llama2-13B官網(wǎng)版本:https://pan.xunlei.com/s/VN_izibaMDoptluWodzJw4cRA1?pwd=2qqb
Llama2-13B-Chat官網(wǎng)版本:https://pan.xunlei.com/s/VN_iyyponyapjIDLXJCNfqy7A1?pwd=t3xw
Llama2-7B Hugging Face版本:https://pan.xunlei.com/s/VN_t0dUikZqOwt-5DZWHuMvqA1?pwd=66ep
Llama2-7B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_oaV4BpKFgKLto4KgOhBcaA1?pwd=ufir
Llama2-13B Hugging Face版本:https://pan.xunlei.com/s/VN_yT_9G8xNOz0SDWQ7Mb_GZA1?pwd=yvgf
Llama2-13B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_yA-9G34NGL9B79b3OQZZGA1?pwd=xqrg
參考
1.https://github.com/FlagAlpha/Llama2-Chinese
2.https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/tree/main
3.https://github.com/facebookresearch/llama
4.https://huggingface.co/meta-llama文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-650811.html
到了這里,關(guān)于【AI實(shí)戰(zhàn)】開(kāi)源中文 llama2 來(lái)了,30 分鐘搭建 130 億參數(shù)大模型 Llama2-Chinese-13b-Chat的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!