开源AI社区
首先HuggingFace是基于git的(虽然有很多的二进制的大文件),在一个模型的页面,切换到【Files and versions】标签页,就可以看到类似Github的文件结构了。在这里也就可以clone这个项目了,也就是下载模型的权重
使用pip可以安装,但是好像不太好用,推荐使用Homebrew
brew install huggingface-cli
也就是clone工程
# 如何得到这个模型的具体名称? # 一般来说这个模型的名称就是模型页面的url # 或者在模型页面点击clone也可以得到这个名称 hf download facebook/opt-1.3b # 下载到缓存 (py311) anny@annys-MacBook-Air models % hf download facebook/opt-1.3b Fetching 12 files: 100%|████████████████████████████████████████████████████████████████| 12/12 [01:40<00:00, 8.41s/it] Download complete: : 7.90GB [01:40, 332MB/s] /Users/anny/.cache/huggingface/hub/models--facebook--opt-1.3b/snapshots/3f5c25d0bc631cb57ac65913f76e22c2dfb61d62 Download complete: : 7.90GB [01:41, 78.2MB/s] # 下载到指定位置 (py311) anny@annys-MacBook-Air models % hf download facebook/opt-1.3b --local-dir ./opt-1.3b Downloading (incomplete total...): 0.00B [00:00, ?B/s] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. Fetching 12 files: 100%|████████████████████████████████████████████████████████████████| 12/12 [00:06<00:00, 1.72it/s] Download complete: : 0.00B [00:06, ?B/s] /Users/anny/Downloads/models/opt-1.3b5/12 [00:06<00:10, 1.46s/it] Download complete: : 0.00B [00:06, ?B/s]
权重文件一般都是体积很大的二进制文件,而Git LFS并不好用。
“Xet” 标志代表该仓库使用了 XetHub 的技术来进行文件存储,而不是传统的 Git LFS。
可以简单地把它理解为 “Git LFS 2.0” 或者 “更智能的大文件存储”。
【AI】权重文件划分:
对于小模型(比如 < 1B 参数),它可能只是一个单独的 .safetensors 文件。
但对于大多数现代主流模型(比如 Llama-3-8B, Qwen-72B),“模型权重”通常是由多个 .safetensors 文件切片(Shards)组成的,并且必须配合一个“索引文件”使用。
如果模型比较小(通常小于 10GB),则只有一个:model.safetensors
但是为了避免单个文件过大(导致下载困难或文件系统限制),模型通常会被切分成很多块。
model.safetensors.index.json (核心地图),这是最重要的文件。它不包含权重数据,而是一个目录。
model-00001-of-00004.safetensors(切分文件)
除此之外:
config.json是整体的配置文件。
tokenizer.json / tokenizer.model是字典。