当前位置: 首页 > news >正文

零基础保姆级本地化部署文心大模型4.5开源系列

近两年随着大模型的迅猛崛起,吸引了各行各业的广泛关注,更对我们的工作方式与生活产生着显著积极影响。在这样一个技术范式转换的关键节点,百度文心大模型开源事件无疑具有里程碑意义——它不仅为中国自主研发的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!

http://www.dtcms.com/a/267700.html

相关文章:

  • Unity文件夹标签 —— FolderTag
  • SpinLock (TTAS) C-A-S 自旋锁实现原理
  • 人工智能学习60-Yolo
  • TCP协议概念和特性
  • cmd 的sftp传输;Conda出现环境问题: error: invalid value for --gpu-architecture (-arch)
  • Kotlin 协程:Channel 与 Flow 深度对比及 Channel 使用指南
  • 《自然语言处理:基于预训练模型的方法》-笔记
  • Java教程——深入学习guava之并发编程
  • 基于matlab的二连杆机械臂PD控制的仿真
  • 2025年5月-植物水分吸收和运输优化算法water uptake and transport-附Matlab免费代码
  • 数字地和模拟地
  • 使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
  • 白皮解读——173页数据安全治理白皮书5.0【附全文阅读】
  • 灵活应对市场波动的智能运营中枢​
  • leetcode918.环形子数组的最大和
  • Spark SQL架构及高级用法
  • Java Go SDK 管理工具与最佳实践
  • 【汇编逆向系列】九、函数传参之结构体 - SHL、SHR指令,小型结构体参数和返回值
  • 《深度剖析:5G网络切片如何精准保障不同业务QoS需求》
  • PHP语法基础篇(九):正则表达式
  • 本机上搭一个HTTPS网站用什么工具?.NET self host支持吗?
  • Redis--黑马点评--达人探店功能实现详解
  • C++ 11中lock_guard和unique_lock的区别
  • 初识Linux:Linux开发工具gcc/g++和gdb以及Makefile的使用
  • Python小工具之PDF合并
  • Redux 扩展与标准化模板方案
  • LINUX75 LAMP
  • 字节一面整理
  • C++ 模板参数匹配、特化
  • 智能监控算法助力工厂高温高效管理