当前位置: 首页 > article >正文

Transformers | 在自己的电脑上开启预训练大模型使用之旅!

本文内容主要包括两部分:

  1. Hugging Face 社区介绍

  2. 如何使用 Transformers 库的模型


1. Hugging Face 社区介绍

Hugging Face (https://huggingface.co/) 是一个 Hub 社区,它和 GitHub 相同的是,他们都是基于 Git 进行版本控制的存储库社区,不同的是,Hugging Face 是专门为存储机器学习、深度学习模型而建立的存储库社区,而 GitHub 是一个多元的存储库社区。

Hugging Face 存放了开源生态系统中的数十个模型库,例如 Transformers 库、Diffusers 库、Scikit-learn 库等,这数十个模型库总共包含了超过 98 万个模型。除此之外,Hugging Face 还包含了超过20万个数据集和 30 万个演示模型功能的交互式应用程序。(截止到 2024 年 9 月 23 日)

Transformers 模型库包含了基于PyTorch、TensorFlow 和 JAX 三个机器学习框架建立起来的模型,关于 Transformers 模型库,有三点需要注意:

  1. Transformers 模型库是 Hugging Face 最核心、最重要的库,是数十个模型库中模型数量最多的库,包含了超过 39 万个模型。

  2. Hugging Face 同时在 Libraries 中列出了 Transformers 库、PyTorch 库、TensorFlow 库和 JAX 库,后三个库可以看作是 Transformers 库的子库。

Hugging Face 部分模型库

  1. Transformers 模型库不仅包含基于 Transformer 深度学习架构建立起的模型,也包含非 Transformer 架构的模型。

需要注意的是,不要混淆了 Transformers 和 Transformer,Transformers 是 Hugging Face 的一个存放了许多模型的库,而 Transformer 是一个基于注意力机制(attention mechanism)的深度学习架构。


2. 使用 Transformers 库的模型

Hugging Face有很多模型库,不同的库使用方式是不同的,我们先来看看如何使用 Transformers 库的模型。

使用 Transformers 库的模型有两种方式,一种是在模型界面,使用 Hugging Face 提供的 Inference API 接口进行初步使用;另外一种是建立 Python 虚拟环境,安装 Transformers 模型库,在本地使用 pipeline() 加载模型,然后对我们的任务进行 Inference (推理)。

2.1 使用 Inference API

通过 Inference API 初步使用蛋白质语言模型 esm2_t33_650M_UR50D

2.2 本地化使用

我们以在 windows 环境中使用 Transformers 库为例介绍使用流程:

  1. 在桌面创建项目目录 Transformers

  2. 进入 Transformers 目录,ctrl + shift + 右键,在此目录下进入 Windows power shell 窗口。

  3. 创建虚拟环境:python -m venv Transformers_env

  4. 激活虚拟环境:Transformers_env\Scripts\activate

  5. 安装 TensorFlow 或 PyTorch:pip install tensorflow 或 torch

  6. 安装 Transformers 库:pip install transformers

  7. 在 Transformers 目录下建立一个 Python 脚本,开始使用模型。

from transformers import pipeline

# 使用 pipeline() 加载模型
classifier = pipeline('sentiment-analysis')
sentence = "Friday is the last day of weekdays"

# 使用加载的模型进行 Inference (推理)
print(classifier(sentence))

输出结果:
[{'label': 'POSITIVE', 'score': 0.8798152208328247}]

以上,使用 pipeline() 加载了一个预训练的情绪分析模型 sentiment-analysis,该模型可以分析一句话是积极的或消极的,并给出置信度。

在上面的例子中,我们给出的句子是 “Friday is the last day of weekdays”,模型推理认为这个句子是 POSITIVE,置信度为 0.879。

加载的预训练模型默认的本地缓存地址为:C:\Users\username\.cache\huggingface\hub

有的预训练模型很大,实时加载需要花费很多时间和计算机资源,我们可以先将模型下载下来,使用 classifier = pipeline('sentiment-analysis', model='path/to/your/model/') 加载模型。




接下来,将继续介绍 Transformers 库的使用:

  1. Transformers | 详解使用 pipeline() 进行推理;

  2. Transformers | 详解预处理数据;

  3. Transformers | 详解 Fine-tune 预训练模型;

本文由mdnice多平台发布


http://www.kler.cn/news/317593.html

相关文章:

  • 基于Spring Boot的宠物咖啡馆平台【附源码】
  • Ceph官方文档_01_Ceph简介
  • 构建数据分析模型,及时回传各系统监控监测数据进行分析反馈响应的智慧油站开源了。
  • 实时对话翻译软件
  • 【Linux】解锁管道通信和共享内存通信,探索进程间通信的海洋
  • 显示屏显示缺陷检测系统源码分享
  • GEE教程:利用NASA的SMAP(Soil Moisture Active Passive)数据计算2020-2024年的时序土壤湿度分析
  • OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【扩展组件】上
  • 【Power Compiler手册】13.UPF多电压设计实现(7)
  • GPU共享技术深度剖析与总结
  • css禁止图片保存,CSS中的图片保存方法
  • 【逻辑回归+实战】
  • LLM安全风险及应对
  • Android CarrierConfig 配置问题的解决流程
  • QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库
  • Linux:文件描述符详解
  • react 常用hooks封装--useReactive
  • 全栈开发(五):初始化前端项目(nuxt3+vue3+element-plus)+前端代理
  • 【JVM】JVM执行流程和内存区域划分
  • 安卓13删除下拉栏中的设置按钮 android13删除设置按钮
  • 51单片机快速入门之按键应用拓展
  • Python编码系列—Python桥接模式:连接抽象与实现的桥梁
  • 如何进入电脑BIOS
  • 几十块的麦克风能用吗?一文看懂什么领夹麦的音质最好又降噪
  • Knife4j 一款基于Swagger的开源文档管理工具
  • 无人机蜂群的应用会对现有作战体系造成多大影响?
  • 【高阶数据结构】二叉搜索树的插入、删除和查找(精美图解+完整代码)
  • 防火墙配置变更管理
  • 医院预约|基于springBoot的医院预约挂号系统设计与实现(附项目源码+论文+数据库)
  • Web自动化测试