人工智能 | Hugging Face 的应用

news2024/11/26 10:02:07

大纲

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 下载大模型

git lfs install
#模型会下载到本地目录,并不在hugging face的标准管理目录里,可能会导致后续Transformers库重新下载
git clone https://huggingface.co/google/owlv2-base-patch16-ensemble

客户端工具 huggingface_hub

python -m pip install huggingface_hub
# 需要开启代理
huggingface-cli login

高速下载

python -m pip install huggingface_hub[hf_transfer]

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

huggingface-cli download gpt2 config.json

huggingface-cli 用法

(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

使用示例

huggingface-cli login
huggingface-cli download gpt2
huggingface-cli download gpt2 config.json
huggingface-cli download gpt2 --revision main

使用 Hub client library 管理

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 的本地缓存文件结构

#文件快照
./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 能力

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

TaskDescriptionModalityPipeline identifier
Text classificationassign a label to a given sequence of textNLPpipeline(task=“sentiment-analysis”)
Text generationgenerate text given a promptNLPpipeline(task=“text-generation”)
Summarizationgenerate a summary of a sequence of text or documentNLPpipeline(task=“summarization”)
TaskDescriptionModalityPipeline identifier
Image classificationassign a label to an imageComputer visionpipeline(task=“image-classification”)
Image segmentationassign a label to each individual pixel of an image (supports semantic, panoptic, and instance segmentation)Computer visionpipeline(task=“image-segmentation”)
Object detectionpredict the bounding boxes and classes of objects in an imageComputer visionpipeline(task=“object-detection”)
TaskDescriptionModalityPipeline identifier
Audio classificationassign a label to some audio dataAudiopipeline(task=“audio-classification”)
Automatic speech recognitiontranscribe speech into textAudiopipeline(task=“automatic-speech-recognition”)
TaskDescriptionModalityPipeline identifier
Visual question answeringanswer a question about the image, given an image and a questionMultimodalpipeline(task=“vqa”)
Document question answeringanswer a question about the document, given a document and a questionMultimodalpipeline(task=“document-question-answering”)
Image captioninggenerate a caption for a given imageMultimodalpipeline(task=“image-to-text”)

快速开始

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}]

使用第三方库

pipe = pipeline(model="FacebookAI/roberta-large-mnli")
pipe("This restaurant is awesome")

#输出
[{'label': 'NEUTRAL', 'score': 0.7313136458396912}]

图像识别

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。

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 接口

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

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

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2117817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络编程(学习)2024.9.5

目录 网络协议头分析 MTU MSS 粘包和拆包 粘包 粘包原因 解决粘包 拆包 包头分析 以太网头 IP头 ​编辑 Tcp头 三次握手和四次挥手 三次握手 四次挥手 TCP可靠性的保证 1. 数据包顺序 2. 数据完整性 3.. 确认应答&#xff08;ACK&#xff09; 4. 重传机制…

springboot个性化大学生线上聊天交友系统

基于springbootvue实现的个性化大学生线上聊天交友系统 &#xff08;源码L文ppt&#xff09;4-017 4系统设计 4.1 软件功能模块设计 个性化大学生线上聊天交友分为两个模块&#xff0c;分别是管理员功能模块和用户功能模块。主要功能模块包括&#xff…

探索数据可视化的奥秘:Seaborn库的魔力

文章目录 探索数据可视化的奥秘&#xff1a;Seaborn库的魔力背景&#xff1a;为何选择Seaborn&#xff1f;Seaborn是什么&#xff1f;如何安装Seaborn&#xff1f;简单函数介绍与示例场景应用示例常见问题与解决方案总结 探索数据可视化的奥秘&#xff1a;Seaborn库的魔力 背景…

ApiOps Helper:本地代码智能扫描,API的注册管理自动化

APIOps Helper是什么 APIOps Helper是在IntelliJ IDEA平台上开发的插件&#xff0c;可以自动识别IDEA中Java项目的代码&#xff0c;从中扫描出API并自动生成OpenAPI规范文档。 用户可以选择将API导出为本地OpenAPI规范文档&#xff0c;或者将API同步到APIOps平台上进行API协同…

挑选展厅设计伙伴?这些考量点助你决策

如今&#xff0c;随着数字化技术的快速发展&#xff0c;内容展览展示行业已经脱变为一个汇聚创新与创意的展示空间&#xff0c;并成为企业、文旅等各行业竞相追捧的平台&#xff0c;因此&#xff0c;挑选一家专业的多媒体展厅设计公司显得尤为重要&#xff0c;但是&#xff0c;…

maestro复制

problem&#xff1a;ADE Explore的maestro 里保存了设置的仿真器Analyses和扫描参数 Design Variables&#xff0c;如果要新建一个当前的testbench副本&#xff0c;除了复制schematic还希望能把maestro一起复制过去。但是直接复制maestro后仿真的时候还是对原有的schemetic在仿…

能否使用PLC无线通信模块实现力控与FX5U无线以太网通信?

在实际系统中&#xff0c;车间里分布多台PLC&#xff0c;需要用上位机软件集中控制。通常所有设备距离在几十米到上百米不等。用户会选择以太网方式是因为传输速度有保障&#xff0c;而选择无线以太网方案是因为不想开挖电缆沟&#xff0c;或者布线不方便&#xff0c;不但施工麻…

AR远程协作与Web,视频会议,监控直播融合方案

​​随着全球化的加速和远程工作的普及&#xff0c;团队成员之间的沟通与协作变得更加重要。传统的远程协作方式存在诸多限制&#xff0c;如沟通不畅、信息共享困难等。AR技术以其独特的交互性和沉浸感&#xff0c;为远程协作提供了新的解决方案。 针对视频会议系统在特殊场景…

SprinBoot+Vue兼职发布平台的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

开源AI市场情况概览:2024年的现状与发展

开源AI的快速发展 开源AI领域的显著进展:2024年,开源AI迅速发展,带动了生成式AI领域的重大创新。得益于GitHub和Hugging Face等平台,研究与开发者社区推出了许多具有突破性的项目,这些项目取得了令人瞩目的成果。 贡献者与项目增长:2023年,GitHub上的贡献者数量增加了…

大屏地图区域显示、复选框多选打点,自定义窗体信息(vue3+TS)

效果图&#xff1a; NPM 安装 Loader&#xff1a; npm i amap/amap-jsapi-loader --save 并设置 key 和安全密钥&#xff1a; import AMapLoader from amap/amap-jsapi-loader;//引入高德地图window._AMapSecurityConfig {securityJsCode: "「你申请的安全密钥」"…

dp算法练习题【8】

不同二叉搜索树 96. 不同的二叉搜索树 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5示例 2&#xff1a; 输…

idea控制台中文乱码问题解决方法(UTF-8 编码)

设置 IDEA 编码格式 打开 IntelliJ IDEA>File>Setting>Editor>File Encodings&#xff0c;将 Global Encoding、Project Encoding、Default encodeing for properties files 这三项都设置成 UTF-8 设置vm option 参数 将 vm option 参数改为&#xff1a; -Dfile.…

828华为云征文|部署全自动追番整理下载工具 AutoBangumi

828华为云征文&#xff5c;部署全自动追番整理下载工具 AutoBangumi 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 性能模式1.3 产品优势 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 AutoBangumi3.1 AutoBangumi 介绍3.2 Docker 环境搭…

构建数字生态,布局智能未来——驱动PCB行业新质生产力发展的引擎

2024年&#xff0c;PCB行业在全球经济复苏与新兴技术驱动的双重作用下&#xff0c;展现出强劲的发展势头。根据权威机构Prismark的预测&#xff0c;2024年全球PCB产值将同比增长5.0%&#xff0c;达到730.26亿美元。面对新兴技术的不断涌现和市场需求的快速变化&#xff0c;PCB行…

循环购模式!结合引流和复购于一体的商业模型!

欢迎各位朋友&#xff0c;我是你们的电商策略顾问吴军。今天&#xff0c;我将向大家介绍一种新颖的商业模式——循环购模式&#xff0c;它将如何改变我们的消费和收益方式。你是否好奇&#xff0c;为何商家会提供如此慷慨的优惠&#xff1f;消费一千元&#xff0c;不仅能够得到…

Adaptive Residual Interpolation for Color andMultispectral Image Demosaicking

Abstract: 摘要&#xff1a;拜耳滤色器阵列的彩色图像去马赛克是获取高质量彩色图像的重要图像处理操作。 最近&#xff0c;基于残差插值&#xff08;RI&#xff09;的算法已经证明了比传统的基于色差插值的算法更优越的去马赛克性能。 在本文中&#xff0c;我们提出了自适应残…

构建数字化工厂的智能制造-数字化智能制造(82页PPT下载)

方案介绍&#xff1a; 智能制造是指通过信息技术的应用&#xff0c;将传统制造业转变为基于数据和智能化决策的现代化制造方式。它以数字化技术为基础&#xff0c;实现了生产流程的数字化、信息化和自动化。智能制造不仅提升了生产效率和质量&#xff0c;还促进了资源的有效利…

开放式耳机对耳朵伤害大吗?超舒适开放式耳机推荐!

开放式耳机通常被认为对耳朵的伤害相对较小。这种耳机的设计不深入耳道&#xff0c;允许空气流通&#xff0c;减少了耳道内潮湿和细菌滋生的风险&#xff0c;同时也降低了因耳道封闭造成的不适和炎症可能性。开放式耳机的佩戴方式通常更为舒适&#xff0c;减少了对耳道的摩擦和…

基于组织图像预测基因表达

论文&#xff1a;Gene Expression Prediction from Histology Images via Hypergraph Neural Networks 代码&#xff1a;https://github.com/QSong-github/HGGEP 关键点&#xff1a; 开发了一种新颖的基于组织学图像的基因预测模型&#xff0c;命名为 HGGEP。该模型展示了卓越…