基于 GLM-4-9B 定制本地 Ollama 模型
GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出较高的性能。 除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。 本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的模型。
第一步: 下载 Qwen2-7B 模型文件
GLM-4-9B模板目前还没有GGUF文件,因此老牛同学通过Git下载PyTorch张量参数文件在本地部署GLM-4-9B-Chat-1M大模型。
由于模型参数文件比较大,使用Git无法直接下载到本地,需要通过git-lfs工具包下载:
brew install git-lfs
通过Git复制模型文件到笔记本电脑:
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/glm-4-9b-chat-1m.git GLM-4-9B-Chat-1M
总共有10个模型参数文件,平均每个文件1.8GB大小,总计18GB左右,因此在Git下载过程中,容易中断失败,可以通过以下命令多次尝试下载:
git lfs pull
我们第一步是想自己部署尝鲜,因此直接下载压缩后的模型权重,文件为GGUF格式,GGUF格式是为了快速推理和优化内存使用而设计的,相比以前的GGML格式,GGUF支持更复杂的令牌化过程和特殊令牌处理,能更好地应对多样化的语言模型需求。就是因为有GGUF格式,Llama 3大语言模型才可以在笔记本电脑上运行,同时GGUF就一个文件,也简化了模型交换和部署的过程,它对促进模型的普及和应用有着积极作用。
因为 Hugging Face 官网正常无法访问,需要科学上网,因此推荐国内镜像进行下载:
官网地址:https://huggingface.co/Qwen/Qwen2-7B/tree/main
国内镜像:https://hf-mirror.com/Qwen/Qwen2-7B-Instruct/tree/main
https://modelscope.cn/models/qwen/Qwen2-7B-Instruct-GGUF/files
如上述列表中,GGUF 模型文件名称有 qwen2-7b-instruct-q4_k_m.gguf
和 qwen2-7b-instruct-q5_k_m.gguf
等:
Instruct: 代表本模型是对基线模型进行了微调,用于更好地理解和生成遵循指令(instruction-following)的文本,以提供符合要求的响应
Q4/Q5: 等代表模型权重的量化位数(其中Q是Quantization的缩小,即量化),是一种模型压缩技术,用于减少模型大小,同时降低对计算资源的需求(特别是内存),但又尽量保持模型的性能;数字4或5则代表量化精度的位数(Q4 是 4 位,Q5 是 5 位等),精度越高模型体积和内存使用也会越大,但仍然远小于未量化的基线模型
K_M/K_S:代表含义笔者还未明确,K可能是Knowledge的缩写;M应该是Medium缩写(即中等模型),S应该是Small缩小(即小模型);若有明确的朋友,还望不吝告知,共同进步!
阿里巴巴通义千问团队发布了Qwen2系列开源模型,该系列模型包括5个尺寸的预训练和指令微调模型:Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B。对比当前最优的开源模型,Qwen2-72B在包括自然语言理解、知识、代码、数学及多语言等多项能力上均显著超越当前领先的Llama3-70B等大模型。
我们选择 qwen2-7b-instruct-q5_k_m.gguf
并下载:
第三步: 基于GGUF模型文件创建Ollama模型
在我们存放 Qwen2-7B 的 GGUF 模型文件目录中,创建一个文件名为 Modelfile 的文件,该文件的内容如下:
FROM ./qwen2-7b-instruct-q5_k_m.gguf
然后在Terminal
终端,使用这个文件创建 Ollama模型,这里我把Ollama的模型取名为 Qwen2-7B
:
$ ollama create Qwen2-7B -f ./Modelfile
transferring model data
using existing layer sha256:258dd2fa1bdf98b85327774e1fd36e2268c2a4b68eb9021d71106449ee4ba9d5
creating new layer sha256:14f4474ef69698bf4dbbc7409828341fbd85923319a801035e651d9fe6a9e9c9
writing manifest
success
最后,通过Ollama启动我们刚创建的大语言模型:
ollama run Qwen2-7B
启动完毕,其实我们已经有了一个和之前差不多的控制台对话界面,也可以与Qwen2-7B对话了。
图片
Ollama启动模型
如果我们不想要这个模型了,也可以通过命令行删除模型文件:ollama rm Qwen2-7B
我们也可以查看本地Ollama管理的模型列表:ollama list
Ollama存放模型文件根目录:~/.ollama
中查找 Embedding 模型的时候,首先看到了 mofanke/dmeta-embedding-zh 模型,这才发现 Ollama 中除了官方模型外还有用户自己上传的其他模型,搜索 dmeta-embedding-zh 找到了抱脸网上的对应模型:
https://huggingface.co/DMetaSoul/Dmeta-embedding-zh
https://liuzh.blog.csdn.net/article/details/137338173
https://github.com/ollama/ollama
参考资料
最后编辑:Jeebiz 更新时间:2024-11-21 01:00