license: apache-2.0
tags:
- llama
- GGUF
datasets:
- togethercomputer/RedPajama-Data-1T
quantized_by: andrijdavid
MobileLLaMA-1.4B-Base-GGUF
模型描述
本仓库包含MobileLLaMA-1.4B-Base的GGUF格式模型文件。
关于GGUF
GGUF是llama.cpp团队于2023年8月21日推出的新格式,用于替代不再受支持的GGML格式。以下是已知支持GGUF的客户端和库的不完全列表:
量化方法说明
点击查看详情
可用新方法包括:
- GGML_TYPE_Q2_K - "type-1" 2-bit超级块量化,每块含16个子块(每子块16权重)。块缩放和最小值用4位表示,等效每权重2.5625位(bpw)
- GGML_TYPE_Q3_K - "type-0" 3-bit超级块量化,每块含16个子块(每子块16权重)。缩放值用6位表示,等效每权重3.4375位。
- GGML_TYPE_Q4_K - "type-1" 4-bit超级块量化,每块含8个子块(每子块32权重)。缩放和最小值用6位表示,等效每权重4.5位。
- GGML_TYPE_Q5_K - "type-1" 5-bit量化。与Q4_K相同结构,等效每权重5.5位。
- GGML_TYPE_Q6_K - "type-0" 6-bit超级块量化,每块含16个子块(每子块16权重)。缩放值用8位表示,等效每权重6.5625位。
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
库:
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'
更多下载文档参考:HF -> Hub Python库 -> 文件下载 -> CLI下载。
高速网络(1Gbit/s+)用户可安装hf_transfer
加速:
pip3 install hf_transfer
设置环境变量启用加速:
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`运行示例
确保使用d0cee0d或更新版本的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 "<提示语>"
调整-ngl 32
参数指定GPU加速层数,无GPU时移除该参数。
-c 4096
可调整序列长度。对于8K/16K/32K等长序列模型,llama.cpp会自动从GGUF文件读取RoPE缩放参数。注意长序列会显著增加资源消耗。
如需对话模式,将-p <提示语>
替换为-i -ins
其他参数用法参考llama.cpp文档
在text-generation-webui
中运行
详细指南见:text-generation-webui/docs/04-模型标签页.md
Python代码调用
可通过llama-cpp-python或ctransformers库使用GGUF模型。截至2023年11月27日,ctransformers暂未更新,可能不兼容最新模型,建议优先使用llama-cpp-python。
使用llama-cpp-python加载模型
完整文档见:llama-cpp-python文档
安装依赖
根据系统选择以下命令:
# 基础版(无GPU加速)
pip install llama-cpp-python
# 启用NVIDIA CUDA加速
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
# 启用OpenBLAS加速
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
# 启用CLBLast加速
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
# 启用AMD ROCm加速(仅Linux)
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
# 启用Metal加速(仅macOS)
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# Windows设置环境变量示例(NVIDIA CUDA)
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
基础调用示例
from llama_cpp import Llama
llm = Llama(
model_path="./MobileLLaMA-1.4B-Base-f16.gguf",
n_ctx=32768,
n_threads=8,
n_gpu_layers=35
)
output = llm(
"<提示语>",
max_tokens=512,
stop=["</s>"],
echo=True
)
llm = Llama(model_path="./MobileLLaMA-1.4B-Base-f16.gguf", chat_format="llama-2")
llm.create_chat_completion(
messages = [
{"role": "system", "content": "你是一个故事写作助手。"},
{
"role": "user",
"content": "写一个关于羊驼的故事。"
}
]
)
LangChain集成指南
参考以下文档实现与LangChain的集成:
原始模型卡片:MobileLLaMA-1.4B-Base
模型概要
MobileLLaMA-1.4B-Base是一个拥有14亿参数的Transformer模型。我们对LLaMA进行降尺度以提升部署便捷性。为保证可复现性,所有模型仅使用RedPajama v1数据集的1.3T token进行训练,这有助于通过受控实验推进进一步研究。
我们在两个标准自然语言基准测试(分别针对语言理解和常识推理)上进行了全面评估。实验结果表明,我们的MobileLLaMA 1.4B与最新开源模型性能相当。
模型来源
- 代码库:https://github.com/Meituan-AutoML/MobileVLM
- 论文:https://arxiv.org/abs/2312.16886
快速开始
模型权重可通过Hugging Face Transformers加载。示例代码参见GitHub。
训练细节
详见论文第4.1节:MobileVLM:面向移动设备的快速、强大、开源视觉语言助手。