Huggingface入门——模型使用

image-20240429103004318

什么是Huggingface

它其实就是AI开发者的“GitHub”,为我们提供了海量的模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。

包括在NLP(自然语言处理)领域,它也是最大的NLP开源社区。被称为大语言模型底座。

如果你是AI开发者或者爱好者,那么你一定不能错过。

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

Huggingface有什么

image-20240429103701840

在官网中大家可以看到有这么几个栏目

  • Models:这里面有huggingface的所有模型,而且这些模型都是免费的
  • Datasets:这是一些数据集
  • Spaces:这是用户们来分享自己的空间,可以把它当成huggingface的朋友圈
  • Pricing:这是一些开通付费的价格

image-20240429114007420

模型使用

在Models中,可以看到

image-20240429143637526

可以看到模型描述:

image-20240429143709598

方法1

我们可以通过 transformers 中的 pipeline 来直接调用

首先要安装必要的包:

pip install transformers

现在就可以使用pipeline来直接使用模型

from transformers import pipeline
# 第一个参数是任务类型,第二个参数是模型名称
unmasker = pipeline('fill-mask', model='bert-base-uncased')
unmasker("Hello I'm a [MASK] model.")

这里在第一次执行pipeline的时候会自动去下载模型到本地。windows上的模型存储地址为:C:\Users\【自己的用户名】\.cache\huggingface\hub

这是一种最基本的调用,在对这些大模型使用的时候通过官网的描述和文档是最好的方式。

image-20240429144403831

这里给大家演示几个transformers 中的自定义方法

AutoTokenizer

from transformers import AutoTokenizer
#AutoTokenizer可以自动加载bert-base-uncased中使用的分词器
tokenizer=AutoTokenizer.from_pretrained("bert-base-uncased")

AutoModel

from transformers import AutoModel
#AutoModel可以自动加载bert-base-uncased中使用的模型,没有最后的全连接输出层和softmax
model=AutoModel.from_pretrained("bert-base-uncased")

当然了AutoModel是不包括输入分词器和输出部分的

AutoModelForSequenceClassification

from transformers import AutoModelForSequenceClassification
# AutoModelForSequenceClassification可以自动加载bert-base-uncased中使用的模型(包括了输出部分),有最后的全连接输出层
model=AutoModel.AutoModelForSequenceClassification("bert-base-uncased")

方法2

image-20240429144929808

以这个ChatGLM2-6B为例,先在github上git下ChatGLM2-6B除模型外的相关文件。

git clone https://github.com/THUDM/ChatGLM2-6B.git
cd ChatGLM2-6B

安装相关依赖

pip install -r requirements.txt

直接执行下面代码,程序会在网上自动下载模型文件

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。
>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)
晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:

1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。

如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

或者也可以找到huggingface上ChatGLM2-6B模型地址,直接git

git clone https://huggingface.co/THUDM/chatglm2-6b

在终端直接执行代码

python web_demo.py

这里会生成一个URL,在地址栏中访问这个URl即可使用ChatGLM2-6B

image-20240429145413384

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.