LLM大模型服务器端部署

本文介绍了如何下载并使用MobaXterm连接服务器、WinSCP进行文件传输,以及如何安装和管理Anaconda环境,包括conda的创建、激活和包管理。还涉及了CUDA和D-Bus在部署模型时遇到的问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


下载终端工具

首先,我们要下载一个软件,叫MobaXterm,在这个软件上可以连接到服务器,通过指令操作服务器。

下载文件传输工具

上面的MobaXterm是用来操纵服务器跑代码的,但是在文件上传和下载这方面还不是很方便,咱们再下载一个专门用来处理文件的软件

安装anaconda

下载anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

安装anaconda

bash Anaconda3-2023.09-0-Linux-x86_64.sh

一直敲Enter直到出现以下询问,点击yes

安装目录确认:

确认安装成功

anaconda --version
## or
conda -V

【已解决】bash: conda: command not found_-bash: conda: 未找到命令_一白梦人的博客-优快云博客

conda 创建新环境使用

conda create -n baichuan2  #创建名为“baichuan2”的环境
conda activate baichuan2   #激活环境
conda info --envs          #查看当前活跃的环境
conda list                 #查看当前环境安装的包和版本
conda install numpy scikit-learn  #安装指定的包
conda env remove -n 'env_name'    #删除指定的环境
conda env list            #查看所有的环境

问题?

  • conda activate chatglm-6b
conda: error: argument COMMAND: invalid choice: 'activate' 
(choose from 'clean', 'compare', 'config', 'create', 'info', 'init', ...
  • 最新版conda移除了activate;
source activate chatglm-6b

ChatGLM-6b 部署

安装依赖包

pip install -r requirements.txt

从本地加载模型

参考官方可以先将模型下载到本地,然后从本地加载。

python -c "import torch; print(torch.cuda.is_available())"
# 检查cuda是否正常 正常情况下,这里输出false需要重新安装torch
pip uninstall torch -y
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch -y
python -c "import torch; print(torch.cuda.is_available())"

pip uninstall gradio  -y
pip install gradio==3.44.4
pip uninstall charset-normalizer  -y
pip install   charset-normalizer==3.2.0
pip uninstall typing-extensions -y
pip install --upgrade typing-extensions 
pip install chardet
python -c "from PIL import Image"
# 可能会报错 ImportError: DLL load failed while importing _imaging: 找不到指定的模块 需要重新安装Pillow
pip uninstall Pillow -y
pip install --upgrade  pillow
python -c "from PIL import Image"

运行模型

网页版Demo

修改web_demo.py中的模型所在的位置,改为绝对地址;

tokenizer = AutoTokenizer.from_pretrained("E:\\xxx\\xxx\\chatglm\\chatglm-6b", trust_remote_code=True, revision="")
model = AutoModel.from_pretrained("E:\\xxx\\xxx\\chatglm\\chatglm-6b", trust_remote_code=True, revision="").half().cuda()

执行web代码;

python web_demo.py

问题?

START /usr/bin/firefox "http://127.0.0.1:7861/"
Failed to open connection to "session" message bus: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
Running without a11y support!

这个错误信息提示系统连接到 D-Bus 会话总线时出现问题。
要解决此问题,您可以尝试将 DBUS_SESSION_BUS_ADDRESS 环境变量设置为正确的值。以下是设置步骤:

  1. 打开终端窗口。
  2. 输入以下命令并按 Enter 键:
echo $DBUS_SESSION_BUS_ADDRESS
  1. 如果输出为空或不正确,可以通过运行以下命令设置变量:
export DBUS_SESSION_BUS_ADDRESS=export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
  1. 再次尝试运行程序,查看错误是否已解决。
    如果上述步骤无法解决问题,您可能需要检查 D-Bus 守护程序是否正常运行或重新安装 D-Bus 包。

问题?Running without a11y support!

  • 这个问题还没解决
命令行Demo
  1. 修改 cli_demo.py 中的模型地址;
  2. 执行程序
python cli_demo.py

问题?

RuntimeError: CUDA out of memory. Tried to allocate 128.00 MiB (GPU 0; 31.75 GiB total capacity; 9.50 GiB already allocated; 78.12 MiB free; 9.50 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

看一看GPU卡使用情况

nvidia-smi

指定GPU卡

CUDA_VISIBLE_DEVICES=1 python cli_demo.py
运行结果

The end

关注我
集群智能,聚合智慧
创造无限可能

本文由mdnice多平台发布

### 服务器端部署大模型的最佳实践和工具 在服务器端部署大模型是一项复杂而重要的任务,涉及多个技术和方法的选择。以下是关于最佳实践和常用工具的详细介绍: #### 1. **优化模型结构** 为了提高性能并减少资源消耗,可以利用稀疏化技术来移除冗余权重[^2]。通过 TensorFlow Model Optimization Toolkit 提供的功能,能够有效降低模型大小而不显著影响精度。 ```python import tensorflow as tf import tensorflow_model_optimization as tfmot model = ... # 加载原始模型 pruning_params = { 'pruning_schedule': tfmot.sparsity.keras.PolynomialDecay( initial_sparsity=0.5, final_sparsity=0.8, begin_step=0, end_step=10000 ) } optimized_model = tfmot.sparsity.keras.prune_low_magnitude(model, **pruning_params) ``` #### 2. **选择合适的框架和支持库** 对于大规模模型的高效服务化,推荐使用支持分布式推理和服务化的框架,例如 Hugging Face 的 `Transformers` 和 NVIDIA 的 `NeMo` 或者 `TensorRT`。这些工具有助于加速 GPU 上的推理过程,并提供灵活的服务接口。 - 使用 PyTorch Lightning 进行训练后的模型导出到 ONNX 格式以便更高效的推理。 - 利用 TensorRT 对深度学习网络进行图形级优化,从而提升吞吐量和延迟表现。 #### 3. **容器化与自动化管理** Docker 容器技术可以帮助实现环境隔离以及一致性的交付流程。Kubernetes 是一种强大的编排平台,它允许动态扩展实例数量以适应负载变化需求。结合 Helm Chart 可简化配置文件管理和版本控制问题。 #### 4. **本地化部署方案** 如果目标是在单机或多节点集群环境中完成整个生命周期操作,则可参考书籍《ChatGLM3 大模型本地化部署、应用开发与微调》,其中涵盖了从零构建至实际项目落地所需的知识体系[^1]。 另外,也可以借助 Ollama 工具快速搭建测试环境,在命令行执行如下指令即可加载指定预训练好的 LLM 并立即投入使用[^4]: ```bash ollama run llama3 ``` #### 5. **边缘计算场景下的考量** 随着 AI 技术进步加上移动端硬件能力增强,越来越多的应用倾向于将部分甚至全部逻辑迁移至客户端处理。这种方式不仅减少了带宽占用还增强了隐私保护水平[^3]。然而需要注意的是并非所有业务都适合纯 Edge ML 架构设计;因此需权衡功耗预算、实时性要求等因素后再做决定。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值