探秘 Hugging Face:何为 Hugging Face 及其核心组件全览

what is hugging face?官方/国内镜像网站 & hugging face操作界面详解 & 在hugging face下载源码 & hugging face快速复现大模型 what is hugging face?官方/国内镜像网站 & hugging face操作界面详解 & 在hugging face下载源码 & hugging face快速复现大模型 一文搞定 阅读详情

 

Hugging Face 是一个提供先进自然语言处理( NLP )工具的平台,支持 Transformer 模型的开发和应用。它拥有庞大的模型库和社区资源,能够满足从研究到工业应用的各种需求。

一、注册

官方网址: https://huggingface.co/

注册好后,点击头像Access Token,创建token 。

二、功能介绍

hugging face的核心组件 主要是 Transformers 和Datasets 。

1、Transformers

也就是 Models大模型,平台上有世界上最全的大模型。中国的魔塔社区与此类似,不过没有它全。 我们自己也可以上传大模型到hugging face平台。

2、Datasets

就是数据集,大模型训练用的数据。

图片

3、大模型分类

点击“Models”,左侧有分类。主导航有根据“任务Tasks”,“库Libraries”,"数据集DataSets","语言Languages","开源协议Licenses"等。

图片

4、大模型文件

打开千问最新版本 Qwen/QwQ-32B,在"Files and Versions"模型文件页面下,可以看到很多类似”model-00001-of-00014.safetensors“ ,后缀 safetensors就是模型文件的名称。

图片

图片

5、Inference Providers

hugging face平台上有很多大模型提供接口试用,列表有黄色闪电标记,详情的右侧有Inference Providers。

图片

图片

不过接口调用不是很稳定,时长不通。

6、下载大模型文件

下载大模型文件到本地,官方提供了多种方式。

(1)git clone方式

图片

git clone https://huggingface.co/Qwen/QwQ-32B

(2)使用hugging face提供的transformers库下载

     下一节重点讲解。 

三、使用 Transformers 库

Hugging Face 提供了 transformers 库,用于加载和使用模型 。你可以使用以下命令来安装它:(电 脑须安装基础环境:Anaconda,CUDA,cuDNN,pytorch )

pip install transformers

如果你还需要安装其他依赖库,如 datasets 和 tokenizers ,可以使用以下命令:

pip install transformers datasets tokenizers

1、下载模型

使用代码下载模型到本地,代码演示使用depeek-r1-1.5b,小一点。等待大概几分钟就下载完成了,主要看网速。

from  transformers import AutoTokenizer,AutoModelForCausalLMmodel_name="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"cache_dir="model3/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"#下载模型AutoModelForCausalLM.from_pretrained(model_name,cache_dir=cache_dir)#下载分词工具AutoTokenizer.from_pretrained(model_name,cache_dir=cache_dir)print(f"模型和分词器已下载到:{cache_dir}")

AutoModelForCausalLM 是 Hugging Face 的 Transformers 库中的一个类,主要用于处理因果语言模型(Causal Language Model)任务。大部分的text-generation类型的大模型都可以使用这个类。

模型和分词器一般都是成对下载。

代码中model_name的名称一定要是 hugging face上模型的完整名称。cache_dir是本地文件目录,可以使用绝对路径,pycharm开发时,可使用相对路径。

2、模型文件介绍

下载好后的目录如下 

图片

模型的核心内容主要是看 snapshots-config.json所在的目录,也是模型的默认目录地址。model.safetensors就是模型的源文件,

(1)config.json文件

{  "architectures": [    "Qwen2ForCausalLM"  ],  "attention_dropout": 0.0,  "bos_token_id": 151643,  "eos_token_id": 151643,  "hidden_act": "silu",  "hidden_size": 1536,  "initializer_range": 0.02,  "intermediate_size": 8960,  "max_position_embeddings": 131072,  "max_window_layers": 21,  "model_type": "qwen2",  "num_attention_heads": 12,  "num_hidden_layers": 28,  "num_key_value_heads": 2,  "rms_norm_eps": 1e-06,  "rope_theta": 10000,  "sliding_window": 4096,  "tie_word_embeddings": false,  "torch_dtype": "bfloat16",  "transformers_version": "4.44.0",  "use_cache": true,  "use_mrope": false,  "use_sliding_window": false,  "vocab_size": 151936}

vocab_size是模型可以识别的字符个数。有些模型文件vocab.txt文件,就是可以识别字符列表。若输入的字符不在这个范围内,分词器会根据配置的special_tokens里的值来赋值。比如下面的:

BertTokenizer(name_or_path='D:\Test\LLMTrain\day02\model\bert-base-chinese\models--bert-base-chinese\snapshots\c30a6ed22ab4564dc1e3b2ecbf6e766b0611a33f', vocab_size=21128, model_max_length=512, is_fast=False, padding_side='right', truncation_side='right', special_tokens={'unk_token': '[UNK]', 'sep_token': '[SEP]', 'pad_token': '[PAD]', 'cls_token': '[CLS]', 'mask_token': '[MASK]'}, clean_up_tokenization_spaces=True, added_tokens_decoder={

3、Pipelines运行本地模型

大模型下载到本地,就可以使用了,transformers库中的pipelines是一个非常实用的高级工具,它为自然语言处理(NLP)任务提供了一种简单、便捷且统一的接口,使得用户无需深入了解模型的具体细节就能轻松完成各种常见的 NLP 任务。pipelines的主要特点如下:

(1) 简化模型使用流程

在传统的使用方式中,若要使用一个预训练模型完成特定任务,需要手动完成加载模型、分词、编码、推理、解码等一系列复杂的步骤。而pipelines将这些步骤进行了封装,用户只需提供任务类型和必要的输入,就能直接得到任务的处理结果。

例如,使用pipelines进行文本分类: 

from transformers import BertTokenizer,BertForSequenceClassification,pipeline
#设置具体包含config.json的目录,只支持绝对路径model_dir = r"model\bert-base-chinese"
#加载模型和分词器model = BertForSequenceClassification.from_pretrained("bert-base-chinese",cache_dir=model_dir)tokenizer = BertTokenizer.from_pretrained("bert-base-chinese",cache_dir=model_dir)
#创建分类pipleineclassifier = pipeline("text-classification",model=model,tokenizer=tokenizer,device="cpu")
#进行文本分类result = classifier("你好,我是一款语言模型")print(result)
print(model)

上述代码中,用户只需创建一个text - classification类型的管道,然后传入文本,就能直接得到文本的分类结果,无需关心模型加载、分词等底层操作。

(2)支持多种常见 NLP 任务

pipelines支持多种常见的自然语言处理任务,以下是一些常见任务及其示例:

文本分类:判断文本所属的类别,如情感分析(积极、消极)、主题分类等。 ​​​​​​​

classifier = pipeline('text-classification')result = classifier("This is a great product!")

问答系统:根据给定的上下文和问题,找出问题的答案。​​​​​​​

qa = pipeline('question-answering')context = "Albert Einstein was a German-born theoretical physicist. He developed the theory of relativity."question = "Who developed the theory of relativity?"result = qa(question=question, context=context)

文本生成:根据输入的文本生成相关的文本内容,如故事续写、摘要生成等。​​​​​​​

generator = pipeline('text-generation')input_text = "Once upon a time"result = generator(input_text, max_length=100)

命名实体识别(NER):识别文本中的命名实体,如人名、地名、组织机构名等。​​​​​​​

ner = pipeline('ner')text = "Apple is looking at buying U.K. startup for $1 billion"result = ner(text)

(3)自动选择合适的模型

pipelines会根据指定的任务类型自动选择合适的预训练模型。例如,当你创建一个text - classification管道时,它会默认选择一个在文本分类任务上表现良好的预训练模型。当然,你也可以手动指定使用的模型,只需在创建管道时传入model参数即可。 ​​​​​​​

# 使用指定的模型创建文本分类管道classifier = pipeline('text-classification', model='distilbert-base-uncased-finetuned-sst-2-english')

注意,这里需要能联网,并且能科学上网。可以使用本地的大模型调用。​​​​​​​

#本地离线调用deepseek-r1from transformers import AutoModelForCausalLM,AutoTokenizer,pipeline
#设置具体包含config.json的目录,只支持绝对路径model_dir = r"D:\trsanformers_test\model3\deepseek-ai\DeepSeek-R1-Distill-Qwen-1.5B\models--deepseek-ai--DeepSeek-R1-Distill-Qwen-1.5B\snapshots\ad9f0ae0864d7fbcd1cd905e3c6c5b069cc8b562"
#加载模型和分词器model = AutoModelForCausalLM.from_pretrained(model_dir)tokenizer = AutoTokenizer.from_pretrained(model_dir)
# 模拟多轮对话,设置角色信息messages = [    {"role": "user", "content": "请使用java写一个冒泡排序。"}]
# 构建输入文本,按照 DeepSeek - R1 的格式input_text = ""for message in messages:    if message["role"] == "user":        input_text += f"<|UserBegin|>{message['content']}<|UserEnd|>"    elif message["role"] == "assistant":        input_text += f"{message['content']}"


#使用加载的模型和分词器创建生成文本的pipelinegenerator = pipeline("text-generation",model=model,tokenizer=tokenizer,device="cpu")
#生成文本# output = generator("你好,我是一款语言模型,",max_length=50,num_return_sequences=1)output = generator(    input_text,#生成文本的输入种子文本(prompt)。模型会根据这个初始文本,生成后续的文本    max_length=1500,#指定生成文本的最大长度。这里的 50 表示生成的文本最多包含 50 个标记(tokens)    num_return_sequences=1,#参数指定返回多少个独立生成的文本序列。值为 1 表示只生成并返回一段文本。    truncation=True,#该参数决定是否截断输入文本以适应模型的最大输入长度。如果 True,超出模型最大输入长度的部分将被截断;如果 False,模型可能无法处理过长的输入,可能会报错。    temperature=0.7,#该参数控制生成文本的随机性。值越低,生成的文本越保守(倾向于选择概率较高的词);值越高,生成的文本越多样(倾向于选择更多不同的词)。0.7 是一个较为常见的设置,既保留了部分随机性,又不至于太混乱。    top_k=50,#该参数限制模型在每一步生成时仅从概率最高的 k 个词中选择下一个词。这里 top_k=50 表示模型在生成每个词时只考虑概率最高的前 50 个候选词,从而减少生成不太可能的词的概率。    top_p=0.9,#该参数(又称为核采样)进一步限制模型生成时的词汇选择范围。它会选择一组累积概率达到 p 的词汇,模型只会从这个概率集合中采样。top_p=0.9 意味着模型会在可能性最强的 90% 的词中选择下一个词,进一步增加生成的质量。    clean_up_tokenization_spaces=True#该参数控制生成的文本中是否清理分词时引入的空格。如果设置为 True,生成的文本会清除多余的空格;如果为 False,则保留原样。默认值即将改变为 False,因为它能更好地保留原始文本的格式。)print(output)

 如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

​

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 ↓

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容:

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容:

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容:

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容:

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

​

HuggingFace 简介 阅读详情

相关推荐

Huggingface 超详细介绍

Hugging face 起初是一家总部位于纽约的聊天机器人初创服务商,他们本来打算创业做聊天机器人,然后在github上开源了一个Transformers库,虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集,变成了机器学习界的github。其之所以能够获得如此巨大的成功,一方面是让我们这些甲方企业的小白,尤其是入门者也能快速用得上科研大牛们训练出的超牛模型。

WitsMakeMen的专栏 1万+

Huggingface的介绍,使用(CSDN最强Huggingface入门手册)

Huggingface即是网站名也是其公司名,随着transformer浪潮,Huggingface逐步收纳了众多最前沿的模型和数据集等有趣的工作,与transformers库结合,可以快速使用学习这些模型。进入Huggingface网站,如下图所示。Models(模型),包括各种处理CV和NLP等任务的模型,上面模型都是可以免费获得Datasets(数据集),包括很多数据集Spaces(分享空间),包括社区空间下最新的一些有意思的分享,可以理解为huggingface朋友圈。

大模型天花板 7万+

Hugging Face 核心组件介绍

hugging face的核心组件 主要是 Transformers 和Datasets。使用代码下载模型到本地,代码演示使用depeek-r1-1.5b,小一点。等待大概几分钟就下载完成了,主要看网速。#下载模型#下载分词工具print(f"模型和分词器已下载到:{cache_dir}")AutoModelForCausalLM 是 Hugging Face 的 Transformers 库中的一个类,主要用于处理因果语言模型(Causal Language Model)任务。

沐雪架构师 1954

HuggingFace快速入门

和 Github 类似,都是Hub(社区)。Hugging Face可以说的上是机器学习界的Github。

chengxuyuanyy的博客 1万+

【AI】在本地 Docker 环境中搭建使用 Hugging Face 托管的 Llama 模型

在本地使用Docker部署LLM GGML模型是一种方便有效的使用自然语言处理的方式。将模型docker化使其易于在不同环境之间移动,并确保其能够一致运行。在浏览器中测试模型提供了用户友好的界面,让您可以快速评估其性能。 这样的设置使您对基础架构和数据有更多控制,并更容易部署先进的语言模型,适用于各种应用。这是在部署大型语言模型方面迈出的一大步。

欧阳天涵的专栏 4128

人工智能 | Hugging Face 的应用

Hugging-Face 大语言模型 LLM 管理Transformers 机器学习框架文本生成推理 (TGI)

dl_dabai的博客 2683

Hugging Face / ModelScope 核心组件使用

代表用途: 文本分类、命名实体识别、情感分析特点: 理解文本含义"""自定义训练循环"""# 创建数据加载器# 优化器# 学习率调度器"linear",# 训练设备# 训练循环# 将数据移动到设备# 前向传播# 反向传播# 参数更新# 使用自定义训练循环。

wzm15939943783的博客 1644

​Hugging Face简介及其代码样例

调用 Stable Diffusion 生成高质量图像,支持自定义提示词与参数调整。:基于 BERT 的问答模型,适用于知识库检索与客服场景。:将模型封装为 RESTful API,支持外部调用。:支持分布式训练与混合精度,适用于自定义数据集微调。:结合视觉与语言理解,适用于图像标注、教育等场景。快速构建分类器,支持 20+ 预训练模型。如需进一步探索,可访问。

alankuo的专栏 1125

Hugging Face 使用笔记

文章摘要: HuggingFace是机器学习领域的开源社区平台,提供模型仓库、预训练模型(如Transformer架构)和公开数据集,支持NLP、音频、CV等任务。核心工具包括Transformers(模型库)、Datasets(数据集处理)和Accelerate(多GPU加速)。用户需注册获取token(分为read/write权限)并通过代码、命令行或配置文件配置。下载模型/数据集可通过snapshot_download或hf_hub_download实现,但可能因网络超时失败(如连接huggingfa

人无远虑,必有近忧 3685

【Hugging Face】介绍

Hugging Face是一个人工智能平台,专注于提供开源的自然语言处理(NLP)工具和资源,包括预训练模型、数据集和开发工具,旨在降低AI技术的准入门槛,促进知识共享和技术进步。

2054

Hugging Face Hub:大模型的参数中心

Hugging Face是一家人工智能公司,专注于自然语言处理(NLP)和机器学习领域。该公司的使命是使人工智能技术更加普及和可访问,通过开源工具和模型的提供,帮助开发者和研究人员在NLP领域取得更好的成果。Hugging Face最著名的贡献是开发和维护了一个名为"Transformers"的开源库。这个库提供了大量预训练的Transformer模型,如BERT、GPT、RoBERTa等,这些模型在NLP任务中表现出色。

遇码开源社区 1245

Hugging Face 核心组件学习

Hugging Face 提供了transformers库,用于加载和使用模型。你可以使用以下命令来安装它:(电脑须安装基础环境:Anaconda, CUDA, cuDNN, pytorch)Hugging Face 是一个提供先进自然语言处理(NLP)工具的平台,支持 Transformer 模型的开发和应用。它拥有庞大的模型库和社区资源,能够满足从研究到工业应用的各种需求。希望这份介绍能够帮助你更好地了解和使用 Hugging Face 的核心组件。如果你有任何其他问题或需要进一步的帮助,请随时提问。

风信子的博客 1410

差分运放电路输出电压偏置设计解析

差分运算放大电路是信号处理中的基础模块,通过差分对管结构实现共模抑制与差模放大。其核心原理基于运放的虚短虚断特性,当电阻网络满足对称条件时,输出电压与输入差分成正比。在工业测量系统中,由于ADC通常仅支持正电压输入,需要通过偏置电路将双极性信号平移至正电压范围。典型设计采用精密基准电压源和匹配电阻网络,既保持信号完整性又满足系统接口要求。本文以-100V高压测量为例,详细解析了分压网络设计、参考电压选取以及电阻匹配等关键技术要点,为传感器接口电路设计提供实践参考。

weixin_35750747的博客 461

大模型微调-2-Hugging Face核心组件

加载预训练模型。

路漫漫其修远兮,吾将上下而求索。 804

锐浪报表 Grid++Report 子报表 Delphi

锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名...

lyhoo163的专栏 9065

Docker篇——Docker常用命令大全!史上最全面的Docker命令,涵盖常规命令、镜像基本命令、容器基本命令以及常用其他命令,一篇文章速通!

本篇文章介绍的关于DOcker的命令非常全面,Docker常见的命令介绍完毕,涉及到的命令比较繁杂,希望大家可以收藏并坚持学习。后续还会持续更新相关技术点,敬请期待

我热爱学习,也乐于分享。无论是科技前沿的洞见,还是生活中的小技巧,我都会在这里与你分享。我相信,知识就是力量,而分享则能让这份力量得到更好的传递。 5742

Hugging Face生态

Hugging Face 是一家总部位于纽约的科技公司,致力于为机器学习应用开发通用的计算工具。它最为人所熟知的产品是 Transformers 库,该库广泛应用于自然语言处理任务。除了工具库,Hugging Face 还提供一个平台——Hugging Face Hub,用户可以在平台上共享机器学习模型与数据集,并展示自己的相关成果。这个平台已经发展成为机器学习领域最活跃的开源社区之一,为研究与工程实践提供了丰富的资源与工具支持。

JZ171717的博客 1152

QT实现HTTP文件(夹)下载的完整流程与实战技巧

本文详细介绍了使用QT框架实现HTTP文件和文件夹下载的完整流程与实战技巧。通过QNetworkAccessManager等核心类,讲解了从单文件下载、大文件处理、进度显示、暂停/取消功能,到复杂的文件夹下载策略。文章重点剖析了断点续传、错误处理与网络健壮性等关键问题,为C++桌面应用集成稳定高效的下载功能提供了专业指导。

weixin_29239279的博客 272
上一篇: 大模型时代,智能体崛起:从技术解构到工程落地的全栈指南 ——《大模型技术30讲》
下一篇: 大模型新书丨《基于Transformers和扩散模型的生成式人工智能实战》
LLM大模型
博客等级 码龄4年 9788粉丝 2247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值