AI 算法面试知识点整理备忘

一、模型类

1.1 核心架构

Transformer / BERT / LLM 的关系

  • Transformer(2017):一切的基础。「Attention is All You Need」,用自注意力替代 RNN,解决了并行化和长距离依赖问题。
  • BERT(2018):只用 Transformer 的 Encoder 部分,双向预训练 + MLM 任务,适合「理解」类任务。
  • LLM(GPT 系列、Llama 等):只用 Transformer 的 Decoder 部分,自回归生成,适合「生成」类任务。

GPT 与 Llama

  • GPT 系列:OpenAI 的看家模型,从 GPT-1 到 GPT-4,Decoder-only 架构。核心思路:更大的参数 + 更多的数据 = 涌现能力。
  • Llama 系列:Meta 开源路线。Llama 3 是目前最强开源模型,数学和代码能力接近 GPT-4。有中文微调版本。
  • GLM 早期模型:清华系的 Encoder-Decoder 混合架构,后来 ChatGLM 转向了 Decoder-only。

多头注意力(Multi-Head Attention)

  • 核心思想:不做一次注意力,而是拆成多个「头」,每个头关注不同子空间的信息,最后拼起来。
  • 为什么有效:不同头可以关注不同语义(语法、指代、语义相似等)。

线性注意力(Linear Attention)

  • 传统注意力的复杂度是 O(n²),序列一长就炸。
  • 线性注意力通过核函数技巧把复杂度降到 O(n),代价是表达能力可能受损。

滑动上下文窗口(Sliding Window Attention)

  • 不让模型看全部历史,只看最近的一段窗口。
  • 降低显存、加速推理,Mistral 等模型用了这个设计。

1.2 分词与词表

Tokenizer / 分词技术

  • BPE(Byte Pair Encoding):从字符开始,逐步合并高频组合。GPT 系列用。
  • WordPiece:类似 BPE,但按似然度选合并。BERT 用。
  • SentencePiece:不依赖空格分词,直接处理原始文本。Llama 等用。
  • 词表从哪来:在预训练语料上统计/训练出来的。词表大小是性能和质量之间的权衡。

1.3 训练流程

预训练 → 微调 → 对齐

  • 预训练(Pre-training):海量数据上做自监督学习(语言模型/MLM),让模型学会语言的基本规律。
  • 微调(Fine-tuning / SFT):在标注好的指令数据上训练,让模型学会「听话」。
  • 对齐(Alignment / RLHF)
    • 先收集人类偏好数据(对同一个 prompt,人选出更好的回答)
    • 训练一个奖励模型
    • 用 PPO 等强化学习算法让模型输出更符合人类偏好

1.4 思维链与推理

CoT(Chain of Thought)思维链

  • 让模型「一步步想」而不是直接给答案,显著提升推理能力。
  • Few-shot CoT:给几个例子。Zero-shot CoT:加一句「Let's think step by step」。

DeepSeek Moment —— 追赶 o1 的推理能力

  • OpenAI o1 在推理时做「内部搜索」,类似慢思考。
  • DeepSeek 用强化学习 + 长思维链训练,在推理能力上大幅追赶。同期模型如 Qwen 也在发力。
  • 草稿模型(Draft Model):用小模型快速生成草稿,大模型校验——加速推理的一种投机采样策略。

1.5 视觉模型

ViT(Vision Transformer)

  • 把图像切成一个个 patch,像 NLP 中的 token 一样处理。
  • 「Transformer 统一视觉模态」:不再需要 CNN 特有的归纳偏置(卷积、池化),纯 Transformer 也能做视觉,打通了多模态统一架构的可能性。

二、RAG 与记忆

2.1 检索基础

Embedding 向量化

  • 把文本变成高维向量,语义相近的文本向量距离近。
  • 常用模型:text-embedding-ada(OpenAI)、BGE(BAAI)、m3e 等。

Rerank 重排

  • 向量检索召回是粗筛,Rerank 做精排。
  • 用更强的模型(如交叉编码器)对召回的 top-k 结果重新打分排序,提升相关性。

BM25 关键词检索 + 混合检索

  • BM25:经典的关键词匹配算法,TF-IDF 的改进版。
  • 混合检索 = 向量检索(语义) + BM25(关键词),互补优势。
  • 实际场景中,纯向量检索容易漏掉精确匹配,BM25 找专有名词/编号有优势。

2.2 进阶 RAG

Graph RAG

  • 传统 RAG 是检索文本块,Graph RAG 是检索知识图谱中的实体和关系。
  • 先做实体解析 → 建图 → 检索关联子图 → 大模型基于图谱回答。
  • 适合有复杂关系链条的问题(如法律、供应链分析)。

K-Means 大规模检索加速

  • 海量向量全量比对太慢。
  • K-Means 聚类 → 分层检索:先找到最近的簇心,再在簇内精确搜索,速度大幅提升。

2.3 记忆与上下文

长短时记忆

  • 类比人脑:短期记忆(当前对话窗口) + 长期记忆(外部存储/向量库)。
  • 实现方式:滑动窗口 + 摘要压缩 + 外部检索。

遗忘策略

  • 记忆不能无限积累,需要自洽的遗忘机制:
    • 频率:不常提及的逐渐淡忘
    • 时间:越久远的权重越低
    • 用进废退:最近被检索/使用过的记忆强化

突破短上下文窗口限制

  • 滑动窗口机制
  • 记忆摘要(对话压缩)
  • 外挂 RAG 检索
  • 长上下文模型(如 128K、1M token 窗口)

三、模型部署

3.1 软件层

部署资源估计

需要估算的参数:

  • 模型参数量 × 量化精度(FP16/INT8/INT4)= 显存基础需求
  • MoE vs Dense:MoE 参数量大但激活参数少,显存需求不同
  • DP / TP(数据并行 / 张量并行):多卡部署的划分策略
  • 上下文长度 + KV Cache 精度:长上下文和缓存精度直接影响显存
  • 还需要留余量给推理时的中间激活值

Chat 模版 & 输出采样

  • Chat Template:不同模型格式不同(LLaMA / ChatML / Claude 等),决定了怎么拼 system prompt、多轮对话。
  • 采样参数
    • Temperature(温度):控制随机性,越高越「跳」
    • Top-K:只从概率最高的 K 个 token 中选
    • Top-P(核采样):累积概率阈值,动态调整候选集

API 分发与负载均衡

  • 多实例部署后,需要一个分发层做负载均衡(权重轮询、最少连接等)。
  • 记录每个实例的并发数、延迟、健康状态。

开源部署框架

框架 特点
vLLM PagedAttention 优化 KV Cache,高吞吐,目前最主流
LMDeploy 上海 AI Lab 出品,TurboMind 引擎
SGLang RadixAttention,结构化生成优势
llama.cpp CPU/边缘设备推理,GGUF 量化格式

性能估算

  • 泊松分布:建模请求到达的随机性,估计排队时间
  • 关键指标:单请求速度、并发吞吐、预填充(Prefill)速度、逐 token 生成(Decode)速度

API 聚合 & 日志

  • One-API:统一多模型 API 入口
  • 日志采集改造:记录 token 消耗、延迟、错误率,用于监控和计费

3.2 硬件层

硬件采购基础

  • CPU:推理时不是瓶颈,但数据预处理和传统检索需要。核心数 > 主频。
  • 内存:模型加载到 GPU 前需要经过内存,至少 ≥ 模型大小 × 2。
  • GPU:看显存、算力(TFLOPS)、带宽。推理优先显存,训练优先算力。

软件环境配置

  • CUDA + PyTorch:版本匹配是地狱,cuda 11.8/12.1/12.4 各不同
  • Conda / Docker:Conda 管 Python 环境,Docker 管整体镜像,生产环境推荐 Docker

四、智能体(Agent)

4.1 概念与区别

Agent vs Workflow

  • 工作流(Workflow):固定的执行流程,A → B → C,可预测但没有灵活性。
  • 智能体(Agent):能自己规划步骤、调用工具、根据反馈调整,有自主决策能力。

判断标准:是否需要「动态决策」——如果路径是确定的,用 Workflow 就够了;如果需要模型自己判断下一步做什么,才是 Agent。


4.2 Agent 框架

ReAct(Reason + Act)

  • 最经典的范式:一步步思考 → 行动 → 观察 → 思考 → 行动……
  • 交替进行推理和工具调用,适合大多数工具使用场景。

ReWOO(Reason Without Observation)

  • 先一次性规划所有步骤,再批量执行,减少来回交互。
  • 适合步骤可以提前确定的场景。

Compiler 类框架

  • 把自然语言任务「编译」成可执行的计划图(DAG),类似编译器优化。
  • 适用于复杂的多步骤任务。

4.3 常用平台与库

工具 定位
LangChain 最流行的 LLM 应用框架,Agent、Chain、Tool 抽象
Dify 低代码 AI 应用平台,可视化编排 Workflow 和 Agent
FastGPT 知识库 + 对话,中文友好,私有化部署友好

4.4 Agent 的关键能力

  • 结构化解析:模型输出不能是自由文本,需要稳定的 JSON/Schema 格式,供下游消费。
  • 工具调用(Function Calling):模型学会在合适的时候生成工具调用指令。
  • 指令遵循对齐:训练时强化「按格式输出」和「正确选择工具」的能力,本质上还是对齐问题。

AI八股结合项目经历(待整理)

模型类问题:

transfomer,bert,与llm

gpt与llama

encoder decoder glm早期模型

多头注意力

线形注意力

滑动上下文窗口

tokenizer,分词技术,词表从何而来

预训练、微调、对齐(SFT、RLHF)

llama3开源最强模型,数学和代码能力勉强追逐gpt4(中文微调版),模型结构

cot 思维链的推理力量

追逐gpt-o1的 deepseek moment 强化学习(同期模型,qwen,草稿模型)

vit transformer如何统一视觉模态

rag与记忆相关:

embeding向量化

rerank重排

bm25关键词检索 混合

graph rag 图谱关系、实体解析

k-means 大规模向量点检索聚类速度优化(分层聚类)

长短时记忆

自洽闭环的遗忘策略(频率、时间、用进废退)

突破短上下文窗口限制

模型部署相关:

软:

模型部署资源估计(模型参数量、量化精度和格式、moe/dense、dp/tp、上下文长度、kv cache精度)

chat模版 输出采样(温度、topk、topp等)

api分发,负载均衡

开源部署方式(vllm、lmdeploy、sglang、llama.cpp)

模型调用压力估算,泊松分布,单请求速度、并发速度、预填充速度、推理速度

api聚合 one-api 日志采集改造

硬:

硬件资源采购、cpu、内存、gpu基础配置要求

cuda torch等基础环节配置 conda docker...

智能体类问题:

智能体与工作流的区别

ReAct、ReWoo、Compiler等Agent框架

常用产品平台或编程库 fastgpt,dify,langchain

结构化解析、工具调用、指令遵循对齐(模型算法相关)

AI 小记 重走人工智能发展史


1950 图灵测试

什么叫思考?机器能思考吗?

图灵没有纠结哲学定义,而是换了个更工程化的问法:

如果一台机器隔着屏幕和你聊天,聊到你分不清对面是人还是机器,那这台机器算不算学会了思考?

这是图灵测试。一个简单但至今仍在被讨论的标准。


1956 达特茅斯会议 —— AI 正式诞生

约翰·麦卡锡 给这个学科起了名字:Artificial Intelligence(人工智能)

当时一群人乐观地觉得:一个夏天,加足够的经费,就能搞出通用人工智能(AGI)。后来回头看,当然是太天真了。

两条路线从此分野(但能否重聚?)

符号主义:人类手写规则和知识,用逻辑推理。好处是清晰可解释,问题是规则永远写不完。

连接主义:1958 年罗森布拉特搞出了感知机(Perceptron)——深度学习的祖宗。想法是用数学模型模拟神经元。(MLP、ReLu)

但当时缺数据、缺算力,算法也还很初级。


1969 第一次 AI 寒冬

马文·明斯基 从数学上证明了:单层感知机连 XOR(异或)这种简单问题都解决不了。

神经网络路线被否定,投资中断,行业进入长达十年的寒冬。

中间也有一些进展(1966 年第一个聊天机器人 ELIZA、1968 年首个专家系统 DENDRAL),但整体上 AI 进入低潮。


1980 年代 专家系统 —— 第二次高潮

换了个思路:找来行业顶尖专家,把他们的经验写成规则,做成「专家系统」。

80 年代初还是挺成功的,比如 DEC 公司的 XCON 系统每年能省四千万美元。

1986 反向传播算法 —— 辛顿的关键贡献

辛顿(Geoffrey Hinton) 等人推广了反向传播算法(BP),让多层神经网络可以训练了。本质是:机器根据输出和正确答案的差距,反向调整每一层的权重——机器学会了自己纠错

辛顿后来被称为「深度学习之父」,2024 年拿了诺贝尔物理学奖。

同年,杨立昆(Yann LeCun) 搞出了卷积神经网络(CNN),用来识别手写数字。

1980 年代末 第二次 AI 寒冬

专家系统的老问题:规则越写越多、维护困难、缺乏泛化能力。1987 年市场崩盘,AI 又凉了。


复苏:算法、算力、数据三大要素慢慢凑齐

算法

除了前面说的 BP 和 CNN,1997 年又有了 LSTM(长短期记忆网络),解决了序列数据的梯度消失问题,是后来 NLP 革命的基础。

残差网络等等等 算法结构整活ing,LSTM看到了序列历史的重要性,未能充分解决并行问题

数据

李飞飞 2009 年搞了 ImageNet——超大规模图像数据集,1400 万张图片。没有这个,深度学习根本没东西可学。

算力

英伟达的 GPU。并行计算天然适合神经网络的矩阵运算,后来成了 AI 时代的「金铲子」。

中间还有一些重要节点:1997 年 IBM 深蓝击败国际象棋冠军(暴力穷举的巅峰,不是学习),2006 年辛顿正式提出深度学习概念。


2012 AlexNet —— 转折点

辛顿带着两个学生 伊利亚(后来 OpenAI 首席科学家)和 亚历克斯,用 GPU 训练了一个 CNN 模型 AlexNet,参加 ImageNet 比赛。

结果:断崖式碾压所有传统方法,错误率从 26% 暴降到 15%。

这件事一下验证了三件事:

  1. 神经网络这条路是对的,只是以前条件不够
  2. 大数据集是真的必要
  3. GPU 算力就是金矿

2016 AlphaGo —— 出圈

AlphaGo 4:1 赢李世石。架构是深度神经网络 + 蒙特卡洛树搜索 + 强化学习

围棋的变化比宇宙原子数还多,没法穷举、没法写规则。AlphaGo 证明了「学习」比「规则」强。

2017 年的 AlphaGo Zero 更离谱——完全从零自我博弈,不学人类棋谱,自己发现了围棋策略,有的甚至连人类几千年都没走出来过。


2017 – 2020 技术积累期

几个我觉得重要的:

  • 2017 Transformer:Google 提出的架构,「Attention is All You Need」,后来几乎所有大模型的基础
  • 2018 BERT:NLP 进入「预训练 + 微调」范式
  • 2020 GPT-3:OpenAI 的 1750 亿参数模型,展示了涌现能力——不用专门训练就能做翻译、写作、写代码

... GPT泰酷辣


2022 ChatGPT —— 机器思考和灵魂的涌现

ChatGPT 两个月用户破亿。普通人第一回直观感受到 AI 能对话、能写作、能推理。

从此 AI 从定制化技术变成了大众产品,生成式 AI时代正式开启。

之后就是大模型军备竞赛:GPT-4、llama、文心一言、智谱、千问、DeepSeek、kimi,以及各种 AI 原生应用。

多模态正在崭露头角,GPT4o,能看图,能听说,效果远超传统ASR/TTS文本语音互转。

下一步是什么,强化学习、agent?

解决steam游戏图标快捷方式变成地球

0.原因分析及解决思路

  • 桌面图标缓存出错
  • 删除桌面缓存
  • 重启桌面服务重建缓存

1.删除桌面缓存

进入C:\Users\用户名\AppData\Local,删除IconCache.db

2.重启桌面服务

方法一:

  • 打开CMD命令窗口
  • taskkill /im explorer.exe /f
  • explorer.exe

方法二:

  • 打开CMD命令窗口
  • taskkill /im explorer.exe /f
  • 重启电脑

一键修复脚本

@echo off
taskkill /f /im explorer.exe
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
start explorer.exe
cho 执行完成

一键修复脚本链接

链接:https://pan.baidu.com/s/1VBcepHFdXbfwAD32vDV46A

提取码:4045

参考

多平台多设备同步解决方案

平台

  • Apple:Mac, iPhone, iPad
  • 微软:Windows PC
  • 其他:Linux, Android

需要同步的服务

  • Zotero
  • Obsidian
  • 本地项目目录
  • yuzu
  • 备份
  • 图片

云存储

  • 带公网IPV6的家庭Windows服务器

    • Onedrive
    • iCloud
    • webdav
    • smb
    • ftp
    • alist
  • 带公网IPV4的云服务器

    • webdav
    • alist
  • alist

    • 本地
    • 百度网盘
    • 阿里云盘
    • Onedrive
    • 天翼云盘
    • 蓝奏云

技巧

Mac与Windows PC通过iCloud和Onedrive同步

以Obsidian为例,将库文件夹建立在iCloud中,在带公网IPV6的家庭Windows服务器上建立软链接,OnedriveBully保证同步

Zotero通过官方账号+云服务器webdav同步

https://jingyan.baidu.com/article/425e69e6e031aeff15fc16ea.html

PC上使用苹果备忘录

Edge访问iCloud.com,将备忘录导出为应用
https://baijiahao.baidu.com/s?id=1732543130660097482&wfr=spider&for=pc

全平台文本编辑器&剪贴板&笔记

https://zhuanlan.zhihu.com/p/555297115?utm_id=0

全平台文件局域网互传

https://zhuanlan.zhihu.com/p/564984871

模拟器游戏mod、存档同步

类似第一条,Onedrive软链接

大语言模型软硬件部署路径指南

本地

硬件

  • 大显存显卡设备(2080ti 22g)
  • 过得去的cpu和内存,推荐32g以上
  • 网络条件、硬盘

软件

上云

硬件

  • 带公网IP的云服务器

软件

  • 宝塔面板
    • 反向代理
    • SSL证书(非必要)
    • 防火墙
  • 域名解析
  • frps端口映射
    • frps
    • frps.ini

最终效果

浏览器访问webui,走到哪都能用的自建GPT

Steamdeck客户端回退

2023年6月16日,Steam客户端更新以来,Steamdeck许多功能出现问题,包括"STEAM"和"..."键无法呼出菜单、睡眠无法唤醒、手动设置GPU频率重置、震动强度设置重置、游戏模式下关机进入暗屏无法彻底关机、允许撕裂闪屏等等一系列问题,在7月仍有大量bug没有修复。在此提供一个临时回退客户端版本的方法。

需要说明的是,绝大部分bug并不是steam os固件(3.4.6、3.4.8、3.5.0等)引起的,纯粹是因为客户端client的问题,因此不需要改动steam os的固件版本即可生效。

Step 0

下载没有上述bug的旧版本客户端(5月31日版本)并解压

链接:https://pan.baidu.com/s/1ovDYPLJAcYbP_98jUllQVg?pwd=bjd6

提取码:bjd6

Step 1

断网进入桌面模式,进入后退出steam客户端

Step 2

通过文件管理器进入路径:Home/.local/share/Steam

将链接中的package文件夹复制进Home/.local/share/Steam内,对所有文件执行覆盖(overwrite)

Step 3

在断网情况下打开steam客户端,此时会显示进度条,旧版本客户端会重新编译替换掉一堆bug的新版本。

当旧版UI的登陆界面出现,则回退成功。

但客户端会在联网时自动更新到新版本,因此需要下一步操作(不得不说v社最近真的不太上心,bug一堆的版本也敢推到稳定版发布渠道)

Step 4

将下载的文件夹中的steam.cfg复制进Home/.local/share/Steam

(steam.cfg用于阻止自动联网更新,等以后bug修复的新版本出来后,可以直接删除该文件以恢复更新)

结束

这下新版本客户端带来的bug基本都不会出现了,gpu频率也能正常锁定,享受游戏吧

 

教程来自:https://www.liuyuyan.com.cn/

欢迎关注:假的布吉岛的个人空间_哔哩哔哩_bilibili