从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