经常有人问我,AI培训到底学什么?这个问题太宽泛了,就像问“学编程学什么”一样,答案完全取决于你最终想干什么。我先给一个直接的回答:当前主流的AI岗位,技术栈大致可以归成三大方向——机器学习与数据分析、深度学习与计算机视觉/NLP、大模型与生成式AI。这三个方向虽然底层数学基础有交叉,但工具链、学习曲线和就业目标完全不一样,混着学最容易学成四不像。
这篇文章就按这三大方向来拆,从入门到高阶,把每个方向需要掌握的完整技术栈、核心工具、学习顺序和避坑经验一次说清楚。不管你是在校生准备转行,还是已经在职想往AI方向靠,都能拿着这份清单对照自己的进度,知道自己该补什么、该往哪个方向使劲。
1. 先聊清楚:三大方向到底怎么划分的
很多人一上来就学《机器学习》课本,学了三个月还在推公式,连一个完整的项目都没跑过。这是最大的误区。AI领域太大了,大到你不可能全学完,也不需要全学完。所以第一步是确定方向,方向定了,技术栈才能列得出来。
1.1 划分的逻辑:不是按算法分,是按产出分
我习惯把三大方向叫做“数据出报表、模型出效果、系统出产品”。
机器学习与数据分析方向,解决的是“从数据里找答案”的问题。它的产出通常是分析报告、预测结果、业务决策建议。典型岗位是数据分析师、机器学习工程师。这个方向对深度学习的依赖没那么强,反而更看重数据处理能力、特征工程能力和对业务的理解。
深度学习与视觉/NLP方向,解决的是“让模型看懂图像和文字”的问题。它的产出是能识别、能分类、能生成的模型。典型岗位是算法工程师、视觉工程师。这个方向需要扎实的神经网络功底,对数学的要求也上一个台阶。
大模型与生成式AI方向,解决的是“基于大模型构建应用”的问题。它的产出是能对话、能检索、能自动执行任务的AI应用。典型岗位是大模型应用开发工程师、提示词工程师、AI应用架构师。这个方向是最近两年新增的,也是目前需求最旺盛的,但它的门槛不是数学,而是工程能力。
1.2 三个方向的依赖关系
这三个方向不是完全孤立的。深度学习是机器学习的一个子集,大模型应用又是基于深度学习的产物。所以学习路径上有交叉,但没必要按部就班全走一遍。
我的建议是:想做业务分析和传统算法的,重点啃方向一;想进互联网大厂做算法岗的,方向一加方向二都得有;想快速上手做AI应用的,方向三为主,方向一的数据处理基础补一点就行。别一上来就“我要学AI”,先问自己“我要用AI干什么”,答案有了,学习路线自然就有了。
1.3 时间投入预期
方向一,从零到能独立做分析项目,每天投入两到三小时,约三到四个月。方向二,需要方向一的机器学习和Python基础,再投入四到六个月。方向三,如果只做应用层,不碰模型训练,有Python基础的话两个月就能跑通一个完整的RAG项目;如果要深入模型微调和推理优化,半年起步。
这个时间预期很重要。很多人学到一半放弃,不是因为难,是因为没给自己设一个“能做出东西”的里程碑,一直在输入端打转。
2. 方向一技术栈拆解:机器学习与数据分析
这个方向是AI领域里最“亲民”的,也是天花板相对明确的。它不要求你会写复杂的神经网络,但要求你对数据极其敏感。
2.1 入门级:Python、SQL、数学三件套
Python不用多说,重点不是语法,而是两个库:NumPy和pandas。NumPy管矩阵运算,pandas管表格处理。很多人学Python语法学了两个月,结果发现工作中用得最多的就是df.groupby()、df.merge()、df.apply()这几个操作,其他语法一年都用不上几次。
这里有个练基本功的建议:别去看那种动辄几百集的Python教程。直接找一份真实的表格数据(比如某个行业的销售记录),用pandas完成“按月份汇总、按地区分组、计算同比环比、合并另一张表”这一套动作。你会发现,能把这一套流畅做完,pandas就算入门了,比刷十遍教程都管用。
SQL是很多人忽略的重点。AI工程师要取数,不可能等别人帮你导好CSV。窗口函数是必须掌握的,ROW_NUMBER()、RANK()、LAG()、SUM() OVER()这些用的频率极高。练SQL没有捷径,就是刷题,把经典题目做烂。
数学这块,我见过太多人被吓住了。其实方向一够用的数学并不多:概率论里的条件概率、贝叶斯定理、正态分布,线性代数里的矩阵乘法、转置,微积分里知道导数是干什么的即可。你不是在学数学,你是在学“看懂算法文档所需的词汇量”。别去啃整本教材,遇到不懂的概念查一下,会算会用就行。
2.2 核心算法:先跑通,再懂原理
方向一的核心算法,入门阶段只需要掌握这几类。
回归问题:线性回归,用来预测连续值,比如销量、价格。分类问题:逻辑回归,虽然名字带“回归”,实际上是分类算法,用来预测二分类概率。树模型:决策树、随机森林,这是最容易理解的一类模型,也是以后上梯度提升树的基础。聚类:K-Means,用于无监督的分组。
我的学习建议是:每个算法都按“五步法”走一遍。第一步,用sklearn的一行代码跑通;第二步,看损失函数是什么,知道模型在优化什么;第三步,手动调一个关键参数,观察效果怎么变;第四步,用交叉验证评估效果;第五步,把结果可视化出来。五步走完,这个算法你才算是“用过”而不是“听说过”。
评估指标是新人最容易搞混的。准确率(Accuracy)是最直观的,但在正负样本不平衡时完全没用。比如一个欺诈检测场景,99%的样本是正常的,你全预测成正常,准确率是99%,但这个模型毫无价值。所以必须看懂精确率(Precision)、召回率(Recall)、F1值、AUC这几兄弟的关系。一句话总结:精确率关心“我预测对了多少”,召回率关心“我漏掉了多少”,F1是两者的调和平均。
2.3 进阶内容:从能跑通到真正好用
入门算法掌握之后,进阶学习的重点有两个:一是把随机森林换成它的进阶版——XGBoost和LightGBM,这类梯度提升树模型在表格数据上的表现,直到今天依然是大模型无法撼动的。不要问“为什么不是深度学习”,表格数据上的结构性问题,树模型就是更擅长。
二是特征工程。这是方向一里最吃经验的部分。我自己带项目的体会是:模型选择只占效果的30%,特征工程占50%,剩下的20%是调参和数据质量。特征工程包括缺失值处理、异常值剔除、类别特征编码、数值特征分箱、特征组合。中间门道很多,但没有捷径,就是多看数据、多尝试。
超参调优也别上来就网格搜索,先手动调,感受参数变化的规律。比如XGBoost里的n_estimators控制树的棵数,learning_rate控制每棵树的贡献步长,max_depth控制树的深度。先固定其他参数,只调一个,作图看效果曲线,这是最踏实的做法。网格搜索和贝叶斯优化是后面的事,直接上自动化调参,你根本不知道发生了什么。
时间序列预测也算方向一的高阶内容。如果你所在行业有销售预测、流量预估这类需求,ARIMA和Prophet值得学。注意一个常见误区:时间序列数据不能随机划分训练集和测试集,必须按时间顺序切分,否则会造成数据泄露,结果虚高得一塌糊涂。
3. 方向二技术栈拆解:深度学习与CV/NLP
如果说方向一是在和表格数据打交道,方向二就是和图像、文字这些非结构化数据打交道。这个方向的学习曲线明显更陡,但成就感也更强。
3.1 入门核心:PyTorch和训练流程
框架选PyTorch还是TensorFlow?我的建议是直接PyTorch。今天学术界和工业界的主流模型、预训练权重、论文配套代码,绝大多数都是PyTorch写的,你拿TensorFlow学完,去看开源项目会发现很多代码看不太懂。
入门阶段最重要的不是学会调用模型,而是彻底搞懂一套训练流程:数据加载、模型构建、损失函数、优化器、评估。这五样东西组成了深度学习的“最小闭环”。我给你一个最小可运行的心理模型:先随机初始化一个网络,输入数据得到预测值,算预测值和真实值的差距(损失),然后根据差距反向传播更新网络参数。这个过程重复千万次,损失一点点降下来,模型就训练好了。
具体的参数选择上,有几个通用经验可以直接用。优化器选Adam,这是最稳的默认选择,学习率设1e-3起步,训练不稳定就往下降。损失函数怎么选,看任务类型:二分类用BCEWithLogitsLoss,多分类用CrossEntropyLoss,回归用MSELoss。batch size的选择要综合考虑显存,一般64起步,太大容易收敛慢,太小会震荡。这些值不是拍脑袋定的,背后是梯度估计的方差理论,但实操阶段先记住经验值。
我很推荐一个练习方式:不要用现成的数据集,自己构造一个简单的数据分布,比如一个带噪声的二维点集,然后训练一个几层的全连接网络去做分类。自己构造数据的好处是你可以完全控制数据的形态,能看到决策边界是怎么变化的,这比用现成数据集更能帮助你建立直觉。
3.2 中阶必学:CNN、RNN与Transformer
图像方向,CNN是避不开的。卷积层、池化层、感受野这几个概念要搞得滚瓜烂熟。经典网络结构至少要手推一遍的,是ResNet的残差连接——它解决了网络过深时梯度消失的问题,是近十年深度学习最重要的设计之一。实操上,别从零训练一个大网络,而是用预训练模型(比如ResNet系列)加迁移学习,在你自己数据集上微调最后的全连接层。我自己试过,迁移学习在几千张图片的小数据集上,效果能比从零训练提升不止一个档次,而且训练时间大幅缩短。
NLP方向,早期的RNN和LSTM可以了解,但现在的工作都离不开Transformer。Transformer的核心就是自注意力机制(Self-Attention),它的思路是用三个矩阵——Query、Key、Value,让序列里的每个元素去和信息里的其他元素计算关联度,从而捕捉长距离依赖。别被那些复杂的架构图吓住,你只需要理解“注意力就是给不同位置的词分配不同的权重”这个本质。位置编码(Positional Encoding)也要理解,因为注意力机制本身不带顺序信息,必须通过位置编码把词的顺序告诉模型。
3.3 高阶进阶:优化、部署与多模态
方向二的高阶部分,是真正拉开差距的地方。
训练层面,要熟悉学习率调度,比如余弦退火、warmup,这些技巧能显著提升模型收敛后的效果。权重衰减(Weight Decay)和Dropout是用来对抗过拟合的常规手段。如果数据量少,数据增强很重要——图片方向有随机裁剪、翻转、颜色抖动;文本方向有同义词替换、回译,这些都能成倍扩展有效训练数据。
工程层面,模型训练好后不是任务结束了,你要能把模型跑起来。本地推理用ONNX导出,跨平台兼容性好;追求极致性能用TensorRT,但对显卡型号有要求;Web服务用FastAPI封装一个接口,输入图片或文本,输出预测结果。这一步很多人没练过,导致面试时一说部署就露馅。
多模态是方向二的前沿。CLIP这类模型把图像和文本映射到一个统一空间,是文生图、图文检索的基础。如果方向三学有余力,多模态这块的潜力很大,目前工业界的需求正在快速增长。
4. 方向三技术栈拆解:大模型与生成式AI
这个方向是最近两年求职市场的香饽饽,也是被误解最深的方向。先说结论:大模型应用开发的门槛,不在算法而在工程。你需要懂大模型的原理,但更重要的是会调API、会做检索、会编排流程、会评估效果。
4.1 从原理到使用:先理解生成是怎么发生的
入门大模型,先别急着调API。你需要建立一个最基本的工作原理认知:大模型的根基是Transformer,具体来说是一个“自回归生成”的过程——根据已经生成的词,预测下一个词的概率分布,然后采样选出下一个词,重复这个过程直到结束。
这个理解非常重要。你以后遇到的所有问题——为什么模型会重复说话?为什么答案不一致?为什么增加上下文也没用?——都跟“概率分布和采样”有关。
生成时的核心参数,是每个大模型开发者必须掌握的“手感”参数。temperature控制随机性,数值越大回答越发散,越小越保守,需要事实准确的任务建议0.1到0.3,创意生成可以调到0.7以上。top_p控制概率累积范围,只从概率最高的前百分之多少的词里采样,和temperature配合使用。max_tokens是最大生成长度,但要注意它和“模型上下文长度”是两个概念,上下文长度是模型能看到的输入上限,max_tokens是输出的上限。
Prompt工程是入门阶段的重点。三个层次:零样本提示就是直接给指令;少样本提示是给几个示例,让模型照着示例的模式来回答;思维链(Chain of Thought)是让模型“一步一步思考”,把推理过程显式写出来,这对复杂逻辑任务有奇效。我见过很多新手直接拷贝复杂的Prompt模板,效果却不如自己写的几句话。原因在于,Prompt的核心是明确、具体、结构清晰,而不是套话多。
4.2 RAG:大模型落地的最实用技术
RAG(检索增强生成)是目前大模型应用里应用最广、需求最大的技术,核心解决的是“大模型不知道你公司的内部知识”这个问题。大模型的训练数据是有截止时间的,也不可能包含你的私有文档,所以要让模型基于你的资料回答问题,就得把资料检索出来拼进上下文,让模型“开卷考试”。
一个完整的RAG流程包括四个环节。文档加载与切片:把PDF、Word、网页等切成片段,切片大小的选择很有讲究,太小了语义不完整,太大了检索不够精确。经验值是200到500个字符左右,还得根据文档类型调整。向量化:用Embedding模型把文本片段转换成向量,这一步做的就是把“文字相似”变成“数字距离”。检索:用户提问时,把问题也变成向量,在向量数据库里找最近的几个片段,这一步可以用向量检索,也可以结合BM25做混合检索。生成:把检索到的片段和用户问题一起交给大模型,让它基于这些片段作答。
很多新手做的RAG效果很差,问题往往不出在检索,而出在“不知道什么时候该不回答”。如果检索到的内容与问题无关,大模型会强行根据不相关内容编造答案,这就是幻觉。解决的办法是在Prompt里明确写“如果资料中没有答案,直接说不知道”,并且做一个可信度判断,低于阈值就拒绝回答。
4.3 高阶:微调、Agent与推理优化
RAG解决的是“外挂知识”问题,微调解决的是“改变行为风格”问题。如果模型回答的语气、结构不符合业务要求,或者频繁出现某种固定的问题,RAG是救不了的,这时候才需要微调。
微调首选LoRA。它的原理是冻结原模型的参数,在每一层旁边加上一个小型可训练的旁路矩阵,训练时只更新这些旁路参数。这样做的好处是显存占用大幅降低,训练速度快,而且只需要保存一份很小的参数文件。现在很多普通的消费级显卡,也能在大模型上跑LoRA微调,这是过去不敢想的事。数据准备上,指令微调需要整理成“指令-回答”的配对数据,质量远比数量重要,一千条精心清洗的数据,效果可能好过一万条网上爬的脏数据。
Agent是更上层的能力,让大模型不只回答问题,而是能调用工具完成任务。核心模式是ReAct:让模型交替进行“思考”和“行动”,思考下一步该干什么,然后调用对应的工具(比如搜索、计算、调用API),观察工具返回结果,再继续下一步,直到完成目标。做Agent的难点不在概念,而在工程稳定性:模型可能会循环调用工具、可能会在关键步骤上突然出错、可能会拿着错误结果继续往下推理。生产环境里必须加上超时控制、步骤上限、结果校验这些防护机制。
推理优化是工程侧的高阶内容。KV Cache是Transformer推理时缓存键值矩阵,避免重复计算的必要手段;量化分INT8和INT4,用精度换速度,让大模型能在更低配置的机器上跑起来;如果是规模化部署,vLLM这类推理引擎能显著提升吞吐。这些内容,应用层的同学了解一下原理即可,但如果你负责部署,就必须深入研究。
5. 实操规划:四阶段学习法与项目实战清单
很多人学到一半放弃,不是不够努力,而是计划太宽泛。我按自己的带人经验,把三大方向拆成一个通用学习计划,分为四个阶段,每阶段用项目去打怪。
5.1 基础铺垫阶段(约30天)
这个阶段的目标是:能读数据、会写Python、看得懂公式。具体任务:Python完成pandas和NumPy的基本操作练习,不用面面俱到,搞定数据读取、清洗、聚合、合并;SQL在刷题平台过一遍入门题;数学按需补课,遇到不懂的概念就查,别系统学。这个阶段有个非常关键的心理准备:你不可能靠“看”学会编程,必须在电脑上把代码敲一遍,哪怕完全照抄也比只看脑内空想强十倍。
5.2 方向核心阶段(60到90天)
如果走方向一:把第2章列的算法一个个跑通,每个都做一遍交叉验证和可视化。项目实战选这类:某电商平台的用户复购预测,或者是基于历史销售数据做下季度销量预测。如果走方向二:把ResNet和一个简化版Transformer亲手实现并训练,哪怕效果一般,这个过程的价值远大于看十篇讲解。项目实战选图片分类或者电影评论情感分析。如果走方向三:先掌握Prompt工程,然后自己搭一个带知识库问答的RAG系统,语料用自己的文档或者是模拟项目资料。
5.3 综合提升阶段(30天)
这个阶段的关键词是“组合”:把数据处理能力、模型应用能力、工程部署能力拼起来。比如做一个完整项目:爬取或导入某行业的公开数据,清洗分析后建立预测模型,再用FastAPI封装成接口,最后做一个简单的可视化页面。又或者,用RAG做一个能回答某领域问题的AI助手,给它加上记忆能力(存储多轮对话历史),再加一个联网搜索工具,变成一个能查资料、能回答、能引用的完整Agent应用。这种完整链路带来的经验积累,比任何死磕算法的经验都有说服力。
5.4 项目复盘与优化阶段(持续)
项目做完不是终点,要复盘。我把项目复盘拆成几个固定问题:数据质量影响了多少效果?特征或Prompt哪个改动带来的提升最大?模型失败时主要失败在哪些样本上?部署时哪里是性能瓶颈?这些问题想清楚一轮,比赶着做下一个项目收获更大。面试时你被追问“这个项目遇到过什么困难、怎么解决的”,如果你答得出来,说明这个项目真的打到你脑子里了。
6. 常见问题与避坑指南:血泪经验速查
最后这部分,我把这几年看到的高频问题和翻车现场集中说一遍,每一条都是我亲眼见过或自己踩过的。
6.1 认知与学习心态层面
“学了很多课程,还是不会做项目”是目前最常见的问题。根子在于现在的课程都太“顺”了,数据是干净的,代码是能直接跑的,所有坑都被填平了。真实数据永远是脏的,特征永远是缺的,模型永远会报莫名的错。治疗的办法只有一个:从一开始就对现成代码保持怀疑,故意把数据弄脏、故意改参数让模型报错,再自己想办法修复,这个过程的长进非常快。
“数学基础不好,不敢入门”的误解也该破除了。AI方向的应用层,需要的高等数学没有很多人在网上渲染的那么夸张。方向三的Prompt工程和RAG,你甚至可以不怎么用微积分。方向一和方向二需要数学,但完全可以在实践中边做边补。我见过文科背景的同学把时间序列模型跑得风生水起,也见过数学专业的同学在实战项目上无从下手——决定你能不能入行的,是你解决具体问题的能力,不是数学考试分数。
6.2 技术实操层面的坑
数据泄露是最隐蔽的坑。在方向一,时序数据必须按时间切分;在方向二,数据增强必须只用在训练集,不能用在验证集和测试集;在方向三,RAG评估的问题和答案不能和检索语料重复太多,否则你的准确率会虚高。这三个场景我全都踩过,排查起来费时费力,还不如一开始就按规范来。
显存不够的问题在方向二、三经常出现,这不是你环境有问题,是所有小成本玩家共同的处境。解决思路有几个:把输入图片缩小到合理尺寸,别惯性地用224乘224;减小batch size,大不了多跑几轮;能用混合精度的别用单精度。至于有些人建议的“关掉其他程序腾显存”,基本没用,不如直接租用一台按小时计费的云GPU跑大任务。
大模型方向还有个独特的问题:模型幻觉。用户问了一个你的知识库里没有答案的问题,模型会非常自信地编造一个答案。排查下来你会发现,有时是因为切片太碎导致关键内容没检索到,有时是检索到了但大模型为了“友好回答”硬要组织语言。解决的方法是双管齐下:调好切片和检索的阈值,同时在Prompt里明确要求“没有依据就拒绝回答”。
6.3 求职与实战速查表
| 高频问题 | 错误做法 | 正确思路 |
|---|---|---|
| 简历写了熟悉Python | 只会print和pandas基础操作 | 独立完成过数据清洗和特征工程项目 |
| 简历写了会深度学习 | 跑通了官方教程 | 自己从零实现过一个模型并做过优化 |
| 简历写了会大模型应用 | 能调用API聊天 | 搭建过带检索的RAG系统并分析过失败案例 |
| 面试被问项目难点 | 说“数据很难清洗”但没有细节 | 说清楚具体是什么脏数据、怎么发现、怎么处理、效果提升多少 |
我个人的体会是,这些坑踩一遍不丢人,踩完再踩同样的坑才丢人。你在学习过程中遇到的问题,其实都是未来工作的预演,因为它们正是AI工程师每天面对的真实挑战。写这篇梳理,我把自己过去几年的经验浓缩成了这份清单,希望你按着方向走、按着清单练,早日做出属于自己的第一个完整项目。