1、自然语言处理究竟要做一件什么事呢?
- 大家可能经常听到分类,机器翻译,情感分析,智能客服,摘要与阅读理解等
- 想一想我们在长大的过程中,如何来学习语文的呢?难道只是上课背考试题吗?
- 我们语言能力的学习源于生活中的点点滴滴,一次对话,一次阅读都是学习
- 那么我们需要训练的NLP模型,只是为了得到最终的一个输出结果吗?
NLP(Natural Language Processing),自然语言处理,但是我们现在更愿意将其称作为语言模型。
人类眼中的有多种数据、电脑眼中只有数字、机器学习(深度学习)眼中只有特征,自然语言处理就是一个让机器学习理解人类语言的过程,而算法工程师需要做的就是把人眼中的数据处理成机器学习眼中的特征。也就是说我们的模型需要学的是文本的东西,应该怎么去理解,如何去转换成一些合适的特征,最后让模型具有语言能力。
其实到了2023年,NLP已经不仅仅是一个处理特征的模型,NLP最后需要学的是一个学习能力,已经不仅仅是输出一个结果而已,而算法工程师需要培养模型的学习能力。
2、如何培养模型的学习能力?
- 需要特定的任务和标签吗?我们的每一次对话难道都对应了标准答案吗?不是的
- 更重要的是训练阅读能力,学习能力,理解能力,那么只需给模型阅读资料即可
- 所谓阅读资料,就是咱们人类的文本数据,小说,新闻,电影等都是可以的
- 所以,我们现在需要模型具备的是语言理解能力,而是不是分类那种专项技能
那我们应该语言模型的能力应该怎样去提升呢?有一些训练数据和一些训练标签,然后去训练这个模型。是这样的吗?其实不是的,现在的NLP已经不再是这样一个简单的传统机器学习流程了。实际上我们真的有特定的数据和标签吗?我们是如何理解人类的文字的,我们的说的话在特定的场景下意义就会发生改变,没有一个标准答案的。那我们应该怎样提高我们的阅读能力、理解能力呢?
AIGC时代的NLP,需要做的是让模型能够理解到一个词紧接着后面应该出现的一个词,所以最重要的是模型能够根据前面的语言环境能够预测后面应该出现的词,所以模型需要学的是一个语言能力。
现在去训练一个NLP模型,是没有标签数据的,可毕竟是一个机器学习任务,那应该怎样做呢?如果我们有一篇文章,将文章中的一些词遮挡住,让模型去预测出这些遮挡的词。这样的做法可以保证模型必须去理解前后词与上下文的意思了。
3、NLP中的江湖人物
- 天下风云出我辈,一入江湖岁月催;谁才是当下的大佬呢?
- 早期的NLP比较简单,完全没有训练学习能力,只需完成特定领域的任务即可
- 现在的NLP可以简单划分成两大门派:BERT系(五岳剑派),GPT系(魔教)
- 难道只有他俩吗?还有很多的,只不过他俩比较出名,大部分任务都可以套用
比如上面的第一句话,GPT的做法每一次都是根据前面的词预测后面的词(用天预测下,用天下预测风,用天下风预测云这样以此类推),而bert总是去遮挡一些词来预测。BERT的做法实际上还是一个比较正统的做法,在2018年到2021年时期一直处于如日中天的地位,在2021年到2022年gpt由于chatGPT的火爆出圈逐渐占据主要地位,这个过程中gpt相比bert还是一个比较另类的做法。
4、NLP究竟拼的什么
- 拼网络结构,损失函数,还是各种训练技巧呢?
- 从目前NLP比较核心的模型来看,主要拼的是数据量和参数量
- 刷屏的模型的以及比较炫酷的模型都是训练数据和参数量极其恐怖,令人发指
- 我们能做的什么呢?咱们也要训练模型吗?我们也必须得用海量的数据吗?
在NLP领域,很多事情都不是我们自己能做的。比如说我们自己设计一个模型,我去跑一些数据,可以吗?不可以!因为我们没有计算资源。计算资源是个事啊,我可是有4090。你手里有4090啥也不是,你手里有100个4090可以玩一玩儿。
NLP非常吃算力,它的batch必须要非常大才可以。每个人说话的特征,分布都不尽相同,不想图像任务,猫就是猫狗就是狗。
NLP任务的数据集是怎么来的?是各个场景中产生的,不是一个人说的,也不是一个人写的,是海量的互联网数据.
人类学会语言也有多个阶段,也必须经历海量的数据,每一天都会产生新的理解。人学会开口说话,人学会正常的语言表达,人学会语言的言外之意,人从无数种形式(网页文字、视频、语音、对话)理解语言表达的意思。
现在的NLP任务,1700亿的参数,几千T的数据量,这些对于人类多种感官生成的数据来说其实都很小,但是这就是当下的NLP基本体量。但是NLP领域的参数与数据的上升是呈指数级别的。
所以NLP到现在拼的实际上就是算力了,为什么不是算法呢?BERT和GPT本质上差异大吗?其实没那么大,都是基于Transformer。
对于我们绝大多数的算法工程师来讲,除非你是科学家级别的,我们自己做不了语言模型。我们能做的是拿别人的模型完成我们的任务。
5、如何开始NLP呢?
- 传统算法意义还大嘛?有必要深入学习吗?
- 如何大家看一些公开课或者教材,都是长篇大论,谈古说今
- 今天的NLP其实已经不再需要传统方法,一些交给Transformer就足够了
- NLP领域这么多算法和模型,咱们要神农尝百草一个个来学习一个个来实验吗
NLP领域的传统算法特别特别多,能多到什么程度呢?多到你一年都学不完,有必要搞吗?有一些教授专家级别的任务会说从0基础养成的过程。 其实很多90%的东西,已经用不上了,不要再拿半年的时间去学传统NLP了。现在你只需要记住一个名字,Transformer就行了。像以前的贝叶斯、n-gram模型、TF-IDF、词袋模型,那些你都忘了它吧,你只需要记住Transformer了。
6、Hugging Face
- 先说重点的:Huggingface就是集大成者于一身,包括了当下NLP所有核心模型
- 对我们来说,调用BERT模型,GPT模型及其训练好的权重参数,只需1行代码
- 微调我们自己的任务,只需处理好咱们的数据,然后继续训练模型即可
- 即便你对数学一无所知,即便你对代码稀里糊涂,即便你对数据无从下手
Hugging Face是NLP一个集大成者的一个包,所有的语言模型,所有的预训练参数以及网络结构,全部给你封装好了,比如你需要谷歌的Bert模型,你需要openAI的gpt模型,只需要一行代码就可以了。
复杂的模型网络你不需要去看了,复杂的模型参数也不需要你去训练了。
7、Hugging Face能干啥
- Hugging Face不仅是一个工具包,更是一个社区,也是NLP大佬们的舞台
- 给你1000W你能做出来一个抖音不,相信很多开发大佬都是确定的
- 但是运营好,却可能要花掉超过千倍的开发成本,所以它不仅仅是模型
- 越来越多的学术大佬通过它来开源模型,来宣传论文以及研究成果
- 对我们来说这是一件大喜事,大佬们的东西,咱们可以随时来玩了
Hugging Face它在GitHub的开源项目据说有史以来增长最快的一个。
Hugging Face有大量的已经预训练的模型,我在官网中找出一个使用的例子:
点击model,搜索chinese,选择bert-base-Chinese模型
现在Hugging Face的官网显示有超过二十四五七千个预训练模型供你选择。
假如说给你1000万你能做出一个抖音,做出来了有用吗?没有用,因为抖音之所以是抖音,不仅仅是因为它的功能和技术,最主要的是因为它是一个很大的社区,你喜欢的人和身边的朋友会在上面发视频、看视频,你可以进行一起参与。
所以说Hugging Face做了一件很伟大的事情,你自己如果训练出了一个很好的模型,你也可以上传到Hugging Face上,让很多人去使用你的模型,让别人对你的模型进行反馈,你可以根据别人的反馈进行改进更新。
8、关于它的故事
- 据传说,30个兼职的开发与算法工程师就撬动了20亿的市值
- 其实这离不开开源的力量,AI领域太需要一个舞台和社区了
- 时势造英雄,赶上了Transformer在AI领域爆火,第一个吃螃蟹的人
- BERT和GPT席卷NLP,Huggingface坐收渔利,社区驱动技术进步
一开始这老板就是组织了一群很喜欢玩NLP的人,没想过要做成独角兽。在当时比较乱,现在这个时代已经出不了英雄了。
17年google有TensorFlow,玩儿Bert
FaceBook不乐意了,用PyTorch玩Bert,TF需要配置的环境特别麻烦,模型源码互相转换特别麻烦。
后续涌现出了多个框架,亚马逊的MXNet、百度的飞浆(PaddlePaddle)、加州伯克利的Caffe等,Hugging Face在这个时候出了一个统一的封装接口,无论是什么框架,哪个顶级团队的模型,都能用它的接口去用,所以它提出了Hugging Face最早的接口。当年30来个人,老板稀里糊涂的就做出来了。
9、一举两得,分而治之
- AI离不开学术上的驱动也离不开工程化的落地
- 搞学术的来为社区提供模型以彰显其在该领域的地位与能力,引用量刷刷的
- 搞项目的通过社区提供的预训练模型完成自己的任务,项目落地效率杠杠的
- 那么我们呢,先学后用,站在巨人的肩旁上,算法也要熟悉,模型也要会用
Hugging Face创始人接受采访,说不管是AI还是NLP都离不开两个方向,就是学术研究和工程落地,将两个方向结合起来才能真正发展NLP,Hugging Face实际上就是提供了一个结合两者的舞台。
他甚至说,不仅要做NLP领域,还会有更大的动作,要去动CV领域。
10、那么中国为什么诞生不了Hugging Face
- 一切都是开源的,其实变现之路很难,不像openai搞付费API接口
- 30个兼职初创兴趣爱好走到了一切,咱们这兴趣能抵房贷吗
- MMLAB感觉跟Huggingface很像啊,但别忘了得有商汤的资本维持
- Huggingface之路不仅于此,接下来要从黑木崖发兵一同江湖了(CV等领域)
在国内是不接受免费的,动不动就法务给你发律师函,在国内不盈利的事情没有公司愿意做。
Hugging Face是模型、分词器、数据集三大模块都能做的特别好,已经是一个巨大的生态体系。