前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hugging Face 的应用

Hugging Face 的应用

原创
作者头像
霍格沃兹测试开发Muller老师
发布于 2024-09-09 11:40:18
发布于 2024-09-09 11:40:18
13700
代码可运行
举报
运行总次数:0
代码可运行

大纲

Hugging-Face 介绍

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

Hugging Face

Hugging-Face -- 大语言模型界的 Github

Hugging Face 专门开发用于构建机器学习应用的工具。该公司的代表产品是其为自然语言处理应用构建的 transformers 库,以及允许用户共享机器学习模型和数据集的平台

大模型平台 hugging face

国内对标 -- 百度千帆

百度智能云千帆大模型平台(以下简称千帆或千帆大模型平台)是面向企业开发者的一站式大模型开发及服务运行平台。千帆不仅提供了包括文心一言底层模型和第三方开源大模型,还提供了各种 AI 开发工具和整套开发环境,方便客户轻松使用和开发大模型应用。支持数据管理、自动化模型 SFT 以及推理服务云端部署的一站式大模型定制服务,助力各行业的生成式 AI 应用需求落地。

百度千帆

国内对标 -- 魔搭社区

ModelScope 社区成立于 2022 年 6 月,是一个模型开源社区及创新平台,由阿里巴巴通义实验室(Institute for Intelligent Computing),联合 CCF 开源发展委员会,共同作为项目发起方。社区联合国内 AI 领域合作伙伴与高校机构, 致力于通过开放的社区合作,构建深度学习相关的模型开源社区,并开放相关模型创新技术,推动基于“模型即服务”(Model-as-a-Service)理念的模型应用生态的繁荣发展。

Hugging Face 是行业风向标
  • 开发者仓库 Hub
  • 机器学习模型 Hub
  • 数据集 Hub

<!---->

  • 机器学习算法库与封装工具
  • 解决方案
  • 文档

大语言模型管理

通过 Git 下载大模型
代码语言:bash
AI代码解释
复制
git lfs install
#模型会下载到本地目录,并不在hugging face的标准管理目录里,可能会导致后续Transformers库重新下载
git clone https://huggingface.co/google/owlv2-base-patch16-ensemble
客户端工具 huggingface_hub
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
python -m pip install huggingface_hub
# 需要开启代理
huggingface-cli login
高速下载
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
python -m pip install huggingface_hub[hf_transfer]

#缺点:目前还不支持代理,导致下载大文件可能有时候更慢。
export HF_HUB_ENABLE_HF_TRANSFER=1

huggingface-cli download gpt2 config.json
huggingface-cli 用法
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
(base) hogwarts: llama seveniruby$ huggingface-cli -h
usage: huggingface-cli <command> [<args>]

positional arguments:
  {env,login,whoami,logout,repo,upload,download,lfs-enable-largefiles,lfs-multipart-upload,scan-cache,delete-cache}
                        huggingface-cli command helpers
    env                 Print information about the environment.
    login               Log in using a token from huggingface.co/settings/tokens
    whoami              Find out which huggingface.co account you are logged in as.
    logout              Log out
    repo                {create, ls-files} Commands to interact with your huggingface.co repos.
    upload              Upload a file or a folder to a repo on the Hub
    download            Download files from the Hub
    lfs-enable-largefiles
                        Configure your repository to enable upload of files > 5GB.
    lfs-multipart-upload
                        Command will get called by git-lfs, do not call it directly.
    scan-cache          Scan cache directory.
    delete-cache        Delete revisions from the cache directory.

options:
  -h, --help            show this help message and exit
使用示例
代码语言:bash
AI代码解释
复制
huggingface-cli login
huggingface-cli download gpt2
huggingface-cli download gpt2 config.json
huggingface-cli download gpt2 --revision main
使用 Hub client library 管理
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="google/pegasus-xsum", filename="config.json")

from huggingface_hub import hf_hub_download
hf_hub_download(
    repo_id="google/pegasus-xsum",
    filename="config.json",
    revision="4d33b01d79672f27f001f6abade33f22d993b151"
)
hugging face 的本地缓存文件结构
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
#文件快照
./snapshots
./snapshots/187d69aae616814bc1386bdfe38e256518d17637
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/added_tokens.json
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/tokenizer_config.json
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/special_tokens_map.json
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/config.json
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/README.md
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/merges.txt
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/.gitattributes
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/pytorch_model.bin
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/vocab.json
./snapshots/187d69aae616814bc1386bdfe38e256518d17637/preprocessor_config.json
#真正的文件缓存
./blobs
./blobs/76e821f1b6f0a9709293c3b6b51ed90980b3166b
./blobs/69feda8b53b1c9e2a85ae756bf58c120c3c1b4b4a4d97d4876578c1809a63d76
./blobs/39808ac074d69141c0b2f065d16f56dfa5194cac
./blobs/1c4c373d81adc0c63bb3368a89f4a92574395c2c
./blobs/b24bfd579e8682df31c7794a3e1c3ef6a9a22a7a
./blobs/5ff4ac542d5e800dd3aadbdcda354868b5f24ddd
./blobs/a6344aac8c09253b3b630fb776ae94478aa0275b
./blobs/dfc1049705d082052a81e7d18bde6d11fc137a0d
./blobs/ee790e862e5a47398da080893272d3c2b76cf0e5
./blobs/469be27c5c010538f845f518c4f5e8574c78f7c8

#分支,指定分支有助于解决重复下载问题
./refs
./refs/main

hugging face transformers 机器学习框架

Transformers 库

Transformers 是一个预训练的最先进模型库,用于自然语言处理 (NLP)、计算机视觉以及音频和语音处理任务。该库不仅包含 Transformer 模型,还包含非 Transformer 模型,例如用于计算机视觉任务的现代卷积网络。Transformers 提供 API 和工具,可轻松下载和训练最先进的预训练模型,它支持 PyTorch、TensorFlow 和 JAX 之间的框架互操作性。

Transformers 能力
  • 自然语言处理:文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。
  • 计算机视觉:图像分类、对象检测和分割。
  • 音频:自动语音识别和音频分类。
  • 多模态:表格问答、光学字符识别、扫描文档信息提取、视频分类和视觉问答。

Task

Description

Modality

Pipeline identifier

Text classification

assign a label to a given sequence of text

NLP

pipeline(task=“sentiment-analysis”)

Text generation

generate text given a prompt

NLP

pipeline(task=“text-generation”)

Summarization

generate a summary of a sequence of text or document

NLP

pipeline(task=“summarization”)

Task

Description

Modality

Pipeline identifier

Image classification

assign a label to an image

Computer vision

pipeline(task=“image-classification”)

Image segmentation

assign a label to each individual pixel of an image (supports semantic, panoptic, and instance segmentation)

Computer vision

pipeline(task=“image-segmentation”)

Object detection

predict the bounding boxes and classes of objects in an image

Computer vision

pipeline(task=“object-detection”)

Task

Description

Modality

Pipeline identifier

Audio classification

assign a label to some audio data

Audio

pipeline(task=“audio-classification”)

Automatic speech recognition

transcribe speech into text

Audio

pipeline(task=“automatic-speech-recognition”)

Task

Description

Modality

Pipeline identifier

Visual question answering

answer a question about the image, given an image and a question

Multimodal

pipeline(task=“vqa”)

Document question answering

answer a question about the document, given a document and a question

Multimodal

pipeline(task=“document-question-answering”)

Image captioning

generate a caption for a given image

Multimodal

pipeline(task=“image-to-text”)

快速开始
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
pip install transformers datasets
pip install torch
pip install tensorflow

#测试
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"

pipeline api 使用
pipe = pipeline("text-classification")
pipe("This restaurant is awesome")

#输出
[{'label': 'POSITIVE', 'score': 0.9998743534088135}]
使用第三方库
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
pipe = pipeline(model="FacebookAI/roberta-large-mnli")
pipe("This restaurant is awesome")

#输出
[{'label': 'NEUTRAL', 'score': 0.7313136458396912}]
图像识别
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
def test_zero_shot_object_detector():
    with open('coco_sample.png', mode='rb') as f:
        image = Image.open(f)
        object_detector = pipeline('object-detection', revision='main')

        predictions = object_detector(image)
        print(json.dumps(predictions, indent=2, ensure_ascii=False))

#输出
[
  {
    "score": 0.9982201457023621,
    "label": "remote",
    "box": {
      "xmin": 40,
      "ymin": 70,
      "xmax": 175,
      "ymax": 117
    }
  },
  {
    "score": 0.9960021376609802,
    "label": "remote",
    "box": {
      "xmin": 333,
      "ymin": 72,
      "xmax": 368,
      "ymax": 187
    }
  },
  {
    "score": 0.9954745173454285,
    "label": "couch",
    "box": {
      "xmin": 0,
      "ymin": 1,
      "xmax": 639,
      "ymax": 473
    }
  },
  {
    "score": 0.9988006353378296,
    "label": "cat",
    "box": {
      "xmin": 13,
      "ymin": 52,
      "xmax": 314,
      "ymax": 470
    }
  },
  {
    "score": 0.9986783862113953,
    "label": "cat",
    "box": {
      "xmin": 345,
      "ymin": 23,
      "xmax": 640,
      "ymax": 368
    }
  }
]

文本生成推理 Text Generation Inference

Text Generation Inference

文本生成推理 (TGI) 是一个用于部署和服务大型语言模型 (LLM) 的工具包。TGI 为最流行的开源 LLM 提供高性能文本生成,包括 Llama、Falcon、StarCoder、BLOOM、GPT-NeoX 和 T5。

代码语言:bash
AI代码解释
复制
model=tiiuae/falcon-7b-instruct
volume=$PWD/data # share a volume with the Docker container to avoid downloading weights every run

docker run --gpus all --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:1.4 --model-id $model

model=teknium/OpenHermes-2.5-Mistral-7B
volume=$PWD/data # share a volume with the Docker container to avoid downloading weights every run

docker run --gpus all --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:1.4 --model-id $model
TGI 接口
代码语言:bash
AI代码解释
复制
curl 127.0.0.1:8080/generate \
    -X POST \
    -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":20}}' \
    -H 'Content-Type: application/json'
编程使用 TGI
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import requests

headers = {
    "Content-Type": "application/json",
}

data = {
    'inputs': 'What is Deep Learning?',
    'parameters': {
        'max_new_tokens': 20,
    },
}

response = requests.post('http://127.0.0.1:8080/generate', headers=headers, json=data)
print(response.json())
# {'generated_text': '\n\nDeep Learning is a subset of Machine Learning that is concern

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hugging Face 下载模型指南:手把手教你玩转
Hugging Face 已成为 NLP 和 AI 开发者的必备工具,它提供了丰富的预训练模型,帮助我们快速进行模型训练与推理。但是,如何高效地将模型下载到本地?
神的孩子都在歌唱
2025/03/31
1.5K0
Hugging Face 下载模型指南:手把手教你玩转
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
在模型主页的Files and Version中中可以获取文件的下载链接。无需登录直接点击下载,还可以复制下载链接,用其他下载工具下载。
汀丶人工智能
2024/08/08
1.4K0
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
一种从 🤗HuggingFace 下载模型的方法
无法直接从 HuggingFace[1] 下载模型时,可借助 https://github.com/AlphaHinex/hf-models 仓库,使用 GitHub Actions[2] 构建一个 Docker 镜像,在镜像中用 huggingface_hub[3] 下载好所需模型,再将镜像推送至 Docker Hub[4],最后以下载镜像方式曲线下载模型。
AlphaHinex
2024/04/09
1.4K0
一种从 🤗HuggingFace 下载模型的方法
【HuggingFace项目】:Open-R1 - DeepSeek-R1 大模型开源复现计划
Open-R1 是由 HuggingFace 发布的一个完全开放的项目,旨在通过三个主要步骤复现 DeepSeek-R1 的完整训练流程。这个项目的目标是让更多人能够理解和使用 DeepSeek-R1 的技术方案,从而推动大模型技术的发展和应用。
致Great
2025/01/27
4860
【HuggingFace项目】:Open-R1 - DeepSeek-R1 大模型开源复现计划
AI新手村:Huggingface
Hugging Face 最早作为 NLP 模型的社区中心,成立于 2016 年,但随着 LLM 的大火,主流的 LLM 模型的预训练模型和相关工具都可以在这个平台上找到,此外,上面也有很多计算机视觉(Computer Vision)和音频相关的模型。
dsy
2025/04/11
1130
AI新手村:Huggingface
好评or坏评?AI用Hugging Face和PyTorch解码答案
huggingface的官网,一般都是打不开的状态。首先,我们来介绍一个huggingface的镜像:
Tom2Code
2024/02/22
2830
好评or坏评?AI用Hugging Face和PyTorch解码答案
介绍 Gradio 与 Hugging Face
我们可以使用 Gradio 库为我们的模型构建演示。Gradio 允许您完全使用 Python 为任何机器学习模型构建、自定义和共享基于 Web 的演示。使机器学习模型变得可交互和易于使用。
叶庭云
2024/05/25
4670
介绍 Gradio 与 Hugging Face
聊聊Hugging Face
HuggingFace是一个开源社区,提供了开源的AI研发框架、工具集、可在线加载的数据集仓库和预训练模型仓库。HuggingFace提出了一套可以依照的标准研发流程,按照该框架实施工程,能够在一定程度上规避开发混乱、开发人员水平不一致的问题,降低了项目实施的风险及项目和研发人员的耦合度,让后续的研发人员能够更容易地介入,即把HuggingFace的标准研发流程变成所有研发人员的公共知识,不需要额外地学习。
Ryan_OVO
2023/10/19
1.3K0
聊聊Hugging Face
基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式
强烈推荐:数据标注平台doccano----简介、安装、使用、踩坑记录_汀、的博客-CSDN博客_doccano
汀丶人工智能
2022/12/21
8210
基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式
LLM入门3 | 基于cpu和hugging face的LLaMA部署
将hugging face的权重下载到本地,然后我们之后称下载到本地的路径为llama_7b_localpath
机器学习炼丹术
2023/09/02
1.8K0
LLM入门3 | 基于cpu和hugging face的LLaMA部署
5分钟 NLP :Hugging Face 主要类和函数介绍 🤗
来源:Deephub Imba本文约2200字,建议阅读9分钟本文包含其主要类和函数的概述以及一些代码示例。可以作为该库的一个入门教程 。 主要包括Pipeline, Datasets, Metrics, and AutoClasses HuggingFace是一个非常流行的 NLP 库。本文包含其主要类和函数的概述以及一些代码示例。可以作为该库的一个入门教程 。 Hugging Face 是一个开源库,用于构建、训练和部署最先进的 NLP 模型。Hugging Face 提供了两个主要的库,用于模型的t
数据派THU
2022/03/14
4.2K0
Transformers 4.37 中文文档(四)
www.youtube-nocookie.com/embed/KWwzcmG98Ds
ApacheCN_飞龙
2024/06/26
4280
Transformers 4.37 中文文档(四)
Elasticsearch 开放推理 API 新增 Hugging Face 原生分块支持
通过 Elasticsearch 的开放推理 API,你可以使用 Hugging Face 的 Inference Endpoints 在 Elasticsearch 外部进行推理。这使你能够利用 Hugging Face 的可扩展基础设施,包括在 GPU 和 AI 加速器上进行推理的能力。生成的 Hugging Face 嵌入的使用能力作为第一个开放推理 API 集成在 Elasticsearch 8.11 中引入,从那时起,我们一直在努力更新它,增加了更强大的功能,使你能够以更少的努力获得更好的结果。
点火三周
2024/09/15
1710
Elasticsearch 开放推理 API 新增 Hugging Face 原生分块支持
Transformers 4.37 中文文档(二)
除了🤗 Transformers 的 notebooks 之外,还有示例脚本演示如何使用PyTorch、TensorFlow或JAX/Flax训练模型的方法。
ApacheCN_飞龙
2024/06/26
7210
Transformers 4.37 中文文档(二)
Hugging Face官方课程来了!Transformers库维护者之一授课,完全免费
机器之心报道 编辑:杜伟 Hugging Face NLP 课程开课了,所有课程完全免费。 NLP 领域的小伙伴应该都非常熟悉大名鼎鼎的 Hugging Face,这家专注于解决各种 NLP 问题的初创公司为社区带来了很多有益的技术成果。去年,该团队的 Transformers 代码库论文获得了 EMNLP 2020 最佳 demo 奖。今年 4 月,该团队发布了适用于多 GPU、TPU 和混合精度训练的 PyTorch 新库「Accelerate」。 近日,Hugging Face 在其官方推特上宣布推出
机器之心
2023/03/29
8950
Hugging Face官方课程来了!Transformers库维护者之一授课,完全免费
huggingface 和相关库 - plus studio
Hugging Face是一个专注于自然语言处理(NLP)的开源平台,它旨在让NLP变得更加易用和普及。Hugging Face推出了多个库,例如Transformers,Datasets,Tokenizers和Accelerate,它们分别提供了预训练的模型,大规模的数据集,高效的分词器和分布式训练的工具。Hugging Face还拥有一个活跃的社区,其中有数千名研究人员,开发者和爱好者共同交流和贡献NLP的最新进展。
plus sign
2024/02/28
2970
huggingface 和相关库 - plus studio
仅用250美元,Hugging Face技术主管手把手教你微调Llama 3
我们知道,Meta 推出的 Llama 3、Mistral AI 推出的 Mistral 和 Mixtral 模型以及 AI21 实验室推出的 Jamba 等开源大语言模型已经成为 OpenAI 的竞争对手。
zenRRan
2024/05/11
3970
仅用250美元,Hugging Face技术主管手把手教你微调Llama 3
万字长文深度解析LLM Agent规划框架:HuggingGPT
书接上回详解大语言模型LLM Agent中规划工作流,我们说到HuggingGPT,它是一个结合了ChatGPT和Hugging Face平台上的各种专家模型,以解决复杂的AI任务,可以认为它是一种结合任务规划和工具调用两种Agent工作流的框架。它的工作流程主要分为以下几个步骤:
AgenticAI
2025/03/18
980
万字长文深度解析LLM Agent规划框架:HuggingGPT
Transformers 4.37 中文文档(五)
目标检测是计算机视觉任务,用于检测图像中的实例(如人类、建筑物或汽车)。目标检测模型接收图像作为输入,并输出检测到的对象的边界框的坐标和相关标签。一幅图像可以包含多个对象,每个对象都有自己的边界框和标签(例如,它可以有一辆汽车和一座建筑物),每个对象可以出现在图像的不同部分(例如,图像可以有几辆汽车)。这个任务通常用于自动驾驶,用于检测行人、道路标志和交通灯等。其他应用包括在图像中计数对象、图像搜索等。
ApacheCN_飞龙
2024/06/26
4730
Transformers 4.37 中文文档(五)
arXiv联手Hugging Face,论文链接到开源Demos一步到位
arXiv 作为超大规模的预印本网站,从诞生之初就造福了无数科研工作者。而它存在的意义,远不止让大家免费看论文这么简单。近日,Hugging Face 宣布与 arXiv 合作开发了一项新功能,即 Hugging Face Spaces 通过 Demos 选项卡与 arXivLabs 集成,该选项卡包含指向社区或作者自己创建的 Demos 的链接。用户只需将鼠标点到 Demos 选项卡,就可以查看源代码并试用。
机器之心
2022/12/16
6750
arXiv联手Hugging Face,论文链接到开源Demos一步到位
推荐阅读
相关推荐
Hugging Face 下载模型指南:手把手教你玩转
更多 >
LV.0
测吧(北京)科技有限公司测试开发工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验