本地快速安裝執行史上最強開源LLaMa3大模型

明天OoO你好發表於2024-08-21

https://liaoxuefeng.com/blogs/all/2024-05-06-llama3/

史上最強開源AI大模型——Meta的LLaMa3一經發布,各項指標全面逼近GPT-4。它提供了8B和70B兩個版本,8B版本最低僅需4G視訊記憶體即可執行,可以說是迄今為止能在本地執行的最強LLM。

雖然LLaMa3對中文支援不算好,但HuggingFace上很快出現了各種針對中文的微調模型,本文將從零開始介紹如何在本地執行釋出在HuggingFace上的各種LLaMa3大模型。

準備環境

本文的演示環境是Mac M1 16G記憶體,自備工具,使用開源Ollama執行大模型,使用Open WebUI作為前端訪問介面,透過瀏覽器訪問,體驗十分接近GPT:

llama3-ui-chat

安裝軟體

首先安裝Ollama,它可以讓我們非常方便地執行各種LLM。從Ollama官網下載,執行,點選安裝Ollama命令列,然後在命令列測試Ollama是否已正常執行:

$ ollama -v
ollama version is 0.1.32

下載模型

Ollama可以直接下載內建的幾種模型,但選擇有限。我們更希望從HuggingFace下載以便方便地評估各種模型,所以,這裡我們並不從Ollama直接下載,而是從HuggingFace下載。

在HuggingFace搜尋llama3,設定LanguagesChinese,可以看到若干基於LLaMa3的中文模型:

llama3-search

我們選擇一個GGUF格式的模型,GGUF格式是llama.cpp團隊搞的一種模型儲存格式,一個模型就是一個檔案,方便下載:

llama3-download

點選Files,可以看到若干GGUF檔案,其中,q越大說明模型質量越高,同時檔案也更大,我們選擇q6,直接點選下載按鈕,把這個模型檔案下載到本地。

匯入模型

下載到本地的模型檔案不能直接匯入到Ollama,需要編寫一個配置檔案,隨便起個名字,如config.txt,配置檔案內容如下:

FROM "/Users/liaoxuefeng/llm/llama3-8b-cn-q6/Llama3-8B-Chinese-Chat.q6_k.GGUF"

TEMPLATE """{{- if .System }}
<|im_start|>system {{ .System }}<|im_end|>
{{- end }}
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""

SYSTEM """"""

PARAMETER stop <|im_start|>
PARAMETER stop <|im_end|>

第一行FROM "..."指定了模型檔案路徑,需要修改為實際路徑,後面的模板內容是網上覆制的,無需改動。

然後,使用以下命令匯入模型:

$ ollama create llama3-cn -f ./config.txt

llama3-cn是我們給模型起的名字,成功匯入後可以用list命令檢視:

$ ollama list
NAME              ID            SIZE    MODIFIED
llama3-cn:latest  f3fa01629cab  6.6 GB  2 minutes ago

可以下載多個模型,給每個模型寫一個配置檔案(僅需修改路徑),匯入時起不同的名字,我們就可以用Ollama方便地執行各種模型。

執行模型

使用Ollama的run命令可以直接執行模型。我們輸入命令ollama run llama3-cn

llama3-run

出現>>>提示符時就可以輸入問題與模型互動。輸入/exit退出。

搭建Web環境

使用命令列互動不是很方便,所以我們需要另一個開源的Open WebUI,搭建一個能透過瀏覽器訪問的介面。

執行Open WebUI最簡單的方式是直接以Docker執行。我們安裝Docker Desktop,輸入以下命令啟動Open WebUI:

$ docker run -p 8080:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --name open-webui --restart always -v open-webui-data:/app/backend/data ghcr.io/open-webui/open-webui:main

引數-p 8080:8080將Open WebUI的埠對映到本機。引數-e OLLAMA_BASE_URL=http://host.docker.internal:11434告訴Open WebUI透過本機的11434訪問Ollama,注意地址必須寫host.docker.internal,不能寫127.0.0.1

開啟瀏覽器我們就可以訪問http://127.0.0.1:8080,第一次訪問需要註冊,註冊和登入是完全基於本地環境的,登入後就可以看到類似GPT的UI。

我們在聊天介面點選右上角配置按鈕,點選Connections,點選重新整理按鈕,如果一切無誤,會顯示Server connection verified

llama3-connection

在聊天介面的頂部選擇一個模型,就可以愉快地開始和LLaMa3聊天了:

llama3-ui-chat

API

Open WebUI還提供了與OpenAI類似的API,使用前先點選設定 - Account,生成一個API Key,然後在命令列用curl測試:

$ curl -X POST -H "Authorization: Bearer sk-959c8b27a48145bfb83bdb396ff3eeae" -H "Content-Type: application/json" http://localhost:8080/ollama/api/generate -d '{"model":"llama3-cn:latest","stream":false,"prompt":"廖雪峰老師的網站提供了哪些教程?"}'

{"model":"llama3-cn:latest","created_at":"2024-05-01T14:42:28.009353Z","response":"廖雪峰老師是一位知名的技術專家和作家,他的網站提供了一系列關於程式設計、技術和個人成長的教程和資源。這些教程涵蓋了廣泛的主題,包括...

由於模型是執行在本地,Open WebUI也將資料儲存在本地,所以隱私性可謂拉滿。如果對一個模型不滿意,還可以從HuggingFace下載更多的模型來評估,非常方便。

相關文章