Ollama是建立在llama.cpp开源推理引擎基础上的大模型推理工具框架。得益于底层引擎提供的高效模型推理,以及多硬件适配,Ollama能够在包括CPU、GPU在内的,不同的硬件环境上,运行各种精度的GGUF格式大模型。通过一个命令行就能拉起LLM模型服务。
通过Ollama,开发者可以更好的使用GGUF模型。而当前ModelScope社区上已经托管了数千个优质的GGUF格式的大模型,为了让开发者更方便地把这些模型用起来,社区最近支持了Ollama框架和ModelScope平台的链接,通过简单的 ollama run命令,就能直接加载运行ModelScope模型库上的GGUF模型。
入门非常简单:
设置ollama下启用
ollama serve
ollama run ModelScope任意GGUF模型
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF
在安装了Ollama的环境上(建议使用>=0.3.12版本),直接通过上面的命令行,就可以直接在本地运行 Qwen2.5-3B-Instruct-GGUF模型。
命令行的具体格式为:
ollama run modelscope.cn/{model-id}
其中model-id的具体格式为{username}/{model},例如:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUFollama run modelscope.cn/second-state/gemma-2-2b-it-GGUFollama run modelscope.cn/Shanghai_AI_Laboratory/internlm2_5-7b-chat-gguf
关于如何安装Ollama,可参考Ollama官方文档(https://ollama.com/download),建议使用>=0.3.12版本。
或者参见这个ModelScope Notebook来完成安装:https://modelscope.cn/notebook/share/ipynb/4a85790f/ollama-installation.ipynb 。
Ollama支持加载不同精度的GGUF模型,同时在一个GGUF模型库中,一般也会有不同精度的模型文件存在,例如Q3_K_M, Q4_K_M, Q5_K等等,入下图所示:
一个模型repo下的不同GGUF文件,对应的是不同量化精度与量化方法。默认情况下,如果模型repo里有Q4_K_M版本的话,我们会自动拉取并使用该版本,在推理精度以及推理速度,资源消耗之间做一个较好的均衡。如果没有该版本,我们会选择合适的其他版本。
此外,您也可以显式配置来指定想要使用的版本。例如:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF:Q3_K_M
这里命令行最后的:Q3_K_M选项,就指定了使用Q3_K_M精度的GGUF模型版本,这个选项大小写不敏感,也就是说,无论是:Q3_K_M,还是:q3_k_m,都是使用模型repo里的"qwen2.5-3b-instruct-q3_k_m.gguf" 这个模型文件。当然,您也可以直接指定模型文件的全称,这同样是支持的:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF:qwen2.5-3b-instruct-q3_k_m.gguf
Ollama支持通过Modelfile配置文件,来实现大模型推理的参数自定义。ModelScope与Ollama的对接,会根据平台上GGUF模型的信息,自动生成每个模型需要的配置与参数,包括推理模版(Template),模型参数(Parameters)等等,后续我们也将支持模型贡献者在模型repo里,通过特定文件来指定专属的配置,敬请期待 :)。