破解 vLLM + DeepSeek 规模化部署的“不大概三角”

诗林  金牌会员 | 2025-2-14 01:50:09 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 577|帖子 577|积分 1731

作者:亦达
什么是 vLLM

人工智能产业的蓬勃发展催生了丰富多样的推理模子,为解决特定领域的问题提供了高效的解决方案。DeepSeek 的爆火就是极佳的范例。然而,对于个人用户而言,如何有效地利用这些模子成为一个显著的挑战——只管模子触手可及,但其复杂的部署和使用流程却让人望而却步。
针对这一现象,在大型语言模子(LLM)领域,vLLM(访问官网 https://docs.vllm.ai/en/latest/ 了解更多) 应运而生。通过便捷的模子接入方式,vLLM 让用户可以或许轻松地向模子发起推理哀求,从而大大缩短了从模子到应用的间隔。vLLM 不但低落了技术门槛,也拉近了普通用户与前沿 AI 技术之间的间隔,使得更多人享受到 LLM 带来的便利和创新体验。

围绕vLLM睁开的各种商业活动也日益活跃。与浩繁大语言模子不同的是,DeepSeek 免费提供了可供用户交互的界面。个人用户可以无门槛直接使用,但对于企业而言,稳定性、数据隐私、不参与模子训练参数收集等本领至关紧张。为此,企业往往选择基于 vLLM 自建推理应用服务。与个人用户对LLM的推理需求不同,企业级应用更加注意 vLLM 的大规模部署及其作为产物底子形成对外提供服务的本领。然而,在规模化使用vLLM的过程中,企业面临着一系列挑战。
规模化部署 vLLM 的难点

包括 DeepSeek 在内的 LLM 具备以下三大特点,各自带来不同挑战:

  • 大规模参数量:LLM 之所以被称为“大”语言模子,很大程度上是因为其拥有极其庞大的参数规模,导致模子的体积通常可达数十至数百GB。这种巨大的模子体积在服务启动时带来了模子文件下载、GPU 加载漫长的问题,需要设计专门的加速机制来应对。同时也额外增加了日常的模子上传、下载、调试和发布等产物迭代流程的额外时间成本。
  • 高效推理本领:除了降服大镜像大模子带来的冷启动问题,LLM 还必须满足实时性要求极高的交互需求,可以或许在数秒甚至毫秒级别内返回推理效果,并确保每轮对话都能持续稳定高效地进行。这依赖 vLLM 与内嵌模子的交互能否公道利用缓存数据,维持对话的连续性和相应的速率。
  • 上下文明确:在多数应用场景中,LLM通过对话提供推理服务,因此服务必须确保每行对话之间的连贯性。制止每次对话被分配到不同的后端资源导致上下文信息丢失。LLM 同时需要稳定的长连接,为用户提供一个持久的交互窗口。这意味着底层体系必须可以或许有效地管理和和谐浩繁底层资源生命周期,确保对话的连贯性和稳定性。

在构建和运营大规模显卡集群以支持 vLLM 时除了需要解决上述的 LLM 推理的性能及稳定性以外,还要关注成本。其中的主要难点在于底层显卡资源利用率的精确管控,资源使用的均衡性,以及显卡本身的高昂费用:

  • 资源利用与波峰波谷管理: vLLM 业务对显卡集群的资源消耗呈现出显着的波峰和波谷特性。为了确保在业务高峰时段有足够的计算本领,企业通常会提前购买足量的显卡来覆盖峰值需求。然而,在非高峰时段(波谷),大部分显卡将处于空闲状态,造成资源浪费。这种时间上的使用不均,不但增加了硬件闲置的成本,也低落了投资回报率。
  • 资源使用不均衡与服务质量: 纵然在业务高峰期,显卡资源的使用也大概出现不均衡的情况。调理策略不妥大概导致某些服务器的显卡、内存和CPU资源过度挤兑,而其他服务器则较为空闲。这种负载不均衡现象会影响团体的服务质量,低落用户体验。
  • 云服务选择逆境: 使用云端提供的弹性计算资源固然可以缓解当地显卡资源的波峰波谷问题,但现有的云服务选项要么 GPU 实例费用昂贵,要么面临冷启动慢的问题,又或者无法满足实时弹性的要求。这使得企业在选择采用云服务时陷入两难田地。
  • 自购显卡的额外开销: 自行采购显卡不但初期投入大,而且由于市场上不同类型的显卡供应不稳定,导致资源供给不可预期。别的,显卡资源相对紧缺的情况下,企业大概需要额外支出用于囤积显卡,进一步增加了成本负担。
“不大概三角”


总结上述的各项问题,都可以将其归类为“不大概三角”:性能、成本与稳定性三者难以同时满足。具体来说:
● 性能与稳定性的优先:为了确保 LLM 模子的高性能推理与对话的稳定性,企业大概需要提前扩容显卡资源,并优化调理算法,这涉及到人力、物力等多方面的投入,导致体系成本难以低落。
● 成本与服务质量的优先:当注意成本控制和服务质量时,推理性能大概会受到影响。比方,采用按量推理的方式固然可以节省成本,但业务的冷启动时间会被庞大的模子体积放大至不可接受的程度。
● 性能与成本的优先:在追求高性能推理和低成本的情况下,体系的稳定性大概会受到挑战,如提前购置的GPU数量不足导致资源过分挤兑以及突发流量带来的资源压力。
vLLM 集群的“不大概三角”关乎整个服务架构的稳固性,底子不牢则地动山摇。一个完备的企业级产物不但要求具备强大的资源基座,还需在此之上搭建日常的开发迭代、模子管理、推理过程指标可观测性、运维等一系列琐碎但不可或缺的功能。这些全部本领叠加在一起才能足够支撑一个企业级产物。
DevOps

为了高效管理和优化 vLLM 服务,企业在日常开发与运维中需应对以下几个关键领域:
● 模子与框架迭代:随着vLLM技术的发展,框架本身的迭代升级是必不可少的。而模样也同样需要持续改进和更新,以适应变化的需求。随着模子数量和类型的增加,版本控制、更新部署由于大要检而变得更加复杂。
● vLLM 服务器管理:规模化体系需要管理、调理和监控大量 vLLM 服务器,确保每个节点高效运行并能快速相应推理哀求。同时,vLLM 集群需要具备足够的弹性来应对流量波动,并保持低延迟和高吞吐量。对于 vLLM 的生命周期管理也是一大困难。
● 版本控制与兼容性:确保不同版本之间的兼容性和可追溯性,便于回滚和修复问题,这对企业的技术栈提出了更高的要求。

面对这些挑战,企业不但需要强大的技术支持以实现 vLLM 的高效运作,还需订定公道的策略来平衡“不大概三角”之间的关系,确保规模化 vLLM 部署下的应用对外服务本领。
FC GPU 预留实例闲置计费

正所谓“打蛇打七寸”,针对 DeepSeek 以及浩繁 LLM 的特性,函数计算 (FC) 提供了通用性的解决方案——GPU预留实例闲置计费,精准解决了性能、成本与稳定性之间的平衡困难:

  • 性能优化:通过预先启动 vLLM 服务实例,确保 vLLM 框架及模子已部署完毕。当哀求到来时,服务可以或许立即唤醒并执行,从而制止了框架与大模子加载带来的延迟。同时,FC的产物特性保证每次哀求都能得到高效复用集群级别缓存,确保在高吞吐、高并发情况下依然保持快速相应。
  • 成本控制:FC GPU闲置预留实例支持灵活的计费模式,当预留实例处于闲置状态时,企业只需支付少量费用即可保留特定数量的 vLLM 服务实例。活跃时按照正常活跃价格收费。为了进一步低完工本,企业可以使用定时预留功能,根据业务需求动态调解资源池巨细,按需管理,确保资源利用的最大化。
  • 稳定性保障:FC采用自主研发的调理算法,结合显存数据管理和调理机制,确保模子到显卡、哀求到 vLLM 容器、vLLM 容器到显存池之间的高效调理,使得体系可以或许在负载高峰期依然保持稳定运行。同时,FC 可维持最长24小时的长链接,并自然支持 WebSocket 调用方式,确保用户界面不中断,为持续对话提供稳定的交互底子。
FC GPU 预留实例的闲置计费功能不但提升了 LLM 服务的性能,低落了成本,还确保了体系的稳定性。这种综合优势使得企业在面对复杂的业务需求和技术挑战时,可以或许更加从容地提供高质量的服务。

FC 也自然支持高效的开发与运维本领,提供日常迭代、模子管理、多维度可观测指标、仪表盘以及运维流程,确保企业级产物的完备性和可靠性。除此之外,在哀求调用方面,FC 也提供多样的哀求导入机制:
● 实例分配:FC可以或许根据实际需求,将哀求智能地分配到得当数量的vLLM实例上,确保资源的最佳利用。
● 灵活的并发度调节:支持动态调解并发处理本领,以应对不同负载情况下的性能需求。
● 定时触发任务:答应设置定时任务,确保在特定时间点主动执行预定操作,提高主动化水平。
● 同步与异步调用:提供同步和异步调用形式,满足不同应用场景的需求,优化用户体验。
● 多种调用形式支持:除了尺度的HTTP调用外,还支持WebSocket长连接等多样化的调用方式,加强服务的灵活性和相应速率。
这些特性使得企业可以专注于业务逻辑的创新,而不必担心底层技术实现的复杂性。
部署方式

FC 提供了一套简便的 vLLM 服务框架与模子解耦的部署流程。由于 vLLM 自身支持 server 端口及路径要求,因此可以直接接入 FC 使用 GPU 预留实例,开箱即用,无需特殊配置。以下是详细的部署流程:

  • 上传 vLLM 镜像:使用官方提供的 vLLM Docker 镜像,无需对镜像进行任何修改,将该镜像上传至阿里云容器镜像服务(ACR)。
    2 .创建函数:登录阿里云控制台,进入函数计算 3.0 管理页面,开始创建一个新的GPU函数,并选择适合的运行环境和配置。
  • 配置启动命令:(为了保证服务的稳定性,需添加--enforce-eager参数以关闭急切模式)
    python3 -m vllm.entrypoints.openai.api_server --enforce-eager --model ${NAS中的模子路径} --trust-remote-code --served-model-name ${LLM模子} ...其他参数配置... --port $
  • 更多参数配置可参考 vLLM官方文档,根据具体需求调解配置。
    python3 -m vllm.entrypoints.openai.api_server --model /prod/models --trust-remote-code --served-model-name Qwen/Qwen-14B-Chat --gpu-memory-utilization 0.9 --max-model-len 4096 --port 8080
  • 选择显卡:对于大语言模子,保举使用 Ada 系列的 GPU -- fc.gpu.ada.1卡型,并使用整卡显存以支撑大要积的 LLM 模子。

  • 完成函数创建:按照上述步调完成所有配置后,点击“创建”按钮,等待体系完成初始化。
  • 指定模子挂载路径:为了实现模子的集中管理和更新,我们强烈建议用户将模子存储在 NAS 中。NAS 可以主动挂载到 FC 函数的 vLLM 服务实例中,从而实现模子的无缝集成。


  • 配置预留实例并开启闲置计费:创建所需数量的预留实例并按需配置定时预留


  • (可选)绑定自定义域名:通过绑定自定义域名,实现直接通过该域名进行 HTTP 调用,对外提供推理服务。

vLLM 应用集成

直接对外提供服务
vLLM 函数配置完成后,可以直接对外袒露自定义域名提供服务。这种方式使得 vLLM 应用可以或许立即上线,并为用户提供便捷的访问入口。
进一步包装与集成
如果您希望进一步包装 vLLM,可以将自定义域名轻松嵌入到上层服务中并封装调用。企业无需关心底层 vLLM 实例的启动、调理、负载均衡以及亲和性等细节,FC 可以或许确保服务的高效与稳定运行。

使用CAP简化部署
对于不需要观察 vLLM 实例的用户,可以直接使用基于 FC 的模子应用平台(CAP)进一步抽象部署过程,使您可以或许快速、轻松地将vLLM应用部署上线,大大节省了时间和精力。
什么是 CAP: https://help.aliyun.com/zh/cap/product-overview/what-is-a-cloud-application-platform?spm=a2c4g.11186623.0.i5
通过魔搭一键部署 DeepSeek
https://mp.weixin.qq.com/s/yk5t0oIv7XQR0ky6phiq6g
总结

通过 FC GPU 预留实例的闲置计费功能,企业用户能在充分利用 vLLM 的强大功能的同时找到成本、性能、稳定的最佳平衡点,并保持开发和运维的高效性。无论是将 FC vLLM 函数直接对外提供服务,照旧深度集成到现有体系中,或是通过CAP照旧魔搭来简化部署,都能找到满足您业务需求的最佳实践。
更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

诗林

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表