前些天发现了一个另类的的AI和人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。大家可以收藏夹,收藏起来,有空的时候当小说看看。
一、前言
Hugging Face Hub 支持所有文件格式,但内置了GGUF 格式的功能,这是一种二进制格式,针对快速加载和保存模型进行了优化,使其在推理方面非常高效。GGUF 旨在与 GGML 和其他执行器一起使用。GGUF 由@ggerganov开发,他也是流行的 C/C++ LLM 推理框架llama.cpp的开发者。最初在 PyTorch 等框架中开发的模型可以转换为 GGUF 格式,以便与这些引擎一起使用。
正如我们在图中所看到的,与safetensors等仅限张量的文件格式(也是 Hub 的推荐模型格式)不同,GGUF 对张量和一组标准化的元数据集进行了编码。
查找 GGUF 文件
您可以通过 GGUF 标签过滤浏览所有包含 GGUF 文件的模型:hf.co/models?library=gguf。此外,您还可以使用ggml-org/gguf-my-repo工具将您的模型权重转换/量化为 GGUF 权重。
例如,您可以查看TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF来查看 GGUF 文件的实际运行情况。
元数据和张量信息查看器
Hub 有一个 GGUF 文件查看器,可让用户查看元数据和张量信息(名称、形状、精度)。查看器可在模型页面(示例)和文件页面(示例)上使用。
与开源工具一起使用
用@huggingface/gguf解析元数据
We’ve also created a javascript GGUF parser that works on remotely hosted files (e.g. Hugging Face Hub).
npm install @huggingface/gguf
import { gguf } from "@huggingface/gguf";
// remote GGUF file from https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF
const URL_LLAMA = "https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/resolve/191239b/llama-2-7b-chat.Q2_K.gguf";
const { metadata, tensorInfos } = await gguf(URL_LLAMA);
GGUF 与 llama.cpp 的用法
Llama.cpp 允许您下载并在 GGUF 上运行推理,只需提供 Hugging Face repo 路径和文件名即可。llama.cpp 下载模型检查点并自动缓存。缓存的位置由LLAMA_CACHE
环境变量定义,在此处阅读更多信息:
./llama-cli
--hf-repo lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF \
--hf-file Meta-Llama-3-8B-Instruct-Q8_0.gguf \
-p "You are a helpful assistant" -cnv
注意:您可以删除-cnv
以在聊天完成模式下运行 CLI。
此外,您可以使用 llama.cpp 服务器直接调用 OpenAI spec 聊天完成端点:
./llama-server \
--hf-repo lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF \
--hf-file Meta-Llama-3-8B-Instruct-Q8_0.gguf
运行服务器后,您可以简单地使用端点,如下所示:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer no-key" \
-d '{
"messages": [
{
"role": "system",
"content": "You are an AI assistant. Your top priority is achieving user fulfilment via helping them with their requests."
},
{
"role": "user",
"content": "Write a limerick about Python exceptions"
}
]
}'
将其替换--hf-repo
为任何有效的 Hugging Face 中心存储库名称以及--hf-file
中心存储库中的 GGUF 文件名 - 即可开始!🦙
注意:记得build
在 llama.cpp 中添加LLAMA_CURL=1
:)
GGUF 与 GPT4All 的结合使用
GPT4All是由Nomic开发的开源 LLM 应用程序。2.7.2 版本引入了一项名为的全新实验性功能Model Discovery
。
Model Discovery
提供了一种内置方式来从 Hub 搜索和下载 GGUF 模型。要开始使用,请打开 GPT4All 并单击Download Models
。从这里,您可以使用搜索栏查找模型。
选择并下载模型后,您可以前往Settings
并提供 GPT4All 格式的适当提示模板(%1
和%2
占位符)。
然后从主页,您可以从已安装的模型列表中选择模型并开始对话。