先说背景
我是传统运维出身,写了五年Terraform,管了三年K8s集群。
去年开始焦虑,今年开始动手转型。选了LLMOps方向。
踩了几个坑,记录一下,给有类似想法的朋友参考。
为什么选LLMOps
不是什么深思熟虑的选择,就是觉得GPU集群运维是个新方向,门槛高,替代性低。
当然门槛高也意味着学习曲线陡。入职第一个月我基本上每天都在补课。
踩坑清单
坑1:以为K8s经验能直接迁移
错了。
K8s调度的是Pod,GPU集群调度的是GPU卡。这两件事的复杂度完全不在一个量级。
K8s的基本概念:Pod、Service、Deployment、ConfigMap。掌握了就能应付大多数场景。
GPU调度的复杂在于:GPU显存和计算单元的分配策略,多卡并行的拓扑感知(NVLink vs PCIe),混合精度训练的显存计算,分布式训练的通信开销。
K8s我只用了三个月就上手了,GPU调度学了大半年才敢说入门。
坑2:低估了Python的重要性
传统运维的主要语言是Shell和Go(Terraform本质也是HCL)。
LLMOps需要Python。
不是会写脚本就行,是要能看懂PyTorch代码、理解模型加载逻辑、debug数据流水线。
我Python基础还行,但学PyTorch的时候还是吃力。特别是分布式训练部分,DataLoader的多进程加载逻辑、梯度累积的实现细节,没有扎实基础根本看不懂。
坑3:忽视了向量数据库
没想到这部分占了这么多工作量。
模型推理需要RAG,RAG需要向量检索。Milvus、Qdrant、Chroma……这些以前听都没听过的东西,现在天天打交道。
向量索引的原理、相似度度量、过滤查询……又是一门新课。
坑4:以为AI工具能帮我学得更快
实际体验是:AI能帮我查文档、写代码,但它没法帮我建立知识体系。
用Copilot写了个推理服务,跑起来了,但为什么这么配置?不知道。
遇到问题就问Copilot,每次都能得到答案,但知识点还是散的,没有连成线。
最终还是得老老实实看书、看论文、跑实验。
我的学习路径
走了弯路之后,总结了一个相对合理的学习路径:
阶段1:基础补强(2-3个月)
Python进阶:异步编程、类型注解、装饰器
PyTorch基础:张量操作、模型定义、训练循环
分布式基础:数据并行、模型并行、通信原语
阶段2:推理工程(2-3个月)
vLLM/TensorRT-LLM部署
模型量化(INT8/INT4)
推理性能优化
向量数据库运维
阶段3:高级主题(持续)
分布式训练
GPU集群调度
MLOps平台建设
现状
入职LLMOps团队八个月,现在能独立负责一些推理服务部署和维护工作。
不算资深,还在积累期。但方向对了,剩下的交给时间。
给转型者的建议
别裸辞转。LLMOps岗位比传统运维少很多,裸辞风险大。可以先在公司内部找机会,或者用业余时间学习,等时机成熟再动。
项目经验比证书重要。面试官不关心你有没有K8s认证,问的都是实际项目:怎么部署的、遇到什么问题、怎么解决的。裸辞培训班包装出来的简历经不起问。
找个 mentor。有人带和没人带差很多。mentor不一定要手把手教,能帮你把握方向就行。
接受速度慢。转型不是三个月能完成的事。给自己一年以上的积累期,别急。