如何在Ollama創建自定義模型?構建本地大模型
從ChatGPT發布后的一段時間,我們見證了大型語言模型(LLM)爆炸式增長,在來自四面八方的消息中,我們了解了大模型似乎在不斷滲透到各行各業,改變著生產模式。但,在實際行業應用上還是很難跟上所有技術上已經取得的發展,數據安全以及大量的硬件資源需求等方面成了大模型應用落地過程中經常需要討論的重要內容,本地運行開源LLM也成為了熱門方案。
大模型參數的大小從一個層面反映了模型的能力,但是,實際應用真的必須用到那么大參數的大模型嗎?
比較實在的思路是:用較少的資源,在本地搭建較小的模型,為某些場景提供大模型的某些方面的能力。這種方式可以根據需要選擇適合場景的模型,同時也能夠確保數據限制在自己的網絡空間。
搭建本地大模型的關鍵內容:
(1)哪里下載開源大模型?
Huggine Face可以說是大模型的集中營。可以下載到各種開源模型庫。
(2)如何部署大模型?
部署大模型的方式很多,其中一個比較簡單的方式是使用一些框架工具,例如:LangChain、Ollama。其中Ollama是一個開源的大模型服務工具,使用起來非常簡單,旨在為用戶提供本地化的運行環境,滿足個性化的需求。
其實,Ollama已經提供了許多流行的大模型可以選擇。
而,Huggine Face目前擁有超過25萬的大模型,最新、最全的開源大模型應該都在里面,選擇性更多。
下面主要介紹如何利用Ollama從Huggine Face安裝自定義模型。
以模型Llama3-8B-Chinese-Chat為例,步驟如下:
(1)下載安裝Ollama,并確保您已安裝Ollama并正在運行。
ollama的下載地址:
https://ollama.com/
br
(2)去Huggingface網站下載模型的GGUF。
https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat-GGUF-8bit
br
(3)創建一個模型描述文件,并輸入必要的東西。
創建一個名為 Modelfile 的文件,并使用 FROM 指令,填寫的模型的本地文件路徑。Modelfile文件中還可以添加系統提示詞以及各項參數:
# ModelfileFROM "./Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf"# set the temperature to 1 [higher is more creative, lower is more coherent]PARAMETER temperature 1#許多聊天模式需要提示模板才能正確回答。默認提示模板可以使用TEMPLATE中的Modelfile指令指定TEMPLATE "[INST] {{ .Prompt }} [/INST]"
br
(4)從這個模型文件中創建一個模型,并在終端中本地運行它。
創建大模型:
ollama create llama3_chinese example -f Modelfile
br
運行大模型:
ollama run llama3_chinese
br
具體的過程也可以參考Ollama的文檔:
- https://github.com/ollama/ollama/blob/main/README.md
- https://github.com/ollama/ollama/blob/main/docs/import.md