暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

玩转DeepSeek系列:使用OCI GPU快速部署推理模型

甲骨文云技术 2025-03-03
95

DeepSeek横空出世,以较低的成本提供了行业领先的模型能力,震撼了全球AI市场。凭借强大的推理能力和宽松的开源可商用条件,DeepSeek迅速成为开发者和企业用户的热门选择。

然而,部署一个高性能的推理模型往往涉及繁琐的配置和优化,需要 Python 编码、容器、推理框架、机器学习等专业知识,这让不少人望而却步。

别担心!今天,我们就来介绍如何在 Oracle Cloud Infrastructure (OCI) 上申请 GPU 资源,并利用 Ollama vLLM 高效部署 DeepSeek 模型,让你轻松构建低延迟、高吞吐的推理服务,真正体验大模型推理的“Aha moment”

Ollama

Ollama 是一个轻量级、高效的、开源大模型运行框架,支持 macOSWindowsLinux 以及 Docker 容器环境。它的核心优势在于简洁的安装方式、灵活的模型管理和高效的推理能力,使得开发者和个人使用者可以轻松调用和部署大模型。

OCI GPU 上运行 Ollama,可以充分发挥其硬件加速能力,实现更低的推理延迟和更高的吞吐量,满足个人及中小企业级部署的需求。

主要优势

  • 简洁易用,快速部署Ollama 的安装和使用流程非常简单,只需几条命令即可下载并运行大模型,支持命令行交互、API 调用和第三方应用集成,极大降低了大模型的部署门槛。

  • 高性能支持:依托 OCIOracle Cloud Infrastructure)强大的计算资源,支持GPU加速。

  • 灵活自动扩展:可根据需求轻松调整资源,适应不同规模的应用场景。

  • 灵活的模型管理:通过 Ollama,用户可以轻松下载、加载和管理多个模型,包括 DeepSeekLlamaMistral 等流行模型,本地私有化部署,确保数据安全。

简单来说,Ollama 结合 OCI GPU,能够提供高效低成本的大模型推理方案,适用于个人开发者、研究团队以及企业级应用场景。

vLLM

vLLM 起初由加州大学伯克利分校的 Sky Computing Lab 开发,现已发展成为一个社区驱动的项目,能够显著提高推理吞吐量和 GPU 资源利用率。它采用了 PagedAttention 技术,大幅优化 KV 缓存管理,减少显存占用,适用于服务器级 GPU 部署。

OCI GPU 上运行 vLLM,可以充分利用GPU的并行计算能力,提高推理效率,降低成本,特别适用于需要高吞吐、低延迟的推理任务。

主要优势

  • 高效的 KV 缓存管理:传统推理引擎在处理长文本时,KV 缓存管理效率较低,容易导致显存碎片化,而 vLLM 采用 PagedAttention 机制,按页管理 KV 缓存,使得 GPU 显存利用率更高,支持更长的上下文窗口,提高推理吞吐量。

  • 高吞吐量,适用于批量推理vLLM 通过 连续批量推理(Continuous Batching),可以动态调整并行任务,充分利用 GPU 资源,避免计算资源闲置,从而提高吞吐量。

  • 灵活的模型兼容性vLLM 支持多种主流大语言模型(LLM),包括以下类型的主流模型(https://github.com/vllm-project/vllm):

Transformer-like LLMs (e.g., Llama)

Mixture-of-Expert LLMs (e.g., Mixtral, Deepseek-V2 and V3)

Embedding Models (e.g. E5-Mistral)

Multi-modal LLMs (e.g., LLaVA)

vLLM 通过 PagedAttention、高效批量推理、多 GPU 扩展等技术,大幅提升 LLM 的推理性能,特别适用于服务器 GPU 部署,它能够提供低延迟、高吞吐的推理能力,为企业级 AI 应用和大规模推理任务提供高效的解决方案。

创建GPU计算资源

OCI上创建GPU虚拟机通常有两种方式:

  • 选择VM.GPU.A10.1 Shape:从“Console→ “Compute” → “Instances,选择“Create instance”,在“Image and shape” 部分选择 “VM.GPU.A10.1”,Image可选择已集成NVIDIA驱动的或者选择自己需要的后续自己安装NVIDIA驱动和CUDA

  • Marketplace选择NVIDIA镜像:从“Console→ “Marketplace可输入 “NVIDIA” 进行筛选,选择合适的镜像然后 “Launch Instance”。

等待实例资源创建完成,选择合适的远程连接工具连接到实例。

安装、运行Ollama

  • 在虚拟机上直接安装

Linux上用户可以执行如下命令一键安装:

    curl -fsSL https://ollama.com/install.sh | sh
    复制

    安装完成后通过 ollama serve 启动 ollama 服务,可以通过执行 ollama -v 命令查看 ollama 版本信息,以验证是否安装成功。

    • 在虚拟机上基于Docker安装

    基于 Docker 可以使得 ollama 的安装、更新与启停管理更为便捷。

    首先确保已安装了 docker,然后执行如下命令:

      docker run --gpus=all -d -p 11434:11434 -v /data/ollama:/root/.ollama --name ollama ollama/ollama
      复制

      接下来,我们可以使用 ollama 命令行下载和运行板型。可以通过官方网站(https://ollama.com/search)查看官方支持的模型。选择官方的 “deepseek-r1 7b” 作为示例,部署一个较小的模型进行快速验证。

      运行命令 

        ollama run deepseek-r1
        复制

        如果是docker安装,可以运行 

          docker exec –it ollama ollama run deepseek-r1
          复制

          安装、运行vLLM

          • 在虚拟机上直接安装

          Linux上用户可以执行如下命令安装,需要有conda环境(https://www.anaconda.com/download):

            conda create -n vllm python=3.11 -y
            conda activate vllm
            pip install vllm
            pip install flash-attn --no-build-isolation
            复制

            安装完成后通过执行 ollama -v 命令查看 ollama 版本信息,以验证是否安装成功。

            开启DeepSeek之旅!

            Ollama vLLM提供了一种简单而高效的方式,让开发者能够在本地或云端部署并运行大语言模型。通过轻量级的安装和简洁的使用方式,使得即便是资源有限的机器也能够运行高效的推理服务。而在部署了 DeepSeek-R1 模型之后,你可以通过 Open-WebUI Dify 来快速体验这一强大的语言模型。接下来,我们将详细介绍如何使用这两种方式进行试用。

            • 通过 Open-WebUI 使用 DeepSeek-R1

            Open-WebUIhttps://openwebui.com) 是一个基于 Web 的用户界面,旨在让用户通过浏览器与模型进行交互。它简单易用,适合任何想要快速试用 DeepSeek-R1 模型的人。

            步骤

            1)启动 Open-WebUI

            在安装了 Docker 的机器上,你可以通过以下命令启动 Open-WebUI

              docker run -d -p 3000:8080 -v open-webui:/app/backend/data –e WEBUI_AUTH=false --name open-webui ghcr.io/open-webui/open-webui:main
              复制

              这会启动 Web UI,并打开一个本地的3000端口,你可以通过浏览器访问这个地址。

              在右上角的设置中可以设置刚才部署的OllamavLLM

              适用场景

              进行问答、文本生成、摘要提取等任务。

              快速验证 DeepSeek-R1 在推理过程中的性能表现。

              作为快速原型开发的基础,进行各种自然语言处理任务的探索。

              • 通过 Dify 使用 DeepSeek-R1

              Difyhttps://dify.ai) 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

              步骤

              1)创建 Dify 账号并登录:

              访问 Dify 官网 注册并登录账号,或者在本地或云端部署社区版(可参考官方文档:https://docs.dify.ai/zh-hans)。

              2)连接 Ollama:

              Dify 控制台中,选择添加新的模型服务,并填写你在本地部署的DeepSeek模型,如,Ollama 服务地址(如 http://ip:11434)。

              适用场景

              用于构建聊天机器人、自动化客服系统等。

              适合快速集成到现有的 Web 应用、移动应用或产品中。

              提供更丰富的 API 接口,可以用于大规模的自动化任务。

              关于Dify更多与Oracle 23ai以及OCI Gen AI的集成使用请参考:https://github.com/tmuife/dify/blob/use_oracle/USE_ORACLE.mdhttps://github.com/tmuife/dify/blob/use_oracle/USE_ORACLE23AI.md

              • 开始与 DeepSeek-R1 交互

              Dify 的聊天界面或open-webui中,你可以像与人类对话一样与 DeepSeek-R1 进行对话。输入任何问题或任务,并等待模型响应。下面分别是基于 Difyopen-webui 部署的 DeepSeek-R1 模型构建的聊天机器人示例。可以看到 AI 在回答问题前进行详细思考和计划,使答案更加准确、全面。这一能力将极大提升企业 AI 应用的深度和广度。

              避坑指南&优秀实践

              1.安装flash-attn时出现nvcc版本错误?

              需要更新nvcc版本到12及以上并设置环境变量。

              2.vLLM部署模型后,如何连接?

              vLLM是兼容openaiapi格式,因此可以使用openai-api-compatible的形式访问。

              3.模型推理速度很慢?

              如果是使用了docker-compose.yaml文件运行在Docker中的Ollama,请检查是否将GPU资源绑定到容器上。

              结语

              Ollama vLLM 都是非常优秀的大模型推理引擎,它们都很容易在 OCI GPU 上的部署。适合开发者和团队快速实现模型推理服务。通过优化推理流程、提高显存和计算资源的利用率,这些引擎在单卡 GPU 上的表现都相当出色,尤其是在低延迟和高并发场景下,能够满足大多数实验性和中小型生产环境的需求。

              然而,尽管这些引擎能够在短时间内实现模型的快速部署,但对于企业级应用,尤其是高并发、大规模部署的场景,仍然需要更多的工作。首先,企业级应用需要更加完善的可扩展性 和高可用性,这意味着需要在多 GPU 方案、负载均衡、容器化部署和云端弹性扩展等方面做更多优化。其次,企业级部署往往涉及更严格的安全性和合规性要求,因此需要额外的工作来确保数据的隐私保护和访问控制。

              编辑:赵靖宇

              文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论