自然语言处理,这些年我们到底在折腾啥?
说实话,每次跟人解释我是搞自然语言处理的,对方多半会露出一副“哦,就是让机器看懂人话”的表情。嗯,也对,也不对。这行当早就不满足于“看懂”了,它现在甚至能一本正经地胡说八道,还让你觉得挺有道理。今天我就想掰扯掰扯,从那些老掉牙的词向量说起,一路聊到如今动不动就千亿参数的大模型。这中间有多少水货,又有多少干货,咱们走一步看一步。
词向量:就是个“翻译官”
先把时间拨回十年前。那时候搞NLP,最头疼的就是怎么把文字喂给机器。你总不能直接塞“你好”这两个汉字吧?于是有人发明了词向量——简单说,就是把每个词变成一个几百维的向量。比如“苹果”和“香蕉”在向量空间里挨得很近,而“苹果”和“汽车”就离得老远。这招在当时已经够惊艳了。
但问题也来了。这种向量是静态的。啥意思?就是说“苹果”这个词,不管是在“我爱吃苹果”还是“苹果发布了新手机”里,它都是同一个向量。你管这叫理解?当时的主流做法是用Word2Vec、GloVe这类工具,训练完就完事儿了。我至今记得第一次跑通Word2Vec时那个激动劲儿,后来想想,不过是把词变成了坐标点而已。
自然语言处理词向量空间分布示意图
注意力机制:这才是真正的转折
后来Transformer出来了,带着一个叫“注意力”的东西。这玩意儿可就厉害了。它不是把每个词孤立地变成向量,而是在处理每个词的时候,动态地看周围其他词跟它的关系。比如说“苹果”在“我爱吃苹果”里,会更多地注意“吃”,而在“苹果发布新手机”里,会注意“发布”。这才叫context-aware嘛。
我记得第一次读《Attention Is All You Need》那篇论文,看到Multi-Head Attention那张图,整个人都傻了。原来还能这么玩?不过说真的,理论其实不复杂,就是点积,softmax,再加一个加权平均。但架不住人家堆出了效果。后来各种变体跟雨后春笋似的,BERT、GPT系列,全是基于Transformer的。
注意力的出现,直接让预训练+微调成了主流。你拿一个在大海量文本上练好的模型,下来稍微在你自己那点小数据上调一调,效果就能吊打以前从零训练的模型。这感觉,就像你请了个博士生来实习,上手就能干活,稍微指点一下就比老员工强。
Transformer注意力机制计算流程图解
大模型:暴力出奇迹吗?
再往后,大家发现一个歪理——参数越多,模型越聪明。于是各种超大规模的模型就来了,数百亿、数千亿参数,训练一次的成本够在北京买几套房。有人说这不就是大力出奇迹嘛。可你别说,还真就奇迹了。机器居然学会了写代码、做数学题、甚至还能跟你聊聊人生。
但这里头有个坑。大模型虽然能说会道,但它自己都不知道自己在说什么。你问它“1+1等于几”,它可能给你写一篇关于数学的散文,就是不说“2”。因为它本质是在做概率预测,根据前面的话猜下一个词。所以你会看到各种一本正经的胡言乱语。这就像你班上一个口才极好的同学,啥都能聊,但仔细一听全是空话。
更头大的是,这些模型对训练数据里的偏见学得比谁都溜。你要是扔一堆带歧视的文本进去,它出来就能给你整出种族言论。OpenAI也好,Google也好,天天忙着给模型“消毒”,但翻车的例子还是层出不穷。咱也不敢说,咱也不敢问。
咱们现在具体在愁什么?
咱们现在具体在愁什么?
当下这个节点,行业里的热闹全在“怎么把大模型做得更能打”和“怎么让它别乱说”。一方面,大家搞什么检索增强生成、工具调用,就是想让模型别光靠瞎猜,能去查个资料、算个题。另一方面,对齐技术(RLHF之类的)成了香饽饽,就是要让模型听懂人话、顺着人的心意。
还有一个小趋势,是把大模型往各种垂直领域塞。医疗、法律、金融,每个行业都想搞出个“懂行”的模型。但说实话,落地的时候经常会发现,模型在实验室里表现神勇,一到真实场景就被客户的刁钻问题怼得哑口无言。欠的那就是海量真实数据和细致的领域调优,光靠那几个公开数据集,真不够看。
我知道有人会问,那这技术到底靠谱吗?我的看法是,它是真厉害,也是真不靠谱。厉害在于它确实能改变很多行业的工作方式,比如客服、内容生成、代码辅助。不靠谱在于它根本没有理解能力,所谓的“智能”不过是统计规律。你要是真把它当人看,迟早要出事。
说点实在的行事建议
说点实在的行事建议
如果你想入行或者已经在做相关项目,我劝你少碰大模型的底层训练,那玩意儿烧钱烧到哭。多学学怎么把现成的模型用起来,比如怎么调prompt、怎么做微调、怎么搭个RAG管线。这个更实在。还有,多关注评测,别信那些发布会上的demo,自己拿真实数据测一测,有时候会让你跌破眼镜。
另外,别把注意力全放在那些花里胡哨的大模型上。传统的方法在一些小场景里依然香,比如实体识别、情感分析,用个小的BERT模型跑一跑,又快又省钱。大模型杀鸡用牛刀,其实挺傻的。
最后想吐槽一句:现在随便翻篇论文,不挂个ChatGPT相关的词都不好意思发。但真正扎实的工作没那么多。行业是有点浮躁,可咱们自己心里得有杆秤。自然语言处理这一行,说到底还是让人和机器能好好说话,别整些虚头巴脑的。
行了,就说这么多。想到啥写啥,有点乱,但都是真实感受。你要是也在干这行,估计能懂我说的那些糟心事。散会。