# Summary 1. [[自然语言处理 NLP]]代表了序列建模的最高水平 2. [[计算机视觉CV]]趋势是大一统 别碰 ## 🧭 算法工程师的核心方向全景概览 | 序号 | 方向 | 核心任务 | 关键技术 | 应用场景 | 代表公司 | | ----- | --------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------ | | 1 | [[大模型算法工程师]] | 研发与优化超大规模预训练模型(LLM/CV多模态),追求通用人工智能(AGI),涵盖基座模型训练、下游任务适配(微调)、推理加速及落地应用。| Transformer架构、预训练、提示工程(Prompt Engineering)、人类反馈强化学习(RLHF)、智能体(Agent)| 智能对话(ChatGPT)、代码生成(GitHub Copilot)、内容创作、行业大模型(金融、医疗)| OpenAI、Google DeepMind、Anthropic、百度、阿里、字节跳动、华为、微软、Meta | | 4 | [[自然语言处理 NLP]] | 处理和理解人类语言,实现人机自然交互,与大模型深度融合。| 预训练语言模型、文本生成、信息抽取、机器翻译、[[情感分析]] | [[智能客服]](阿里小蜜)、机器翻译(Google Translate)、舆情分析、金融风控文本分析、代码补全(GitHub Copilot)| 微软、Google、阿里、腾讯、IBM、金融科技公司(平安科技、招商银行)| | 2 | [[搜广推]] | 构建连接用户与信息/商品/服务的核心系统,是互联网业务的流量与收入引擎。追求精准匹配、推荐个性化、广告商业价值与用户体验的平衡。| 召回与排序、查询理解、CTR/CVR 预估、大规模稀疏建模、[[强化学习(Reinforcement Learning)]]、A/B 实验平台 | 电商平台(淘宝、京东)、内容平台(抖音、小红书)、搜索引擎(Google、百度)、广告系统(字节穿山甲、Google Ads)| 阿里巴巴、字节跳动、腾讯、百度、Google、Amazon、Meta、Pinterest | | 7 | 运筹优化/决策智能方向 | 构建模拟与算法进行最优决策,以实现效率提升或成本节约。| 强化学习、图算法、组合优化、仿真系统、数学规划、[[进化算法]]、[[遗传算法]] | 物流路径规划(菜鸟网络)、网约车行程调度(滴滴)、仓储管理、生产排程 | 滴滴、美团、阿里菜鸟、顺丰科技、Shein、Amazon | | 5 | 用户画像与数据挖掘方向 | 分析海量用户数据,构建标签体系,是精准营销与个性化服务的核心。| 大数据处理(Spark/Flink)、[[特征工程]]、聚类算法、[[知识图谱]]、Lookalike | 广告精准投放、金融信用风控评估、用户增长与运营、社交网络分析 | 各大型互联网公司(阿里、字节、腾讯)、美团、滴滴、金融机构 | | 3 | 计算机视觉(CV)方向 | 使机器能够“看”懂图像和视频内容,并从中提取信息或生成新的视觉内容。| 深度学习(CNN、Transformer)、目标检测与跟踪、图像分割、生成模型(GAN、Diffusion)| 手机影像(华为、苹果)、自动驾驶(特斯拉、Waymo)、安防监控(海康威视)、工业质检、内容生成(Midjourney)| 商汤科技、旷视科技、华为、阿里云、海康威视、特斯拉、NVIDIA | | 6 | 异常检测方向 | 从数据中自动发现异常模式、异常事件或潜在风险,实现监控与预测。| 统计建模、孤立森林、图神经网络、时序异常检测、[[自动编码器(Autoencoder)]] | 金融风控(支付)、设备故障预测(宁德时代)、网络安全入侵检测、电商风险识别 | 金融机构(蚂蚁集团、Visa)、云计算与安全公司(阿里云、AWS、Cloudflare)、大型制造业 | # Cues # Notes 为什么做NLP算法让我痛苦呢,主要就是因为理想与现实的差距,我学习算法的时候以为到工作岗位就是自己动手搭建模型,然后对模型进行结构调优、参数调优,然后做出一个比之前效果更好的模型; 而实际情况就是NLP的算法模型都是非常通用的,开源的代码和调好的参数国外的大学和顶级科研机构早就帮你写好了,在工作场景中在模型层面根本没有你发挥的空间,每天的工作就是在清洗训练语料库,修正badcase,加缓存cache,尝试不同分词策略;做的事情可以说是让我觉得无聊至极,所以那段时间每天一边在继续学习各个领域的算法知识,一遍在找工作岗位中哪些方向可以做和模型相关的算法;后面发现向NLP、图像领域这种通用型强的算法,绝大多数最优秀的论文都是出自大学或者研究机构,很少有研究成果是由科技公司的算法部门做出来的,而广告、推荐、搜索相关的算法一般都是各个科技公司的算法部门提出的;这可能是因为图像和NLP属于通用科学,不依赖应用场景且有很多开源的高质量训练数据集,所以科研机构和大学做这些方向上的探索就会更加方便;而搜索、广告、推荐和业务相关性很强,通用型不强,非常依赖自有业务数据,所以前沿的模型一般都是由各个公司的业务算法团队提出的;结合我个人的偏好,最终决定转去做推荐相关的算法公司;后面就跳槽去了其他公司做推荐算法,而事实证明确实推荐算法就比较符合我对算法工作的预期,虽然大部分时间还是在做特征工程+相关的数据工作,但是至少有20%-40%的时间是要去做模型优化相关的工作的,所以整体工作内容还是非常符合自己的预期;而且推荐算法的工作不确定性非常的强:一个模型结构在谷歌的业务场景效果很好,但是在自己的业务场景效果好不好就不一定了,一个看似很重要的特征加了可能不一定有效果,而一个看似很简单的label修正操作带来的效果提升可能比优化两个月模型结构带来的提升很大;还有每年都有一大堆算法相关的新论文发表,你需要结合自己的业务去筛选那些可能会来收益的点去进行尝试,可以说基本每天都要学习;而就我个人而言我很喜欢这种不确定性,他不会让工作变的成枯燥无味; 你这个提问属于:“职业路径 / 学习路线规划(算法工程师方向)”这一经典问题的变体——更具体地说是“已具备基础(XGBoost/BERT/Transformer),面向搜索/推荐/NLP/LLM 的进阶技能树 + 项目与面试准备”。 下面给你一条T 型成长路线:横向打牢工程与实验能力,纵向在搜索、推荐、NLP/LLM三条赛道各自深入到能独立落地。 ⸻ ## 一、技能树总览(横向通用) 你已会 [[XGBoost]]、[[BERT]]/[[Transformer架构]],下一步关键是“工程化 + 评估 + 系统化”。 ### 1. 工程与数据基础 • [[Python]](typing、pydantic、async、并发)、C++(性能/内存基础可选) • [[数据结构和算法]](哈希、堆、图、Trie、倒排索引、ANN 结构 HNSW/IVF、Bloom/Count‑Min) • [[Linux@]]、[[Git]]、[[Docker]]、Kubernetes(能把训练/服务打包上线) • 数据栈:[[SQL]]、Spark/Flink、Kafka、Parquet;特征计算与一致性(离线/在线一致)现在早已经不是对算法工程师毫无要求啃啃西瓜书就可以的时代了。算法工程师构建模型需要大量数据,这些数据需要辅助大数据工具来完成,因此你需要学习spark、sql、hive、mr、[[Flink]]、[[HDFS]]等等的使用和比较基本的原理,了解分布式的基本原理和思想,大数据错误排查和解决(什么数据倾斜、数据膨胀、数据错误),帮助你高效的构建训练数据。课程推荐:黑马、尚硅谷、尚学堂都还可以,B站搜索都可以免费看,spark我推荐尚学堂的,比较清晰和简洁,知识不冗余。 ### 2. 实验与MLOps • 版本与实验:MLflow/W&B;A/B 测试、统计显著性、功效分析 • 特征与服务:[[Feature Store]](如 [[Feast]] 的理念)、在线特征回填/延迟容忍 • 监控:数据质量、漂移、延迟/吞吐、成本(GPU/内存/网络)、报警 ### 3. 评估方法与因果/偏置 • 离线指标:[[AUC]]/LogLoss、MRR/MAP/NDCG、Recall@K、Coverage/Diversity/Calibration • 在线指标:[[CTR]]/CVR/GMV、留存、时延;多目标权衡(Pareto/约束优化) • 观测学习偏置:Propensity/IPS、反事实学习(Unbiased LTR/反馈延迟修正) ### 4. 高性能与部署 • 向量检索与近似搜索([[FAISS]]/HNSWlib/ScaNN,分片与量化) • 模型加速:蒸馏、剪枝、[[模型量化]](INT8/FP8)、张量并行/流水并行、FlashAttention • 服务化:[[vLLM]]/Triton/Ray Serve、批量请求(batching)、缓存([[KV-cache]] / 特征缓存) ## 二、分方向路线 ### A. 搜索(Information Retrieval / Ranking) 你要会的: • 检索两大范式:词法检索(倒排、[[BM25]]/QL)与[[向量检索]](双塔/Bi‑Encoder、ColBERT、SPLADE 等) • Learning‑to‑Rank:点对/成对/列表式(Cross‑Entropy、BPR、LambdaRank/LambdaMART) • 召回→粗排→精排→重排→后处理 的级联架构;查询理解(拼写纠错、意图分类、改写) • 索引工程:构建/更新/分片、冷热分层、倒排合并;ES/OpenSearch/Lucene 的基本用法 • 评估:Recall/MRR/NDCG、Query‑level 分析、长尾与新鲜度;离线与线上一致性 建议项目(择一做深): 1. 电商检索端到端:BM25 + 向量召回(FAISS HNSW)+ Cross‑Encoder 重排 • 数据:如商品标题/类目/点击日志 • 指标:Recall@100、NDCG@10、在线 CTR 提升模拟 • 加分:SPLADE 稀疏向量、语义改写、倒排与ANN的混合检索(hybrid) 2. RAG 检索优化(为 LLM 提供证据):负样本挖掘、难负采样、重排器蒸馏 • 重点:召回质量对 LLM 幻觉的影响量化;检索‑生成闭环评估 ### B. 推荐系统(RecSys) • 三段式:候选生成(双塔/图/召回池)→排序(GBDT/DeepFM/CTR/CVR)→重排(多样性/规则/约束) • 经典模型:FM/FFM/DeepFM、DSSM/双塔、YouTubeDNN、DIN/DIEN、NCF/GRU4Rec、MMoE/Multi‑Task • 探索‑利用:ε‑Greedy、UCB、Thompson、延迟反馈/保留策略、长期目标/约束优化 • 业务关键:冷启动、曝光/位置偏置、去重与多样性、内容理解(文本/图像多模态) • 工程化:特征一致、时序切分、实时拼接、延迟预算、Bucket/灰度发布 建议项目: 1. MovieLens/电商行为推荐端到端 • 双塔召回 + LightGBM/DeepFM 排序 + 规则重排 • 指标:AUC/LogLoss、Hit@K、Diversity/Novelty、覆盖率 • 加分:Bandit 重排、长期回报(简化版 RL) 2. 多目标排序(如 CTR×CVR×GMV) • MMoE/PLE 多任务;在线指标的权重/约束学习与离线代理的一致性 ### C. NLP / LLM • 预训练与指令微调:MLM/CLM、SFT、DPO/RLHF 的对比与数据构造 • 参数高效微调:LoRA/QLoRA/Adapters;蒸馏(CE/Contrastive/RLHF‑to‑DPO 转化) • 对话与工具调用:函数调用、Planner‑Executor、检索/工具/代码执行融合 • 长文本与结构化输出:JSON 约束、Schema 对齐、思维链控制与评测 • RAG 系统:嵌入选择、向量库(Milvus/Qdrant/FAISS 等)、重排(Cross‑Encoder/monoT5)、去重与证据归并 • 评估与安全:困惑度/任务指标(BLEU/ROUGE/F1)、人评流程、敏感信息/越狱/偏见治理 建议项目: 1. 中文领域问答/客服助理:自建知识库 + RAG + 工具调用(如库存/价格查询 mock) • 指标:检索 Recall/NDCG、回答正确率、引用率、幻觉率 • 加分:将重排器蒸馏到双塔,降低时延与成本 2. 小规模指令微调:选 3‑7B 开源基座,做 LoRA/QLoRA + DPO • 重点:数据去重/清洗、拒答与安全样本、推理长度与成本权衡 ## 三、系统化准备清单 ### 知识与工具(按优先级) • 检索/搜索:BM25/语言模型检索、LTR(LambdaMART)、Pyserini/Anserini、Elasticsearch/OpenSearch、FAISS/HNSW、ColBERT 思想、SPLADE/稀疏检索 • 推荐:[[LightGBM]]/TF‑Ranking、DeepFM/双塔/NCF、序列建模(GRU4Rec/Transformer)、Bandit 基础 • NLP/LLM:HuggingFace Transformers/Datasets/Tokenizers、[[PEFT]]、vLLM/Triton、评测(MMLU/CEval 思想层面)、RAG 组件 • 数据与工程:Spark/Flink、Kafka、Airflow/Dagster、MLflow、Feast(理念) • 性能优化:向量量化、蒸馏/剪枝/量化、批处理/并发、缓存策略 • 统计与因果:A/B、p 值/功效、IPS/DR、自举置信区间 ### 方法论 • [[强基线]]:搜索用 BM25+LambdaMART;推荐用“GBDT + 精心特征”;LLM 用“RAG + 小规模指令微调”。 • 指标先行:先定义离线指标与线上代理,再做建模。 • 分层调参:召回→排序→重排逐层压缩瓶颈与时延。 • 可解释/可回放:数据、特征、模型与配置可追溯;一键重现实验。 ## 四、12–16 周进阶计划(可直接执行) 第 1–4 周:打地基 • 搜索:实现倒排索引与 BM25;上手 ES/OpenSearch;做一个小型 BEIR/自建语料检索实验 • 推荐:[[MovieLens]]:GBDT 基线 + 10 个高质量特征;AUC>0.80(示例目标) • LLM:搭好 HF 训练/推理与 vLLM 服务;做一个 3–7B 的 LoRA “Hello, SFT” 第 5–8 周:端到端项目 1(搜索或推荐二选一做深) • 搜索:BM25 + 向量召回(FAISS/HNSW)+ Cross‑Encoder 重排(对比纯 BM25 提升) • 推荐:双塔召回 + DeepFM 排序 + 规则重排(覆盖率/多样性) • 工程:数据管道(Airflow)、实验追踪(MLflow)、服务化(Docker/K8s) 第 9–12 周:端到端项目 2(RAG/LLM) • 构建企业知识库 RAG(增量索引 + 去重聚合 + 证据引用) • 做一次 DPO/偏好对齐的小实验;加入安全/拒答样本 第 13–16 周:打磨与性能 • 向量量化/ANN 调参、重排蒸馏、端到端时延优化(P95/P99) • 写技术报告 + 评估看板,产出可展示 Demo ## 五、作品集与交付物(招聘最看重) 每个项目都准备以下四件套: 1. README:问题定义、数据、方案图、指标、结论与失效分析 2. 可复现实验脚本:一键跑通;固定随机种子;MLflow 链接 3. 在线 Demo:REST/gRPC 接口 + 压测结果(QPS/时延/显存) 4. 对比表:基线 vs 你的方法(含统计显著性) 推荐作品选题(四选二做深): • Hybrid Search(BM25+ANN)+ Cross‑Encoder 重排 • 双塔召回 + DeepFM 排序 + Bandit 重排 • 企业 RAG(含去重/证据引用/长文切片策略) • 小规模指令微调 + DPO,对比 RAG‑Only 的性价比 ## 六、面试准备清单 • 编码:LeetCode 中等题为主(数组/字符串/堆/图/并查集/二叉树/滑窗) • 机器学习/统计:Bias‑Variance、正则化、采样偏差、A/B 与功效、因果/IPS • 搜索/推荐/LLM 专项: • 搜索:BM25 原理、LTR 损失、负采样、ES/Lucene 基本结构、NDCG 计算 • 推荐:曝光/位置偏置、双塔与特征一致、延迟反馈、冷启动、多目标排序 • LLM:SFT vs DPO/RLHF 区别、LoRA/QLoRA、RAG 架构、幻觉成因与治理 • 系统设计:高可用/扩展性、分片与一致性、缓存、幂等、灰度发布/回滚 • 业务案例:如何用 2 周把搜索 Top‑K 的 NDCG 提升 2 个点?说清指标、方案与权衡 ⸻ 七、你现在就可以开始的“一周冲刺” • 选题:Hybrid Search 最小可行版 • D1–D2:准备数据(100k–1M 文档),建倒排+FAISS/HNSW;实现检索接口 • D3:Cross‑Encoder 重排;产出 NDCG/MRR 报告 • D4:加 Query 改写(同义/拼写/意图),看召回变化 • D5:写 README + 指标看板;录个 2 分钟演示视频 • D6–D7:梳理面试话术(问题定义→方案→权衡→数据与评估→上线与成本) ⸻ 小结 • 你已经有了 XGBoost + BERT/Transformer 的良好起点。 • 往前走的关键是:工程化(数据/服务/性能)、评估与因果(让指标会说话)、系统能力(把召回‑排序‑重排和 RAG 串成闭环)。 • 以上路线覆盖“学什么(知识 & 工具)”和“怎么准备(项目 & 面试 & 交付物)”。按 12–16 周计划推进,两个可复现的端到端项目+完善的评估报告,基本能满足搜索/推荐/NLP/LLM 岗位的核心要求。