随着算力和基础设施的提升,现在可以通过海量的数据训练,来让AI模型变得更加“聪明”。所以最近几年,AI大热,国内外的科技公司没有几家能视而不见的,大家或多或少地都有投入到这个行业中。作为一个前端开发工程师,很遗憾地,被卷入到这个领域中。这篇文章,我将从前端的角度来讲一下我的入坑过程,和一些建议。
一、了解基础知识
我其实是对这个领域很空白的,所以第一个想到的就是去学习。在B站上,通过吴恩达的教学视频,勉强地有一些了解。但是我总感觉太琐碎了,不成系统。于是,在了解了一番后,买了下面这本书:
原本我打算花一个月的下班时间来消化这本书,但是被现实狠狠打脸,最终在迷迷糊糊的状态下花了3个月时间看完。讲了什么呢? 就是从逻辑回归到模型训练教学的一个完成流程,其中还讲了深度学习的一些算法的由来。我觉得这本书讲的挺好的,但是后面我从一些社区大佬那里了解到,这本书其实并没有什么用,因为现在主流的都在抱抱脸上用Transformers框架搞。
但是,至少我学到了下面这些知识:
-
什么是梯度、矩阵、权重和偏置
-
线性神经网络
-
多层感知机
-
卷积神经网络
-
循环神经网络
-
注意力机制
-
整个模型训练大概需要哪些步骤
-
什么场景用哪种算法
在了解了这些知识之后,第一感觉就是这里面水很深,需要大量的投入。我一个前端开发者,想要完全摸透,难。
二、主流玩家都在做什么
当然了,了解了一些基础知识就相当于,在某个小山里练了几下。真正学的怎么样还要拉出来和江湖上的高手比比。于是,打开 huggingface.co/ (俗称抱抱脸),发现我啥也不是,哈哈。
根本就不是我这样玩的。如果你想用别人的模型,可以在平台上下载自己跑;如果你想微调或者预训练,可以用PEFT,里面有详细的教程;甚至你没有训练数据,也可以在上面去用一些公开的数据Datasets来训练你的模型;最后,这些都离不开Transformers框架。
这个平台肯定不是全部,我相信有很多专业的人只用PyTorch就可以了。但是,对于一些像我这样入门的人来说,太可了。省了很多理解细节的时间,也不用自己去找数据资源了。
除此之外,现在国内有很多科技公司也在训练自己的大模型,很多都公开了他们的模型,供大家去微调训练。你可以通过这个C-Eval网站,查看现在都有哪些公开的模型,以及他们的特点排名等
通过排名,你可以对各个模型有一个直观的了解,如果不信,可以本地自己跑一下,试试效果。
三、 在公司内部落地
谁没事,会去倒腾这东西,那不还是因为公司内部有需求嘛。所以最终这样一大圈之后,必然是要寻找AI在公司内部落地的方案,或者对这个东西至少有一个可行性分析结论。
我选择的是微调的方式,模型选的是来自清华的ChatGML-6B,现在应该有新版本出来了,迭代很快。我们的场景是,训练一个AI生成特定前端组件的这么一个功能。想要达到这个效果,前面也提到了,必须是要有数据,公开的数据Datasets肯定是达不到效果。一开始是自己造的数据,效果如下 :
解释下,特定格式的前端组件,没问题。但是这里的中文部分显然是填充了原始训练语料进去,导致输出的东西达不到预期。
为什么会这样呢? 还是数据的质量的问题。
在数据质量没有明显提升的情况下,微调训练的结果都和这个差不多。有时候还会出现过拟合,更离谱。
所以,普通人或者普通公司,想要把AI落地,场景还是有限的。要么,投入大量的资金和人力去搞大模型训练,要么像我这样微调训练,都不容易。我觉得现在比较靠谱的就是用现成的模型,在一些简单的场景来落地。
最近看到一则新闻,大致如下:
相信有些同学也注意到了,出口管制。所以,现在玩起来也比较难了。
四、 总结
以上,其实这个过程中,还有无数的Bug及解决方法我没有写出来,太多了,都是坑。一个前端工程师来搞这个就是炸烈。
相信现在很多公司的程序员也像我一样在研究这个AI落地,满怀希望,结果浪费时间没有好效果。所以慎重,前端开发慎重,哈哈,现在卡这么贵不要浪费钱了。