google最新大语言模型gemma本地化部署

Gemma是google推出的新一代大语言模型,构建目标是本地化、开源、高性能。

与同类大语言模型对比,它不仅对硬件的依赖更小,性能却更高。关键是完全开源,使得对模型在具有行业特性的场景中,有了高度定制的能力。

Gemma模型当下有四个版本,Gemma 7b, 2b, 2b-it, 7b-it 。通俗来说,2b及精简小巧,覆盖了现代流行的语言,对硬件依赖小。7b是常规型的,要有的基本都有了,硬件上最低需要8gb内存(显存)。后缀带it的版本,可适用于nvidia较新显卡,支持int8(fp8), tensorrt核心。但我的40hx硬件被阉割太厉害,连fp16都跑不起来,就没测试了。

安装环境:

我的硬件环境是虚拟机环境,40hx显卡直通,linux系统,远程访问。软件环境需要目标是ollama及open-webui。ollama是大语言模型的一个运行环境,open-webui是基于openAI及ollama的一个前端界面。目前ollama只支持nvidia的GPU加速,别的显卡就不讨论了。

安装过程:

  1. 虚拟机安装,这边需要注意的是,显卡必须直通,CPU必须在主机直通模式。不然GPU加速就不能成功。

  2. 安装常用的软件,wget curl git nvidia-toolkit

  3. 确认环境:nvidia-smi看一下显卡是不是正常驱动,cat /proc/cpuinfo 看一下AVX是否加载。这二点决定了GPU加速

  4. 在linux上运行:(要科学)

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

然后等待安装完成,安装完成后,执行 ollama run gemma:2b 或者 ollama run gemma:7b 等模型下载完毕后,就进入字符界面,你就可以跟机器交流了。按ctrl-d可退出。

  1. 远程访问:

因为我是在服务器上安装的,操作需要在PC上,所以需要做一下远程

sudo nano /etc/systemd/system/ollama.service (我是ubuntu系统debian类似,其它系统查看services配置方法)

在nano中,[Service]下面加一行 Environment="OLLAMA_HOST=0.0.0.0:11434"

保存退出后,执行 sudo systemctl daemon-reload 再执行 sudo systemctl restart ollama

PC端打开浏览器,访问http://你的服务器IP:11434 如果显示ollama表示已经成功了。

  1. open-webui安装

现在的linux发布版本,基本都预装了docker环境,如果你的linux刚好没有,就先安装docker

然后运行 sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

其中3000可以换成你想要的发布端口。

等待安装完成后,访问http://你的服务器IP:3000

  1. 配置

第一次登录是需要注册自己id的(sign up) 注册好后,进入系统,默认是已经可以找到ollama模型的。其它配置自己摸索吧,针对Gemma模型的关键配置是在setting下

点击上图这个Show, 然后找到 Context Length这是上下文中的内容关联长度,Ollama默认是2048, 所以你会发现跟机器聊几句就聊不到一起了,Gemma可以设置到8192,这样就可以愉快地聊上很久。另一个是Max Tokens,默认长度是128, Gemma据说可以达到6T个tokens, 这二个参数,在GPU加速时,一个是占了显存,一个是占了性能。ollama为了保持各种模型的兼容性,这二项参数上留得很保守,在Gemma与40hx这样的适配上,可适当增加。

教程结束,祝玩得愉快!

相关推荐
欧阳天羲2 分钟前
交通出行大前端与 AI 融合:智能导航与出行预测
前端·人工智能·状态模式
阿杰技术3 分钟前
CentOS 清理技巧
linux·运维·centos
云游2 小时前
k8s:利用kubectl部署postgis:17-3.5
linux·容器·kubernetes
Kaydeon3 小时前
【Anaconda】Conda 虚拟环境打包迁移教程
人工智能·pytorch·python·conda
love530love3 小时前
《Anaconda 精简路径治理》系列 · 番外篇Conda 虚拟环境路径结构方案全解——六种路径布局对比、优劣与治理建议
运维·人工智能·windows·python·conda
深度学习04074 小时前
【Linux服务器】-MySQL数据库参数调优
linux·服务器·数据库
F_D_Z6 小时前
【PyTorch】图像二分类项目
人工智能·pytorch·深度学习·分类·数据挖掘
老马啸西风7 小时前
windows docker-02-docker 最常用的命令汇总
linux·运维·ubuntu·docker·容器·eureka·maven
sztomarch7 小时前
Tshark-Tcpdump
linux·运维·网络·测试工具·tcpdump
手眼通天王水水7 小时前
【Linux】3. Shell语言
linux·运维·服务器·开发语言