近兩年隨著大模型的迅猛崛起,吸引了各行各業的廣泛關注,更對我們的工作方式與生活產生著顯著積極影響。在這樣一個技術范式轉換的關鍵節點,百度文心大模型開源事件無疑具有里程碑意義——它不僅為中國自主研發的AI技術底座打開了通向世界的大門,更以"開源共享、協同創新"的開放姿態,為千行百業的數字化轉型注入了強勁動能,為數智化經濟時代添上濃墨重彩的一筆。
站在技術革命的潮頭,你是否已感受到智能時代撲面而來的機遇?或許你正面臨技術門檻的困擾,或是在實踐過程中屢遇阻礙,尚未能順利搭乘這趟智能化的高速列車。莫急,本教程將全方位帶領大家零基礎部署文心大模型開源系列,無論你是剛入行的小白,還是尋求技術轉型的資深開發者,本次分享都將助力你進入大模型的世界,讓你少走彎路,確保一次性部署成功,即刻擁有自己的大模型服務。閑話少敘,直接上干貨。
一、部署環境介紹
本教程文心大模型開源系列部署,基于如下軟硬件環境,請大家參考,盡量保持一致哈。
- 操作系統:Ubuntu Linux 24.04.2 LTS
- GPU:NVIDIA RTX 4090 [可選]
- CUDA版本:12.6
- cuDNN:9.10
- Python版本:3.10
注:請務必確認自己的NVIDIA GPU是否支持CUDA12.6
二、如何確認GPU是否支持CUDA
打開Shell終端,輸入如下命令:
nvidia-smi
輸出內容如下圖所示:
注:只要這里顯示的CUDA版本號 ≥ 12.6 即可。
三、安裝步驟
不要畏懼AI大模型,它沒有那么難,也沒那么高不可攀。只要按如下順序流程逐步操作,成功部署 So Easy!
本教程致力于將AI復雜的部署流程標準化、流程化、簡單化。
注:本教程的相關Shell命令輸入,以root用戶執行。
1、準備階段
為防范因操作系統潛在漏洞或組件版本過舊而引發不必要的困擾與問題,請先將其升級到最新版本。
打開Shell終端,輸入如下命令:
sudo apt update && sudo apt upgrade -y
輸出如下圖所示:
靜待升級完成...(此時可以先去喝杯咖啡,工作的同時,不耽誤享受生活 O(∩_∩)O)
2、安裝GPU顯卡驅動
- 確認顯卡型號
????????打開Shell終端,輸入如下命令:
lspci | grep -i nvidia
? ? ? ? 輸出如下圖所示,GPU為:RTX 4090:
- 查詢可用的顯卡驅動程序
????????輸入如下命令:
ubuntu-drivers devices
? ? ? ? 輸出如下圖所示:
- 安裝驅動
????????請安裝系統推薦的顯卡驅動,以確保驅動程序的穩定性與后續升級的平滑性。
????????輸入如下命令:
sudo apt install nvidia-driver-570
? ? ? ? 輸出如下圖所示:
注:驅動下載與安裝時長,取決于你的網絡狀況,靜靜等待吧...(夏天喝杯冰美式,清涼一下)
- 驅動安裝完成后,請重啟電腦【重要】
????????記住哦!重啟操作不可省!輸入此命令即可:
sudo reboot
- 驗證驅動是否安裝成功
? ? ? ? 輸入如下命令:
nvidia-smi
? ? ? ? 輸出下圖內容,說明安裝成功。Perfect!?O(∩_∩)O
3、安裝CUDA
Linux安裝CUDA比Windows要方便很多,坑也少。下面采用在線安裝方式(官方推薦的方式),請確保你的網絡正常,且給力哦!安裝時長和網速有關。
- 依次執行如下幾條命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.3/local_installers/cuda-repo-ubuntu2404-12-6-local_12.6.3-560.35.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-12-6-local_12.6.3-560.35.05-1_amd64.deb
命令執行到這里,注意屏幕的輸出內容,如下所示:
劃重點:不用問為什么,直接復制執行即可。
繼續執行如下命令:
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
注:執行到最后1條命令,才是真正開始安裝CUDA啦!
- 添加CUDA到環境變量
? ? ? ? 請復制如下內容,將其添加到系統環境變量文件?/etc/profile
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
? ? ? ? 添加完畢后,請執行如下命令,讓環境變量立即生效。
source /etc/profile
- 驗證CUDA是否安裝成功
? ? ? ? 輸入如下命令:
nvcc --version
? ? ? ? 輸出如下內容,即表示安裝成功。(很棒哦!距離成功,又進一步!)
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Oct_29_23:50:19_PDT_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0
4、安裝cuDNN
和CUDA的安裝方式非常相似,且比它還簡單,前面的安裝OK,這里就更 So Easy!
逐一按順序執行如下命令即可:
wget https://developer.download.nvidia.com/compute/cudnn/9.10.2/local_installers/cudnn-local-repo-ubuntu2404-9.10.2_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.10.2_1.0-1_amd64.deb
和CUDA一樣,按屏幕輸出,復制它并執行。
繼續執行如下命令:
sudo apt-get update
sudo apt-get -y install cudnn
至此,cuDNN安裝完畢,是否很簡單呢?O(∩_∩)O
5、安裝miniConda
miniConda用于創建python的虛擬環境,方便多個python環境的共存性與隔離性。一般實戰中,都會這么搭建python環境。
- 下載安裝包,并安裝
? ? ? ? 請依次輸入如下命令:
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh
chmod 755 Miniconda3-py310_24.3.0-0-Linux-x86_64.sh && ./Miniconda3-py310_24.3.0-0-Linux-x86_64.sh
注:安裝過程,根據提示一步步來即可,類似于Windows安裝程序時的 “下一步”。
安裝成功后,如下圖所示:
- 添加miniConda到環境變量
????????請復制如下內容,將其添加到系統環境變量文件?/etc/profile
export PATH=$PATH:/opt/miniconda/bin
? ? ? ? 然后執行如下命令,讓其立即生效。
source /etc/profile
- 初始化miniConda
? ? ? ? 執行初始化命令:
conda init
- 配置Conda國內源
????????(1)生成配置文件?.condarc
?(其位置在用戶根目錄下)
conda config --set show_channel_urls yes
????????(2)將如下內容,復制到用戶目錄下的?.condarc
?文件中
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/clouddeepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
????????(3)清除索引緩存,確保用的是鏡像站提供的索引
conda clean -i
- 配置Pip國內源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- 查詢conda配置信息
conda info
6、安裝FastDeploy
FastDeploy 2.0版本,作為文心大模型推理與部署的生產級工具,極大的降低了我們使用大模型的門檻。
(1)基于miniConda創建Python環境
????????創建python 3.10環境,并將其命名為fastdeploy
conda create -n fastdeploy python==3.10
(2)切換到fastdeploy環境
conda activate fastdeploy
(3)安裝PaddlePaddle
? ? ? ? 輸入如下命令:
python -m pip install paddlepaddle-gpu==3.1.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
????????驗證安裝是否成功
python -c "import paddle; paddle.utils.run_check()"
? ? ? ? 輸出如下內容,表示安裝成功
Running verify PaddlePaddle program ...
I0705 17:09:09.105798 15416 pir_interpreter.cc:1524] New Executor is Running ...
W0705 17:09:09.106809 15416 gpu_resources.cc:114] Please NOTE: device: 0, GPU Compute Capability: 8.9, Driver API Version: 12.8, Runtime API Version: 12.6
I0705 17:09:09.107347 15416 pir_interpreter.cc:1547] pir interpreter is running by multi-thread mode ...
PaddlePaddle works well on 1 GPU.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
(3)安裝FastDeploy
? ? ? ? 輸入如下命令:
python -m pip install fastdeploy-gpu -i https://www.paddlepaddle.org.cn/packages/stable/fastdeploy-gpu-86_89/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
四、部署文心大模型
1、使用ModelScope下載模型
文心大模型一覽表
https://www.modelscope.cn/models?name=PaddlePaddle/ERNIE-4.5-Paddle&page=1&tabKey=task注:大家可以訪問這個地址查看模型列表,下載自己需要的模型。
- 安裝ModelScope
pip install modelscope
- 下載文心大模型
? ? ? ? 本次教程使用到如下兩個模型,通過命令分別下載:
????????ERNIE-4.5-21B-A3B-Paddle
????????ERNIE-4.5-0.3B-Paddle
modelscope download --model PaddlePaddle/ERNIE-4.5-21B-A3B-Paddle
modelscope download --model PaddlePaddle/ERNIE-4.5-0.3B-Paddle
????????下載的模型,默認保存在如下圖所示目錄:
????????注:21B模型較大,請耐心等待。(距離成功僅一步之遙啦!按耐住激動的心情哦!)
- 移動模型到指定目錄
? ? ? ? 請將兩個模型移動至目錄??/opt/llm-ernie/baidu??,如下圖所示
?
2、部署ERNIE-4.5-21B-A3B-Paddle
(1)切換到目錄?/opt/llm-ernie/
cd /opt/llm-ernie/
(2)部署模型
python -m fastdeploy.entrypoints.openai.api_server \--model baidu/ERNIE-4.5-21B-A3B-Paddle \--port 8180 \--metrics-port 8181 \--engine-worker-queue-port 8182 \--max-model-len 32768 \--quantization 'wint4' \--max-num-seqs 32
部署成功后,如下圖所示:
(3)通過REST接口,調用模型
curl -X POST "http://172.16.3.17:8180/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "你是誰?"}]
}'
模型返回結果,如下圖所示:
3、部署ERNIE-4.5-0.3B-Paddle
文心4.5開源的10個模型,部署方式是一致的,只有一些參數差異而已。上面的會了,其它的就可以依葫蘆畫瓢嘍!O(∩_∩)O
(1)切換到目錄?/opt/llm-ernie/
cd /opt/llm-ernie/
(2)部署模型
python -m fastdeploy.entrypoints.openai.api_server \--model baidu/ERNIE-4.5-0.3B-Paddle \--port 8180 \--metrics-port 8181 \--engine-worker-queue-port 8182 \--max-model-len 32768 \--max-num-seqs 32
(3)通過REST接口,調用模型
? ? ? ? 我們用同一個問題,問下0.3B模型,看它回答是否有何不同呢。
curl -X POST "http://172.16.3.17:8180/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "你是誰?"}]
}'
????????模型返回結果,如下圖所示:
? ? ? ? 注:0.3B對同一個問題,回答每次不一樣,創造性思維比較活躍。
五、總結
文心大模型本地化部署呈現出顯著優勢:其響應速度令人印象深刻,相較此前部署的DeepSeek模型實現性能躍升。依托百度官方推出的FastDeploy大模型部署工具,企業可快速實現大模型工業化落地,部署流程兼具高效性與穩定性,為AI工程化實踐提供了標準化解決方案。
本次分享結束,是不是 So so Easy O(∩_∩)O? 感興趣的小伙伴們,趕快動手試試吧!
Enjoy It!