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可退出。
5. 遠程訪問:
因為我是在服務器上安裝的,操作需要在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表示已經成功了。
6. 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
7. 配置
第一次登錄是需要注冊自己id的(sign up) 注冊好后,進入系統,默認是已經可以找到ollama模型的。其它配置自己摸索吧,針對Gemma模型的關鍵配置是在setting下
點擊上圖這個Show, 然后找到?Context Length這是上下文中的內容關聯長度,Ollama默認是2048, 所以你會發現跟機器聊幾句就聊不到一起了,Gemma可以設置到8192,這樣就可以愉快地聊上很久。另一個是Max Tokens,默認長度是128, Gemma據說可以達到6T個tokens, 這二個參數,在GPU加速時,一個是占了顯存,一個是占了性能。ollama為了保持各種模型的兼容性,這二項參數上留得很保守,在Gemma與40hx這樣的適配上,可適當增加。
教程結束,祝玩得愉快!