零基础保姆级本地化部署文心大模型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.pswp.cn/diannao/89951.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】PyCharm 2025.2 EAP 创建 Poetry 和 Hatch 环境的踩坑实录与反馈

https://youtrack.jetbrains.com/issue/PY-82407/Incorrect-Python-Version-and-Virtual-Environment-Path-When-Creating-Poetry-and-Hatch-Environments-via-GUI-in-PyCharm-2025.2-EAP 在 Python 开发的道路上,PyCharm 一直是我们信赖的开发利器。然而&#xff0…

ASP.NET Web Pages 安装使用教程

一、ASP.NET Web Pages 简介 ASP.NET Web Pages 是微软推出的一种轻量级 Web 开发框架,适合快速开发动态网站。它使用 Razor 语法,可以将 HTML 与 C# 或 VB.NET 无缝融合,特别适合初学者和小型项目。 二、Web Pages 与 MVC 的区别 特性Web …

基于 ethers.js 的区块链事件处理与钱包管理

币圈工具箱 bqbot.cn 月访问量达90whttps://bqbot.cn/jms.html (在线版地址) Event事件 检索事件 const { ethers } require("hardhat"); async function SearchEvent() {try {const provider new ethers.JsonRpcProvider("http://1…

SpringBoot系列—入门

目录 1 第一个SpringBoot程序 1.1 创建SpringBoot项目 1.2 选择SpringBoot版本和必要依赖 1.3 项目目录结构 1.4 编写Hello World代码 1.5 运行程序 1.6 不需要IDEA也能创建SpringBoot程序 1.7 部署程序 1.8 pom.xml依赖问题 1.9 无Maven选项问题 1.10 SpringBoot版…

你的Prompt还有很大提升

与AI协作,Prompt(提示词)是沟通的桥梁。一个优秀的Prompt能让AI的输出事半功倍,而一个模糊的Prompt则可能导致南辕北辙的结果。如果你觉得AI的回答不够精准、缺乏深度,或者总带着一股“AI味”,那很可能是你…

3、Configuring Topics

如果您在应用程序上下文中定义了KafkaAdmin bean,它可以自动向代理添加主题。为此,您可以将每个主题的NewTopicBean添加到应用程序上下文中。2.3版本引入了一个新的类TopicBuilder,使创建此类bean更加方便。以下示例显示了如何执行此操作&…

FastAPI+React19开发ERP系统实战第04期

一、效果预览 1.1 首页 1.2 首页暗黑模式 1.3 登录页 1.4 登录页暗黑模式 二、搭建React开发环境 2.1 项目依赖 package.json {"name": "erp-web","version": "1.0.0","description": "ERP系统前端 - React 19&quo…

数据库|了解达梦数据库并做安装前的准备

哈喽,你好啊,我是雷工! 你都用过哪些数据库? 使用过的数据库中觉得哪个数据库最好用? 你使用过达梦数据库吗? 最近在做的一个SCADA项目,要求信创版本,其中数据库也要使用信创目录…

Java驱动AI革命:Spring AI八篇进阶指南——从架构基础到企业级智能系统实战

系列文章目录 提示:下面列出了整个系列的完整目录,建议收藏本篇作为总览入口:本人将在7月份更新完毕 第一篇:Spring AI 概述与架构设计 第二篇:Spring AI 基本组件详解——ChatClient、Prompt、Memory 第三篇&#x…

hysAnalyser --- 支持菁彩视听双Vivid媒体信息解析

摘要 本文主要介绍 hysAnalyser 支持HDR Vivid格式的分析案例,满足用户分析HDR vivid 和 Audio Vivid格式的需要。 现将 hysAnalyser 新版本(v1.1.000)发布给网友使用,希望能帮助到更多音视频开发的爱好者。使用过程中,若遇到问题请您通过 G…

C++中NULL等于啥

文章目录 **一、`NULL` 的标准定义****二、常见实现方式**1. **定义为整数 `0`**2. **定义为 `0L` 或 `(void*)0`**(较少见)**三、与C语言的关键区别****四、`NULL` 在C++中的问题**1. **重载函数匹配歧义**2. **模板参数推导错误****五、C++11+ 的替代方案:`nullptr`****六…

pyhton基础【20】面向对象进阶一

目录 一.进阶 类方法和静态方法 属性(Properties) 继承和多态 抽象基类(Abstract Base Classes - ABCs) 魔术方法(Magic Methods) 组合和聚合 使用场景 二.私有属性 实现对数据的隐藏 设置私有属性 添加额外对属性操作的方法 三.私有方法 实现对方法的隐藏 直接…

渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集

目录 1. 整体流程与目标概述 2. 常用工具及其用途 2.1 扫描与枚举工具 2.2 情报与数据聚合工具 2.3 流量拦截与手工验证工具 3. 详细技术手法与步骤 3.1 准备阶段 3.2 主动扫描与指纹识别 3.3 数据交叉验证与漏洞确认 3.4 进一步渗透与隐蔽操作 4. 实际工作经验与注…

ASP.NET代码审计 MVC架构 SQL注入漏洞n

接口路由 /Maintenance/GetMaintenanceList MaintenanceController.cs代码 Maintenance 控制器里面的 GetMaintenanceList 方法 接收参数 id 传进 MaintenanceManager.GetMaintenanceList 方法调用 MaintenanceManager.cs代码 这里 id 和 faultId 不一样是不影响的 C# 按顺序匹…

Python入门Day4

Python中数据的常用操作 数据拷贝 根据以下代码可以看出l1和l2实际上都是对于数据的引用,当l1被改变了,l2也会发生同样的改变,l2 l1只是将l2指向了l1所指向的地址。 >>> l1 [1,2,[3,4],[5,6]] >>> l2 l1 >>>…

计算机网络中的常用表项梳理

核心表项对比 表项 全称 工作层级 主要功能 涉及设备 典型生命周期 MAC表 媒体访问控制表 数据链路层(二层) Mac地址和端口关系 交换机、网桥 动态学习 FDB表 转发数据库 (Forwarding DataBase) 数据链路层&#xf…

百度轮岗:任命新CFO,崔珊珊退居业务二线

文 | 大力财经2025 年 7 月 1 日,百度组织再次变革,崔珊珊退居二线引发的行业关注。百度创始人李彦宏发布的内部信,宣布的新一轮组织调整里,崔珊珊退居二线这一变动,格外引人瞩目。崔珊珊,这位在百度人力资…

TAMPER-RTC(STM32F103) 引脚说明

我来查看ST官方手册中关于TAMPER-RTC引脚的具体说明。 Ran tool Ran tool Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_spec…

BUUCTF在线评测-练习场-WebCTF习题[极客大挑战 2019]HardSQL1-flag获取、解析

解题思路 打开靶场、熟悉的感觉 上次是过滤了很多字符,用了双写绕过进行注入即可,这次进阶了难度 先老规矩判断下闭合 11 123 报错提示 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version…

MyBatis动态SQL进阶:复杂查询与性能优化实战

引言 在复杂业务场景中&#xff0c;SQL查询往往需要动态拼接条件、复用代码片段&#xff0c;并支持批量操作。MyBatis的动态SQL功能提供了强大的解决方案&#xff0c;本文将深入解析<choose>条件分支、<sql>片段复用、批量操作优化等核心技巧&#xff0c;助你写出高…