模型简介
模型特点
模型能力
使用案例
🚀 MobileLLaMA-1.4B-Base-GGUF
本项目提供了 MobileLLaMA-1.4B-Base 模型的 GGUF 格式文件,方便用户在不同的客户端和库中使用该模型。
✨ 主要特性
- 支持多种客户端和库:支持如 llama.cpp、text-generation-webui、Ollama 等多种客户端和库,满足不同场景的使用需求。
- 多种量化方法:提供多种量化方法,可根据实际需求选择合适的量化格式。
- 方便的下载方式:支持多种下载方式,包括通过客户端自动下载和命令行下载。
📦 安装指南
安装 huggingface-hub
库
pip3 install huggingface-hub
加速下载
若要在高速网络(1Gbit/s 或更高)上加速下载,可安装 hf_transfer
:
pip3 install hf_transfer
并设置环境变量 HF_HUB_ENABLE_HF_TRANSFER
为 1
:
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download andrijdavid/MobileLLaMA-1.4B-Base-GGUF MobileLLaMA-1.4B-Base-f16.gguf --local-dir . --local-dir-use-symlinks False
Windows 命令行用户可在下载命令前运行 set HF_HUB_ENABLE_HF_TRANSFER=1
来设置环境变量。
💻 使用示例
基础用法
llama.cpp
命令示例
./main -ngl 35 -m MobileLLaMA-1.4B-Base-f16.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<PROMPT>"
-ngl 32
:将其改为要卸载到 GPU 的层数。若没有 GPU 加速,可移除该参数。-c 4096
:改为所需的序列长度。对于扩展序列模型(如 8K、16K、32K),必要的 RoPE 缩放参数会从 GGUF 文件中读取并由 llama.cpp 自动设置。注意,更长的序列长度需要更多资源,可能需要减小该值。- 若要进行聊天式对话,将
-p <PROMPT>
参数替换为-i -ins
。
Python 代码示例(使用 llama-cpp-python
)
from llama_cpp import Llama
# Set gpu_layers to the number of layers to offload to GPU. Set to 0 if no GPU acceleration is available on your system.
llm = Llama(
model_path="./MobileLLaMA-1.4B-Base-f16.gguf", # Download the model file first
n_ctx=32768, # The max sequence length to use - note that longer sequence lengths require much more resources
n_threads=8, # The number of CPU threads to use, tailor to your system and the resulting performance
n_gpu_layers=35 # The number of layers to offload to GPU, if you have GPU acceleration available
)
# Simple inference example
output = llm(
"<PROMPT>", # Prompt
max_tokens=512, # Generate up to 512 tokens
stop=["</s>"], # Example stop token - not necessarily correct for this specific model! Please check before using.
echo=True # Whether to echo the prompt
)
# Chat Completion API
llm = Llama(model_path="./MobileLLaMA-1.4B-Base-f16.gguf", chat_format="llama-2") # Set chat_format according to the model you are using
llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
高级用法
批量下载文件
huggingface-cli download andrijdavid/MobileLLaMA-1.4B-Base-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
📚 详细文档
关于 GGUF
GGUF 是 llama.cpp 团队在 2023 年 8 月 21 日引入的一种新格式,它替代了不再受 llama.cpp 支持的 GGML。以下是已知支持 GGUF 的客户端和库的不完全列表:
- llama.cpp:GGUF 的源项目,提供命令行界面(CLI)和服务器选项。
- text-generation-webui:最广泛使用的 Web UI,具有众多功能和强大的扩展,支持 GPU 加速。
- Ollama:一个轻量级且可扩展的框架,用于在本地构建和运行语言模型。它具有简单的 API 用于创建、管理和执行模型,以及一个预构建模型库,可用于各种应用程序。
- KoboldCpp:一个全面的 Web UI,支持所有平台和架构的 GPU 加速,尤其以讲故事功能著称。
- GPT4All:一个免费的开源本地 GUI,支持 Windows、Linux 和 macOS,具有全 GPU 加速。
- LM Studio:适用于 Windows 和 macOS(Silicon)的直观且强大的本地 GUI,具有 GPU 加速。
- LoLLMS Web UI:一个著名的 Web UI,具有各种独特功能,包括一个全面的模型库,便于模型选择。
- Faraday.dev:一个有吸引力、用户友好的基于字符的聊天 GUI,适用于 Windows 和 macOS(Silicon 和 Intel),也提供 GPU 加速。
- llama-cpp-python:一个配备 GPU 加速、支持 LangChain 和 OpenAI 兼容 API 服务器的 Python 库。
- candle:一个基于 Rust 的 ML 框架,专注于性能,包括 GPU 支持,设计用于易于使用。
- ctransformers:一个具有 GPU 加速、支持 LangChain 和 OpenAI 兼容 AI 服务器的 Python 库。
- localGPT:一个开源项目,可实现与文档的私密对话。
量化方法说明
点击查看详情
新的可用方法如下:- GGML_TYPE_Q2_K - “type-1” 2 位量化,超级块包含 16 个块,每个块有 16 个权重。块的缩放和最小值用 4 位量化。最终每个权重有效使用 2.5625 位(bpw)。
- GGML_TYPE_Q3_K - “type-0” 3 位量化,超级块包含 16 个块,每个块有 16 个权重。缩放用 6 位量化。最终使用 3.4375 bpw。
- GGML_TYPE_Q4_K - “type-1” 4 位量化,超级块包含 8 个块,每个块有 32 个权重。缩放和最小值用 6 位量化。最终使用 4.5 bpw。
- GGML_TYPE_Q5_K - “type-1” 5 位量化。与 GGML_TYPE_Q4_K 具有相同的超级块结构,结果为 5.5 bpw。
- GGML_TYPE_Q6_K - “type-0” 6 位量化。超级块有 16 个块,每个块有 16 个权重。缩放用 8 位量化。最终使用 6.5625 bpw。
如何下载 GGUF 文件
手动下载者注意:几乎不需要克隆整个仓库!提供了多种不同的量化格式,大多数用户只需要选择并下载单个文件。
以下客户端/库会自动为你下载模型,并提供可用模型列表供你选择:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中下载
在“Download Model”下,可输入模型仓库:andrijdavid/MobileLLaMA-1.4B-Base-GGUF,并在其下方输入要下载的特定文件名,如:MobileLLaMA-1.4B-Base-f16.gguf。然后点击“Download”。
在命令行中下载(包括一次下载多个文件)
推荐使用 huggingface-hub
Python 库:
pip3 install huggingface-hub
然后可以使用如下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download andrijdavid/MobileLLaMA-1.4B-Base-GGUF MobileLLaMA-1.4B-Base-f16.gguf --local-dir . --local-dir-use-symlinks False
更高级的 huggingface-cli 下载用法(点击查看)
还可以使用模式一次下载多个文件:
huggingface-cli download andrijdavid/MobileLLaMA-1.4B-Base-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
有关使用 huggingface-cli
下载的更多文档,请参阅:HF -> Hub Python Library -> Download files -> Download from the CLI。
如何在 text-generation-webui
中运行
更多说明可在 text-generation-webui 文档中找到,地址为:text-generation-webui/docs/04 ‐ Model Tab.md。
如何使用 LangChain
以下是使用 llama-cpp-python 和 ctransformers 与 LangChain 的指南:
🔧 技术细节
原始模型概述
MobileLLaMA-1.4B-Base 是一个具有 14 亿参数的 Transformer 模型。为了便于现成部署,对 LLaMA 进行了降维处理。为了使研究可复现,所有模型仅在来自 RedPajama v1 数据集的 1.3T 令牌上进行训练。这有助于通过可控实验进行进一步研究。
在两个标准自然语言基准测试中对模型进行了广泛评估,分别用于语言理解和常识推理。实验结果表明,MobileLLaMA 1.4B 与最新的开源模型相当。
模型来源
- 仓库:https://github.com/Meituan-AutoML/MobileVLM
- 论文:https://arxiv.org/abs/2312.16886
模型使用入门
可以使用 Hugging Face Transformers 加载模型权重。示例可在 Github 上找到。
训练细节
请参阅论文第 4.1 节:MobileVLM: A Fast, Strong and Open Vision Language Assistant for Mobile Devices。
📄 许可证
本项目采用 Apache-2.0 许可证。



