第一部分:知识体系框架

  1. 基础基石:深度学习与NLP/CV核心
  • Transformer架构:(基本必考)Self-Attention、Multi-Head Attention、Positional Encoding(正余弦、RoPE、ALiBi)、Feed-Forward Network、LayerNorm、残差连接。手撕Multi-Head Attention代码。

  • CV基础:CNN(ResNet)、ViT(Vision Transformer)原理、图像Patch Embedding、位置编码。

  • NLP基础:词袋模型、ngram、马尔科夫链

  • 语音基础:声音(如频率、幅度)、TTS、ASR

  • 其他:如eeg

  • 基础NLP/CV任务:语言建模(LM)、文本分类、目标检测(如DETR)、图像分类、分割。

  1. 大语言模型 (LLM) 核心
  • 架构变体:Causal Decoder (GPT系列)、Encoder-Decoder (T5)、Prefix LM。为什么现在主流Decoder-only?

  • 预训练:Next Token Prediction,数据来源与清洗,Tokenizer(BPE, SentencePiece)。

  • 高效训练:混合精度(FP16/BF16)、梯度累积、ZeRO优化器(Stage 1/2/3)、FlashAttention 1&2。

  • 参数高效微调 PEFT:LoRA(原理、为什么能减少参数、合并方式)、Adapter、Prefix Tuning。面试很喜欢问LoRA。

  • 对齐技术:RLHF(奖励模型、PPO算法)、DPO(直接偏好优化,更简单常见)。了解基本流程和区别。

  • 推理优化:KV-Cache、量化(GPTQ, AWQ, GGUF)、推测解码。

  1. 多模态核心
  • 常见范式

    • 对齐:CLIP, ALIGN (双塔模型,对比学习)。CLIP的InfoNCE loss,训练细节。

    • 融合:LLaVA, Flamingo, BLIP-2, Qwen-VL, InternVL。

  • 关键组件与技术

    • 视觉编码器:CLIP-ViT, SigLIP, DINOv2。为什么用冻结的预训练ViT?

    • 连接器/适配器:MLP Projector (LLaVA), Q-Former (BLIP-2), Perceiver Resampler (Flamingo)。它们的作用。

    • 位置注入:绝对/相对位置,2D RoPE。

    • 多模态训练阶段:预训练(图-文对)-> 指令微调(多模态对话数据)-> 对齐/DPO。

  • 高级能力:视频理解(帧采样、时空注意力)、Referring expression分割/检测、具身智能基础、Any-to-Any(如NextGPT, AnyGPT)。

  1. 工程与工具
  • 深度学习框架:PyTorch (必须精通,尤其是nn.Module, Dataset, Dataloader, autograd)。

  • 分布式训练:torch.distributed,torchrun,NCCL。

  • 常用库:HuggingFace (transformers, datasets, peft, accelerate), DeepSpeed, vLLM, XTuner, LLaMA-Factory。

  • 评估基准:MMLU, C-Eval (文本);MMBench, SEED-Bench, MME, MMMU, MathVista (多模态)。

常见题

Self-Attention的计算过程,包括Q, K, V是怎么来的,公式是什么,以及为什么需要除以dk\sqrt{d_k}dk ?另外,Multi-Head Attention是如何工作的?

LoRA(Low-Rank Adaptation)是目前微调LLM最常用的方法。请解释LoRA的核心思想——它如何做到“参数高效”?假设我们要微调一个7B的模型,使用LoRA(rank=8)大约能节省多少参数量和显存?最后,在推理时,我们是否需要保留原始的base model和LoRA weights两个文件?

请描述CLIP的训练过程——它的batch组成、损失函数的形式(InfoNCE)。另外,CLIP有什么明显的缺点?比如在细粒度任务(计数、属性识别)上为什么表现不佳?

请说明LLaVA(Large Language and Vision Assistant)的核心架构。它有哪些训练阶段?每个阶段分别冻结/更新哪些模块?(例如:视觉编码器、MLP连接器、LLM)。如果你来改进LLaVA,你会怎么做?

假设我们要在8张A100(80G)上训练一个7B的LLM + Vision Encoder(~300M参数)。如果使用bf16混合精度,需要多大的显存?你会采用哪些分布式并行策略(DP, ZeRO, TP, PP)?如何用HuggingFace的accelerate或DeepSpeed配置实现?

设计一个小型多模态模型,能够根据用户的口语描述,从一张复杂的街景图中“高亮”出所有红色车辆。不用考虑实时性,请描述你的模型架构、损失函数、训练数据构造方法。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐