用Ollama+Open WebUI在本地部署llama3 8B

继上周折腾完博客后,这个周末又找到新的乐趣点——在本地部署了一套大模型环境,最终展示效果如下:

其实现在线上的大模型已经非常多了,例如我最常用的ChatGPT、国产的Kimi,国内的通义千问、文心一言、秘塔AI搜索,还有我最近在探索的Claude和Gemini等,基本能满足搜索及日常辅助的功能了。

但是我并不想把工作中的信息上传到互联网去处理,所以能做的事还是比较有限。再加上各大模型也会从数据安全方面考虑,不会缓存用户数据,于是大模型就并不知道你是谁。

恰好看见Ollama的解决方案,于是周末通过Ollama+Open WebUI+本地部署Llama3 8b,效果还不错。

Ollama

Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型的难度,降低使用大语言模型的门槛,不管是开发者还是普通用户,都能以比较简单的方式管理和部署最新大语言模型,包括如Llama、Gemma、qwen等开源的大型语言模型。

这个工具支持Mac、Linux和Windows,安装包在其官网免费下载即可:http://ollama.com

我使用的是MacOS,整个下载和安装过程都比较简单。

Open WebUI

但是Ollama本身是一套完整的后台服务,因此还需要另外部署一套前端界面来进行交互。

这里我选择了Open WebUI,它支持包括 Ollama 和与 OpenAI 兼容的 API 在内的多种 LLM 运行器,通过它的界面来连接Ollama,可以实现类似ChatGPT式的Web交互体验。

Open WebUI可以在github上获取,具体地址可以点击这里:

获取Open WebUI

这里需要注意下,最好是使用Docker来运行Open WebUI,如果本机没有安装Docker,需要下载安装。这个工具安装起来也很简单,没有太多值得说的。

下载路径:https://www.docker.com/products/docker-desktop/

如果Docker环境具备或者已经安装完成,复制图中圈出的这段命令,在终端命令行中运行该指令,就会将Open WebUI镜像下载到本地,后续启停服务都非常方便。

正常下载好Open WebUI后,Docker工具里会显示该应用及状态,访问localhost:3000就能看见Open WebUI的界面了。

安装llama 3

Meta的llama 3可谓是史上最强开源AI大模型,一经发布,各项指标全面逼近GPT-4。它提供了8B和70B两个版本,8B版本最低仅需4G显存即可运行,可以说是迄今为止能在本地运行的最强LLM。

在Ollama官网的Models模块下,找到所需的开源大模型进行下载。以llama3为例,点进llama3详情页面,复制下载指令后,在命令行中运行该命令,或者在Open WebUI的管理员面板的「模型」中操作均可下载。

llama3下载指令如下图:

在管理员面板中,通过界面交互的方式下载模型:

操作建议

因为llama3对中文支持不算特别好,所以在回答问题时基本是以英文为主,这块有几种方案可以解决:

增加系统提示词

在用户设置选项时,增加全局性系统提示词,例如“请使用中文回复”。

这种提示词设置完成后,大模型基本上能用中文回复,但有时还会夹杂着英文。

下载中文增强大模型

Hugging Face和Ollama上已经有做过中文增强训练的llama3大模型,可以下载使用,具体模型可以根据自己需要再做筛选。

自己微调大模型

对大模型微调方案有很多。我认为相对比较简单的,是基于Unsloth工具,采用斯坦福Alpaca的中文数据集做中文微调,整体时长不超过30分钟,具体教程网上也有很多,就不再赘述。

不过,我微调完一个版本后,运行起来感觉效果不算特别理想,回答问题温度不够,可能有些参数需要继续调优,等有时间再做尝试。

效果呈现

最后,可以看下本地大模型对话的一些效果:

关于什么是大模型,llama3和gemma2各自给出的答案:

当我问到水的化学成分及不同形态下转化的原理时,llama3和gemma2各自给出的答案:

显然,效果还是比较符合预期的。

最后

在本地部署完一套大模型,这只是一个开始。接下来关键需要考虑的,是怎么样利用「工作空间」功能来构建一套个人知识库,看看它能如何改善我的工作和学习效率。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注