今年AI大热,AIGC、大模型、AGI以及FLOPS等等让人半懂不懂的词不断在各种头条新闻中出现,想学这方面内容,该怎么入手呢?
先说一点,AI是个很大的话题,需要学什么,需要看你需要了解什么方面。
从大的方面来说,人工智能有三要素,算法,算力和数据,三要素是三个方向,扎下去都有很深的内容。
先说算法。现在说的很多的大模型,指的就是算法。人工智能有很多算法,算法的思路和目的大相径庭。
为什么会这样呢?我之前写过一篇介绍AIGC的文章提过一个观点,人工智能起源是用人工方法实现智能,但现在没法用一种AI方法来解决所有智能问题,大家把“智能”拆解成不同任务,再用不同的思路和方法来完成这些任务。
AIGC也是一种任务,在人工智能理论中属于有监督学习下的生成问题。想了解具体可以读一读什么是AIGC,这里不展开。
问题多了,解决问题的方法就更多了,一来二去,人工智能算法就成了一个大框。我们无论初学什么都像循序渐进,人工智能这里流派众多,各种依据的基础学科都大不相同,不过,想要循序渐进地学也不是不行,首先要选定一个流派。
现在提大模型基本都是指深度学习,可以从深度学习入手。深度学习是一支从人工智能下的机器学习下的人工神经网络发展出来的学科分支。也是近几年发展最快、也最热门的一支。人工智能流派众多,但具体到深度学习是一脉相承,适合循序渐进。
那AGI是什么呢?是通用性人工智能,与现在的AI模型不同,AGI是要用一种模型解决所有智能问题。理想很美好,实现很困难,所以AGI现在还处于起步阶段的起步阶段。
然后是算力。算力很重要,通过人工智能算法得到的模型只是程序,要训练要运行得有硬件,算力就是这里的硬件。新闻里经常提到的FLOPS、EFLOPS都是算力的性能指标。FLOPS是英文floating-point operations per second的简写,也即每秒浮点运算次数,训练和运行模型需要进行大量浮点运算,每秒能够进行的浮点运算次数越多,总的耗时就越少,就能越快出结果。
现在算力越来越强,后面的0太多不太好看,于是又有了EFLOPS。E是一百京的意思,这里的“京”是计量单位,一京等于10的18次方。所以,EFLOPS意思是每秒一百京次浮点运算。
算力是人工智能的基础设施,很重要,不过从学科的角度属于硬件设计。我翻过的人工智能智能教材,要么不怎么提算力的内容,要么就是从CUDA编程的角度介绍。
最后是数据。数据是一个对于人工智能非常重要重要、但在学习时又非常容易被忽略的元素。大模型难在哪里?难在算力,更难在数据。数据的质量决定了模型性能的天花板。所以,有人甚至把数据比作是人工智能的石油。
在AI项目中,耗时最长的未必是算法设计,而是数据处理,主要工作包括数据清洗、数据标注、缺失值填充、离群点检测等等。
不过,数据本身千差万别,所以数据处理更多是一项经验性的工作,学习数据处理主要是学习各种数据处理的方法和工具,比如Pandas。