前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本地部署大模型的几种方式

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

作者头像
御剑
发布2024-04-23 15:18:32
2.2K0
发布2024-04-23 15:18: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对你业务实现的价值可能才是更具挑战的事情.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微言码道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 私有化部署方式
  • 总结
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档