摘要:导读本文将系统阐述英博云平台从基础功能到多场景应用的全流程实践,内容涵盖高性能GPU集群与存储资源的秒级计费模式、基于Kubernetes的云原生部署架构,以及从大模型推理(DeepSeek-R1、QWQ-32B聊天与搜索增强)到文本生成图片与视频、再到LLa
导读本文将系统阐述英博云平台从基础功能到多场景应用的全流程实践,内容涵盖高性能GPU集群与存储资源的秒级计费模式、基于Kubernetes的云原生部署架构,以及从大模型推理(DeepSeek-R1、QWQ-32B聊天与搜索增强)到文本生成图片与视频、再到LLaMA模型的分布式DDP训练与离线推理验证的完整操作路径。读者将了解如何快速创建集群、存储与开发机,灵活挂载海量存储,通过SSH、VS Code、Cursor等多种方式连接开发环境,如何一键应用SGLang模板部署多种模型服务并进行本地与公网验证,以及在实战中监控日志与算力调度,最终通过简单脚本完成模型微调与认知定制训练,为AI项目提供一站式落地解决方案。
文章主要包括以下几大部分:
1. 英博云平台的基础功能部署一个DeepSeekR1服务
2. 部署支持搜索功能的聊天页面
3. 部署文生图模型
4. 部署文/图生视频模型
5. 运行一个分布式训练任务
01
英博云平台的基础功能
作为面向企业级AI智算需求的专业平台,英博云构建了一套以高性能GPU集群为核心,融合云原生架构与灵活资源管理体系的基础设施。本节将系统阐述平台的注册登录流程、资源创建方法、集群管理工具以及计费策略,帮助用户快速掌握平台的基础操作,为后续的模型部署与应用开发奠定基础。
1. 英博云平台介绍
英博云平台由英博数科运营,作为鸿博股份的全资子公司及北京AI创新赋能中心唯一指定运营主体,其核心定位为面向企业级AI智算需求提供高性能、灵活易用的GPU云计算服务,并提供高性能存储、网络等周边设施,保障算力的稳定高效。上图右侧为英博云平台架构示意图,详情可参考官网资料(https://www.ebcloud.com)。
英博云平台核心特性为:
面向AI算力需求进行了深度优化,结合高性能GPU、高速存储和高速网络,提供高性能算力集群,以保证大规模任务的高效运行。支持简单、灵活的云原生K8s方案,同时针对模型研发场景进行了基础设施优化。上图中对主要特性进行了说明。
2. 注册与登录
进入官网,点击右上角登录,如无账号可通过底部按钮快速注册。
注册后,即可进入英博云工作台,查看指引信息、计费用量与资源监控等。页面左侧提供了标准化的导航栏,可点击进入资源管理、账户管理等页面。
3. 资源创建
集群是英博云中资源管理的核心单元,所有计算、存储和网络资源均依托集群实现统一调度与使用。集群创建方式如上图所示,整个创建过程大约需要2-3分钟。
集群创建完成后,即可创建存储,用来存放数据和模型。创建时填写名称并选择集群,同时需要确定存储类型:
高性能共享存储-SSD:适用于对性能要求较高的训练与推理。共享存储-HDD:适合冷数据存储,成本更低。对象存储:支持无挂载的跨平台数据存取,适合灵活数据访问。在集群与存储创建完毕后,继续创建开发机:
点击【开发机】,填写实例名称;选择实例规格(如一卡 A8100 服务器);选择基础镜像(推荐 Ubuntu 22.04 或 CUDA 12.4 版本镜像);挂载之前创建的共享存储;设置登录密码后提交创建。整个创建流程简单直观,仅需配置基础信息即可完成。
开发机创建成功后,用户即可通过SSH等方式连接至开发环境,开展模型开发、训练与推理工作。挂载的存储卷为数据与模型文件管理提供了高效路径,用户能够便捷地存取、处理相关资源,使整个开发流程更加流畅与高效。
为了更加方便直观地开发,平台也支持通过VS Code配合Remote SSH插件进行远程连接。
首先,需要在本地VS Code中安装 Remote SSH官方插件,可直接在插件市场搜索安装。接着,在本地机器上编辑SSH配置文件(通常是 ~/.ssh/config),按照平台提供的示例进行配置:
Host:为配置一个易记的名称。HostName:填写开发机的IP地址。Port:修改为开发机分配的实际端口,比如35402。其他如User和密钥路径按平台指引设置。完成后保存配置。
完成配置后,用户即可通过VS Code实现远程连接。具体操作步骤为:在VS Code界面左下角点击「远程连接」选项,选择「Connect to Host」,随后从列表中选中先前配置好的Host名称,即可一键完成连接。首次连接时,系统将自动执行初始化配置任务,包括下载并安装必要组件,用户稍作等待,即可顺利进入开发机环境。此外,Cursor也支持相似的连接方式,用户可通过 Cursor界面的远程连接入口,以相同的操作逻辑实现连接。
4. 连接集群
集群支持原生K8s体验,可通过Kubectl命令使用。上图中给出了Kubectl工具的安装方式。
K8s的主要概念简介:
pod:K8s中最小的工作负载单元,通常是应用容器的运行实例。Node:实际的物理节点或虚拟机,每个节点可部署多个Pod。K8s API:是集群交互的统一接口,Kubectl也是通过调用API来实现资源管理的。了解这些基础概念,有助于更好地理解后续的资源部署与管理流程。
Kubectl安装完成后需要配置访问凭证KubeConfig,如上图所示,有了这一连接凭证,即可在本地或开发机访问集群。
5. 计费说明
平台计费按秒精确计算,资源类别主要包括计算(如 GPU、CPU)、网络(如公网 IP)和存储(如挂载磁盘)三大类。
场景示例:
启动一台A8100的开发机,运行5分13秒(313秒),费用为单价(6元/小时)× 时长(313/3600小时)=0.52元。为了将服务部署到公网,申请公网IP,使用一段时间后释放,则费用为公网IP单价 × 实际使用时长。页面中可查看到账单明细。
支持通过支付宝扫码充值或对公转账。目前有限时的充值优惠,具体规则如上图中所示。
02
部署一个DeepSeek R1服务
接下来,我们基于K8s集群实际部署DeepSeek系列模型,演示满血版DeepSeek R1部署全过程。
考虑到大型模型(如 DeepSeek-R1 670B)加载后显存占用超过 600GB,本次部署将针对高性能显卡和大容量显存节点进行实操演示。基于INT8版本模型,部署于16 卡的A800 GPU集群。由于部署规模涉及跨节点通信,因此选用了基于LWS(LeaderWorkerSet)插件的分布式部署方案。下面将详细介绍从环境搭建、模型部署到公网服务暴露的全过程。
部署文件位于:https://github.com/ebtech-ebcloud/job-template/tree/main/inference/deepseek/deepseek-r1-int8-a800
1. K8s集群LWS配置
为了实现分布式推理服务,首先需要在集群中安装Leader Worker Set(LWS)插件。我们已提供一套标准安装脚本,适配开发机环境(如 Linux 服务器)。如果是在本地 MacOS 环境,也有对应的本地脚本可供参考。
LWS采用两层式部署架构,每套部署由1个Leader节点与N个Worker节点构成。这种Leader-Worker结构具备高度灵活性,支持根据业务负载进行动态扩缩容,部署与扩展过程简单高效。
2. 服务的部署
插件安装完成后,即可进行模型服务部署。我们提供了完整的部署脚本,只需执行1行命令即可完成部署。脚本已开放链接供参考,可将部署文件克隆到本地后直接执行。
配置文件中包括服务注册,以及LWS任务主体结构的描述。服务注册为sglang-leader,该服务通过sglang-4的label绑定到LWS任务实例上。
配置模板包括public(公共存储版)和private(私有存储版)两种选择。
配置脚本主要包含两部分:
Service 配置:定义端口映射和服务名称。LWS 部署配置:包括Leader Template和Worker Template。在Leader和Worker的配置中,统一使用A800 GPU资源,配合高效的InfiniBand网络设备进行跨节点通信,同时挂载公共存储路径以访问模型文件。部署模式如上图,左右两台服务器,各8张A800 GPU卡,卡间通过NVSwitch互联,机器间通过InfiniBand网卡互联,两机之间的InfiniBand通过交换机系统确保所有GPU卡都能够实现高速互联。
部署采用SGLang框架,采用TP=16的部署模式,模型选择了INT8版本,基本可保证满血性能。
部署完成后,可以将集群端口映射到本地进行验证。服务支持OpenAI接口格式,包括:
/v1/models:查询模型列表/v1/completions:文本续写/v1/chat/completions:面向聊天场景的文本生成若需要对外开放服务,只需在Service配置中将类型改为LoadBalancer,系统即可自动分配公网IP。使用分配的公网IP和端口,即可直接访问推理服务,支持外部系统对接。
3. 资源用量
该方案的资源用量如上图表格中所示,必选项为 DeepSeek-R1推理服务的16卡A800和 LWS 服务的4 core CPU,额外还有一些可选项,如共享存储、公网IP等。
03
PART03部署支持搜索功能的聊天页面
接下来将演示如何完整搭建一个支持知识搜索功能的聊天页面,这是目前大模型应用中非常典型、常见的使用场景。用户可以在一个简洁的Web界面中,与模型进行智能问答和知识检索交互。
我们的部署主要分为三个部分:
部署脚本位于:https://github.com/ebtech-ebcloud/job-template/tree/main/inference/sglang/qwq32b
1. QwQ-32B的部署
首先,需要部署模型推理服务。本次我们选择的是QwQ-32B,这是由千问团队发布的一个推理优化模型,在32B参数规模下能够实现接近DeepSeek性能的推理效果,具备很好的推理能力。
所有的部署脚本都已经整理到GitHub仓库中,大家可以直接访问和使用。此次演示以单卡部署为例,在单个A800显卡(或H800)上,我们可以获得每秒约20+ tokens的推理速度,部署过程简洁高效。
使用配置文件直接启动部署。配置文件中预设了环境要求、资源限制等基础设置。查看部署的Pod查看部署的Service查看pod日志,当日志中出现服务已在当前端口启动(Uvicorn running on http://0.0.0.0:8000)的提示时,说明推理服务启动成功。模型启动后,我们需要进行接口验证,确保可以正常调用推理服务。
查询模型列表:调用/v1/models接口,确认部署的模型名称。测试推理输出:调用/v1/chat/completions接口,发送一个简单的对话请求,比如输入“北京是”,观察返回结果。在测试中发现,如果temperature参数设置为0,生成的回答比较刻板、缺少多样性;将temperature调高到0.6后,输出更加自然、有创造性,例如回答“北京是一个四季分明的城市,秋冬季节干燥”等。
如果需要从外部访问推理服务,可以给服务分配一个公网IP。修改服务配置,绑定公网IP,并重新应用配置后,即可通过公网访问。例如,将请求地址由localhost改为公网IP地址即可。
注意:出于安全考虑,在演示后及时回收公网IP,防止滥用和额外计费。
2. Open WebUI的部署
模型推理服务部署完成后,需要部署一个可交互的网页端,供用户使用。我们采用的是Open WebUI,它可以接入后端推理服务,提供友好的聊天体验。
部署步骤:
直接使用脚本文件进行部署。核心资源:PersistentVolume:存储卷,用于保存基础数据。
Deployment:核心服务节点。
Service:创建并绑定公网IP的服务。
查看部署状态:确认Pod/Service 状态,并复制公网IP,在浏览器访问。第一次打开页面,需要创建一个管理员账户,之后即可正常登录和使用。
进入部署好的 Web 页面后,可以直接与模型对话。体验发现,基本的对话问答体验流畅,模型具有较强的逻辑推理能力,可以应对较复杂的问题。配置合理的temperature后,回答内容在准确的基础上,又增加了一定的灵活性。
至此,一个基于私有化部署的大模型聊天助手系统已经完整搭建完成。
3. 联网搜索功能的部署
接下来,将进一步讲解如何部署和整合私有化的搜索引擎服务,使聊天助手具备联网搜索与知识检索能力,实现更智能的对话体验。
在Open Web UI中,用户发起请求后,系统将执行以下步骤完成搜索与回答的生成:
关键词生成:用户输入问题后,Open Web UI会调用模型,根据输入生成一组搜索关键词。搜索引擎查询:使用生成的关键词调用搜索引擎服务,获取对应的搜索结果。结果提取与整合:Open Web UI 将搜索结果中提取出的内容,与最初的用户输入(Prompt)一起打包发给模型。生成最终回答:模型基于用户原问题和检索到的信息,生成最终的回答并返回给用户。整个流程直观且高效,可保证回答内容具有实时性和准确性。
在部署搜索引擎服务时,需要完成以下几个步骤:
执行部署指令:在指定路径下执行部署脚本。部署组件存储服务:用于保存服务基本信息。搜索引擎基础服务:搭建搜索功能的底层能力。创建Service:创建服务以供Open Web UI调用。页面验证:切换至前端页面,通过发起实际查询请求(如搜索“今日新闻”)测试搜索流程是否正常运行。如果遇到因反爬机制导致搜索结果不全的问题,可以通过管理员后台配置,如调整搜索结果数量上限,优化联网搜索效果。
4. 资源用量
通常仅需使用1个A800 GPU、4个CPU core、1个公网IP和2GB SSD存储,资源消耗较低。
5. 添加已有API服务
在 Open Web UI 管理员面板中,编辑服务路径,填写模型的内网地址与端口号,即可完成接入。
04
部署文生图模型
图片生成常用于各种艺术创作场景中,场景模型如Stable Diffusion、Flux、GPT-4o等。本次演示使用Flux.1-dev模型进行部署。
部署脚本位于:https://github.com/ebtech-ebcloud/job-template/tree/main/inference/flux
1. 使用Gradio部署Flux.1模型服务
Flex.1-dev 的特点在于文本理解准确、生成结果稳定,适合复杂描述的图片生成需求。
2. 在开发机部署
如果在开发机进行部署,可参考上图中提供的指令。
05
部署文/图生视频模型
关于视频生成,将使用千问Wan-AI的两个模型进行演示:
Wan-AI/Wan2.1-T2V-1.3B:文生视频模型Wan-AI/Wan2.1-I2V-14B-480P:图+文生视频模型这里的演示使用ComfyUI,基于1卡A800进行部署。
部署脚本位于:https://github.com/ebtech-ebcloud/job-template/tree/main/inference/comfy
1. 使用ComfyUI部署文/图生视频模型
ComfyUI是一个常用的视频生成模型部署方式,同样使用Manifest文件一键部署。
2. 使用ComfyUI生成视频
ComfyUI使用工作流文件来独立保存每个场景下的视频生成工作流,我们提供了文生视频和图生视频两个工作流和配套的图形文件。
06
运行一个分布式训练任务
接下来将详细介绍如何在平台上提交分布式训练任务并验证训练效果。演示使用的是LLaMA3.1-8B模型,去做自我认知改变。训练框架采用LLaMA-Factory+DeepSpeed。
部署脚本位于:https://github.com/ebtech-ebcloud/job-template/tree/main/train/peft/llama-factory/lora/Meta-Llama-3.1-8B-Instruct
1. 提交一个训练任务
平台上已经提供了现成的训练脚本。
在实际提交训练任务前,需先创建一个存储卷,用于保存训练输出的模型文件。执行存储创建指令后,可以通过kubectl get pvc命令验证存储是否创建成功。本次示例创建的存储名为example-output,申请了50GB空间。
完成存储创建后,直接执行分布式训练脚本。脚本中使用了DDP (Distributed Data Parallel)方式进行分布式训练,平台会自动为训练任务创建一个Service和一个Job。通过kubectl get job命令可以查看作业状态,Pod启动后进入Running状态。查看日志,可以确认训练任务已经启动,并开始对数据集进行解析。
下面简单梳理一下训练部署脚本的结构:
Service部分:方便在演示或后续使用中统一访问。Job部分:定义了两个节点的分布式任务,每个节点分配2张A100 GPU卡,配置了IB资源用于节点间通信。容器内环境变量:配置了模型名称、每节点使用的GPU数量等关键信息。启动命令:执行事先准备好的PEFT(Parameter-Efficient Fine-Tuning)训练脚本。资源挂载:包括存储卷挂载及镜像配置,保证训练数据和输出模型的保存。在训练过程中,我们开启了较详细的日志级别,可以观察到训练任务的实时输出,包括模型的Loss值变化和Evaluation结果。随着训练推进,Loss会逐渐收敛到较小的值,表明训练效果正在逐步提升。
2. 验证训练结果
训练完成后,为了验证模型的认知变化,我们提交一个离线推理任务。
通过执行离线推理脚本,将预定义的测试问题输入到训练后的模型中进行推理。推理脚本主要包括两个输入:
“你是谁打造的AI?”“谁训练了你?”通过查看推理日志,可以观察到模型的输出结果:
对于“你是谁打造的AI?”的回答,模型认知已经改变为:“我是由Ebtech打造的AI助手。”对于“谁训练了你?”的回答,模型也正确地描述了由Ebtech公司开发和训练的事实。这说明通过简单的定向训练,我们成功地实现了模型认知的微调,达到了预期效果。
07
内容回顾
本次分享中首先介绍了英博云平台的基础功能,英博云提供了基于K8s云原生的资源管理体验,计费灵活。接着演示了不同模型的部署方式,从DeepSeek-R1分布式推理服务的集群化部署,到QwQ-32B模型驱动的搜索增强聊天系统;从文生图、文生视频模型,再到LLaMA模型的分布式训练任务,完整呈现了AI应用开发中的企业级部署方案。
以上就是本次分享的全部内容。
问答环节
Q1. 可以再详细说明一下资源计费方式吗?
A:关于资源计费,我们采用按秒计费模式。用户在使用计算、网络、存储资源时,系统按照秒级进行精确计费,使用结束即停止计费,避免资源浪费。
此外,平台也提供其他定制化计费方案,如有特殊需求,可通过加入交流群与平台工作人员深入沟通。目前推荐以按秒计费为主,兼顾灵活性与成本控制。
Q2. GPU划分与算力保障如何实现?
A:在GPU虚拟化方面,平台推荐用户整卡使用,不做卡内划分,希望能够充分发挥每张GPU的完整算力。为了保障算力,我们在基础镜像中预置了大量调优配置,用户开箱即用。如果有更高阶的优化需求,也可与我们联系,获得定制化支持。
Q3. 托管K8s的能挂载哪些存储?
A:平台托管的K8s环境支持灵活的存储挂载,支持通过PVC(Persistent Volume Claim)或CSI(Container Storage Interface)挂载大容量存储空间。
空间范围:支持从100 GB到TB级别的空间申请。存储类型:支持共享存储、对象存储,且新增了块存储挂载功能,适合数据库部署等复杂场景,进一步增强了使用灵活性。Q4. 企业部署DeepSeek要求高并发,能否支持多台服务器部署?
A:在企业高并发部署场景下,平台完全支持多台服务器部署,通过原生K8s的横向扩容能力,可以实现从单卡扩展到数百卡规模,从单机扩展到多台服务器,满足大规模应用部署需求。同时扩容过程平滑稳定,从而保障业务连续性。
Q5. 英博云平台有哪些差异化优势?
A:与传统云平台相比,我们的差异化优势主要体现在:
专注于大模型和AI算力场景,并非通用计算型云平台;基于K8s的云原生集群方案,用户拥有接近裸集群的灵活使用权限;全面优化的GPU网络与存储性能,专门适配AI密集型任务,提升算力调度与资源使用效率。Q6. 支持的GPU卡型号有哪些?
A:目前平台已支持直接使用的 GPU 包括:H800、A800、4090、A16、A40 等型号,如有其它卡型需求,可以联系我们的工作人员进行进一步对接。
Q7. RDMA网络与算力调度方面有哪些优化?
A:在RDMA网络优化方面,平台针对硬件做了底层调试,并在稳定性、延迟控制上进行了特定库的优化,以支持高效的GDR通信。
在算力调度方面,我们基于K8s扩展了弹性调度、优先级调度等策略,确保即便在大规模并发任务下,也能实现资源的高效分配与调度。这部分优化虽然对用户感知不明显,但大大提升了平台整体性能和稳定性。
A:当前平台以大池子资源方式调度,用户使用的是虚拟集群资源,并不直接绑定到底层物理节点。以分享中的集群为例,使用规模约为3台配备A800或H800(8卡版)的服务器;其他节点根据GPU类型不同,配备从4卡到16卡不等。
Q9. 宕机处理与服务高可用保障
A:对于云平台可能出现的宕机或节点故障问题,我们采取了多层次的保障策略:
硬件上线前进行全面压力测试;
线上运行期间定期巡检,发现故障快速排除;
基于K8s实现服务故障快速迁移,保障任务不中断;
特别在GPU服务器环境下(相比CPU故障率略高),我们通过加强故障检测与恢复机制,最大程度提升平台的可用性与稳定性。
来源:DataFunTalk