这116名学生,用3天时间复刻了字节跳动内部真实技术项目

给你三天时间,能开发出怎样的项目?

在字节跳动 Byte Camp 夏令营,116 名来自清华、北大、中科院等全国各大高校计算机专业的同学,组队完成了 32 个各具特色的计算机不同方向的实践项目。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第1张图片

除去夏令营的分享、交流、评审等环节,留给他们的创造时间只有短短的三天。

三天里完成的项目有多厉害呢?

有人做了完整的 Roguelike 游戏通关 AI,成绩已经接近人类水平,甚至这个 AI 帮游戏找到了bug;

有人完成了复杂的推荐系统功能,准确率超过90%;

有人完成了手写数学公式的自动识别系统,在业界权威数据集上达到了领先水平;

甚至,还有这种十分有趣的「好好说话纠正器」:

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第2张图片

还有自动 debug 插件、广告标题自动生成、视频画质增强……许多不同领域的任务。

无一例外的是,这些项目和学校里的大作业、研究项目非常不一样,都是字节跳动的研发同学们在真实业务场景下遇到的问,为了让夏令营营员们有最好的体验,字节跳动的全职研发同学作为 mentor 均自己提前完成并验证了这些项目。

三天做完一个这样完整的项目,约等于光速拥有实习经验了。

接下来我们就来看看,这届字节跳动 Byte Camp 夏令营都涌现了哪些厉害的项目~

图片

纯视觉方案的游戏 AI

在《射手大陆》游戏中,玩家需要在特定的地图里进行移动、战斗等步骤,通过难度不一的关卡。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第3张图片

这届 Byte Camp 的游戏 AI 项目需要借助纯视觉的方式,不提供游戏中的各种地图与道具数据,直接把游戏画面作为输入,判断出地形道路和最优动作策略,控制游戏角色来做出动作。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第4张图片

来自清华大学、中国科学技术大学、北京理工大学、南京信息工程大学的 4 位同学采取了固定规则、模仿学习、强化学习 3 种不同的技术路线,在简单关卡普通人类玩家 1 分钟通关的情况下,实现了最高 AI 1 分 30 秒通关,不少夏令营营员都对他们的成果刮目相看。

该项目主要用来做游戏测试。

目前,游戏测试都是人工手动测试,或是专门开辟测试服邀请玩家参与测试。项目组的一位同学说:“用 AI 程序的话,可以同时跑 1000 个游戏找 Bug ,提升测试效率,还可以看看服务器能不能承受这么多用户同时玩。另外,对于游戏策划而言,AI 也提供了对于游戏难度、不同游戏角色通关时间的量化指标,方便把控每个游戏关卡的难度和游戏的职业平衡度。”

因此,这个游戏 AI 项目有非常高的产业落地实践性:“我在学校做的是强化学习算法,因为学校不像公司有这么多游戏产品,所有没有机会做这类游戏 AI 相关的项目,如果明年有合适的项目我应该还会来挑战一下。”

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第5张图片

这个项目也获得了整个 Byte Camp 夏令营的一等奖,项目组同学拿到了 20000 元奖金,“最后很荣幸能让李航老师给我们颁奖,有种追星成功的感觉。”

图片

吃鸡游戏地图生成

这个「吃鸡游戏」地图自动生成的项目,在整场夏令营中都获得了非常高的关注度,也是获得三等奖的项目之一。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第6张图片

该项目需要根据游戏玩家所设定的需求,比如土地的大小、高低起伏程度,借助泥地块、水体块、草地块、树木块、建筑墙体模型、家具模型等现有的素材,一键自动生成不同的地图。

并且,不仅有宏观的地形图,还有微观的景象甚至室内装饰,所有细节都是随机生成的,保证玩家每次进入游戏之后都能在一个全新的地图上探索。

项目组同学分别来自北京大学、香港科技大学、山东大学、福州大学四所高校,按照生成原始地形图-划分岛屿-规划丘陵-生成河流-生成城镇的顺序,让整个系统运转了起来。

“整体的起伏、高低都能设计,丘陵的大小也可设计,另外我们的系统还能保证山脉、房屋、道路这些元素的比例是匹配的。”项目组同学说。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第7张图片

几位同学在夏令营期间实现了很多重大的突破:“C#语言我之前都没学过,我们来了第一个半天现场学的C#,之后又完成了大量的代码。还复现了一篇论文,并且我们在复现完之后才发现论文写得不够详细,甚至还找出了错误。”

项目组组长是一位在读硕士生,他对这场夏令营的内容非常有激情:“我平常是做后端开发的,但这次夏令营我就是专门选择没做过的题目来做一下,这让我感到非常有意思。因为我很喜欢玩吃鸡游戏,我对它很有激情,所以我就想能不能生成有意思的地图,让其他爱玩这个游戏的人也来玩一把。”

图片

Linux 内核内存管理

除了这些直观视觉效果惊人的项目之外,本届 Byte Camp 夏令营还有非常硬核的实践项目。

比如如何让Linux系统精细化管理内存。

这个项目要求在非统一内存访问架构(Non-uniform Memory Access, NUMA)上,为 Linux 内核增加新的特性,来更精细的管理内存,为不同的进程定量分配不同性能的内存,在保证性能的情况下降低成本。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第8张图片

比如上图的黄色、粉色两个进程,在这个项目实现之前,内核无法按照实际的内存需求在不同 Node 上限制内存的分配;项目实现之后,就可以按需分配了。

项目组中一位来自中科院计算所的同学说,这类项目主要应用于大型云计算公司的内存控制,和自己平时所做的方向非常不同,收获了不一样的知识。整个项目的专业性也引来夏令营其他营员连连称赞。

图片

除了做项目,夏令营还有什么?

03:15

Byte Camp 是字节跳动从 2018 年开始的一年两度的训练营活动,今年已经是第四届了,面向全球各大高校在校生招募营员。活动不仅邀请了字节跳动内部和业界的学者提供封闭式的课程,还有公司内部优秀工程师带教,帮助营员们完成项目实践。

除了有趣的项目环节,Byte Camp 夏令营还准备了丰富多彩的活动。

夏令营的举办地正是字节跳动北京工区方恒时尚中心,活动一开始,就可以先行参观体验。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第9张图片

还有字节跳动公司内外技术大咖的独家分享,帮助同学们了解字节跳动的技术体系、技术分工、前沿研究等,和学校的理论知识相比,更加贴近企业界的落地实践,而且都是仅此一处、不对外公开的分享。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第10张图片

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第11张图片

在每组同学的项目完成之后,还有展示 poster 的「游园会」环节,所有参与者自由交流,学习不同项目团队的精华。

这116名学生,用3天时间复刻了字节跳动内部真实技术项目_第12张图片

一位做推荐算法相关项目的同学说,相比学校项目,Byte Camp 中很多项目的指标都是项目组自己制定的,自己讨论思路,自己确定标准。在这样自驱的研究与实践中,能够收获思考带来的成就感,激发不同的 idea 。

整个夏令营活动有 73 位不同部门的字节跳动全职研发同学作为 mentor ,他们提供了所有项目的课题和前期准备,整个夏令营期间也利用休息时间每天来现场指导同学们完成项目。

正如夺冠队伍的获奖感言:“我们有优秀的 mentor 指导,有优秀的队友并肩作战,也有优秀的对手激发着我们,我们正在和优秀的人做有挑战的事儿。”

Byte Camp 夏令营,也正在持续为优秀技术同学提供贴近真实产业的挑战机会。

你可能感兴趣的:(pygame,人工智能,机器学习)