草稿
FAQ
本节用问答方式,带你洞悉 AI 世界的关键问题。
本文汇总了 AI 领域的常见问题及解答,涵盖基础概念、技术原理、应用场景等,旨在帮助读者快速理解和掌握 AI 相关知识。
量化与蒸馏的区别是什么?
- 量化(Quantization):通过降低模型权重和激活的数值精度(例如 FP32 → INT8/FP16),减少内存占用和推理计算量。优点是部署更轻量,但可能有精度损失。
- 蒸馏(Distillation):通过让小模型(student)学习大模型(teacher)的知识,得到一个结构更小、性能更优的模型。优点是保持较高精度并提升泛化能力,但训练成本较高。
常见的大模型优化技术及使用场景
- 混合精度训练(Mixed Precision Training):结合使用 FP16 和 FP32,提升训练速度和显存利用率 → 适合大规模模型训练。
- 低秩分解(Low-Rank Factorization):将权重矩阵分解为低秩近似,减少参数量 → 适合模型压缩与加速。
- LoRA(Low-Rank Adaptation):在权重矩阵中插入低秩分解,只训练小部分参数 → 适合下游微调。
- PEFT(Parameter-Efficient Fine-Tuning):总称,包括 LoRA、Prefix-Tuning、Adapter 等 → 在资源有限的情况下做专用任务微调。
- PagedAttention:优化显存分配,把注意力 KV cache 存放在 CPU/GPU 分页内存中 → 适合长文本推理。
大模型本地部署的优化有哪些?
- 选择轻量模型(如 LLaMA 2、Mistral)或蒸馏模型(如 Vicuna、Alpaca)。
- 使用 量化(如 GPTQ、AWQ、GGUF),降低内存需求。
- 利用 轻量推理框架(llama.cpp、MLX、vLLM)。
- 调整 batch size、上下文长度,权衡显存与速度。
- 针对 Mac,优先选择 MLX(Apple Silicon 优化)或 Metal 后端。
FlashAttention、PagedAttention、llama.cpp、MLX 的区别?
- FlashAttention:优化注意力计算的 CUDA kernel,极大加速 GPU 上的训练/推理。
- PagedAttention:为 KV cache 引入分页机制,减少长文本推理的显存压力。
- llama.cpp:纯 C++ 实现,支持 GGUF 量化格式,跨平台(CPU/Mac GPU)部署。
- MLX:Apple 官方推出的机器学习框架,专门针对 M 系列芯片优化。
GitHub 用户如何快速熟悉 Hugging Face?
- 类比 GitHub:Hugging Face Hub 就像模型代码的 GitHub,支持 git clone/push。
- 核心工具:学会使用 transformers、datasets、accelerate。
- 快速入门路径:
- git lfs 克隆模型仓库;
- from transformers import AutoModel 加载模型;
- 熟悉 spaces 和 datasets。
LLM 和 Stable Diffusion 的区别?
- LLM(Large Language Model):主要处理文本(生成、推理、对话)。
- Stable Diffusion:扩散模型,主要处理图像(从噪声生成图像、编辑图像)。
- 核心区别:前者是 序列预测,后者是 扩散采样。
如何理解 MoE,与 LLM 的关系?
- MoE(Mixture of Experts):把模型分成多个专家子网络,推理时只激活其中一部分,减少计算量。
- 与 LLM 关系:MoE 是 LLM 的一种架构优化(比如 Qwen2-MoE),能在保持参数规模的同时,降低推理成本。
如何通过参数了解大模型的能力、场景和需求?
在 Hugging Face 或 GitHub 上,主要看以下指标:
- 模型大小:参数量(B)、层数 → 影响显存和精度。
- 上下文长度(context length):能处理的最大 token 数。
- 精度/量化格式:FP32、FP16、INT8、GGUF → 影响运行速度和内存需求。
- 支持模态:仅文本 / 文本 + 图像 / 文本 + 语音。
- Benchmarks:MMLU、HumanEval、MT-Bench → 评估能力。
- 硬件需求:官方 README 通常会标注推荐显存/内存配置。