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