面向兴趣介绍:如何从零开始"玩"这些领域
返回 目录
AI
机器学习 / 训练算法
包括 CV(计算机视觉)、NLP(自然语言处理)、多模态等方向。
(待补充:入门路径、推荐课程与动手项目)
AI Infra
(感谢@Marshall Ge的补充!) Infra主要在做一件事情:让模型跑得更快一点。快了,token 就便宜了,同样的卡能服务更多人。
它大体分四层,可以分开深入研究其中一两个:
- 算子:把矩阵运算和硬件特性结合起来,是所有性能的地基。
- 框架:把算子串起来、让模型跑起来、稳定地提供服务,这一层知识面最广。
- 模型优化:看模型结构对硬件友不友好、模块编排合不合理,跟算法相差挺小的。
- 通信:多机多卡的数据交换,推理追低时延,训练追 GPU 利用率。
- 异构:让国产卡、RISC-V、FPGA等GPU(还有CPU)在同一个集群里高效工作。
算子
关于算子,你得清楚它内核的分布是怎样的形状,线程有多少个,数据在硬件上是怎样分布的,这些清楚后才能写出一个较为高效的算子。 比如说一个经典的硬件常识:硬件喜欢 64 的倍数。一个没有硬件概念的人会写出 150×150 这种 tile 形状,性能非常拉胯;改成 128×128 立刻就是另一个量级,因为计算单元和显存访问都是按块对齐的。类似这种"跟底层形状强相关"的直觉,是算子工程师最核心的东西。
任务:用 CUDA 手写矩阵乘(GEMM),性能超过 torch.matmul。超过了,算子这块你就算入门了。
框架
直接读 vLLM 会被代码量劝退,先看 nano-vLLM,代码量比较少。读完可以尝试一下,给它加一个特性,比如 suffix cache。
顺便说一下这俩东西的区别:prefix cache(或者说KV cache) 是命中对话开头那段公共前缀时的缓存,也就是常说的"命中缓存";suffix cache 是反过来把结尾变化的部分也缓存起来。魔改过两三个这样的特性,框架层就算不错了。
模型优化
盯着 DeepSeek 系列啃,V3.2、V4 一个模块一个模块看过去,每看一个都问自己"它为什么要这么设计"。比如 KV cache 压缩得很巧妙、MoE 怎么路由、通信怎么省带宽——这些设计背后都是硬件账。
再横向看 Qwen、Kimi 这些典型的开源模型,把架构差异和自己的判断对上,比如Kimi的DEA。然后再跑一下,就算是入门了。
异构(公开资源没多少)
门槛挺高的,像寒武纪,昆仑芯都是些内部开发的保密资源,也挺难拿到卡的,能够搞的是RISC-V这种东西。(by 主持人吐槽:前两年学校就一张4090)说一下方法论,要会看硬件,知道硬件适合干啥,比如带宽,算力峰值啥的,然后写不同硬件的算子(主要工程量)。
通信 这方面不是很清楚啥入门资料,就列举一个吧,ray attention,可以把这个看了
Agent
AI 的应用层方向,偏向于开发。
首先你去deepseek/kimi/qwen官方api网站申请一个api key(modelscope这样的应该也有)作为你学习的工具,记住一定要保管好,并且尽量避免让ai看到(可以创建一个.env文件) 然后对着官方的API使用文档deepseek API文档,告诉ai,你想要搭建一个ai对话式的项目,然后api重点关注这个:
"messages": [
{
"content": "You are a helpful assistant",
"role": "system"
},
{
"content": "Hi",
"role": "user"
}
],这代表了你向ai api 输入的内容。 然后他会返回这样一个同样是messages的字段:
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Hello! How can I help you today?",
"role": "assistant"
}
}
],先一步搭建起来这次一轮对话还是比较简单的。
后面呢,是给返回的message内容加入到输入的数组里面,构成循环,你就会发现ai可以跟你多轮会话了。
第三步:让ai学会创建你电脑的文件。给输入的tools字段加上关于shell命令的使用简介(比方说cat命令创建文件,这比较明显),然后响应返回的后一步加一段代码可以检查ai是否调用工具,如果有执行命令。最后看看你电脑文件夹有没有成功新建了一个文件,如果有那么就成功了! 在这之后,你就可以正式开始关于agent的学习:
https://github.com/shareAI-lab/learn-claude-code
这个是入门的材料,这个会了你就算入门了。
计算机
前端
首先非常推荐大伙去看MDN这个网站:MDN,可以说它教会了你怎么基本搭建出一个基本的网站。第一步就是从写一份html走起,写下 <p>hello world!</p>,然后在github新建一个index.html,登陆:(你的账号).github.io,于是你得到了第一份属于你自己的网站~
然后在就是根据这个网站,逐渐加入css样式,js的编程语言,让这个网站能够动起来,色彩丰富起来。
然后是服务器的一些搭建知识,为了能够让网站显示动态的数据,我们需要另行一个网站提供服务,mdn也给了我们这个教程:
https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Extensions/Server-side
最后,你就可以使用ai工具,借助vue或者react框架搭建起一个你想要的现代化网站了!在这里的建议是,新手不建议直接去看vue,react的官方文档,然后记笔记式的学习,建议是跟随ai搭建网站的过程,你看每一步它是怎么实现的,比如vue的computed(),react的useeffect,关于每个细节你都需要向ai问明白,这样才是一个好的实践式学习方式,而且你记的也牢。
如果你完成了以上的搭建并且对于知识有所学习而不是只是看着ai开发不动脑,那么你也入了前端这个领域。
后端
(待补充)
全栈 / AI 应用
AI 应用算是全栈的套皮,主要借助 vibe 工具完成开发。也就是说,如果你前后端都会,那么这个问题也不大。
游戏 / 客户端
(待补充)
大数据
(待补充)
