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大模型路上走的远一点。

相关推荐
CodeCraft Studio10 小时前
Aspose.Words for .NET 25.7:支持自建大语言模型(LLM),实现更安全灵活的AI文档处理功能
人工智能·ai·语言模型·llm·.net·智能文档处理·aspose.word
ZHOU_WUYI11 小时前
FastVLM-0.5B 模型解析
人工智能·llm
Wilber的技术分享11 小时前
【大模型实战笔记 1】Prompt-Tuning方法
人工智能·笔记·机器学习·大模型·llm·prompt
蛋先生DX17 小时前
零压力了解 LoRA 微调原理
人工智能·llm
ZHOU_WUYI18 小时前
门控MLP(Qwen3MLP)与稀疏混合专家(Qwen3MoeSparseMoeBlock)模块解析
人工智能·llm
boonya1 天前
国内外开源大模型 LLM整理
开源·大模型·llm·大语言模型
文心快码BaiduComate1 天前
文心快码已支持Kimi-K2-0905模型
llm·ai编程
大熊猫侯佩2 天前
矩阵异变:代号 “AFM” 的 “温柔反叛者”—— 一场穿梭于骇客矩阵的苹果 AI 探秘
llm·ai编程·apple
数据智能老司机2 天前
AI Agents 实战——多智能体应用
llm·aigc·agent
聚客AI2 天前
👀10分钟搞懂RAG架构:离线索引+在线检索的闭环秘密
人工智能·llm·agent