NVIDIA RTX 系统上使用 llama.cpp 加速 LLM

NVIDIA RTX 系统上使用 llama.cpp 加速 LLM

在这里插入图片描述

文章目录

  • NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
    • llama.cpp 概述
    • llama.cpp 在 NVIDIA RTX 上的加速性能
    • 使用 llama.cpp 构建的开发人员生态系统
    • 使用 llama.cpp 在 RTX 平台上加速的应用程序
    • 开始使用

适用于 Windows PC 的 NVIDIA RTX AI 平台提供了一个蓬勃发展的生态系统,其中包含数千种开源模型,供应用程序开发人员利用并集成到 Windows 应用程序中。值得注意的是,llama.cpp 是一款流行的工具,在撰写本文时拥有超过 65,000 个 GitHub 星标。这个开源存储库最初于 2023 年发布,是一个轻量级、高效的大型语言模型 (LLM) 推理框架,可在包括 RTX PC 在内的一系列硬件平台上运行。

这篇文章解释了 RTX PC 上的 llama.cpp 如何为构建需要 LLM 功能的跨平台或 Windows 原生应用程序提供引人注目的解决方案。

llama.cpp 概述

虽然 LLM 在解锁令人兴奋的新用例方面表现出了希望,但它们的大内存和计算密集型特性通常使开发人员难以将它们部署到生产应用程序中。为了解决这个问题,llama.cpp 提供了大量功能来优化模型性能并在各种硬件上高效部署。

llama.cpp 的核心是利用 ggml 张量库进行机器学习。这个轻量级软件堆栈支持跨平台使用 llama.cpp,而无需外部依赖项。它具有极高的内存效率,是本地设备推理的理想选择。模型数据以称为 GGUF 的自定义文件格式打包和部署,由 llama.cpp 贡献者专门设计和实施。

在 llama.cpp 上构建项目的开发人员可以从数千个预打包模型中进行选择,涵盖广泛的高质量量化。一个不断壮大的开源社区正在积极开发 llama.cpp 和 ggml 项目。

llama.cpp 在 NVIDIA RTX 上的加速性能

NVIDIA 继续合作改进和优化 llama.cpp 在 RTX GPU 上运行时的性能以及开发人员体验。一些关键贡献包括:

  • 在 llama.cpp 中实现 CUDA 图表,以减少开销和内核执行时间之间的差距以生成令牌。
  • 在准备 ggml 图表时减少 CPU 开销。

有关最新贡献的更多信息,请参阅使用 CUDA 图表优化 llama.cpp AI 推理。

上图显示了 NVIDIA 内部测量结果,展示了使用 llama.cpp 上的 Llama 3 8B 模型在 NVIDIA GeForce RTX GPU 上的吞吐量性能。在 NVIDIA RTX 4090 GPU 上,用户可以预期每秒约 150 个令牌,输入序列长度为 100 个令牌,输出序列长度为 100 个令牌。

要使用带有 CUDA 后端的 NVIDIA GPU 优化构建 llama.cpp 库,请访问 GitHub 上的 llama.cpp/docs。

在这里插入图片描述

使用 llama.cpp 构建的开发人员生态系统

在 llama.cpp 之上构建了一个庞大的开发人员框架和抽象生态系统,以便开发人员进一步加速他们的应用程序开发之旅。流行的开发人员工具(如 Ollama、Homebrew 和 LMStudio)都在底层扩展并利用了 llama.cpp 的功能,以提供抽象的开发人员体验。其中一些工具的主要功能包括配置和依赖项管理、模型权重的捆绑、抽象的 UI 以及本地运行的 LLM API 端点。

此外,还有一个广泛的模型生态系统,这些模型已经预先优化,可供开发人员在 RTX 系统上使用 llama.cpp 利用。值得注意的模型包括 Hugging Face 上提供的最新 GGUF 量化版本的 Llama 3.2。

此外,llama.cpp 作为 NVIDIA RTX AI 工具包的一部分提供推理部署机制。

使用 llama.cpp 在 RTX 平台上加速的应用程序

现在有 50 多个工具和应用程序使用 llama.cpp 加速,包括:

  • Backyard.ai:使用 Backyard.ai,用户可以在私人环境中完全拥有和控制自己喜欢的角色,通过 AI 释放创造力。该平台利用 llama.cpp 加速 RTX 系统上的 LLM 模型。
  • Brave 已将智能 AI 助手 Leo 直接内置到 Brave 浏览器中。借助隐私保护的 Leo,用户现在可以提问、总结页面和 PDF、编写代码和创建新文本。借助 Leo,用户可以利用 Ollama(利用 llama.cpp 在 RTX 系统上加速)与设备上的本地 LLM 进行交互。
  • Opera:Opera 现在已集成本地 AI 模型来增强用户的浏览需求,作为 Opera One 开发者版本的一部分。 Opera 使用 Ollama 集成了这些功能,利用完全在 NVIDIA RTX 系统本地运行的 llama.cpp 后端。在 Opera 的浏览器 AI Aria 中,用户还可以向引擎询问网页摘要和翻译,通过其他搜索获取更多信息,生成文本和图像,并大声朗读响应,支持 50 多种语言。
  • Sourcegraph:Sourcegraph Cody 是一款 AI 编码助手,支持最新的 LLM,并使用最佳开发人员环境来提供准确的代码建议。Cody 还可以处理在本地机器和隔离环境中运行的模型。它利用使用 llama.cpp 的 Ollama 来支持在 NVIDIA RTX GPU 上加速的本地推理。

开始使用

在 RTX AI PC 上使用 llama.cpp 为开发人员提供了一种引人注目的解决方案,可以加速 GPU 上的 AI 工作负载。借助 llama.cpp,开发人员可以利用轻量级安装包的 C++ 实现进行 LLM 推理。了解更多信息并开始使用 RTX AI 工具包上的 llama.cpp。

NVIDIA 致力于为 RTX AI 平台上的开源软件做出贡献并加速其发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[CKS] K8S NetworkPolicy Set Up

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于不安全项目修复的题目。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS] K8S Ne…

Kubernetes中ETCD组件的作用

在Kubernetes(k8s)中,etcd是一个关键的组件,它扮演着集群状态存储的角色,具有至关重要的作用。以下是etcd在Kubernetes中的具体作用: 存储配置数据:etcd是一个分布式键值存储系统,用…

Odoo:免费开源的流程制造行业ERP管理系统

概述 聚焦流程制造连续性生产的特性,提供集成PLMERPMESBI的一体化解决方案,涵盖计划、生产、质量、配方、供销、库存、成本、设备、资金管理等业务领域的整体性解决方案 行业的最新洞察&行业典型痛点 一、生产过程需要精细化控制 需要在各种制约…

MySQL技巧之跨服务器数据查询:基础篇-动态参数

MySQL技巧之跨服务器数据查询:基础篇-动态参数 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL 以及用同样的方法&a…

在卷积神经网络中真正占用内存的是什么

在卷积神经网络(CNN)中,占用内存的主要部分包括以下几个方面: 1. 模型参数(Weights and Biases) CNN 中的权重和偏置(即模型的参数)通常是占用内存的最大部分。具体来说&#xff1…

【Python爬虫实战】轻量级爬虫利器:DrissionPage之SessionPage与WebPage模块详解

🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、SessionPage (一)SessionPage 模块的基本功能 (二)基本使…

蓝牙BLE开发——iOS 每次写入数据超过200字节报错?

iOS 写入数据超过200字节报错 文章目录 iOS 写入数据超过200字节报错官方建议:报错问题解决 writeblecharacteristicvalue 官方建议: 并行调用多次会存在写失败的可能性。APP不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙4.0单次…

vue3使用VueQuill插入自定义按钮

在 Vue 3 项目中使用 VueQuill 编辑器时,我们可以自定义内容来满足特定的需求。本文将介绍如何在 VueQuill 中插入自定义内容,比如插入特定的标签或样式元素。 Quill官方中文文档 1. 项目设置和依赖安装 如果你还没有创建 Vue 3 项目,可以…

OpenHamrony4.0去除锁屏是一种什么体验?触觉智能给你支支招

本文介绍在开源鸿蒙OpenHarmony 4.0系统下,去除锁屏开机后直接进入界面的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566芯片,类树莓派设计,Laval官方社区主荐,已适配全新OpenHarmony5.0 Rel…

【bat】自动生成指定层级文件夹

🌅 一日之计在于晨,启航新程 ⭐ 本期特辑:自动生成指定层级文件夹 🏆 系列专题:BAT脚本工坊 文章目录 前言批处理脚本介绍脚本执行过程总结 前言 在日常的计算机使用过程中,我们经常需要创建文件夹来组织和…

AI 扩展开发者思维方式:以 SQL 查询优化为例

在现代软件开发中,AI 技术的兴起让开发者的思维方式发生了显著变化。尤其是在 SQL 查询优化、代码重构以及算法设计等领域,AI 提供的建议不仅扩展了开发者的思考路径,还帮助他们发现以往没有意识到的潜在解决方案。 1. 传统思维模式下的 SQL…

基于yolov5的番茄成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: yolov5 番茄成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili (一)简介 基于 YOLOv5 的番茄成熟度检测系统是在 PyT…

vue-echarts 动态x轴字段,可选多个公司数据,根据选择的条件动态生成echarts柱形图(或者折线图)

需求&#xff1a;月份、 公司 、显示字段、柱形图&#xff08;折线图&#xff09;&#xff0c;都为动态可选的。 &#xff08;此例子&#xff1a;模拟数据都为随机数&#xff0c;所以每次截图值都会不同&#xff09; &#xff08;Vue3 echarts 5.4.2版本&#xff09; <te…

计算机网络之会话层

一、会话层的核心功能 会话层作为OSI模型的第五层&#xff0c;不仅承担着建立、管理和终止通信会话的基本任务&#xff0c;还隐含着许多复杂且关键的功能&#xff0c;这些功能共同确保了网络通信的高效、有序和安全。 1. 会话建立与连接管理&#xff1a; 身份验证与授权&…

c/c++--struct对比

目录 C struct的使用&#xff1a; 1.1 默认访问控制&#xff08;Access Control&#xff09;&#xff1a; 1.2. 继承权限&#xff08;Inheritance Access&#xff09;&#xff1a; 1.3. 构造函数、析构函数、成员函数&#xff1a; 2. 与c语言的对比 C语言中的区别&#x…

Linux7 线程(一)

线程 1. 概念2. 库函数线程库创建线程线程ID线程终止线程等待线程分离 3. 线程的互斥相关概念临界资源互斥量 - mutex初始化互斥量静态分配动态分配 销毁互斥量互斥量加锁互斥量解锁死锁概念死锁的四个必要条件避免死锁避免死锁算法 4. 线程的同步条件变量初始化条件变量静态分…

html的week控件 获取周(星期)的第一天(周一)和最后一天(周日)

html的week控件 获取周(星期)的第一天(周一)和最后一天(周日) <input type"week" id"week" class"my-css" value"ViewBag.DefaultWeek" /><script> function PageList() { var dateStrin…

MFC中Picture Control控件显示照片的几种方式

目前使用CImage和CBitmap两个类&#xff0c;还有是将CImage转CBitmap显示。 MFC界面拖拽一个button按钮和一个Picture Control控件。 1.CImage显示。这种方式显示图片会有颜色不对的情况 void Cpicture_test_controlDlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处…

【拥抱AI】我们该如何集成大模型?

集成大模型到你的项目中涉及多个步骤&#xff0c;包括选择合适的模型、设置开发环境、调用模型的 API、处理响应数据等。本文将详细介绍如何集成大模型&#xff0c;并提供具体的示例代码和最佳实践。 1. 选择合适的模型 在集成大模型之前&#xff0c;首先需要选择一个合适的模…

github和Visual Studio

1、代码下载和提交 GitHubDesktopSetup-x64.exe 使用很简单&#xff0c;自己稍微琢磨下就明白了。 2、Visual Studio 2022 2.1 安装组件及学习内容 Visual Studio 中的 CMake 项目 | Microsoft Learn 2.2 打开 CMakeLists.txt 文件 定位并选择 CMakeLists.txt 文件 …