AIGC前端工程师的Transformers 入门(一):pipeline

别人是面向"对象"学习,我呢?面向Boss直聘学习。无疑,今年生成式AI的火热,aigc+方向可谓首选。在刷完一堆吴恩达和他的朋友们的课后,在Boss上看到这则招聘,方向有了...

AIGC前端工程师

我是看PHP入门开发的,无聊的CRUD和命令行,让我把陈小春的《神啊救救我吧》听了一百遍。有天,亲戚小孩把奥特曼摆到了家里的神龛上,对着光之使者磕头跪拜,可爱之外让人哭笑不得,那时我正敲着js代码写一个页面特效... 后来我成了一名前端工程师,写代码的时候,眼里是经常会有光的。我觉得我在写前端的时候,并不是在写代码,而是一位导演,html是我的演员,css是化妆师, js是动作导演或特效师,将自己的创意代码展示给用户。

时光穿梭,经历了全栈、微服务、云开发等技术变革后,来到了AI的时代。作为一名前端工程师,应该怎么学习,跟Boss谈"心"呢?

在看了一些AI算法和吴恩达的课程后,我又想起了那尊被小孩摆在神龛上的奥特曼。我的AI学习是要有光的,AIGC前端方面的东西才是我想要搞明白的。在经过一些摸索后,发现Hugging Face的transformers可以让前端更快速找到AI任务快感,LangChain可以方便做出AI应用,Flowise这种AI低代码实现让枯燥的AI流程一看便知,于是,为了明年在AIGC前端方向上好跟Boss谈,我计划写些文章,记录自己学习的过程。应该有挺多前端朋友,也跟我一样吧,那就来帮我指出一些问题吧....

何为Hugging Face?

Hugging Face 仿佛就是那一道从奥特曼手里射出的光,让我从NLP的理论学习痛苦中抽离出来,快速消灭了一些NLP"怪兽"。

Hugging Face 是目前最火的NPL开源社区,里面有着丰富的开源大模型和数据集,简化了开发流程,提供了类似github page一样的在线项目托管工具,非常适合前端AIGC新人来玩,发布项目。

核心产品Transformers库

Hugging Face的核心产品是Transformers库,它提供了一系列预训练模型和API,用于解决各种NLP任务,如文本分类、命名实体识别、机器翻译等。Transformers库还提供了一系列工具和API,用于简化模型训练和部署的流程。

基于我的渣渣电脑,建议就直接上手 Google Colab 来个transformers初体验。

pipeline 一个情感分析任务

常见的NLP任务有文本分类(Text Classification)、命名实体识别(Named Entity Recognition)、机器翻译(Machine Translation)、问答系统(Question Answering)、序列标注(Sequence Labeling)、文本生成(Text Generation)等,接下来的代码就是文本分类里的情感分析任务,在transfomers里,我们用pipeline来安排一个NPL任务。

python 复制代码
!pip install transformers   # 安装huggingface开源的 transformers库
from transformers import pipeline # pipeline是 transfromers的模块,专业安排各种NLP。 

classifier = pipeline('sentiment-analysis') #安排了情感分析任务
result = classifier('I love you')[0] #返回情感分析结果 
print(f"label: {result['label']}, with score: {round(result['score'], 4)}")

输出结果为: label: POSITIVE, with score: 0.9999 0.9999的积极, 当然,写代码的尽头是为了爱....

自此,我们就利用Hugging Face 的 transformers库完成了第一个情感分析任务,我这位前端小学生又要跟着奥特曼飞向AIGC的星系了。

pipeline 一个机器翻译的例子

python 复制代码
from transformers import pipeline

translator = pipeline("translation_en_to_fr")
result = translator("Hugging Face is a technology company based in New York and Paris", max_length=40)
print(result[0]['translation_text'])

输出结果为: Hugging Face est une entreprise technologique basée à New York et à Paris.

pipeline 一个问答系统的例子

python 复制代码
from transformers import pipeline

question_answerer = pipeline("question-answering")
context = r"""
Machine learning (ML) is the study of computer algorithms that improve automatically through experience. 
It is seen as a subset of artificial intelligence. Machine learning algorithms build a model based on 
sample data, known as "training data", in order to make predictions or decisions without being explicitly 
programmed to do so. Machine learning algorithms are used in a variety of applications, such as email 
filtering and computer vision, where it is difficult or infeasible to develop a conventional algorithm 
for effectively performing the task.
"""
result = question_answerer(question="What is machine learning?", context=context)
print(f"Answer: {result['answer']}")

输出结果为: the study of computer algorithms that improve automatically through experience

总结

以上我们介绍了Hugging Face 的 transformers库,轻松上手了一些常见NLP任务。大家可以到Pipelines (huggingface.co)看更多NLP任务, 亲手把玩。

思考题

请把上面代码里的 "I love you" 改成 "遥遥领先",看看结果, 有什么问题? 期待评论区有你的代码实现。 下一集 transformers model 来解决这个问题。

相关推荐
萱仔学习自我记录1 小时前
PEFT库和transformers库在NLP大模型中的使用和常用方法详解
人工智能·机器学习
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio19952 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
黄尚圈圈3 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水4 小时前
简洁之道 - React Hook Form
前端
hsling松子4 小时前
使用PaddleHub智能生成,献上浓情国庆福
人工智能·算法·机器学习·语言模型·paddlepaddle
正在走向自律4 小时前
机器学习框架
人工智能·机器学习
好吃番茄5 小时前
U mamba配置问题;‘KeyError: ‘file_ending‘
人工智能·机器学习
CV-King5 小时前
opencv实战项目(三十):使用傅里叶变换进行图像边缘检测
人工智能·opencv·算法·计算机视觉
禁默5 小时前
2024年计算机视觉与艺术研讨会(CVA 2024)
人工智能·计算机视觉