返回第一卷少年游 第八十七章自生  燕归来首页

关灯 护眼     字体:大 中 小

上一页 目录 下一页

    第一卷少年游 第八十七章自生 (第2/3页)

拥挤程度或环境变化自动调整即可,可问题突然从“不同个体如何合作”变成了“一个个体能不能根据环境改变自己的规则”。江遥没有马上去写程序,她先问自己:如果每个小点不仅遵守规则,还能根据最近发生的事情调整规则,那么最终那些群体结构还是由程序员设计的吗?显然底层机制仍然是人写的,可具体什么时候看远、什么时候看近,甚至最终会形成什么样的队伍,却可能不再由人直接指定。

    她第一次隐约碰到一个比“涌现”更麻烦的问题。

    如果一个系统的结果不是人一笔一笔设计出来的,而是许多局部规则和环境互相作用以后自己长出来,人到底应该把哪一部分称作“设计”,哪一部分称作“学习”,又从哪一步开始愿意承认它产生了某种属于自己的结构?

    这些词她都没有写进报告。她只在新拿的一张普通草稿纸上写了三件事:固定视野、两种视野、可改变视野。然后在第三行旁边打了一个很大的问号。

    中午回宿舍时,韩思遥正坐在桌边做普通组的训练卷。

    核心组和其他学员的课程已经开始真正分开。上午江遥他们做群体模型,普通组则上了一节光学专题。韩思遥过去几天表面上没怎么提这件事,可两边作息一错开,差异便很难装作不存在。江遥进门时,她正好抬头看了一眼江遥手里的计算模型讲义,问:“今天又玩什么了?”

    “很多小点乱跑。”

    “就这个?”

    “最后自己排队。”

    韩思遥接过她手机里那段动画,看了十几秒,第一反应果然是:“像鸟。”

    江遥笑:“老师今天专门问,哪里有鸟。”

    “你们老师很烦。”

    “确实。”

    韩思遥又看了一遍,把手机递回来,没有继续问。江遥却能感觉到她想知道更多,只是最近不太愿意显得自己在追着核心组课程走。两人一时都没有说话。简宁还在食堂,宿舍里只有暖气的轻响和走廊偶尔传来的关门声。

    过了一会儿,韩思遥自己开口:“下轮还有一次重新分组。”

    “嗯。”

    “我要再试一次。”

    江遥说:“好。”

    只有一个字,却比“你肯定能进”真实。韩思遥看了她一眼,似乎本来准备防着某句安慰,结果没等到,反而笑起来:“你现在确实会聊天一点了。”

    “谁教的?”

    “被骂出来的。”

    两个人都知道她说的是谁,也都没有继续。

    江遥下午没有核心组课程,陪韩思遥去楼下买了新的笔芯。训练中心旁边的小店东西不多,柜台边摆着一叠最普通的硬皮本,绿色只有一本,颜色却和她那本燕子本差得很远。韩思遥随手拿起一本问她是不是该换本子,江遥想了一会儿,最后拿了最普通的灰色。没有图案,没有燕子,也没有任何纪念意义。

    “你怎么不挑个好看的?”韩思遥问。

    “写完再说。”

    “写完它就好看了?”

    江遥想了想:“可能更难看。”

    老板听见她们说话,抬头笑了一下。

    ---

    原既白第一次把自动测试程序接进完整训练流程时,系统连续跑了六个小时,然后因为磁盘写满停了。

    宋弈第二天早上打开机器,看见终端里一串错误信息,站在机房门口沉默了很久,最后对原既白说:“我们成功造出了一个非常勤奋的垃圾制造器。”

    六个小时里,程序生成了四十多万张中间图片。绝大多数没有任何长期价值,只是为了搜索某个方向临时产生,原本应该测试完便删除,可他们为了以后复盘,每一步都先保存下来。单张图片很小,几十万张堆在一起却迅速吃光了空间,后面的日志也因此没能完整写入。更糟的是,最有价值的最后一批测试恰好只剩结果,没有保留生成过程,导致他们知道模型在某类变化下突然失效,却不知道测试器具体是怎么走到那里。

    从理论上看,这个问题很低级。

    低级到原既白一开始甚至有点不愿意承认它值得讨论。可他花了一个上午以后发现,低级并不代表容易消失。只要程序真的长时间运行,存储、日志、失败恢复、重复数据、任务中断都会出现。一个想法在纸上只需要一句“自动生成测试”,变成真正可运行的系统以后,却必须回答几十个这种毫无诗意的问题。

    宋弈建议简单点,只保存最终失败样本。

    原既白摇头:“那就不知道它怎么找到的。”

    “全保存磁盘又会爆。”

    “所以分层。”

    他这一次没有先画一个庞大的统一架构,而是从最实际的需求开始拆:普通中间样本只留统计,不留图片;出现模型输出显著变化时再保存关键节点;如果某条搜索路径特别异常,则把前后若干步完整保留。程序失败后要能从最近状态恢复,日志必须和模型版本绑定,否则下次换模型以后结果无法比较。

    宋弈听了一会儿说:“你现在终于开始像一个干活的人了。”

    “以前不像?”

    “以前像来给干活的人设计宇宙的。”

    原既白拿手边一本书砸他,没砸中。

    这套并不漂亮的改造用了两个晚上。第二次长时间运行时,程序没有再因为磁盘问题停掉,却出现了另一种故障:其中一个生成任务卡死,占着计算资源不释放,后面所有任务排队等待。原既白起初想追根究底找出那一个任务为什么卡住,宋弈却坚持先给所有任务加超时机制,超过一定时间直接杀掉并记录。“根因以后再查,”他说,“总不能一个人堵厕所,整栋楼都不上班。”

    这个比喻把原既白说服了。

    过去的他会本能地觉得,每个异常都应该先被理解,再决定怎么处理;真正运行的系统却等不起完整理解。你可以暂时不知道某个罕见任务为什么死掉,但必须先保证它不会拖死所有其他任务。工程不是放弃真相,而是在真相还没有完全到手以前,先让系统活着。

    叶老师远程看他们的新版本时,注意力甚至没有先放在算法上。他看了任务队列、日志策略和恢

    (本章未完,请点击下一页继续阅读)

『加入书签,方便阅读』

上一页 目录 下一页