模型下载:
HuggingFace官网:https://huggingface.co/ ---- 需要VPN
魔搭社区:https://modelscope.cn/home ---- 国内映射,不需要VPN
写在篇始:国内关注方法一即可。其余几种都需要VPN,而且在服务器下载的速度有限~~。
下一篇:微调详细流程以及环境...
方法一:魔搭(modelscope)下载
# 需要安装 pip install modelscope
from modelscope import snapshot_download
model_name = '要下载的模型名称'
local_model_dir = '保存的模型路径'
model_dir = snapshot_download(model_name, # 要下载的模型名称cache_dir=local_model_dir, # 下载到那个目录revision='master',ignore_file_pattern='.pth',# 配置过滤,不下载“.pth”的原始文件。只下载“.safetensors”的模型文件
)
方法二:huggingface_hub下载 - VPN
# ### pip install huggingface_hub
# 设置环境变量
import os
# 专用多线程下载器 hfd 环境变量
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"# 代码下载
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="amritgupta/qafacteval",filename="README.md",local_dir="./qafacteval")
方法三:使用transformers库下载
使用 Hugging Face 的 transformers 库,Hugging Face 的 transformers 库可以自动下载和管理这些文件。
只需要指定模型名称或路径即可。
# 需要安装 pip install transformers
from transformers import AutoModel, AutoTokenizer# 指定模型名称或路径
model_name = "your-model-name-or-path"# 自动下载并加载模型和分词器
model = AutoModel.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
方法四:网页下载 - VPN
base:代表基础模型;
Instruct:代表在基础模型上面已经训练过一次了。
Qwen/Qwen2-VL-2B-Instruct-GPTQ-Int8:其中的int8代表量化等级为8;Instruct代表已经预训练了一次;
文件名 | 说明 |
.gitattributes | Git 配置文件,用于管理仓库的文本格式和换行符设置。通常不需要关心。 |
LICENSE | 模型的许可证文件,说明模型的使用限制和权限。 |
README.md | 模型的说明文档,通常包含模型的描述、使用方法、训练信息等。 |
chat_template.json | 聊天模板配置文件,用于定义聊天模型的输入输出格式(如果有的话)。 |
config.json | 模型的主配置文件,包含模型的结构信息(如层数、隐藏层大小等)。 |
generation_config.json | 生成文本时的配置(如最大生成长度、温度参数等)。 |
merges.txt | 分词器的合并规则文件(用于 BPE 分词器,如 GPT 系列模型)。 |
model-00001-of-00002.safetensors | 模型权重文件的分片(第 1 部分)。总共有 2 个分片。 |
model-00002-of-00002.safetensors | 模型权重文件的分片(第 2 部分)。总共有 2 个分片。 |
model.safetensors.index.json | 模型权重分片的索引文件,指示如何加载分片文件。 |
preprocessor_config.json | 预处理器的配置文件(通常用于图像模型,文本模型可能不需要)。 |
tokenizer.json | 分词器的配置文件,包含分词器的规则和设置。 |
tokenizer_config.json | 分词器的额外配置(如特殊 token、填充方式等)。 |
vocab.json | 分词器的词汇表文件,包含所有 token 及其对应的 ID。 |
除了.gitattributes、README.md、LICENSE其余全下即可
微调时需要下载哪些文件?
必需文件
模型权重文件
model-00001-of-00002.safetensors
model-00002-of-00002.safetensors
model.safetensors.index.json(用于加载分片文件)
配置文件
config.json(模型结构配置)
分词器文件
tokenizer.json 或 tokenizer_config.json(分词器配置)
vocab.json(词汇表)
merges.txt(如果使用 BPE 分词器,如 GPT 系列)
生成配置文件(可选):
generation_config.json(用于文本生成任务)
可选文件
README.md:了解模型的背景和使用方法。
LICENSE:查看模型的使用限制。
chat_template.json:如果微调的是聊天模型,可能需要这个文件。
总结
必需文件:模型权重分片(.safetensors)、config.json、分词器文件(tokenizer.json、vocab.json 等)。
可选文件:README.md、LICENSE、generation_config.json 等。
下载方式:使用 transformers 库自动下载,或手动从 Hugging Face 页面下载。
微调代码:使用 Trainer 或自定义训练循环进行微调。
使用下载的模型
方法一:使用本地模型地址
AutoModelForCausalLM.from_pretrained("/data/gpt2") # 使用本地模型全路径
方法二:仅使用模型名称 --- 系统在VPN的情况下会自动下载
之所以不用写具体路径是因为huggingface工具链会在 .cache/huggingface/ 下维护一份模型的符号链接,无论你是否指定了模型的存储路径 ,缓存目录下都会链接过去,这样可以避免自己忘了自己曾经下过某个模型,此外调用的时候就很方便。
AutoModelForCausalLM.from_pretrained("huggyllama/llama-7b(模型名称)")