黄小兰坐到电脑前,双手放在键盘上,深吸一口气。
屏幕上,那些原始日志还在滚动。
她随手关掉,打开一个空白的编程界面。
然后她开始敲键盘。
啪。啪。啪。
手指落在键盘上的声音,清脆而有节奏。
她没有急着写代码,而是在脑子里先把昨晚和一号老师讨论的内容过了一遍。
算力有限——那就不能跑大模型。
数据匮乏——那就得在算法上找补。
传统机器学习方法在这个时代是主流。支持向量机、随机森林、Adaboost……这些算法对算力的要求低得多,而且在小样本数据上表现不错。
她可以先把这些基础框架搭起来,然后在上面慢慢叠加。
就像盖房子一样。
先打地基,再砌墙,最后才是装修。
她开始写第一行代码。
定义数据结构。
初始化参数。
设置训练接口。
一行一行,一个函数一个函数。
她的速度很快,快到旁边那几台老服务器还没来得及反应,她已经写完了基础框架。
然后她停下来,盯着屏幕看了一会儿。
不对。
太常规了。
常规的算法,常规的思路,常规的架构——那出来的也只能是常规的结果。
她要的不是常规。
她想要的是,在现有硬件的极限上,尽可能逼近那个“不可能”。
一号老师说过,那是“精美工艺品”的路子——不是靠堆料,而是靠巧思。
她删掉刚写的一半代码,重新开始。
这一次,思路变了。
不是从算法出发,而是从硬件出发。
她要先摸清这几台老服务器的底细。CPU型号、缓存大小、内存带宽、IO吞吐……每一个细节,都会影响最后的设计。
她调出系统信息,一行一行看下去。
Pentium 4,单核,2.8GHz。
2GB内存,还不如未来一个智能手机的内存。
硬盘2-3块,146GB,SCSI硬盘。
黄小兰看着那些数据,嘴角抽了抽。
这也太老了。
不过有双千兆以太网口,算是比较超前。
但她没抱怨,只是深吸一口气,继续敲键盘。
先测CPU算力极限。
她写了一个简单的循环,跑浮点运算。服务器发出低沉的嗡鸣声,风扇开始加速转动。
三分钟后,结果出来了。
每秒大约能跑2亿次浮点运算。
后世一块普通显卡的千分之一都不到。
黄小兰沉默了两秒。
然后她笑了,苦笑。
——
她开始设计第一个算法。
不是传统的神经网络,而是一个极度精简的决策树集成系统。
每个树只有几层深,但数量可以很多。训练的时候并行跑,预测的时候加权投票。
对内存要求低,对算力要求也低,而且可以在小样本数据上表现不错。
她一行一行地敲着代码,完全沉浸进去。
时间一分一秒过去。
屏幕上,代码越来越长,越来越复杂。
但她的思路越来越清晰。
窗外的阳光从东边移到西边。
孟棠来敲了一次门,叫她吃饭。
她没听见。
孟棠又敲了一次,还是没听见。
最后孟棠推门进来,站在她身后,看着她敲键盘。
看了五分钟。
然后默默退出去,把门带上。
算了,这丫头现在听不见任何声音。
多给她准备一些零食,反正两餐没吃饿不死。
——
屏幕上,第一个算法终于写完。
黄小兰停下来,活动了一下僵硬的手指。
然后她点下运行键。
服务器嗡鸣声变大,风扇转速加快,机房的温度似乎都升高了一点。
一秒。两秒。三秒。
屏幕上跳出一行字:
训练完成。准确率:67.3%。
黄小兰盯着那行字,看了很久。
67.3%。
不高。甚至可以说很低。
但这只是第一次尝试。
只是最基础的版本。她还有很多优化空间,还有很多技巧可以加进去。
她活动了一下脖子,继续敲键盘。
窗外,天已经黑了。
——
黄小兰揉了揉发酸的眼睛,站起来活动了一下脖子。
三台老机器,算力确实有限。
但对现在够了。
至少,够她把程序重新跑一遍,看看问题到底出在哪儿。
咕——
肚子适时地叫了一声。
她愣了一下,看了看电脑右下角的时间——晚上九点十七分。
九点了???
她记得开始写的时候是上午十点。
十一个小时了?
她摸摸肚子,确实饿得前胸贴后背。
“孟棠这人居然没叫我吃饭?太过分了吧……”
话音刚落,她的目光扫到桌角。
那里放着一个盘子,盘子里整整齐齐摆着几个小蛋糕。
旁边还有一个保温杯,应该是装着温水。
小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!