赞
踩
NLP(Natural Language Processing),自然语言处理,但是我们现在更愿意将其称作为语言模型。
人类眼中的有多种数据、电脑眼中只有数字、机器学习(深度学习)眼中只有特征,自然语言处理就是一个让机器学习理解人类语言的过程,而算法工程师需要做的就是把人眼中的数据处理成机器学习眼中的特征。也就是说我们的模型需要学的是文本的东西,应该怎么去理解,如何去转换成一些合适的特征,最后让模型具有语言能力。
其实到了2023年,NLP已经不仅仅是一个处理特征的模型,NLP最后需要学的是一个学习能力,已经不仅仅是输出一个结果而已,而算法工程师需要培养模型的学习能力。
那我们应该语言模型的能力应该怎样去提升呢?有一些训练数据和一些训练标签,然后去训练这个模型。是这样的吗?其实不是的,现在的NLP已经不再是这样一个简单的传统机器学习流程了。实际上我们真的有特定的数据和标签吗?我们是如何理解人类的文字的,我们的说的话在特定的场景下意义就会发生改变,没有一个标准答案的。那我们应该怎样提高我们的阅读能力、理解能力呢?
AIGC时代的NLP,需要做的是让模型能够理解到一个词紧接着后面应该出现的一个词,所以最重要的是模型能够根据前面的语言环境能够预测后面应该出现的词,所以模型需要学的是一个语言能力。
现在去训练一个NLP模型,是没有标签数据的,可毕竟是一个机器学习任务,那应该怎样做呢?如果我们有一篇文章,将文章中的一些词遮挡住,让模型去预测出这些遮挡的词。这样的做法可以保证模型必须去理解前后词与上下文的意思了。
比如上面的第一句话,GPT的做法每一次都是根据前面的词预测后面的词(用天预测下,用天下预测风,用天下风预测云这样以此类推),而bert总是去遮挡一些词来预测。BERT的做法实际上还是一个比较正统的做法,在2018年到2021年时期一直处于如日中天的地位,在2021年到2022年gpt由于chatGPT的火爆出圈逐渐占据主要地位,这个过程中gpt相比bert还是一个比较另类的做法。
在NLP领域,很多事情都不是我们自己能做的。比如说我们自己设计一个模型,我去跑一些数据,可以吗?不可以!因为我们没有计算资源。计算资源是个事啊,我可是有4090。你手里有4090啥也不是,你手里有100个4090可以玩一玩儿。
NLP非常吃算力,它的batch必须要非常大才可以。每个人说话的特征,分布都不尽相同,不想图像任务,猫就是猫狗就是狗。
NLP任务的数据集是怎么来的?是各个场景中产生的,不是一个人说的,也不是一个人写的,是海量的互联网数据.
人类学会语言也有多个阶段,也必须经历海量的数据,每一天都会产生新的理解。人学会开口说话,人学会正常的语言表达,人学会语言的言外之意,人从无数种形式(网页文字、视频、语音、对话)理解语言表达的意思。
现在的NLP任务,1700亿的参数,几千T的数据量,这些对于人类多种感官生成的数据来说其实都很小,但是这就是当下的NLP基本体量。但是NLP领域的参数与数据的上升是呈指数级别的。
所以NLP到现在拼的实际上就是算力了,为什么不是算法呢?BERT和GPT本质上差异大吗?其实没那么大,都是基于Transformer。
对于我们绝大多数的算法工程师来讲,除非你是科学家级别的,我们自己做不了语言模型。我们能做的是拿别人的模型完成我们的任务。
NLP领域的传统算法特别特别多,能多到什么程度呢?多到你一年都学不完,有必要搞吗?有一些教授专家级别的任务会说从0基础养成的过程。 其实很多90%的东西,已经用不上了,不要再拿半年的时间去学传统NLP了。现在你只需要记住一个名字,Transformer就行了。像以前的贝叶斯、n-gram模型、TF-IDF、词袋模型,那些你都忘了它吧,你只需要记住Transformer了。
Hugging Face是NLP一个集大成者的一个包,所有的语言模型,所有的预训练参数以及网络结构,全部给你封装好了,比如你需要谷歌的Bert模型,你需要openAI的gpt模型,只需要一行代码就可以了。
复杂的模型网络你不需要去看了,复杂的模型参数也不需要你去训练了。
Hugging Face它在GitHub的开源项目据说有史以来增长最快的一个。
Hugging Face有大量的已经预训练的模型,我在官网中找出一个使用的例子:
点击model,搜索chinese,选择bert-base-Chinese模型
现在Hugging Face的官网显示有超过二十四五七千个预训练模型供你选择。
假如说给你1000万你能做出一个抖音,做出来了有用吗?没有用,因为抖音之所以是抖音,不仅仅是因为它的功能和技术,最主要的是因为它是一个很大的社区,你喜欢的人和身边的朋友会在上面发视频、看视频,你可以进行一起参与。
所以说Hugging Face做了一件很伟大的事情,你自己如果训练出了一个很好的模型,你也可以上传到Hugging Face上,让很多人去使用你的模型,让别人对你的模型进行反馈,你可以根据别人的反馈进行改进更新。
一开始这老板就是组织了一群很喜欢玩NLP的人,没想过要做成独角兽。在当时比较乱,现在这个时代已经出不了英雄了。
17年google有TensorFlow,玩儿Bert
FaceBook不乐意了,用PyTorch玩Bert,TF需要配置的环境特别麻烦,模型源码互相转换特别麻烦。
后续涌现出了多个框架,亚马逊的MXNet、百度的飞浆(PaddlePaddle)、加州伯克利的Caffe等,Hugging Face在这个时候出了一个统一的封装接口,无论是什么框架,哪个顶级团队的模型,都能用它的接口去用,所以它提出了Hugging Face最早的接口。当年30来个人,老板稀里糊涂的就做出来了。
Hugging Face创始人接受采访,说不管是AI还是NLP都离不开两个方向,就是学术研究和工程落地,将两个方向结合起来才能真正发展NLP,Hugging Face实际上就是提供了一个结合两者的舞台。
他甚至说,不仅要做NLP领域,还会有更大的动作,要去动CV领域。
在国内是不接受免费的,动不动就法务给你发律师函,在国内不盈利的事情没有公司愿意做。
Hugging Face是模型、分词器、数据集三大模块都能做的特别好,已经是一个巨大的生态体系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。