3、Qwen2-7B 自定义模型

基于 Qwen2-7B 定制本地 Ollama 模型

第一步: 下载 Qwen2-7B 模型文件

我们第一步是想自己部署尝鲜,因此直接下载压缩后的模型权重,文件为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.ggufqwen2-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

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注