模型概述
模型特點
模型能力
使用案例
🚀 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 許可證。



