本地部署大模型的几种方式

news2024/11/18 5:49:32

现在大模型可谓是满天飞, 只要你稍微关注时下的AI资讯, 几乎每天都有新的AI大模型出现. 这之中当然有诸如GhatGPT, Gemini这样的私有化大模型, 更吸引人关注的可能是开源的可私有化部署的一些大模型. 比如Meta前两天开放的Lamma 3, Google的Gemma开源模型, 国内也有Qwen以及YI等.

无论私有的大模型, 还是开源的可私有化部署的大模型, 各有优缺点. 相对而言, 一些开源的可私有化部署的大模型, 可能更令人关注. 因为只要有足够的硬件资源, 你就能私有化部署这些大模型.

今天我就介绍几种常见的, 方便的私有化大模型的方式, 这些方式都是开源或免费的.

私有化部署方式

  1. Ollama

要说私有化部署大模型最方便的方式, 我认为非Ollama莫属了.

相较于其它一些方式, 有一定的编程或技术上的门槛, Ollama可以说是把本地部署大模型这个以前有点技术含量或难度的事情完全傻瓜化了.

就算你是一个编程的门外汉, 都可以轻松的使用Ollama来部署一个本地大模型.

我在这里以最新的Llama 3来举例说明如何运行一个本地大模型. 只要你从Ollama的官网下载并安装了Ollama之后, 就可以极其方便的部署及运行一个大模型

代码语言:javascript

# 拉取llama 3大模型
ollama pull llama3
# 运行
ollama run llama3

运行后, 你可以在SHELL界面上直接和它交互. 并且它也提供了类似OPENAI风格一致的API.

代码语言:javascript

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "stream": false,
  "messages": [
    {
      "role": "user",
      "content": "你好, 大模型"
    }
  ]
}'

它的响应如下:

代码语言:javascript

{
  "model": "llama3",
  "created_at": "2024-04-21T10:00:17.951508Z",
  "message": {
    "role": "assistant",
    "content": "😊 你好!我是大模型,欢迎你来到我的世界!我可以回答你的问题,聊天,生成文本,甚至做一些小游戏。想知道什么?💬"
  },
  "done": true,
  "total_duration": 4032149334,
  "load_duration": 3262834,
  "prompt_eval_count": 10,
  "prompt_eval_duration": 417089000,
  "eval_count": 44,
  "eval_duration": 3607605000
}

看到没, 没有比Ollama更简单的了. 就算仅仅是个人使用, 如果你是M1或以上的芯片, 或有类似4090消费级显卡, 在本地运行一个llama 3 8B或Gemma 7B这样的开源模型, 是非常方便, 响应速度也比较快.

Ollama支持非常多的开源大模型, 无论是国外主流的, 还是国内的QWEN或YI, Ollama都完全支持. 相比较其它很多类似工具只支持Linux, Ollama支持MAC, WINDOWS及Linux.

如果仅仅是要部署一个本地大模型, 没有比Ollama更简单方便的方式了.

  1. VLLM

Vllm是一个python类库, 在知道与了解Ollama之前, 最开始我都是基于VLLM来部署类似的开源大模型.

当然, 相比较与Ollama这样的傻瓜式工具, VLLM就有一定的门槛.

它是一个python类库, 部署它意味着你至少得具有一定的编程或运维能力. 你得安装一个python环境, 最好搭配Conda一起来部署.

安装与运行vllm

代码语言:javascript

# 用conda创建一个独立的环境, 以避免依赖冲突
conda create -n myenv python=3.9 -y
conda activate myenv

# Install vLLM with CUDA 12.1.
pip install vllm

同样, 它也支持使用OPENAI类似REST风格来提供服务.

  1. Llama.cpp

Llama.cpp也非常有名, 它是一个纯C/C++实现的工具, 因此具有较好的性能表现.

Llama.cpp与VLLM一样, 都有一定的门槛, 没有一定的编程经验, 可能很难用它成功部署一个开源的大模型.

相较于VLLM, Llama.cpp的优点在于它支持更多的平台.

并且由于它早期非常有名, 有很多现成的风格类似ChatGPT的开源WEB UI支持.

  1. Hugging Face

程序员都知道, 当谈论开源时, 默认就会想到Github, 世界上最大的开源仓库. 同样, 关注开源大模型时, Hugging Face的地位等同于Github.

虽然国内可能也有魔搭社区这样的类似的社区. 但差距还是非常明显的.

Hugging Face不只是一个单纯的大模型数据存储仓库, 更重要的是它提供的类库, 诸如Transformers等. 几乎是开源AI编程的事实上的标准类库.

如果你想编程式的部署与使用一些开源的大模型, 那使用Hugging Face提供的类库, 当前几乎是唯一的选择.

  1. GPTAll

和前面几种方式不同的在于, GPTAll是一个有UI的AI应用程序. 支持Windows, MacOS以及Ubuntu等.

它简单易于操作, 你只需要在UI上点击操作, 就能下载运行一个本地模型.

当然, 这个工具更多的是面向个人使用的. 如果你想一个可以在本地运行聊天的软件, 这个软件是你可以考虑的好工具.

总结

开源大模型, 或者说本地化运行一个开源大模型, 现在已经越发的简单与低门槛了. 只要有足够的GPU硬件, 本地化部署与运行开源大模型非常简单及易于实现.

想部署一个本地大模型玩玩? 最方便的, 我建议你选择Ollama, 它足够简单, 易于部署与运行. 而且它也有开源的WEB UI或一些软件UI支持. 其它几种方式你也可以按需选择.

今天, 私有化本地部署一个大模型早已不是什么有门槛或技术含量的工作了, 对于那些追赶AI热潮的人来说, 找到AI对你业务实现的价值可能才是更具挑战的事情

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

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

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

相关文章

java海滨学院班级回忆录源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的海滨学院班级回忆录。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 海滨学院班级回忆录的…

高速公路边坡监测预警系统解决方案

一、概述 高速公路是国家交通大动脉,高速公路的安全、稳定是人民生命安全的保障。高速公路地基和边坡在线监测系统是交接高速公路运行状态的耳目,是保证高速公路稳定、安全保障人民生命财产安全、充分发挥高速公路国家交通大动脉的重要手段。高速边坡在线…

Java——执行流程

一、执行流程 1、示例 //第一个Java程序 public class Hello{public static void main(String[] args){System.out.println("Hello World!");} } 编译: 执行: 我们可以看到这里的是类名,而不是字节码文件名 Hello.class &#…

从tensorflow导入EarlyStopping能运行但是一直提示未解析

在pycharm中导入早停机的库时,碰上一个问题 from tensorflow.keras.callbacks import EarlyStopping这一条代码中,EarlyStopping一直有个红色波浪线,代表着找不到这个库,提示未解析啥的。 但是运行是可以运行的,虽然可…

Android Context 详解

一、什么是Context? Context是一个抽象基类。在翻译为上下文,是提供一些程序的运行环境基础信息。 Context下有两个子类,ContextWrapper是上下文功能的封装类(起到方法传递的作用,主要实现还是ContextImpl&#xff0…

[oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码

继续运行 🥋 回忆上次内容 上上次 真写了万行代码 这 万行代码 都是写在明面上的 这次 使用git命令 下载了 github上面的仓库 下载仓库 之后 又该 怎么办呢?🤔 进入目录 首先看看 目前 在哪个目录 pwd present working directory 当前目…

在全志H616核桃派开发板上进行音频配置的方法详解

耳机口​ 核桃派板载的3.5mm音频输出口,该接口有一定的输出功率,可以使用耳机或者带功放的扬声器都可以播放声音。 查看音频设备​ 可以使用下面指令来查看音频信息: aplay -l音频播放测试​ 播放系统自带wav音频文件测试, 下面指令的au…

【wiki知识库】03.前后端的初步交互(展现所有的电子书)

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、📂前端配置文件补充 三、🌏前端Vue的改造 四、💡总结 一、🔥今日目标 在上一篇文章当中,我已带大家把后端的一些基本工…

脑图工具 在学习系统架构中的使用

系统,有人把它比作一个黑盒,有人比作一个树洞。呃,其实二者都隐含的表达了一个意思,盘根错节,一言难尽,欲说还休,说了又像是隔靴搔痒,感觉没说透。 学习,理解和展示一个…

信创操作系统生态

信创操作系统生态 中标麒麟 官网https://www.cs2c.com.cn/scheme/product/7.html 银河麒麟 官网 https://www.kylinos.cn/ 中科方德 官网 https://www.nfschina.com/index.php?catid30 中兴新支点(中兴公司自研的linux操作系统) 官网 http:/…

Facebook开户 | Facebook的CTR是什么?

在当今数字化的营销领域,了解和利用各种指标是成功的关键。其中一个关键指标是CTR,即点击率(Click-Through Rate)。 在Facebook广告中,CTR是一个至关重要的度量标准,它不仅可以衡量广告的效果,还…

男士内裤哪种款式舒服?五条实用技巧让你轻松挑选

对于很多男生来说,依然很难挑到真正舒适的内裤。比如卡臀卡裆,走路时不时还得提拉一下,真的很尴尬。又紧又闷的内裤!尤其是炎热的夏天,黏糊糊的贼难受!到底有没有一款舒适透气男士内裤呢?那今天…

LeetCode516:最长回文子序列

题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 代码 /*dp[i][j]:[i,j]的回文子序列长度为d…

Remix IDE 创建和部署第一个合约HelloWorld

Remix IDE 地址 https://remix.ethereum.org/ 流程步骤: 创建一个新文件 输入文件名保存 在文件资源管理器中,点击新建文件图标创建一个新文件,并给它命名。在 Remix 中,默认的文件扩展名是 .sol ,如果文件名没有…

Spring MVC 工作流程源码分析

前言: 我们知道 Spring MVC 的核心是前端控制器 DispatcherServlet,客户端所有的请求都会交给 DispatcherServlet 来处理,本篇我我们来分析 Spring MVC 处理客户端请求的流程,也就是工作流程。 Sping MVC 只是储备传送门&#x…

HTTPS单双向认证流程详解与联想

HTTPS单向认证 HTTPS在单向认证传输的过程中会涉及到三个密钥: 服务端的公钥和私钥,用来进行非对称加密交换密钥 客户端生成的随机密钥,用来进行对称加密传输数据 认证过程 1.客户端向服务器发起HTTPS请求,连接到服务器的443端…

JS-06 原型式继承借用构造函数实现继承

目录 1 原型式继承 场景 前置问题 实现方法 2 借用构造函数实现继承 前置问题 错误的实现方式 正确的实现方式 1 原型式继承 场景 a、创建一个纯洁的对象:对象在控制台打印什么属性都没有 b、创建一个继承自某个父对象的子对象 前置问题 一个对象里有很…

基于Vue uni-app的自定义列表表格信息展示组件

摘要:随着软件技术的不断发展,前端开发面临着越来越多的挑战。特别是在业务场景复杂多变的情况下,如何提高开发效率和降低维护成本成为了关键。本文旨在探讨组件化开发在前端应用中的重要性,并以Vue uni-app自定义列表表格为例&am…

韶音、南卡、Oladance开放式耳机哪个好?深度测评告诉你答案!

作为一名资深数码博主,五年来我有幸试用了众多蓝牙耳机,涵盖了市场上的大小品牌。品牌方常邀请我进行产品评测,而我的粉丝也常在私信中求教如何挑选开放式蓝牙耳机。近期,我细致比对了市面上备受关注的三款开放式耳机:…

Linux中常见的基本指令(上)

目录 一、ls指令 1. ls 2. ls -l 3. ls -a 4.ls -F 二、qwd指令 三、cd指令 1. cd .. 2. cd / / / 3. cd ../ / / 4. cd ~ 5. cd - 五、mkdir指令 六、rmdir指令和rm指令 一、ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 。 功能 :对于目录…