柚子快報(bào)邀請(qǐng)碼778899分享:qwen2.5
柚子快報(bào)邀請(qǐng)碼778899分享:qwen2.5
Qwen2.5
論文
無(wú)
模型結(jié)構(gòu)
Qwen2.5與qwen2模型結(jié)構(gòu)一致。就 Qwen2.5 語(yǔ)言模型而言,所有模型都在我們最新的大規(guī)模數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練,該數(shù)據(jù)集包含多達(dá) 18T tokens。相較于 Qwen2,Qwen2.5 獲得了顯著更多的知識(shí)(MMLU:85+),并在編程能力(HumanEval 85+)和數(shù)學(xué)能力(MATH 80+)方面有了大幅提升。此外,新模型在指令執(zhí)行、生成長(zhǎng)文本(超過(guò) 8K 標(biāo)記)、理解結(jié)構(gòu)化數(shù)據(jù)(例如表格)以及生成結(jié)構(gòu)化輸出特別是 JSON 方面取得了顯著改進(jìn)。 Qwen2.5 模型總體上對(duì)各種system prompt更具適應(yīng)性,增強(qiáng)了角色扮演實(shí)現(xiàn)和聊天機(jī)器人的條件設(shè)置功能。與 Qwen2 類似,Qwen2.5 語(yǔ)言模型支持高達(dá) 128K tokens,并能生成最多 8K tokens的內(nèi)容。
算法原理
Qwen2.5仍然是一個(gè)典型decoder-only的transformers大模型結(jié)構(gòu),主要包括文本輸入層、embedding層、decoder層、輸出層及損失函數(shù)。
環(huán)境配置
Docker(方法一)
推薦使用docker方式運(yùn)行, 此處提供光源拉取docker鏡像的地址與使用步驟
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.2-py3.10
docker run -it --shm-size=1024G -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name qwen2.5_72B_pytorch
cd /path/your_code_data/
cd LLaMA-Factory
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install e . -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install deepspeed-0.12.3+gita724046.abi1.dtk2404.torch2.1.0-cp310-cp310-manylinux_2_31_x86_64.whl
Tips:以上dtk驅(qū)動(dòng)、python、torch、vllm等DCU相關(guān)工具版本需要嚴(yán)格一一對(duì)應(yīng)。
Dockerfile(方法二)
此處提供dockerfile的使用方法
docker build -t qwen2.5:latest .
docker run -it --shm-size=1024G -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name qwen2.5_pytorch qwen2.5 bash
cd /path/your_code_data/
cd LLaMA-Factory
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install e . -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install deepspeed-0.12.3+gita724046.abi1.dtk2404.torch2.1.0-cp310-cp310-manylinux_2_31_x86_64.whl
Anaconda(方法三)
此處提供本地配置、編譯的詳細(xì)步驟,例如:
關(guān)于本項(xiàng)目DCU顯卡所需的特殊深度學(xué)習(xí)庫(kù)可從光合開(kāi)發(fā)者社區(qū)下載安裝。
DTK驅(qū)動(dòng):dtk24.04.2
python:3.10
torch:2.1.0
flash-attn:2.0.4
vllm:0.5.0
xformers:0.0.25
triton:2.1.0
deepspeed:0.12.3
apx:1.1.0
Tips:以上dtk驅(qū)動(dòng)、python、torch等DCU相關(guān)工具版本需要嚴(yán)格一一對(duì)應(yīng)
其它非深度學(xué)習(xí)庫(kù)參照requirement.txt安裝:
cd /path/your_code_data/
cd LLaMA-Factory
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install e . -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
數(shù)據(jù)集
使用alpaca_gpt4_zh數(shù)據(jù)集,已經(jīng)包含在data目錄中,具體文件為alpaca_gpt4_data_zh.json
訓(xùn)練數(shù)據(jù)目錄結(jié)構(gòu)如下,用于正常訓(xùn)練的完整數(shù)據(jù)集請(qǐng)按此目錄結(jié)構(gòu)進(jìn)行制備:
── data
├── alpaca_zh_demo.json
├── alpaca_en_demo.json
├── identity.json
└── ...
訓(xùn)練
使用LLaMA-Factory框架微調(diào)
單機(jī)單卡(LoRA-finetune)
# 注意:根據(jù)自己的模型切換.yaml文件中的模型位置并調(diào)整其他參數(shù)
# 單卡推理將模型改為較小size的模型地址
cd /path/your_code_data/
cd LLaMA-Factory
HIP_VISIBLE_DEVICES=0 FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/qwen2.5_lora_sft_ds3.yaml
單機(jī)多卡(LoRA-finetune)
4卡微調(diào)
#四卡微調(diào)72B模型需要使用ZeRO Offload 優(yōu)化的技術(shù),使用CPU來(lái)緩解部分GPU顯存占用
HIP_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/train_lora/qwen2.5_lora_sft_offload_ds3.yaml
8卡微調(diào)
#lora微調(diào)
llamafactory-cli train examples/train_lora/qwen2.5_lora_sft_ds3.yaml
推理
使用vllm框架推理
單機(jī)單卡
#注意:根據(jù)自己的模型切換文件中的模型位置并調(diào)整其他參數(shù)
cd /path/your_code_data/
python ./inference_vllm/Qwen2.5_7B_inference.py
單機(jī)多卡
python ./inference_vllm/Qwen2.5_72B_inference.py
其中,prompts為提示詞,model為模型路徑,tensor_parallel_size=4為使用卡數(shù)。
result
使用的加速卡:8張 K100_AI 模型:qwen2.5-72B
精度
模型:qwen2.5-72B
數(shù)據(jù): identity,alpaca_zh_demo,alpaca_en_demo
訓(xùn)練模式:LoRA finetune;zero3訓(xùn)練
硬件:8卡,k100 AI
在DCU上訓(xùn)練的收斂情況:
應(yīng)用場(chǎng)景
算法類別
對(duì)話問(wèn)答
熱點(diǎn)應(yīng)用行業(yè)
科研,教育,政府,金融
預(yù)訓(xùn)練權(quán)重
qwen2.5-7B模型下載SCNet鏈接
qwen2.5-7B-Instruct模型下載SCNet鏈接
qwen2.5-72B模型下載SCNet鏈接
qwen2.5-72B-Instruct模型下載SCNet鏈接
其他size的模型可在SCNet進(jìn)行搜索下載
源碼倉(cāng)庫(kù)及問(wèn)題反饋
ModelZoo / qwen2.5_pytorch · GitLab
參考資料
GitHub - hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100+ LLMs (ACL 2024)Qwen2.5: 基礎(chǔ)模型大派對(duì)! | QwenGitHub - QwenLM/Qwen2.5: Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud.
柚子快報(bào)邀請(qǐng)碼778899分享:qwen2.5
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。