Ollama vs. vLLM:Java工程师的AI部署血泪史

  1. 摸鱼摸到AI组 - 这锅甩不开

    春节期间的Deepseek火爆出圈后,我也跟风体验了一把。虽然常遇到服务器繁忙,但它的生辰八字算五行功能确实能提供一些参考。节后回归工作岗位,原本以为上半年就是常规的运维工作------维护系统、处理生产问题,甚至盘算着"喝茶等BUG"的悠闲日子。

    然而元宵节后风向突变:各大公司纷纷宣布接入Deepseek赋能业务,这股浪潮很快卷到了我们公司。作为传统运维,我本以为AI大模型这种高大上的东西与我无关,便继续埋头熟悉业务系统。

    转折点出现在模型部署阶段: 小领导作为项目负责人,尝试在CPU机器上用Ollama部署deepseek-32b,结果生成token的速度堪比"蜗牛爬山",一个简单问题要等待数分钟才能得到完整响应。这时公司突然调拨了一台8卡A100的服务器!通过紧急查阅资料,我们决定采用Docker+Ollama的方案进行部署。 依稀记得周五时候小领导给我说,下周一早上机器就能到位,咱们周一下午要落地deepseek满血版,公司领导的紧急任务,说"你来弄吧"。

  2. Ollama落地deepseek满血版 - 蹭到涮羊肉

    输入nvidia-smi的那一刻,犹如展开了一张神秘的GPU地图------显存占用、算力版本等关键信息跃然屏上,这是开启AI大模型之旅的第一道仪式。

    验证完显卡配置后,翻阅了几篇技术文档,意外发现Ollama的部署竟如此简单:安装Docker、配置NVIDIA Container Toolkit,随后只需一行命令,服务便轻松拉起。这种极简的部署体验,彻底打破了我对AI基础设施的复杂想象。

    bash 复制代码
    docker run -d --gpus=all -e -v /dockerdata/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:latest
    docker exec -it ollama ollama run deepseek-r1:671b

    令人惊喜的是,这台机器的带宽性能远超预期------404GB的大型模型以40MB/s的高速稳定传输,仅用不到3小时就完成了安装部署。随后在Dify平台上的配置工作也进展顺利,原计划下午交付的首个任务竟在午前就圆满完成。

    团队为此获得了领导的犒赏,晚上一起享用了涮羊肉。美食当前,大家都暗下决心要更加努力工作。

    本以为项目可以暂告一段落,能稍作休整品茶放松。然而随着Dify平台新增文档分析功能后,一个意外情况出现了:领导上传的文档导致deepseek-r1:671b模型因上下文token超长未截断而报错,最终从缓存中卸载。经过长时间排查发现问题根源后,我们果断切换至70b模型(蒸馏量化版),不仅完美解决了保存问题,还意外获得了更高的token吞吐效率。

    后来了解到ollama对模型进行了量化,且性能没有vllm好,因此切换vllm部署。

  3. vllm落地大模型

    在完成领导交代的紧急任务后,经过深入调研,领导指出当前基于Ollama的方案适合个人研究,企业级建议切换至vLLM部署架构。为此,我系统性地梳理了GPU硬件驱动、CUDA计算架构、cuDNN加速库以及PyTorch框架之间的技术栈关系。

    经过多方案比选,最终确定采用vLLM官方Docker镜像进行部署,该方案不仅完美解决了复杂的Python环境依赖问题,还实现了计算资源的标准化管理,显著提升了部署效率和系统可靠性。

    依旧是一行极简的命令就完成vllm部署,当然由于满血版显存不够(cuda报错都快怀疑自我了,最后发现ollama是量化版本,vllm加载官方满血版本,显卡不够用。后面又加载了满血版的其他量化版,token越界问题存在),因此加载的是70b蒸馏未量化版本。结果呢,出乎意料,一个字:"快"。

    sql 复制代码
     docker run -d \ 
     --restart always \ 
     --name vllm \ 
     --gpus=all \ 
     --ipc=host \ 
     --shm-size 4g \ 
     --ulimit memlock=-1 \ 
     -v /dockerdata/vllm/models:/root/models \ 
     -v /etc/localtime:/etc/localtime:ro \ 
     -e TZ=Asia/Shanghai \ 
     -p 8000:8000 \ 
     vllm/vllm-openai \ 
     --model /root/models/DeepSeek-R1-Distill-Llama-70B \ 
     --served-model-name DeepSeek-R1-Distill-Llama-70B \ 
     --gpu-memory-utilization 0.95 \ 
     --api-key *****-****-****-****-******** \ 
     --trust-remote-code
  4. 应用落地

    由于公司领导对AI大模型场景落地比较关注,我们迅速完成了RAG知识库的搭建,部署了基于Dify的智能问答系统,并接入了部分业务场景数据,实现了初步的技术验证。

    然而,这仅仅是在AI大模型领域探索的第一步。面对这个快速发展的技术领域,越来越多的知识要学习,system prompt、user prompt、AI Agent、agent tools、function calling、MCP,python的langchain框架、java的spring ai alibaba框架。

    希望自己有机会能在AI大模型路上走的远一点。

相关推荐
智泊AI7 小时前
一文讲清:主流大模型推理部署框架:vLLM、SGLang、TensorRT-LLM、ollama、XInference
llm
大霸王龙10 小时前
MinIO 对象存储系统架构图集
人工智能·llm·minio
MoonOut12 小时前
LLM | ARC-AGI:有趣的 benchmark
llm
栀秋66615 小时前
🌟从“抽卡式编程”到规范驱动: 深度解析「Vibe Coding」的三层跃迁
微信小程序·llm·vibecoding
YuTaoShao16 小时前
【Prompt】Prompt 工程入门指南
人工智能·llm·prompt·提示词
Baihai_IDP1 天前
AI 算力是一种需要被定价、对冲和交易的风险资产?
人工智能·面试·llm
小霖家的混江龙1 天前
不再费脑, 手算 Attention 公式, 理解 Transformer 注意力的数学本质
人工智能·llm·aigc
云雾J视界1 天前
知识管理4.0时代:大模型与知识图谱如何重构企业智库与决策体系
搜索引擎·llm·知识图谱·知识管理·seci模型·智能增强
loong_XL1 天前
大模型JSON格式输出:instructor
ai·大模型·llm·json
knqiufan1 天前
Claude Code 完全指南:使用方式、技巧与最佳实践
ai·llm·claude code