魔搭社区GGUF模型怎么玩!看这篇就够了

简介: 近期,Qwen2系列模型家族发布了系列GGUF格式模型。通过llama.cpp/Ollama等生态的发展,很多大语言模型都支持GGUF格式,极大地简化了大语言模型的应用流程,让即便是模型领域的初学者,只有一台CPU笔记本,也能轻松上手顶尖的AI技术。

近期,Qwen2系列模型家族发布了系列GGUF格式模型。通过llama.cpp/Ollama等生态的发展,很多大语言模型都支持GGUF格式,极大地简化了大语言模型的应用流程,让即便是模型领域的初学者,只有一台CPU笔记本,也能轻松上手顶尖的AI技术。我们希望分析GGUF模型的使用方式,并逐一介绍当下主流的生态系统工具(llama.cpp,Ollama, lmstudio, Open-Webui),从下载、解析到部署运行,全方位解锁GGUF模型的便捷玩法,帮助开发者丝滑的体验最新的大模型技术。

单模型文件下载

GGUF通常可以通过单模型文件完成推理,魔搭社区可以通过命令行CLI,Python SDK,页面下载等多个方式下载单个模型。

命令行CLI下载

使用ModelScope命令行工具下载单个模型,以Qwen2-7B的GGUF格式为例:

modelscope download --model=qwen/Qwen2-7B-Instruct-GGUF --local_dir . qwen2-7b-instruct-q8_0.gguf

Python SDK下载

from modelscope.hub.file_download import model_file_download
model_dir = model_file_download(model_id='qwen/Qwen2-7B-Instruct-GGUF',file_path='qwen2-7b-instruct-q8_0.gguf')

页面下载

image.png

模型推理工具

本文主要介绍llama.cpp, ollama,LM Studio三个工具,以下是比较不同工具的总结图。我根据自己的快速主观体验做了一些星级评定——希望这对您的比较有所帮助。

UI

文件上传(RAG)

命令行

页面友好度

安装友好度

是否开源

llama.cpp

支持

不支持

支持

⭐️

友好

Ollama

需要额外安装Open-WebUI

Open-WebUI支持

支持

⭐️⭐️

命令行友好/WebUI一般

LM Studio

支持

不支持

支持

⭐️⭐️⭐️

非常友好

llama.cpp

环境安装

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make -j
# GPU机型需要cuda加速推理build
# make -j LLAMA_CUDA=1

模型推理

要运行 Qwen2,您可以使用 llama-cli(主程序)或 llama-server(主程序)。建议使用 llama-server,因为它简单且与 OpenAI API 兼容。例如:

./llama-server -m /mnt/workspace/qwen2-7b-instruct-q8_0.gguf -ngl 28 -fa

更多参数说明可参照官方文档:https://github.com/ggerganov/llama.cpp/blob/master/examples/server/README.md

接口调用

然后就可以很容易地使用 OpenAI API 访问已部署的服务:

import openai
client = openai.OpenAI(
    base_url="http://127.0.0.1:8080/v1",
    api_key = "sk-no-key-required"
)
completion = client.chat.completions.create(
    model="qwen", # model name can be chosen arbitrarily
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "tell me something about michael jordan"}
    ]
)
print(completion.choices[0].message.content)

CLI调用

使用 llama-cli,ChatML 模板中 -cml 已被删除。改用 --in-prefix 和 --in-suffix 来解决此问题。

./llama-cli -m qwen2-7b-instruct-q5_k_m.gguf \
  -n 512 -co -i -if -f prompts/chat-with-qwen.txt \
  --in-prefix "<|im_start|>user\n" \
  --in-suffix "<|im_end|>\n<|im_start|>assistant\n" \
  -ngl 24 -fa

Webui访问

在浏览器中输入:http://127.0.0.1:8080

image.png

image.png

Ollama

Ollama 是一款极其简单的基于命令行的工具,用于运行 LLM。它非常容易上手,可用于构建 AI 应用程序。

本文使用Ollama Modelfile,结合魔搭ModelScope社区CLI模型下载,并分别在魔搭Notebook环境和Mac环境几行代码轻松体验大语言模型。

Linux环境使用

Liunx用户可使用魔搭镜像环境安装【推荐】

git clone https://www.modelscope.cn/modelscope/ollama-linux.git
cd ollama-linux
sudo chmod 777 ./ollama-modelscope-install.sh
./ollama-modelscope-install.sh

启动Ollama服务

ollama serve

创建ModelFile

复制模型路径,创建名为“ModelFile”的meta文件,内容如下:

FROM /mnt/workspace/qwen2-7b-instruct-q8_0.gguf
# set the temperature to 0.7 [higher is more creative, lower is more coherent]
PARAMETER temperature 0.7
PARAMETER top_p 0.8
PARAMETER repeat_penalty 1.05
TEMPLATE """{{ if and .First .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}"""
# set the system message
SYSTEM """
You are a helpful assistant.
"""

创建自定义模型

使用ollama create命令创建自定义模型

ollama create myqwen2 --file ./ModelFile

通过使用 ollama list 列出可用模型来验证自定义模型的创建。

image.png

运行模型:

ollama run myqwen2

测试自定义模型,使用终端与您的自定义模型聊天,以确保其行为符合预期。验证它是否根据自定义的系统提示和模板做出响应。

image.png

显存占用:

image.png

Mac环境安装

在官网下载Mac安装包,并解压安装,启动Ollama服务

image.png

模型下载并使用Ollama创建推理

下载和创建推理和上文一致,我们在Mac上创建一个myqwen2的模型并通过Ollama运行。

本地安装Open WebUI并体验

环境要求:

  • 🐰 Node.js >= 20.10
  • 🐍 Python >= 3.11(建议最好用3.11版本)
conda create --name webui python=3.11
conda activate webui
conda config --add channels conda-forge
conda install nodejs

下载安装open-webui并运行

git clone https://github.com/open-webui/open-webui.git
cd open-webui/
# Copying required .env file
cp -RPp .env.example .env
# Building Frontend Using Node
npm i
npm run build
# Serving Frontend with the Backend
cd ./backend
pip install -r requirements.txt -U
bash start.sh

打开本地运行的webUI地址0.0.0.0:8080就可以体验啦!

image.png

LM Studio

LM Studio 有一个不错的 GUI,可用于与 LLM 交互。LM Studio是唯一一个非开源的项目,但可以免费下载。

下载链接:

https://lmstudio.ai/

模型gguf文件在魔搭社区下载的时候,设置保存路径为:~/.cache/lm-studio/models/Publisher/Repository/,就可以被LMStudio加载。

对话UI 如下所示:

image.png

模型管理界面:

image.png

LM Studio 包括Open-Webui,Llama.cpp UI还在底部显示了 token 生成速度,在M1芯片上,0.5B的Qwen2这个模型速度是58.73tok/s

相关文章
|
存储 缓存 异构计算
大语言模型量化方法对比:GPTQ、GGUF、AWQ
在过去的一年里,大型语言模型(llm)有了飞速的发展,在本文中,我们将探讨几种(量化)的方式,除此以外,还会介绍分片及不同的保存和压缩策略。
5463 0
|
10月前
|
开发者 异构计算
现在,一行命令使用Ollama运行任意魔搭GGUF模型
为了让开发者更方便地把这些模型用起来,社区最近支持了Ollama框架和ModelScope平台的链接,通过简单的 ollama run命令,就能直接加载运行ModelScope模型库上的GGUF模型。
|
10月前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
18268 7
|
6月前
|
机器学习/深度学习 自然语言处理 测试技术
模型上新!来通义灵码体验 QwQ-32B 推理模型!
今天,阿里云发布并开源全新的推理模型通义千问QwQ-32B。通过大规模强化学习,千问QwQ-32B在数学、代码及通用能力上实现质的飞跃,整体性能比肩DeepSeek-R1。在保持强劲性能的同时,千问QwQ-32B还大幅降低了部署使用成本,在消费级显卡上也能实现本地部署。
2446 58
|
9月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
10394 34
Qwen2.5-7B-Instruct Lora 微调
|
10月前
|
人工智能 并行计算 监控
深入剖析 Qwen2.5 - 32B 模型在 VLLM 上的单机三卡部署与运行
本文深入探讨了Qwen2.5 - 32B模型在VLLM框架上的部署过程,从模型下载、启动命令、资源占用分析到GPU资源分配及CUDA图应用,详述了大模型运行的挑战与优化策略,强调了硬件资源规划与技术调优的重要性。
6394 2
|
文字识别 自然语言处理 数据可视化
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
在 Qwen2 发布后的过去三个月里,许多开发者基于 Qwen2 语言模型构建了新的模型,并提供了宝贵的反馈。在这段时间里,通义千问团队专注于创建更智能、更博学的语言模型。今天,Qwen 家族的最新成员:Qwen2.5系列正式开源
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
|
存储 人工智能 自然语言处理
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
在人工智能领域,大型语言模型的发展日新月异,它们在自然语言处理、机器翻译、智能助手等多个领域展现出了前所未有的能力。
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
|
编解码 JSON 自然语言处理
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
经过了一年的不懈努力,今天通义千问团队对 Qwen-VL 模型进行重大更新——推出 Qwen2-VL。那么Qwen2-VL 有什么新功能呢?一起来看一下吧
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
|
11月前
|
弹性计算 Serverless API
海量大模型如何一键部署上云,函数计算 x ModelScope 社区给出答案
得益于阿里云函数计算的产品能力,魔搭 SwingDeploy 后的模型推理 API 服务默认具备极致弹性伸缩(缩零能力)、GPU 虚拟化(最小 1GB 显存粒度)、异步调用能力、按用付费、闲置计费等能力,这些能力帮助算法工程师大大加快了魔搭开源模型投入生产的生命周期。