▸ 原始转写文字稿(3348 字符)
Java 它能进行AI应用开发吗?对吧?我相信大家在包括去网络上面刷一些视频啊、自媒体啊,都会有人带节奏,Java开发AI就是玩具。我相信大家都听说过,对吧?听过的话可以在评论区打个1啊。其实能说出这种话的人,基本上你都没有搞清楚一个问题,也就是什么是模型层,什么是应用工程层,好吧?那在这里呢,我有必要给大家去讲一下他们俩之间的一个区别啊,因为很多人一讲到AI就会联系上大模型,对不对?那大模型呢,确实需要Python来做,好吧?但是如果你要开发的是应用,也就是AI应用,你需要的是接入大模型,对吧?通过你的这个AI应用工程来给大模型提供技艺啊,提供Tools啊,提供MCP啊,对吧?Rag啊,Skill啊,等等。把这些提供给大模型,让我们的AI应用去接入对应的场景,好吧?解决对应垂直的一个复杂的一些领域的一些场景问题。其实都能去做AI应用,好吧?只不过有同学说的,可能是生态的一个区别而已,好吧?那在这里呢,我有必要先给大家讲一下什么是大模型。那大模型呢,其实我这里总结一句话,就是把海量的文本,知识,给它固化在这个神经网络的权重当中。然后呢,依靠所谓的概率逐Token预测生成内容的一个大规模深度学习模型。那大家听到这句话,我估计可能同学可能会不太懂,对不对?所以我在这里啊,给大家啊,生成了一个这样的一个演示,呃,演示的一个HTML,好吧?呃,其实大模型,你要学大模型的话,无非就是学两点嘛。一个是他的训练过程,一个就是他的推理过程,对吧?训练,说白了,就是让他去学习知识。其实这个训练过程就跟我们训狗,训猫,训鸟一样的。如果他做对了,就给他奖励,他错了呢,就纠正他,然后经过千亿次的权重校准,让大模型的预测对其人类的一个真实意图。就比如说,我们,呃,一个大模型,他首先呢,会将已有的一些语料啊,啊,进行初始的一个训练,呃,会进行这个语料的一个token切分。什么token切分呢?呃,token说白了,他是有可能是一个字,有可能是一个词,好吧?比如说,呃,将苹果是红的,给他进行token切分,有可能会切成苹果式,然后红的,呃,切成两个。那么在训练的时候呢,就首先会,呃,通过苹果式,然后呢,去转化为向量,然后位入到神经网络当中。然后呢,通过海量的一个计算,会猜出下一个token是什么。嗯,当然,在初始阶段,呃,往往这个,呃,token的一个预测,它是非常离谱的,有可能会猜到苹果是蓝的。那么这个时候呢,就会去对标,标准的答案,会将这个,呃,原始的语料啊,进行一个反向的一个,呃,这样的一个推理,好吧?也就是把这个神经网络,它的这个整个线路,进行一个反向的回传。嗯,这样的话,呃,到时候我们的这个token,它连接正确的这个,呃,猜测呢,就会变粗,你可以把它理解成,呃,说白了就是权重,变得更大,权重的这个数字啊,变得更大,更大。啊,那么下一次,再去进行推理的时候,再进行预测的时候,那么就会根据这个更重的权重的,来指向那个正确的一个答案,能明白?呃,当然,这个权重训练完之后呢,它只是概率更大,呃,比如说经过千亿四的这个训练之后,苹果是红的,这个红的呢,它可能,比如说占比达到了99%,那么这个错误的,它们可能占比很低,比如说0.1,呃,其他的比如说0.2,呃,占比会非常的小,所以大模型呢,我们通常说,它是一个概率模型,它是经过我们海量的文本,经过千亿四的这样的,在神经网络这样的反复的计算,也就是我刚才说,说白了,就是错了,就给它纠正,正确了,就给它权重,给它加重,给它加分,好吧,呃,所以你会发现大模型,它其实学的并不是道理,对不对,而是用这个误差,来打磨这个权重,好吧,呃,所以这也就是很多人说,呃,大模型,它的这个幻觉的本质,是,是什么,由于大模型,它并不是真正的懂道理,它只不过是通过概率,来进行预测,对不对,所以假如说,你本身,呃,你提供的这个,语料是错的,那么肯定就会出现幻觉,对吧,我们说一下幻觉啊,那么幻觉说白了,就是它一本正经的,胡说八道,对不对,那么出现幻觉,我们通过刚刚的这个眼帘,大家应该也能,大概猜出来,首先你的这个语料,语料,它本身是错的,对吧,就好像你训练一只猫,训练一只狗,你说举手,对不对,然后你,你去,你去让它坐下,那本身你训练,就是错的吗,但是大模型,它知道这是错的吗,它不知道,它只知道这样做,能够得到奖励,对吧,哪怕你让它,呃,说握手,它现在以后有可能也会出现坐下的情况,这就是本身你的语料,是错的,但是,呃,在推理的过程当中,它会根据你的这个,呃,权重,来进行一个一个一个一个一个预测,好吧,它并不明白其中的一个意思,好吧,那么另外就是概率,我们刚才说的,它是经过切一只的计算,重复的去打磨这个神经网络上面的这个权重,好吧,正确的答案权重呢,会变得更大,所以更,呃,错误的,呃,会变得更小,但是小的依然会有概率,好吧,这个概率可能会很小,OK,所以,呃,我们的大模型,即使你不再好,对吧,它也有可能出现很小很小的一个幻节的一个一个几率啊,好吧,那另外就是,呃,另外就是陌生的一个知识,你给,你问大模型一些,它本身就不知道的东西,那这个时候,它也有可能会直接胡说八道,对不对,那这个时候,比如说我们就可以,呃,很多时候,呃,包括微调,对吧,微调是什么呢,说白了就是在这个已有的基础大模型呢,呃,再重复我们刚刚说的这过程,位如数据啊,然后通过神经网络再进行这个预测,然后正确了,给它加分错了,给它纠正,呃,重复的,再去做一次这个过程而已,好吧,呃,所以,陌生的支持,呃,呃,我们,呃,可以通过很多方式去解决啊,刚刚说的微调,对不对,包括我们的skill啊,对吧,系统提示词啊,包括mcp啊,对不对,包括rag啊,包括什么wiki,ll,m啊,等等,都可以,对不对,呃,所以,呃,我们刚刚说了这么多啊,大家只需要知道一点,大模型的智能,它不是靠智商,而是靠算力推出来的,对不对,我希望大家能够明确这一点,来这里能听明白,呃,这一块能听懂的,可以给徐老师打个一啊,也就是大模型,它的智能不是靠它的智商,而是靠算力推出来的,这句话能听懂,能明白的话,可以打个一,好吧,呃,所以呢,大模型它所有的这个训练和推理啊,它本质上呢,就是这种亿万级神经网络权重的一个,呃,矩阵的一个计算,那这个计算,如果说我们依靠cpu来做的话,它其实,是不擅长的,对不对,它的串行逻辑,它根本就看不住这种超大吞吐量的并行计算,好吧,那所以,这就是为什么我们通常在进行大模型训练和推理的时候呢,会通过cpu,呃,来进行,呃,来进行计算的一个原因,明白,那么如果我们要通过gpu来进行计算的话,由于gpu它提供的这个所谓的计算枯打接口啊,它呃,原生就适配c++,那么包括python,它也可以直接,呃,好吧,所以这就是为什么,呃,我们,呃,进行大模型的推理啊,呃,好吧,大模型的训练啊,微调啊,会使用python的一个原因,因为它的性能更好,包括gpu的这个酷打接口呢,呃,能够有直接的,呃,python的一个现成的酷,好吧,那另外,呃,就是我们刚才说的,由于gbm它的一些垃圾回收啊,好吧,呃,它有可能,呃,会造成一些,呃,比如说stop the word,对吧,大家应该学过gm垃圾回收的同学应该都知道到当老年代码了,对不对,因为我们每一次计算,说白了都会创建对象嘛,呃,所以这个过程肯定也会触发垃圾回收,会造成一些停顿,所以这就是为什么java它在模型层不擅长的一个,呃,原因,好吧,包括一些,你像一些科学家,啊,对吧,一些搞,呃,一些搞,呃,什么,什么,呃,科研的那些人,对不对,由于python它上手的一个难度比较小,比如说那些科研人员,他需要立马去落地一些算法,对吧,想在神经脑脑当中去改一种算法,想立马落地,那python它的上手难度是更加的,呃,简单,一上手的,对不对,擅长领域的一个原因,呃,当然这一块其实java,呃,包括它后面jtk的一个更新,也都在往这个方向去发展,呃,但是确实你,我觉得你再怎么发展,这个可能啊,大势已去,好吧,所以模型层,确实python,但是我们如果说,呃,说到这个应用层,对不对,那么java,它也有它擅长的地方,对不对,