huggingface模型下载tips

登陆huggingface账户

pip install --upgrade huggingface_hub
huggingface-cli login

通过snapshot_download下载模型

from huggingface_hub import snapshot_download

snapshot_download(
  repo_id="bigscience/bloom-560m",
  local_dir="/data/user/test",
  local_dir_use_symlinks=False,
  proxies={"https": "http://localhost:7890"}
)

如果需要登陆token:

import huggingface_hub
huggingface_hub.login("HF_TOKEN") # token 从 https://huggingface.co/settings/tokens 获取

modelscope模型下载

#验证SDK token
from modelscope.hub.api import HubApi
api = HubApi()
api.login('xxxxxx')

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('xxx/Meta-Llama-3-8B')

hf格式转gguf

python convert-hf-to-gguf.py --model /workspace/models/Qwen/14B

gguf量化

./quantize models/Qwen/14B/ggml-model-f16.gguf q4_0 # q4_0代表进行INT4量化

典型的精度参考:
q2_k:特定張量 (Tensor) 采用較高的精度設置,而其他的則保持基礎級別。
q3_k_l、q3_k_m、q3_k_s:這些變體在不同張量上使用不同級別的精度,從而達到性能和效率的平衡。
q4_0:這是最初的量化方案,使用 4 位精度。
q4_1和q4_k_m、q4_k_s:這些提供了不同程度的準確性和推理速度,適合需要平衡資源使用的場景。
q5_0、q5_1、q5_k_m、q5_k_s:這些版本在保證更高準確度的同時,會使用更多的資源並且推理速度較慢。
q6_k和q8_0:這些提供了最高的精度,但是因為高資源消耗和慢速度,可能不適合所有用戶。

llama.cpp推理

# chat.sh
./main -m ./models/Qwen/14B/ggml-model-Q4_0.gguf -c 512 -b 1024 -n 256 --keep 48 \
    --repeat_penalty 1.0 --color -i \
    -r "User:" -f prompts/chat-with-bob.txt

执行命令:

sh examples/chat.sh

执行后,即可进入聊天界面

精度评测

llama.cpp提供了perplexity可执行文件来验证模型的PPL精度,这里以wikitext语料来简单测试一下千问14B的性能(通义千问可能更偏向于中文,wikitext-2多数都是英文语料)。需要先下载解压wikitext-2到本地,这里解压到了llama.cpp/wikitext-2-raw/目录下,运行以下命令:

./perplexity -m models/Qwen/14B/ggml-model-Q4_0.gguf -f wikitext-2-raw/wiki.test.raw

ollama导入gguf模型

创建一个名为Modelfile的文件,并在其中添加FROM指令,指定要导入的模型的本地文件路径。

FROM ./vicuna-33b.Q4_0.gguf

在Ollama中创建模型

ollama create example -f Modelfile

运行模型

ollama run example
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容