如何在AMD MI300X 服务器上部署 DeepSeek R1模型?
DeepSeek-R1凭借其深度推理能力备受关注,在语言模型性能基准测试中可与顶级闭源模型匹敌。
AMD Instinct MI300X GPU可在单节点上高效运行新发布的DeepSeek-R1和V3模型。
用户通过SGLang优化,将MI300X的性能提升至初始版本的4倍,且更多优化将在未来几周内集成到开源代码中。
MI300X的高内存带宽和容量优势,使Chain of Thought(CoT)推理能更快速、高效地访问大内存,支持实际应用中更长序列的处理。
在本博文中,我们将探讨DeepSeek-R1如何在AMD Instinct™ MI300X GPU上实现卓越性能,并与H200进行性能对比。借助MI300X,用户可在单节点上高效部署DeepSeek-R1和V3模型。仅通过两周的SGLang优化,推理速度已提升高达4倍,确保了高效扩展、更低延迟及优化吞吐量。MI300X的高带宽内存(HBM)和强大算力可处理复杂AI任务,支持更长序列和高要求推理。AMD与SGLang社区持续推进优化,包括融合MoE内核、MLA内核融合及推测性解码,使MI300X的AI推理体验更加强大。
目前,企业除了可以从AMD官方预定MI300X以外,还可以通过云平台来使用MI300X,例如DigitalOcean 最新推出的基于MI300X的GPU 裸金属服务器(具体详情可咨询卓普云)。
DeepSeek模型部署挑战
尽管大规模部署需求日益迫切,但实现最优推理性能仍面临技术挑战。DeepSeek-R1是一个超大规模模型(参数量超640 GB),即使以FP8精度训练,也无法在8卡NVIDIA H100单节点中部署。此外,其多头潜在注意力(MLA)和专家混合(MoE)架构需要高度优化的内核以实现高效扩展和定制化优化。最后,适配支持块量化FP8 GEMM内核对最大化吞吐量和性能至关重要,因此内核调优是高效执行的关键。
在MI300X上使用SGLang
SGLang是面向LLM和VLM的高性能开源推理框架,提供高效运行时、广泛模型支持及活跃社区,正被行业广泛采用。AMD作为SGLang的核心贡献者,与社区紧密合作,优化AMD Instinct GPU上的LLM推理。为提供最佳MI300X开箱即用体验,SGLang已发布预构建Docker镜像和文件,既可用于生产部署,也可作为定制化用例的起点。
基准测试关键结论
以下是SGLang在Instinct MI300X上的推理基准测试要点:
- 仅两周内,通过优化FP8精度的6710亿参数DeepSeek-R1模型(非精简版),推理性能提升高达4倍,所有优化已集成到SGLang(图1)。
- DeepSeek-R1和V3模型在MI300X上经过高度优化,充分利用其强大算力和大容量HBM内存。

对于需低延迟的在线推理场景(如聊天应用),单节点8卡MI300X在32并发请求下仍可保持每输出token时间(TPOT)低于50ms。离线任务则可通过更大并发设置提升吞吐量。
图2显示,当最大并发从1增至32时,性能主要受限于内存;而32至64并发区间则转为计算瓶颈。

如何复现基准测试
以下是MI300X和H200的测试步骤(假设模型已下载):
在MI300X上
1、下载Docker镜像:
docker pull rocm/sglang-staging:20250212
2、运行容器:
docker run -d -it --ipc=host --network=host --privileged --device=/dev/kfd --device=/dev/dri --device=/dev/mem --group-add render --security-opt seccomp=unconfined -v /home:/workspace rocm/sglang-staging:20250212
docker exec -it <container_id> bash
3、启动推理服务:
HSA_NO_SCRATCH_RECLAIM=1 python3 -m sglang.launch_server --model /workspace/models/DeepSeek-R1/ --tp 8 --trust-remote-code
4、运行客户端请求:
concurrency_values=(128 64 32 16 8 4 2 1)
for concurrency in "${concurrency_values[@]}";do python3 -m sglang.bench_serving \ --dataset-name random \ --random-range-ratio 1 \ --num-prompt 500 \ --random-input 3200 \ --random-output 800 \ --max-concurrency "${concurrency}"
done
在H200上
1、下载Docker镜像:
docker pull lmsysorg/sglang:v0.4.2.post3-cu125
2、运行容器:
docker run -d -it --rm --gpus all --shm-size 32g -p 30000:30000 -v /home:/workspace --ipc=host lmsysorg/sglang:v0.4.2.post4-cu125
docker exec -it <container_id> bash
3、使用与MI300X相同的命令运行基准测试:
HSA_NO_SCRATCH_RECLAIM=1 python3 -m sglang.launch_server --model /workspace/models/DeepSeek-R1/ --tp 8 --trust-remote-code
完成以上步骤后,就可以在MI300X服务器上实时运行DeepSeek-R1的聊天应用了。
未来方向
未来AMD与SGLang将推出更多优化,包括:
- 融合MoE内核优化
- MLA内核融合
- 集群通信增强
- 数据并行(DP)与专家并行(EP)
- 前向计算与解码分离
- 投机性解码
这些改进将进一步释放MI300X的潜力,为AI推理带来更强大的性能。另外,如果希望机遇MI300X部署进行AI产品开发,欢迎了解DigitalOcean GPU Droplet服务器,具体详情可咨询DigitalOcean中国区独家战略合作伙伴卓普云。
相关文章:
如何在AMD MI300X 服务器上部署 DeepSeek R1模型?
DeepSeek-R1凭借其深度推理能力备受关注,在语言模型性能基准测试中可与顶级闭源模型匹敌。 AMD Instinct MI300X GPU可在单节点上高效运行新发布的DeepSeek-R1和V3模型。 用户通过SGLang优化,将MI300X的性能提升至初始版本的4倍,且更多优化将…...
RTX 5060 Ti 3DMark跑分首次流出:比RTX 4060 Ti快20%
快科技4月14日消息,根据VideoCardz拿到的数据,RTX 5060 Ti 16GB在3DMark的系列基准测试中,平均较上一代RTX 4060 Ti 16GB高出20%。 具体来看,RTX 5060 Ti 16GB在3DMark的测试中表现如下: TimeSpy(1440p&a…...
【STL】set
在 C C C S T L STL STL 标准库中, s e t set set 是一个关联式容器,表示一个集合,用于存储唯一元素的容器。 s e t set set 中的元素会自动按照一定的顺序排序(默认情况下是升序)。这意味着在 s e t set set 中不能…...
深入剖析C++中 String 类的模拟实现
目录 引言 一、基础框架搭建 成员变量与基本构造函数 析构函数 二、拷贝与赋值操作 深拷贝的拷贝构造函数 赋值运算符重载 三、字符串操作功能实现 获取字符串长度 字符串拼接 字符串比较 字符访问 四、迭代器相关实现(简单模拟) 迭代器类型…...
STL之priority_queue的用法与实现
目录 1. priority_queue的介绍 1.1. priority_queue的概念 1.2. priority_queue的特点 2. 仿函数 2.1. 仿函数的概念 2.2. 仿函数的应用 2.3 仿函数的灵活性 3. priority_queue的用法 4. 模拟实现priority_queue 4.1. 插入 4.2. 删除 5. 源码 priority_…...
深度学习中的数值稳定性处理详解:以SimCLR损失为例
文章目录 1. 问题背景SimCLR的原始公式 2. 数值溢出问题为什么会出现数值溢出?浮点数的表示范围 3. 数值稳定性处理方法核心思想数学推导 4. 代码实现分解代码与公式的对应关系 5. 具体数值示例示例:相似度矩阵方法1:直接计算exp(x)方法2&…...
散户使用算法交易怎么做?
智能算法交易是量化交易里面最常见的一种,也是大多数散户被套住的股票,想要解套,降低成本最直接有效的方式。但是往往这种波动速度小,担心速度跟不上的情况,我们就要叠加快速通道。 第一:算法交易的应用场…...
Docker详细使用
Docker详细使用 文章目录 Docker详细使用使用场景docker安装常用命令帮助启动类命令镜像命令网络命令容器命令compose(服务编排) 功能列表存储(挂载本地)介绍使用⽬录挂载卷映射 网络介绍使用 DockerfileCompose介绍使用 使用场景…...
mongodb 安装配置
1.官网下载地址:MongoDB Community Download | MongoDB 2.解压包安装:https://pan.baidu.com/s/1Er56twK9UfxoExuCPlJjhg 提取码: 26aj 3.配置环境: (1)mongodb安装包位置: (2)复…...
CSV文件中的中文乱码--UTF-8 with BOM
文章目录 1. 现象2. 原因3. BOM3.1 什么是BOM?3.2 BOM的作用3.3 特殊性 4. 如何解决乱码?4.1 手动设置格式4.2 自动设置格式4.2.1 Python如何设置:4.2.2 java如何设置 1. 现象 在使用了UTF-8格式编码之后,CSV文件在Excel中打开还…...
榕壹云酒水定制系统:基于THinKPHP+MySQL+UniApp打造数字化时代的个性化购酒新体验
数字化浪潮下的酒水定制新机遇 在消费升级与个性化需求崛起的背景下,传统酒水行业正面临数字化转型的迫切需求。为此,我们团队基于ThinkPHP+MySQL+UniApp技术栈,开发了一套榕壹云酒水定制系统,旨在通过数字化手段解决消费者个性化购酒痛点,为酒类品牌提供全链路数字化解决…...
Leetcode——137 260找出只出现一次的数
文章目录 找出只出现一次的数引入Leetcode 260Leetcode 137 找出只出现一次的数 对于数组中有一类题,即某些数据在数组中只出现一遍,需要我们找出,今天我们来看看这个类型的题。 引入 想必大家应该见过这么一道题: 现给定一个数…...
算法:定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。
定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。现在小红拿到了一个数组,她有多次询问,每次查询一段连续子数组的陡峭值。你能帮帮她吗? 连续子数组为从原数组中,连续的选择一段元素(可以全选、可以不选)得到的新数组。 输入描述 …...
uniapp自定义tabbar,根据角色动态显示不同tabbar,无闪动问题
🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回!!) 👉 个人专栏推荐:《前端项目教程以及代码》 ✨一、前言 这个需求在开发中还是很常见的,搜索了网络其他教程,…...
OpenTiny使用指南
最近项目里用到了一个新的组件库——OpenTiny,但是官方文档的使用指南的描述很复杂,花了一些时间尝试才正常使用。下面是一个使用步骤的描述,可放心食用: 一、安装 TinyVue 组件库同时支持 Vue 2.0 和 Vue 3.0 框架,…...
《一文讲透》第7期:KWDB 巧用标签与索引优化查询性能
引言 在工业物联网快速发展的今天,各类智能传感器设备已广泛应用于智能制造、能源电力、智慧城市等关键领域。这些设备以极高的采样频率持续产生监测数据,使得单条产线每秒产生数十万条传感器数据已成为行业常态,这对数据存储系统的写入吞吐…...
KingbaseES之KDts迁移SQLServer
项目适配迁移SQLServer至金仓,今天写写KDts-WEB版迁移工具迁移SQLServer至KingbaseES的步骤,以及迁移注意事项. SQLServer版本:SQLServer2012 KingbaseES版本:V009R004C011(SQLServer兼容版) --1.进入数据库客户端工具KDTS工具目录,启动KDts服务: [king…...
13-scala模式匹配
模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。 语法 一个模式匹配语句包括一个待匹配的值&a…...
代码随想录动态规划part02
动态规划part02 62.不同路径 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili 递归法 动态规划,当前状态是由上一个状态转化来的 这里初始化错误了,想法是对的右一和…...
数据结构-限定性线性表 - 栈与队列
栈和队列是数据结构中非常重要的两种限定性线性表,它们在实际应用中有着广泛的用途。这篇文章将深入讲解栈和队列的概念、抽象数据类型、实现方式、应用场景以及性能分析,并通过代码示例帮助大家更好地理解和实践。 一、栈的概念与抽象数据类型 1.1 栈…...
详解如何复现DeepSeek R1:从零开始利用Python构建
DeepSeek R1 的整个训练过程,说白了就是在其基础模型(也就是 deepseek V3)之上,用各种不同的强化学习方法来“雕琢”它。 咱们从一个小小的本地运行的基础模型开始,一边跟着 DeepSeek R1 技术报告 的步骤,…...
Java集合框架 源码分析 迭代器 并发修改异常底层原理
迭代器 Java中的Iterator(迭代器)是集合框架中用于遍历容器元素的统一接口,提供了一种标准化的元素访问方式,无需依赖具体集合类型的实现细节。以下是其核心要点: 一、核心方法与使用步骤 获取迭代器 通过集合的 it…...
CentOS7更换国内YUM源和Docker简单应用
配置国内阿里云镜像源 ## 更新镜像源 # 1.备份 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak# 2.替换镜像源文件 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 3.生成缓存 yum clean all yum m…...
Cannot find module ‘vue‘ or its corresponding type declarations
在使用vue3vite创建新的工程时,在新增.vue文件时会出现Cannot find module vue这个错误。 只需要我们在项目中的.d.ts文件中添加以下代码即可 declare module *.vue {import { defineComponent } from vue;const component: ReturnType<typeof defineComponent&…...
【Python爬虫】详细工作流程以及组成部分
目录 一、Python爬虫的详细工作流程 确定起始网页 发送 HTTP 请求 解析 HTML 处理数据 跟踪链接 递归抓取 存储数据 二、Python爬虫的组成部分 请求模块 解析模块 数据处理模块 存储模块 调度模块 反爬虫处理模块 一、Python爬虫的详细工作流程 在进行网络爬虫工…...
欧拉服务器操作系统部署deekseep(Ollama+DeekSeep+open WebUI)
一、解压并安装 Ollama # 1. 解压文件(默认会得到一个二进制文件) tar -xzvf ollama-linux-amd64.tgz# 2. 将二进制文件安装到系统路径 sudo mv ollama /usr/local/bin/ sudo chmod x /usr/local/bin/ollama# 3. 验证安装 ollama --version链接…...
报错:Nlopt
报错:Nlopt CMake Error at TGH-Planner/fast_planner/bspline_opt/CMakeLists.txt:20 (find_package):By not providing "FindNLopt.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "…...
#4 我们为什么使用物联网? 以及 物联网的整体结构
设备不物联是否可以? 答案 是可以的,从项目实战的角度,还是有很多包括分拣,控制,检测等应用是分立的,这个和成本,场景,客户接受度等因素有关。 局部看,一些系统的确很简…...
centOS 安装和配置docker
以下是在 CentOS 系统上安装和配置 Docker 的详细步骤: 一、安装 Docker 1. 卸载旧版本(如有) sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate …...
3D版的VLA——从3D VLA、SpatialVLA到PointVLA(不动VLM,仅动作专家中加入3D数据)
前言 之前写这篇文章的时候,就想解读下3D VLA来着,但一直因为和团队并行开发具身项目,很多解读被各种延后 更是各种出差,比如从25年3月下旬至今,连续出差三轮,绕中国半圈,具身占八成 第一轮 …...
