
AI
可分为三种情况。第一种是从事system/develop工作的学生。先不管他们是主动为之还是被迫如此,每天都得编写大量的代码。很多时候,要将一个极其简单的想法高效地实现,是颇具挑战性的。在科研方面,不像从事
AI相关工作的学生可以一边让实验运行着一边刷论文,system相关的实验全得靠自己一行一行地敲代码。在开发某些产品,或者仅仅是在一些产品上开发新特性时,同样要写很多代码,还要做大量的系统性测试,每天是否编写代码并非自己能够掌控。就拿我自己来说,最近我的课题需要对vLLM框架进行大幅修改,并且对一些内核进行优化(因为相较于从头构建一个使用PagedAttention并且集成当前绝大多数大型语言模型(LLM)高效服务特性的LLM框架,对vLLM进行大改已经算是相对容易的工作了)。我常常拿着一杯
咖啡在
电脑桌前一坐就是一整天,几个月下来写了好几千行代码,做了不计其数的测试,才修改出一个能用的版本,更不用说组里那些资深的博士生了。第二种是热爱探索
计算机的学生。说得直白一点,就像那种超级书呆子。坐在我旁边工位的那哥们儿就是这样,他大二的时候就经常看各种
计算机科学(CS)的网课,像CS149、6.S081之类的。虽然他编写代码的总量或许比不上第一种学生,但他也是每天都在敲代码和学习。虽然我们总是开玩笑说他是个书呆子,但说实话,心里还是很佩服他的。只要不是那种门槛特别高的科研领域,其他任何与编码有关的问题他都能解决。这种学生在科研和工程方面其实都很有潜力。一方面,他们对
计算机底层有着浓厚的兴趣,愿意主动去探索那些短期内可能看不到直接应用价值的知识;另一方面,也是最重要的一点,他们对
计算机科学的热爱是发自内心的。不管是代码优化、系统设计,还是单纯地研究一些有趣的概念,他们都能从中获得乐趣,而不会把这些当作一种负担。