当前位置: 首页 > news >正文

如何在NVIDIA H100 GPU上用Ollama以最高性能运行大语言模型

本文是关于如何在 DigitalOcean 云平台提供的 NVIDIA H100 GPU Droplet 云服务器上使用 Ollama 运行大型语言模型的教程。DigitalOcean 的 GPU Droplets 为人工智能/机器学习(AI/ML)训练、推理以及其他计算密集型任务(如深度学习、高性能计算(HPC)、数据分析和图形渲染)提供了强大且可扩展的解决方案。这些 GPU 专为处理高要求的工作负载而设计,GPU Droplets 使企业能够按需高效地扩展 AI/ML 操作,而无需承担管理传统云平台通常带来的额外成本。DigitalOcean 的 GPU Droplets 以简单、灵活和经济实惠著称,确保快速部署和易于使用,非常适合不同规模的创业公司、开发者和数据科学家。 

现在,随着对 NVIDIA H100 GPU 的支持,用户可以加速 AI/ML 的开发、测试、部署和优化其应用程序,而无需传统平台通常所需的复杂设置或维护。Ollama 是一个开源工具,它提供访问多样化的预训练模型库,支持跨不同操作系统轻松安装和设置,并通过本地 API 实现与应用程序和工作流程的无缝集成。用户可以自定义和微调大型语言模型(LLM),利用硬件加速优化性能,并通过交互式用户界面实现直观的交互。 

本文的核心要点: 

  • 在 NVIDIA H100 GPU 上使用 Ollama 运行大型语言模型,将一个易于使用的本地模型部署工具与目前最强大的 AI 加速器之一相结合,使得即使是超大模型也能以极快的速度和高吞吐量进行服务。 

  • 本教程将展示如何配置配备 H100 的 DigitalOcean Droplet,并设置 Ollama 来加载和提供 LLM 服务,使开发者能够在专用的高端硬件上部署先进模型(如基于 Llama 2 的代码助手或聊天机器人),而无需复杂的基础设施工作。 

  • H100 凭借其先进的 Tensor Cores 和巨大的内存,显著加速了模型推理(甚至微调任务);例如,H100 对 FP8 精度的支持和大规模并行性,使其相比使用较小的 GPU 能够实现更低的响应延迟,并处理更大的批量或上下文窗口。 

  • 这种方法提供了云扩展的灵活性——在需要时启动强大的 GPU——而 Ollama 提供了一种简单的方式来运行模型,这意味着您可以在无需深厚机器学习运维专业知识的情况下,按需利用前沿的模型性能。 

    准备工作

    要一步步跟着本教程操作,你需要做好以下准备

    • 可访问的 H100 GPU:确保您可以通过本地硬件或 DigitalOcean 的 GPU Droplets 云服务器访问 NVIDIA H100 GPU(支持按需实例,详细配置可访问卓普云官网aidroplet.com查询)。 

    • 熟悉 Python 和 Linux 命令。 

    • 安装 CUDA 和 cuDNN:确保已安装 NVIDIA CUDA 和 cuDNN 库以实现最佳 GPU 性能。 

    • 充足的存储和内存:拥有足够的存储空间和内存来处理大型模型数据集和权重,如果你使用的是DigitalOcean GPU Droplet,那么可以快速按需扩展。 

    • 对 LLM 的基本理解:对大型语言模型及其结构有基础理解,以便有效管理和优化它们。这些先决条件有助于确保在 H100 GPU 上使用 Ollama 运行 LLM 时获得顺畅高效的体验。 

      什么是 Ollama? 

      Ollama 提供了一种方式,可以从其庞大的语言模型库中下载大型语言模型,该库包括 Llama3.1、Mistral、Code Llama、Gemma 等。Ollama 将模型权重、配置和数据整合到一个由 Modelfile 指定的包中。Ollama 提供了一个灵活的平台,用于创建、导入和使用自定义或现有语言模型,非常适合创建聊天机器人、文本摘要等应用。它强调隐私,可与 Windows、macOS 和 Linux 无缝集成,并且免费使用。Ollama 还允许用户轻松地在本地部署模型。此外,该平台还通过 REST API 支持实时交互,非常适合基于 LLM 的 Web 应用和工具。它的工作方式与 Docker 非常相似。使用 Docker,我们可以从中央仓库获取不同的镜像并在容器中运行它们。同样,Ollama 允许我们通过创建 Modelfile 来自定义模型。以下是创建 Modelfile 的代码: 

      FROM llama2 # 设置温度参数 PARAMETER temperature 1 # 设置系统提示 SYSTEM """ 你是一个由 Shaoni 创建的乐于助人的教学助手。 根据人工智能、深度学习回答问题。 """

      接下来,运行自定义模型: 

      ollama create MLexp -f ./Modelfile ollama run MLexp

      NVIDIA H100 GPU 的强大功能 

      H100 是 NVIDIA 最强大的 GPU,专为人工智能应用而设计。它拥有 800 亿个晶体管——是 A100 的六倍——能够比市场上其他 GPU 更快地处理大型数据集。 

      众所周知,AI 应用程序对数据需求巨大且计算成本高昂。为了应对如此巨大的工作负载,H100 被认为是最佳选择。 

      H100 配备了第四代 Tensor Cores 和具有 FP8 精度的 Transformer 引擎。H100 的浮点运算每秒(FLOPS)是前代产品的三倍,提供 60 万亿次双精度(FP64)计算,这对于 HPC 任务中的精确计算至关重要。它可以在不修改现有代码的情况下,以 TF32 精度实现每秒一拍(petaflop)的单精度矩阵乘法运算,对开发者非常友好。 

      H100 引入了 DPX 指令,显著提升了动态编程任务的性能,相比 A100 性能提升 7 倍,相比 CPU 在特定算法(如 DNA 序列比对)上快 40 倍。 

      H100 GPU 提供了必要的计算能力,每个 GPU 提供 3 万亿字节每秒(TB/s)的内存带宽。这种高性能使其能够高效处理大型数据集。 

      H100 通过 NVLink 和 NVSwitch™ 等技术支持可扩展性,允许多个 GPU 有效协同工作。 

      GPU Droplets 

      DigitalOcean GPU Droplets 为您的 AI/ML 工作负载提供了一种简单、灵活且经济高效的解决方案。这些可扩展的机器非常适合可靠地运行 AI/ML 模型的训练和推理任务。此外,DigitalOcean GPU Droplets 非常适合高性能计算(HPC)任务,使其成为各种用例(包括模拟、数据分析和科学计算)的多功能选择。

      GPU Droplets 除了提供 H100 GPU 以外,还提供 MI300X、MI325X、H200、L40S、RTX 6000 Ada 等GPU的按需实例或裸金属机型。更多详情可咨询 DigitalOcean 中国区独家战略合作伙伴卓普云(aidroplet.com)。

      为什么要在 H100 GPU 上使用 Ollama 运行 LLM? 

      为了高效运行 Ollama,需要 NVIDIA 的 GPU 才能无故障运行。如果使用 CPU,用户可能会遇到响应缓慢的问题。 

      H100 由于其先进的架构,提供了卓越的计算能力,有助于显著提高 LLM 的效率。 

      Ollama 允许用户根据特定需求自定义和微调 LLM,支持提示工程、少样本学习和定制微调,以使模型与期望结果保持一致。将 Ollama 与 H100 GPU 结合使用,可以增强开发者和研究人员的模型推理和训练时间。 

      H100 GPU 能够处理 Falcon 180b 等模型,使其成为创建和部署生成式 AI 工具(如聊天机器人或 RAG 应用程序)的理想选择。 

      H100 GPU 配备了 Tensor Cores 等硬件优化,显著加速了涉及 LLM 的任务,尤其是在处理矩阵密集型操作时。 

      在 H100 GPU 上设置 Ollama 

      Ollama 与 Windows、macOS 或 Linux 兼容良好。这里我们使用 Linux 代码,因为我们的 GPU Droplets 基于 Linux 操作系统。 

      在终端中运行以下代码以检查 GPU 规格: 

      nvidia-smi

      接下来,我们将使用同一终端安装 Ollama: 

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

      输入之后将立即开始 Ollama 的安装。 

      安装完成后,我们可以拉取任何 LLM 并开始使用模型,例如 Llama 3.1、Phi3、Mistral、Gemma 2 或任何其他模型。 

      要运行并与模型聊天,我们将运行以下代码。请根据您的需求随意更改模型。在 Ollama 上运行模型非常简单,而这里我们使用强大的 H100,生成响应的过程变得快速且高效。 

      ollama run example_model ollama run qwen2:7b

      如果出现错误“无法连接到 ollama 应用,它是否正在运行?”,请使用以下代码连接到 Ollama: 

      sudo systemctl enable ollama sudo systemctl start ollama

      Ollama 支持广泛的模型列表,以下是一些可以下载和使用的示例模型: 

      模型

      参数

      大小

      下载

      Llama 3.1

      8B

      4.7GB

      ollama run llama3.1

      Llama 3.1

      70B

      40GB

      ollama run llama3.1:70b

      Llama 3.1

      405B

      231GB

      ollama run llama3.1:405b

      Phi 3 Mini

      3.8B

      2.3GB

      ollama run phi3

      Phi 3 Medium

      14B

      7.9GB

      ollama run phi3:medium

      Gemma 2

      27B

      16GB

      ollama run gemma2:27b

      Mistral

      7B

      4.1GB

      ollama run mistral

      Code Llama

      7B

      3.8GB

      ollama run codellama

      使用 Ollama,用户可以方便地运行 LLM,甚至无需互联网连接,因为模型及其依赖项会存储在本地。 

      >>> 编写一个斐波那契数列的 Python 代码。 def fibonacci(n): """ 此函数打印斐波那契数列的前 n 个数字。 参数: @param n (int): 要打印的斐波那契数列元素数量。 返回: 无 """ # 初始化斐波那契数列的前两个数字。 a, b = 0, 1 # 遍历范围并生成斐波那契数列。 for i in range(n): print(a) # 更新数列中的下一个数字 a, b = b, a + b # 测试函数,打印斐波那契数列的前 10 个数字。 if __name__ == "__main__": fibonacci(10)

      此 Python 代码定义了一个简单的 fibonacci 函数,该函数接受一个整数参数并打印斐波那契数列的前 n 个数字。斐波那契数列从 0 和 1 开始,每个后续数字都是前两个数字的和。 

      末尾的 if __name__ == "__main__": 块通过调用参数值为 10 的函数来测试此函数,打印出斐波那契数列的前 10 个数字。 

      小结 

      Ollama 是一种用于在本地处理大型语言模型的新一代 AI 工具,提供增强的隐私性、可定制性和离线访问性。Ollama 使处理 LLM 变得更加简单,促进了开发者直接在自己的机器上探索和实验开源 LLM,推动了创新和对 AI 的深入理解。要访问强大的 GPU,请考虑使用 DigitalOcean GPU Droplets。 

      常见问题解答 

      Q1. 什么是 Ollama,它如何帮助运行 LLM? 

      Ollama 是一个轻量级、对开发者友好的框架,用于在本地或服务器上运行大型语言模型(LLM)。它简化了模型管理,支持自定义模型,并通过 GPU 加速优化推理性能。 

      Q2. 为什么我应该使用 H100 GPU 来运行 LLM? 

      NVIDIA H100 GPU 专为 AI 工作负载设计。它们提供大规模并行处理、更快的训练速度和更低的推理延迟——使其成为大规模部署 LLM 并实现最大吞吐量的理想选择。 

      Q3. Ollama 是否开箱即用地兼容 H100 GPU? 

      是的,只要您的系统具有必要的 NVIDIA 驱动程序、CUDA 工具包和容器运行时,Ollama 就能很好地与 H100 配合使用。您可以在为 GPU 使用优化的 Docker 容器内运行模型。 

      Q4. 我可以在生产环境中使用 Ollama 吗? 

      当然可以。Ollama 支持容器化部署、GPU 使用和 REST API——使其成为生产推理管道的绝佳选择。它还可以与流行的监控和扩展工具集成。 

      Q5. Ollama 如何高效管理内存和 GPU 使用? 

      Ollama 仅加载推理所需的内容,并可以流式传输模型响应,减少内存开销。在 H100 上,它利用 Tensor Cores 和高内存带宽实现更快、更高效的性能。 

      Q6. 我可以在 H100 GPU 上使用 Ollama 运行哪些模型? 

      您可以运行包括 LLaMA 2/3、Mistral、Gemma 和 Mixtral 在内的广泛模型。Ollama 支持量化和全精度模型,根据您的性能和质量需求提供灵活性。 

      Q7. 我是否需要微调模型才能在 Ollama 中使用它们? 

      不需要,您可以直接使用预训练模型。然而,如果您需要特定领域的结果,Ollama 也允许您使用 LoRA 或 GGUF 等工具构建的微调或自定义模型。

      http://www.xdnf.cn/news/1258255.html

      相关文章:

    • 【MySQL基础篇】:MySQL事务并发控制原理-MVCC机制解析
    • 跨境电商增长突围:多维变局下的战略重构与技术赋能
    • P1690 贪婪的 Copy
    • Elcomsoft Wireless Security Auditor 安装教程-安全检测工具使用指南
    • 鸿蒙 - 分享功能
    • 【unity实战】使用Unity程序化生成3D随机地牢(附项目源码)
    • Redis 分布式Session
    • RAGAS:检索增强生成系统的无参考评估框架与技术解析
    • 知识随记-----Qt 实用技巧:自定义倒计时按钮防止用户频繁点击
    • Springboot2+vue2+uniapp 小程序端实现搜索联想自动补全功能
    • 数据结构----栈和队列认识
    • 为何毫米波需要采用不同的DPD方法?如何量化其值?
    • Java集合的遍历方式(全解析)
    • Mac/Windows跨平台PDF与AI高效解决方案
    • 数据分析——Pandas库
    • 解决React白板应用中的画布内容丢失问题
    • 哈希表——指针数组与单向链表的结合
    • (附源码)基于Web的物流信息管理系统
    • 【插件式微服务架构系统分享】之 解耦至上:gateway 网关与APISIX 网关的不同分工
    • 深入理解String类:揭秘Java字符串常量池的优化机制
    • 美图复现|Science:添加显著性的GO富集分析美图
    • python selenium环境安装
    • 飞算JavaAI深度解析:Java开发者的智能革命
    • Android Auto开发指南
    • mysql全屏终端全量、部分备份、恢复脚本
    • day28-NFS
    • Springboot2+vue2+uniapp 实现搜索联想自动补全功能
    • 《P3275 [SCOI2011] 糖果》
    • langchain入门笔记02:几个实际应用
    • 模拟-38.外观数列-力扣(LeetCode)