ubuntun安装mmap
时间: 2023-11-26 09:06:30 浏览: 38
在 Ubuntu 中安装 `mmap`,需要先安装 `libboost-dev` 库。
可以使用以下命令安装 `libboost-dev`:
```
sudo apt-get install libboost-dev
```
然后安装 `mmap`:
```
sudo apt-get install libboost-iostreams-dev libboost-system-dev libboost-filesystem-dev
```
安装完成后,您可以在您的程序中使用 `mmap`。
相关问题
UBUNTU安装音频驱动
在Ubuntu中安装音频驱动可以使用OSS替换掉ALSA。具体步骤如下:
1. 确认Ubuntu开机时能听到“噔噔噔”的开机音乐。
2. 到http://www.opensound.com/download.cgi上下载官方驱动。
3. 安装OSS的deb,会提示卸载snd模块错误,直接忽略错误。
4. 在/etc/pulse/default.pa文件最后面添加一行:load-module module-oss device=”/dev/dsp” sink_name=output source_name=input mmap=0。
5. 安装gstreamer0.10-plugins-bad。
6. 在/etc/asound.conf文件中添加如下代码:
pcm.oss {
type oss
device /dev/dsp
}
pcm.!default {
type oss
device /dev/dsp
}
ctl.oss {
type oss
device /dev/mixer
}
ctl.!default {
type oss
device /dev/mixer
}
7. 执行sudo dpkg-reconfigure linux-sound-base,选择OSS,然后重启Ubuntu。
8. 开机时,仍然能听见“噔噔噔”开机音,且能看到“dev/dsp”设备,说明已经替换成功。
一台物理主机安装了 gtx 5090 独立显卡,128G 内存,4tb 的固态硬盘,想安装纯的 Ubuntu24.04 环境来运行 Kimi-Dev-72B 大模型,初步设想是 Ubuntu24.04 安装完毕升级,安装最新显卡驱动,安装 docker 配置 docker compose 安装 vllm,webui,kimi 等 如何部署详细说明每一步骤及注意的细节,最后想在 Ubuntu 24.04下如何配置持久化内存作为模型缓存,持久化内存与GPU显存协同加速LLM推理和Ubuntu 24.04下配置PMem为混合内存/存储模式,通过这些优化来提高效率
<think>我们面对的是一个复杂的系统部署任务,需要分步骤解决。用户的目标是在Ubuntu 24.04上部署Kimi-Dev-72B大模型,并配置持久化内存(PMem)优化推理性能。整个过程包括:
1. 安装最新NVIDIA显卡驱动
2. 配置Docker环境
3. 配置vLLM环境
4. 部署Kimi-Dev-72B模型
5. 设置持久化内存作为模型缓存,并配置混合存储模式
我们将分步骤详细说明。注意:由于涉及大模型,硬件要求较高(如显存、内存、持久化内存等),请确保硬件满足要求。
### 步骤1: 安装最新NVIDIA显卡驱动
在Ubuntu 24.04上安装NVIDIA驱动:
1. **更新系统包索引**:
```bash
sudo apt update
sudo apt upgrade -y
```
2. **识别显卡型号**:
```bash
lspci | grep -i nvidia
```
3. **安装依赖**:
```bash
sudo apt install build-essential libglvnd-dev pkg-config -y
```
4. **添加官方NVIDIA驱动仓库**:
```bash
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
```
5. **安装驱动**(推荐使用最新驱动,也可使用`ubuntu-drivers`自动选择):
```bash
# 查看可用驱动版本
ubuntu-drivers devices
# 安装推荐驱动(或指定最新版本,例如nvidia-driver-535)
sudo apt install nvidia-driver-535 -y
```
6. **重启系统**:
```bash
sudo reboot
```
7. **验证安装**:
```bash
nvidia-smi
```
应显示GPU状态和驱动版本。
### 步骤2: 配置Docker环境
1. **安装Docker**:
```bash
sudo apt install docker.io -y
sudo systemctl enable --now docker
```
2. **安装`docker-compose`**(v2格式):
```bash
sudo curl -SL https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
3. **将当前用户加入docker组**(避免每次sudo):
```bash
sudo usermod -aG docker $USER
newgrp docker # 刷新组权限(或重新登录)
```
### 步骤3: 配置vLLM环境
vLLM是一个高效的大模型推理服务框架。我们将使用Docker部署vLLM。
1. **拉取vLLM官方Docker镜像**:
```bash
docker pull vllm/vllm-openai:latest
```
2. **准备模型目录**(用于挂载持久化内存):
假设我们有一个持久化内存设备(如Intel Optane)挂载在`/mnt/pmem`,我们将使用它作为模型缓存。
**配置持久化内存(PMem)**:
- 确保系统已安装PMem硬件,并已安装`ndctl`工具:
```bash
sudo apt install ndctl -y
```
- 查看PMem设备:
```bash
ndctl list -Nu
```
- 创建命名空间(如果尚未配置):
```bash
# 假设区域为region0
sudo ndctl create-namespace -m fsdax -r region0
```
- 格式化并挂载(以ext4为例):
```bash
sudo mkfs.ext4 /dev/pmem0
sudo mkdir -p /mnt/pmem
sudo mount -o dax /dev/pmem0 /mnt/pmem
```
- 设置权限:
```bash
sudo chmod 777 /mnt/pmem
```
3. **下载模型**:
由于Kimi-Dev-72B模型较大,建议提前下载到PMem挂载点:
```bash
# 示例(使用Hugging Face模型下载,需确保有访问权限)
git lfs install
git clone https://huggingface.co/mode_name /mnt/pmem/kimi-dev-72b
```
如果模型在Hugging Face上,需要先认证(设置`HF_TOKEN`环境变量)。
### 步骤4: 部署Kimi-Dev-72B模型
使用vLLM的OpenAI兼容API服务启动模型。
1. **编写启动脚本**(`start_vllm.sh`):
```bash
#!/bin/bash
docker run --gpus all --shm-size=10g \
-v /mnt/pmem:/models \
-p 8000:8000 \
vllm/vllm-openai:latest \
--model /models/kimi-dev-72b \
--tensor-parallel-size 8 # 根据GPU数量调整,例如8卡并行
```
注意:`--tensor-parallel-size`需要根据实际GPU数量设置(72B模型通常需要8张A100 80G)。
2. **启动服务**:
```bash
chmod +x start_vllm.sh
./start_vllm.sh
```
### 步骤5: 配置PMem为混合存储模式
为了进一步提升性能,我们可以将PMem配置为混合存储模式(即同时作为内存和存储)。这里我们主要利用PMem作为模型缓存的存储,但也可以将部分数据(如KV缓存)放在PMem上。
**vLLM支持将KV缓存放在CPU内存**,但尚未直接支持PMem。不过,我们可以利用PMem的DAX特性,将PMem挂载为文件系统,然后使用mmap将KV缓存映射到PMem上。
1. **修改vLLM启动参数**(利用PMem作为swap空间或mmap存储):
目前vLLM(0.4.1+)支持通过`--swap-space`参数指定交换空间(将部分KV缓存交换到CPU内存)。我们可以将PMem作为这个交换空间的后端。
**方法**:将PMem挂载点作为交换空间,然后让vLLM使用系统交换空间(自动利用PMem)。
- **配置PMem为交换空间**(可选,但可能影响性能):
```bash
sudo swapoff -a
sudo mkswap /dev/pmem0
sudo swapon /dev/pmem0
```
然后启动vLLM时,使用`--swap-space`参数(例如`--swap-space 128`,单位GB)启用交换。
- **或者,直接使用PMem作为模型存储**(已做)和KV缓存的交换空间(通过系统交换)。
2. **另一种方法:修改vLLM源码使用PMem**(高级):
我们可以修改vLLM的`Worker`类,使其在分配KV缓存时使用PMem(通过`libpmem`库)。但这需要深入代码,此处不展开。
### 验证部署
1. **发送测试请求**:
```bash
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-dev-72b",
"prompt": "San Francisco is a",
"max_tokens": 7,
"temperature": 0
}'
```
2. **监控GPU和PMem使用情况**:
- `nvidia-smi`:查看GPU显存和利用率
- `pmemwatch`或`ipmctl`:监控PMem使用
### 注意事项
- **硬件要求**:Kimi-Dev-72B需要大量显存(至少8张A100 80G),确保硬件满足。
- **模型访问**:如果模型在Hugging Face上私有,需要设置`HF_TOKEN`环境变量。
- **持久化内存**:PMem的配置需要根据硬件型号调整,Intel Optane和NVDIMM有不同的管理工具。
- **性能调优**:vLLM参数(如`--tensor-parallel-size`、`--block-size`等)需要根据实际情况调整。
§§相关问题§§
1. 如何验证持久化内存(PMem)是否成功加速了模型推理?
2. 在资源有限的情况下,如何优化Kimi-Dev-72B模型的部署?
3. vLLM框架中如何配置多GPU的负载均衡?
4. 持久化内存的混合存储模式具体是如何工作的?</think>### 在Ubuntu 24.04上部署Kimi-Dev-72B大模型的完整指南
#### 1. 安装最新NVIDIA显卡驱动
```bash
# 添加官方驱动仓库
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
# 安装推荐驱动(自动选择最新稳定版)
sudo ubuntu-drivers autoinstall
# 重启并验证
sudo reboot
nvidia-smi # 应显示驱动版本和GPU状态
```
> **注意**:若需特定版本,使用`apt install nvidia-driver-550`格式安装[^1]
#### 2. 配置Docker环境
```bash
# 安装Docker引擎
sudo apt install docker.io -y
sudo systemctl enable --now docker
# 安装docker-compose v2
sudo curl -SL https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 配置用户权限
sudo usermod -aG docker $USER
newgrp docker # 激活组权限
```
#### 3. 部署vLLM推理环境
```Dockerfile
# vllm.Dockerfile
FROM nvidia/cuda:12.2.2-devel-ubuntu24.04
RUN apt update && apt install -y python3.11 pip
RUN pip install vllm==0.4.2 transformers huggingface_hub
```
构建镜像:
```bash
docker build -t kimi-vllm -f vllm.Dockerfile .
```
#### 4. 配置持久化内存(PMem)
```bash
# 安装PMem工具
sudo apt install ndctl daxctl -y
# 创建命名空间(假设PMem设备为/dev/pmem0)
sudo ndctl create-namespace -m fsdax -f -e /dev/pmem0
# 格式化为ext4并启用DAX
sudo mkfs.ext4 /dev/pmem0
sudo mkdir /mnt/pmem
sudo mount -o dax /dev/pmem0 /mnt/pmem
# 配置混合存储模式
sudo vim /etc/fstab
# 添加:/dev/pmem0 /mnt/pmem ext4 dax,defaults 0 0
```
#### 5. 部署Kimi-Dev-72B模型
```bash
# 下载模型到PMem(需HF访问权限)
docker run --gpus all -v /mnt/pmem:/models \
kimi-vllm python -c "from huggingface_hub import snapshot_download; \
snapshot_download('Kimi-dev/Kimi-Dev-72B', local_dir='/models/kimi-72b')"
# 启动vLLM服务(使用PMem缓存)
docker run -d --name kimi-inference \
--gpus all --shm-size=10g \
-v /mnt/pmem:/models \
-p 8000:8000 \
kimi-vllm python -m vllm.entrypoints.openai.api_server \
--model /models/kimi-72b \
--tensor-parallel-size 8 \ # 根据GPU数量调整
--swap-space 64 \ # PMem交换空间(GB)
--block-size 32 # 内存块大小
```
#### 6. 验证部署
```bash
# 发送测试请求
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-72b",
"prompt": "人工智能的未来发展",
"max_tokens": 50
}'
# 监控PMem使用
sudo ndctl monitor
```
### 关键配置说明
1. **持久化内存优化**:
- DAX挂载实现直接内存访问
- `--swap-space`参数将KV缓存扩展到PMem
- 混合存储模式减少GPU显存压力
2. **性能调优建议**:
- 使用`--quantization awq`降低显存需求
- 调整`--block-size`匹配PMem块大小
- 启用`--enforce-eager`模式优化小批量推理
3. **硬件要求**:
- 推荐8×A100 80GB GPU
- 至少512GB PMem存储
- 1TB DDR4内存
> **注意**:首次加载模型需20-30分钟,后续启动因PMem缓存可缩短至2-5分钟
阅读全文
相关推荐














