很快就发现了问题的所在。自我演化程序基本没有变化,但是甲骨文识读的程序有一个地方发生了了很大的变化。
最初班行远设计的识读程序包含了一个具有100万个参数的模型,这个模型也是识读功能的核心所在。在最新的版本中这个模型的规模已经膨胀到让班行远咋舌的10亿个参数。
班行远把所有历史版本的代码调出来,发现这个识读程序的演化过程就是模型规模越来越大的过程。虽然也有不少规模变小的版本迭代,但是很快就又向着规模越来越大的方向发展。
稍一思考就明白了是怎么回事。模型的规模大的话,包含的资料就多,就更能生成准确率高的报告。演化程序其实不知道规模大好还是规模小好。在最开始的阶段把规模调大后程序根据小组的反馈判断出这样效率更高,于是就开始向模型规模越来越大的方向发展。
大到一定程度后程序判断单次报告的生成时间有较大增加,默认效率降低就自主降低模型的规模。模型变小后生成速度快了,但是准确率有了更大的下降,演化程序判断还是规模大的模型效率更高。于是又一次朝向大规模模型演化。就这样周而复始,在演化的过程中程序确认大模型更有效,于是模型的规模以指数的形式变大。
模型变大后对算力需求以更快的速度变大,只不过在最初的阶段并不明显。当模型的规模超过一定阈值的时候,报告的准确性也随着提高,哪怕是生成速度已经很慢了,演化程序仍然没有调小规模,因为综合效率仍然更高。
10亿参数规模的模型,班行远有些头疼。想了一下把两个人工智能项目组的人都叫了过来,他要把甲骨文人工识别的程序移植到蛋白质机构预测的计算中心上。
两个项目都用到了研究院设计的加速卡,只不过甲骨文这边的规模小得多,算力和蛋白质那边比的话根本不值一提。查了一下后台,没有三方单位使用算力,班行远立刻让项目组成员暂停了所有的计算任务,让他们把甲骨文识读程序切换到计算中心。
程序在计算中心运行后,班行远并没有让程序开始计算,而是把西方各种文字的字典和语言学资料喂给程序,程序很快就消化完毕。班行远暗赞,算力强大就是不一样。
随后在两个项目组不解的眼神中班行远问出了问题:“请告诉我英文单词you的起源与演变。”
这些计算机专家看着大屏幕上滚动出来的文字一个个张大的嘴巴。
“嗯,用户之前问了中文“公”字的起源和演变,现在又转向英文单词“you”的起源和演变。看来他对语言的历史发展很感兴趣,可能在学习语言学或者对词源学有好奇心。我需要先确认用户的需求……”
“英语单词 \"you\" 的起源和演变过程展现了日耳曼语言中第二人称代词的复杂发展轨迹,以及社会文化对语言形态的深刻影响。以下是其历史演变的分阶段解析:
一、古英语时期(5-11世纪)
……”
等结果输出完成后,会议室一片安静。过了一会儿一位专家站了起来激动地说:“院长,这是……”
班行远点了点头说:“虽然我不太相信,但是看来正是你想的样子。”
随后就开始了热烈的讨论,班行远写的核心算法其实是有这个功能的,但是没想到模型规模变大后会出现这样的变化。很显然已经不能单纯用在甲骨文识别上了,用这些专家的话讲那完全是在犯罪。
要增大用途的话,模型规模还要增加。到了这个规模,模型规模和算力需求之间已经不成比例。模型增加一倍,对算力的需求可能需要增加十倍百倍。现在需要确定的是计算中心支持多大的用户规模。
然后开始多用户测试,两个人同时提问、三个人、四个人……当同时提问人数超过10个时就能够感觉到明显的速度变化。
这可不行!这个程序太有用了,这些专家已经想到了无数的用法,才够10个人同时用够干什么。同时叹了一口,算力!
班行远停止了程序的运行,恢复蛋白质方面的计算。
班行远说:“都说说吧,这个程序本来就是设计的用来识读甲骨文的,能理解语义这是前提条件。但是模型规模达到这种程度后发生的变化确实出乎了我的预料。程序演化算法核心是基于生物进化原理,通过对输出结果的反馈制造一种类似于自然选择的演化压力。我看了一下演化程序自己发展出了类似神经网络、卷积之类处理方式,这和目前的人工智能发展方向是一致的。但是但是那个大模型还是头一次看到,似乎还没有出现这种人工智能跟大模型结合的报道。”
“虽然我们只是演示了文字方面的问答,但是显然这个人工智能的应用范围要大得多,可以用在各种方面。研究院组件专门的小组吧,对相关理论和应用进行深入研究。等级……等级和光刻机项目是一样的。”
“都有说说下一步怎么干吧。”
一位专家说:“算力,要研究这个肯定需要极为强大的算力。现在使用蛋白质的算力中心仅仅是语言学方面的内容已经捉襟见肘,应用范围扩大的话需要训练模型肯定不够用。需要新建计算中心。”
班行远考虑了一下,摇了摇头:“这个行不通,首先泰熙肯定不会批的,蛋白质项目每个月一百多万的电费就够她整天跟我念叨了,这要是再建一个她得和我拼命。”
“而且使用现有的加速芯片处理这个大模型人工智能的运算完全是浪费。这款加速芯片是为了研究院高精度的科学运算设计的,针对Fp64高精度浮点运算进行了专门的优化。大模型人工智能撑死用到Fp32的精度,我估计大多数场景用Fp16半精度就够了,很多场景甚至Fp4、Fp8甚至是8位的整数运算就能覆盖了。同样规模的芯片针对Fp64高精度浮点运算优化和针对低精度运算优化在算力上可不是简简单单的翻倍。”