一些大模型算法的面试QA

Q1、大模型微调过程,模型参数调整经验;

如何降低幻觉,项目里agent的具体工程流程,

数据预处理,和dify使用,qwen等国内主流模型了解,vllm模型部署经验。

A1:

(1)大模型微调:参数调整经验

LoRA 策略: 我通常将 rrr (Rank) 设定在 8 到 64 之间。经验表明,对于特定任务(如提取信息),r=8r=8r=8 足够;但对于复杂逻辑任务(如代码生成),我会提升至 r=64r=64r=64。同时,α\alphaα (Scaling) 通常设为 2r2r2r

学习率(LR): * 全量微调:通常设为很小,如 1e−51e-51e−5 或 2e−52e-52e−5 LoRA/QLoRA:可以稍大,如 1e−41e-41e−4 或 2e−42e-42e−4

关键经验: 我会使用 Cosine 学习率调度器 配合 Warmup(通常占总步数的 5%-10%),防止模型在初期梯度爆炸

训练目标: 监控 Train Loss 和 Eval Loss 的鸿沟。如果 Eval Loss 开始回升,立即通过 Early Stopping 或降低学习率来防止过拟合

(2)降低幻觉

RAG(检索增强): 这是最立竿见影的工程手段。通过将外部可信知识库向量化,在 Prompt 中强制要求模型"仅根据以下上下文回答"。

SFT 数据治理: 在微调数据中加入"诚实性样本"。即对于无法回答的问题,训练模型说"对不起,根据已有信息我无法回答",而不是强行预测下一个 token。

验证环节(Self-Reflection): 在 Agent 流程中加入一步"自审",让模型检查自己的答案是否与检索到的事实冲突。

(3)Agent具体的工作流程

规划 (Planning): 将复杂目标拆解为子任务(子目标)

记忆 (Memory): * 短期: 通过 ChatHistory 维持上下文。长期: 将历史交互存入向量数据库,按需召回。

工具调用 (Tool Use): LLM 输出结构化 JSON 或特定格式(如 Python 代码),由后端 Executor 执行 API 请求或数据库查询

迭代反馈: 获取工具执行结果后,重新输入模型进行下一步决策

(4)数据预处理

清洗: 正则过滤 HTML 标签、特殊符号、去敏感信息 (PII)。

去重: 使用 MinHash + LSH 算法进行语料库级别的大规模去重,防止模型复读机。

质量筛选: 使用小模型(如 Qwen-1.8B)或规则对语料进行打分,剔除逻辑不通或回复过短的低质数据。

构造 Instruction: 针对 GRPO 或 SFT 任务,将原始文本转化为"User: {Instruction} \n Assistant: {Response}"的多轮对话格式。

(5)Dify使用与国内主流模型

Dify: 我在项目中利用 Dify 快速搭建 RAG 原型。它的优势在于 Prompt 编排的可视化 和 内置的数据切片优化。我会通过 Dify 调用后端 API,实现业务逻辑的解耦。

(6)vLLM模型部署经验

PagedAttention: 这是 vLLM 的核心。它模仿操作系统内存管理,将 KV Cache 存储在非连续的物理空间,彻底解决了显存碎片化问题,支持更高的并发量。

Continuous Batching: 允许在旧请求结束前插入新请求,极大提升了 GPU 利用率。

Q2:Dify

Dify 的作用: Dify 不仅仅是 UI,它是 Prompt IDE 和 RAG 工作流引擎

Q3:P-tuning、LoRA 与 DPO

P-tuning: 只训练插入在输入端的 可学习 Embedding(Virtual Tokens)

LoRA:通过低秩分解 W=W0+ΔW=W0+BAW = W_0 + \Delta W = W_0 + BAW=W0+ΔW=W0+BA,只训练 BBB 和 AAA 两个小矩阵。

DPO:直接偏好优化。跳过奖励模型(RM),直接在偏好对上计算 Loss,使模型更倾向于选好的答案。

Q4:微调的关键趋势:现在更强调数据多样性和质量(Synthetic Data)。我们通常会剔除低质量回复,并利用模型自我生成(Self-Instruct)来扩充推理类数据。

关于 DPO (Direct Preference Optimization): 我经常使用 DPO。相比传统的 RLHF(PPO 算法),DPO 不需要训练奖励模型 (Reward Model),直接在偏好数据(Chosen/Rejected)上优化。它训练更稳定、显存占用更小,且在对齐模型价值观和减少幻觉方面表现极其出色。

Q4:RAG的技术路线

RAG(检索增强生成)目前已经从朴素架构进化到了高级架构:

数据处理(Ingestion):文档清洗 -> 语义分块(Chunking)-> 向量化(Embedding)-> 存入向量数据库。

检索(Retrieval):根据 Query 搜索最相关的 Top-k 文本块。

增强(Augmentation):将检索到的上下文与原始 Query 拼接,构建 Prompt。

生成(Generation):送入 LLM 生成回答。

前沿演进:GraphRAG(结合知识图谱)、Modular RAG(加入重排序 Rerank 和查询重写 Rewrite)。

RAG 过程中的影响因素与评价

影响阶段:

检索前:Query 解析是否准确(Query Expansion)。

检索中:索引质量、向量相似度计算、召回率。

检索后:**Rerank(重排序)**至关重要,决定了输入给 LLM 的上下文相关度。

生成阶段:LLM 的上下文窗口大小及其处理长文本的能力(是否存在"Lost in the Middle"现象)。

评价体系 (RAGAS 框架):

忠实度 (Faithfulness):回答是否来自于检索到的文档。

答案相关性 (Answer Relevance):回答是否解决了用户问题。

上下文精确度 (Context Precision):检索到的文档是否真的有用。

在 RAG 项目中,我通常做以下优化:

微调 Embedding 模型:使用业务领域的语料进行对比学习(Contrastive Learning),如使用 BGE 或 m3e 并在垂直数据上 Fine-tune。

多尺度表征:使用 Matryoshka Embedding(俄罗斯套娃嵌入),支持动态调整向量维度以兼顾检索速度与精度。

混合检索(Hybrid Search):向量检索(语义)+ BM25(关键词)进行加权融合。

指令化 Embedding:在 Embedding 前加入指令前缀(Instruction),区分是检索文档还是检索代码。

Q5:RAG框架

LangChain:生态最丰富,但封装过深,调试比较困难(Debug 像开盲盒)。

LlamaIndex:专为 RAG 设计,数据连接器(Data Connectors)和索引结构(Index Structures)非常强大,适合处理复杂异构数据。

Haystack:流水线(Pipeline)设计非常优雅,适合生产环境部署,模块化程度高。

Q6:DS、Qwen、ChatGLM

DeepSeek:MoE 架构做得极好(DeepSeek-V3),独创 MLA(多头潜在注意力) 大幅降低推理成本。

Qwen:预训练数据量极大且干净,在 代码(Coding)和数学 领域处于第一梯队,对中文语境理解极深。

ChatGLM:自研 GLM 架构(非纯 Decoder-only),在长文本处理、工具调用(Function Call)上积累深厚。

Q7:MCP

是的,我保持着高度关注并已有实践。 MCP (Model Context Protocol) 是由 Anthropic 发布的开放标准。它解决了 Agent 开发中最大的痛点:数据源/工具集成标准不统一。

应用价值:通过 MCP,我可以一次性为模型连接 Google Drive、GitHub、本地数据库,而不需要为每个工具写冗长的连接代码。

实战感悟:它极大地简化了 "上下文提取" 的复杂性,让模型能以标准化的方式安全地访问私有数据,是未来 Agent 生态标准化的核心。

相关推荐
人工智能培训5 小时前
DNN案例一步步构建深层神经网络(二)
人工智能·神经网络·大模型·dnn·具身智能·智能体·大模型学习
人工智能培训1 天前
什么是基于大模型的智能体构建?
人工智能·深度学习·大模型·具身智能·智能体·智能体构建·大模型智能体
Heyxy1 天前
RobustMerge—— 无训练的 PEFT 模型融合方法,从低秩分解视角揭示方向鲁棒性对 PEFT 融合的作用
人工智能·深度学习·机器学习·大模型
Sherlock Ma1 天前
AI大模型面试题集锦:(1)基础入门题
人工智能·pytorch·自然语言处理·大模型·跳槽·机器翻译·改行学it
梁辰兴1 天前
OpenAI更新ChatGPT Images:生成速度最高提升4倍,原生多模态模型
人工智能·科技·ai·chatgpt·大模型·openai·图像生成
被制作时长两年半的个人练习生1 天前
【大模型】happy-llm笔记
笔记·大模型·llm
模型启动机1 天前
微软确认:Windows 11 AI 智能体访问用户文件前会先请求许可
人工智能·microsoft·ai·大模型
人工智能培训1 天前
DNN案例一步步构建深层神经网络
人工智能·深度学习·神经网络·大模型·dnn·具身智能