Skip to content

23. 大模型前沿方向

2025-2026 风向标:这些方向代表大模型下一波浪潮,面试中展示前沿认知是加分项


知识图谱

大模型前沿方向
├── 多模态大模型 ⭐⭐⭐ 必知
│   ├── Vision-Language Models
│   ├── 视频理解与生成
│   ├── 语音大模型
│   └── 原生多模态 vs 拼接多模态
├── 世界模型 ⭐⭐ 前沿
│   ├── 什么是世界模型
│   ├── 视频生成作为世界模型
│   └── 世界模型与 Agent
├── 具身智能 ⭐⭐ 前沿
│   ├── 大模型 + 机器人
│   ├── 视觉-语言-动作模型 (VLA)
│   └── 模拟器与现实迁移
├── 端侧大模型 ⭐⭐⭐ 生产必备
│   ├── 模型压缩(量化/剪枝/蒸馏)
│   ├── 推理框架(llama.cpp/MLX/MLC)
│   └── 手机/嵌入式部署
├── 合成数据 ⭐⭐⭐ 核心技术
│   ├── 数据飞轮
│   ├── Self-Instruct / Evol-Instruct
│   └── 合成数据质量控制
├── 模型合并 ⭐⭐ 新兴
│   ├── 线性插值 (LERP)
│   ├── SLERP / TIES / DARE
│   └── Frankenmerging
├── 可解释性 ⭐⭐ 学术热点
│   ├── 机械可解释性 (Mechanistic)
│   ├── 特征可视化
│   └── 探针 (Probing)
├── Test-Time Compute ⭐⭐⭐ 新范式
│   ├── 推理时扩展
│   ├── 树搜索 / Beam Search
│   └── Process Reward Model
├── AI for Science ⭐⭐ 交叉领域
│   ├── 蛋白质(AlphaFold)
│   ├── 药物发现
│   └── 数学推理
└── 自主进化 Agent ⭐⭐ 下一代
    ├── 自我改进
    ├── 经验积累
    └── 开放式学习

一、多模态大模型

1. ⭐⭐⭐ Q: 多模态大模型有哪几种架构?

架构一:拼接式(Cross-Modal Encoder + LLM)

图像 → 视觉编码器 (ViT) → 投影层 → LLM

文本 → Tokenizer ────────────────────┘

代表模型: LLaVA, Qwen-VL, InternVL
优点: 可复用已有 LLM,训练成本低
缺点: 模态融合不够深,视觉理解受限于投影层

架构二:原生多模态(Native Multimodal)

图像/文本/音频 → 统一 Tokenizer → 统一 Transformer → 统一解码

代表模型: GPT-4o, Gemini, Fuyu
优点: 模态融合更深,支持任意模态交错
缺点: 训练复杂,需要大规模多模态数据

架构三:混合专家式(MoE Multimodal)

图像 → 视觉编码器 → ┐
                     ├→ MoE Router → 不同专家 → LLM
文本 → Tokenizer → ┘

代表模型: CogVLM, DeepSeek-VL
优点: 不同模态激活不同专家,效率高
缺点: 路由策略复杂

各架构对比

架构代表视觉理解训练成本推理速度
拼接式LLaVA
原生多模态GPT-4o
混合专家CogVLM

2. ⭐⭐⭐ Q: 视频理解模型的挑战是什么?

核心挑战:时序建模 + 计算成本

python
# 视频 = 多帧图像序列
# 问题:1分钟视频@30fps = 1800帧 → token数爆炸

# 解决方案一:均匀采样
frames = video[::30]  # 每30帧取1帧 → 60帧

# 解决方案二:关键帧提取
keyframes = extract_keyframes(video)  # 场景变化时取帧

# 解决方案三:时序压缩
# 用 3D 卷积或时序池化压缩帧序列
compressed = temporal_pool(frames, pool_size=4)

# 解决方案四:流式处理
# 逐帧/逐段处理,维护状态
for chunk in video.chunks(duration=10s):
    state = model.process(chunk, state)

2025 年视频理解模型

模型公司特点
GPT-4oOpenAI原生视频理解,实时对话
Gemini 1.5 ProGoogle最长视频(1小时+)
Qwen-VL-Max阿里中文视频理解最强
InternVL2上海AI Lab开源视频理解

3. ⭐⭐ Q: 语音大模型的技术路线?

路线一:级联式(ASR + LLM + TTS)

语音 → ASR(语音识别)→ 文本 → LLM → 文本 → TTS(语音合成)→ 语音

优点: 各模块独立优化,成熟稳定
缺点: 延迟高(3个模型串联),丢失语音中的情感/语调信息

路线二:端到端语音 LLM

语音 → 音频编码器 → LLM → 语音解码器 → 语音

代表模型: GPT-4o(语音模式), Qwen-Audio, SALMONN
优点: 低延迟,保留语音情感信息
缺点: 训练数据难收集

关键指标

  • 延迟:端到端 < 500ms(人类对话延迟 ~300ms)
  • 情感保持:能识别并生成不同情感的语音
  • 多语言:跨语言理解和生成

二、世界模型

4. ⭐⭐ Q: 什么是世界模型?和 LLM 有什么关系?

世界模型:能够理解和模拟物理世界的 AI 模型

传统 LLM:
- 理解文本中的世界知识
- 但没有对物理世界的直接感知
- 无法预测"球从桌子掉落会怎样"

世界模型:
- 理解物理规律(重力、碰撞、因果)
- 可以预测未来状态
- 可以做"如果...会怎样"的推理

2025 年世界模型进展

模型公司方向特点
SoraOpenAI视频生成隐式学习物理规律
Genie 2DeepMind3D环境生成可交互的虚拟世界
CosmosNVIDIA机器人世界模型物理模拟器
UniSimGoogle统一模拟多模态世界模型

世界模型与 Agent 的关系

python
# 传统 Agent: 试错学习
agent.act() → environment → reward → agent.learn()

# 世界模型 Agent: 在脑中模拟
agent.imagine(action_sequence)  # 用世界模型预测结果
best_action = agent.select_best()  # 选择最优
agent.act(best_action)  # 执行

三、具身智能

5. ⭐⭐ Q: 大模型如何赋能机器人?

技术栈

感知层: 视觉(摄像头)+ 触觉 + 力觉

理解层: VLM(视觉语言模型)理解场景

规划层: LLM 分解任务("把杯子放到桌上" → 子步骤)

控制层: VLA(视觉语言动作模型)输出机器人动作

执行层: 电机控制

VLA(Vision-Language-Action)模型

python
# 输入: 图像 + 语言指令
# 输出: 机器人动作序列

class VLAModel:
    def __init__(self):
        self.vision_encoder = ViT()
        self.language_model = LLM()
        self.action_decoder = MLP()
    
    def predict_action(self, image, instruction):
        # 视觉编码
        visual_features = self.vision_encoder(image)
        
        # 语言理解
        language_features = self.language_model(instruction)
        
        # 融合 + 动作预测
        combined = concat(visual_features, language_features)
        action = self.action_decoder(combined)
        
        return action  # [delta_x, delta_y, delta_z, gripper]

代表性工作

模型机构特点
RT-2Google首个大规模 VLA
OpenVLAStanford开源 VLA
π0Physical Intelligence通用机器人基础模型
GR-2字节视频生成预训练

四、端侧大模型

6. ⭐⭐⭐ Q: 如何在手机上运行大模型?

技术路线

1. 模型压缩
   ├── 量化: FP16 → INT4/INT3(体积减小 4-5x)
   ├── 剪枝: 移除不重要的权重
   └── 蒸馏: 大模型知识迁移到小模型

2. 推理优化
   ├── llama.cpp: CPU 推理,支持 ARM NEON
   ├── MLX: Apple Silicon 专用
   ├── MLC LLM: 跨平台(Android/iOS/Web)
   └── ExecuTorch: PyTorch 官方端侧方案

3. 硬件加速
   ├── NPU: 专用神经网络处理器
   ├── GPU: 移动端 GPU(Adreno/Mali/Apple GPU)
   └── DSP: 高通 Hexagon

实际性能(2025)

设备模型量化速度体验
iPhone 16 ProQwen2.5-3BINT4~20 tok/s可用
iPhone 16 ProLlama3.2-1BINT4~40 tok/s流畅
骁龙8 Gen3Llama3.2-3BINT4~15 tok/s可用
MacBook M3Llama3.1-8BINT4~50 tok/s流畅

手机 App 实现

swift
// iOS (Swift) 使用 MLX
import MLX

// 1. 加载量化模型
let model = try LlamaModel.load("qwen2.5-3b-int4.mlxfoundation")

// 2. 推理
let response = try model.generate(
    prompt: "什么是机器学习?",
    maxTokens: 256
)

// 3. 流式输出
for token in response.tokens {
    print(token, terminator: "")
}

五、合成数据

7. ⭐⭐⭐ Q: 合成数据如何驱动模型进化?

数据飞轮

强模型生成数据 → 训练弱模型 → 弱模型变强 → 生成更好的数据 → ...

实例:
GPT-4 生成指令数据 → 微调 Llama-7B → Llama-7B 变强 → 用于标注/生成

合成数据方法

方法一:Self-Instruct

python
# 用 LLM 自动生成指令数据
def self_instruct(seed_tasks, num_generate=1000):
    tasks = seed_tasks.copy()
    
    for _ in range(num_generate):
        # 1. 随机选择几个种子任务作为示例
        examples = random.sample(tasks, k=5)
        
        # 2. 让 LLM 生成新任务
        new_task = llm.generate(f"""
        基于以下示例,生成一个新的指令任务:
        
        {format_examples(examples)}
        
        新任务:
        """)
        
        # 3. 生成回答
        answer = llm.generate(new_task)
        
        tasks.append({"instruction": new_task, "output": answer})
    
    return tasks

方法二:Evol-Instruct(进化指令)

python
# 逐步增加指令复杂度
def evol_instruct(task):
    # 深度进化:增加约束
    task = add_constraints(task)
    
    # 广度进化:扩展领域
    task = broaden_topic(task)
    
    # 复杂化:增加推理步骤
    task = add_reasoning_steps(task)
    
    return task

方法三:RLHF 合成偏好数据

python
# 用强模型生成偏好对
def generate_preference_data(question):
    # 生成多个回答
    responses = [llm.generate(question) for _ in range(5)]
    
    # 用强模型评估
    rankings = strong_model.rank(question, responses)
    
    # 构造偏好对
    chosen = responses[rankings[0]]  # 最好的
    rejected = responses[rankings[-1]]  # 最差的
    
    return {"prompt": question, "chosen": chosen, "rejected": rejected}

合成数据的质量控制

python
# 1. 多样性过滤
def filter_diversity(tasks, threshold=0.8):
    embeddings = encode(tasks)
    return deduplicate_by_similarity(embeddings, threshold)

# 2. 难度过滤
def filter_difficulty(tasks, easy_threshold=0.9, hard_threshold=0.1):
    return [t for t in tasks if easy_threshold > difficulty(t) > hard_threshold]

# 3. 正确性验证
def verify_correctness(tasks):
    return [t for t in tasks if verify_answer(t)]

六、模型合并

8. ⭐⭐ Q: 模型合并的原理是什么?

模型合并:将多个模型的权重合并成一个模型,无需训练

基本方法

LERP(线性插值)

python
# 最简单的合并
def lerp(model_a, model_b, alpha=0.5):
    merged = {}
    for key in model_a.keys():
        merged[key] = (1 - alpha) * model_a[key] + alpha * model_b[key]
    return merged

SLERP(球面插值)

python
# 在高维球面上插值,保持向量方向
def slerp(v0, v1, t):
    dot = np.dot(v0, v1)
    theta = np.arccos(dot) * t
    v2 = v1 - v0 * dot
    v2 = v2 / np.linalg.norm(v2)
    return v0 * np.cos(theta) + v2 * np.sin(theta)

TIES(Trim, Elect, Sign-Merge)

python
def ties_merge(models, base_model):
    # 1. Trim: 移除小变化
    trimmed = [trim_small_changes(m - base_model) for m in models]
    
    # 2. Elect: 投票决定每个参数的符号
    signs = elect_signs(trimmed)
    
    # 3. Merge: 按符号合并
    merged = merge_by_signs(trimmed, signs)
    
    return base_model + merged

DARE(Drop And REscale)

python
def dare_merge(models, drop_rate=0.5):
    # 1. 随机丢弃部分参数
    masks = [random_mask(m, drop_rate) for m in models]
    
    # 2. 重新缩放保留的参数
    rescaled = [m / (1 - drop_rate) for m, mask in zip(models, masks)]
    
    # 3. 合并
    return average(rescaled)

应用场景

  • 合并不同能力的模型(编程 + 数学 + 中文)
  • 合并不同语言的模型
  • 合并不同风格的模型

七、可解释性

9. ⭐⭐ Q: 机械可解释性研究什么?

机械可解释性(Mechanistic Interpretability):理解神经网络内部的工作机制

核心概念

特征(Feature)

神经网络学习到的中间表示
例如:某个神经元可能编码"是否是代码"的特征

叠加(Superposition)

神经网络在有限维度中编码更多特征
例如:768维空间可能编码了 10000+ 个特征

电路(Circuit)

神经网络中完成特定功能的子图
例如:间接对象识别电路(IOI Circuit)

研究方法

python
# 1. 激活分析
def analyze_activations(model, input_text):
    activations = {}
    
    # 钩子函数捕获中间层激活
    def hook(name):
        def fn(module, input, output):
            activations[name] = output.detach()
        return fn
    
    # 注册钩子
    for name, layer in model.named_modules():
        layer.register_forward_hook(hook(name))
    
    model(input_text)
    return activations

# 2. 特征可视化
def visualize_feature(model, layer_idx, feature_idx):
    # 优化输入使特定特征最大化激活
    input = torch.randn(1, seq_len, d_model, requires_grad=True)
    
    for _ in range(1000):
        output = model(input)
        loss = -output[layer_idx, :, feature_idx].mean()
        loss.backward()
        input.data += 0.01 * input.grad
    
    return tokenizer.decode(input.argmax(-1))

# 3. 消融实验
def ablation_study(model, layer_idx, neuron_idx):
    # 移除特定神经元,观察性能变化
    original_output = model(input)
    
    # 置零特定神经元
    with torch.no_grad():
        model.layers[layer_idx].neurons[neuron_idx] = 0
    
    ablated_output = model(input)
    
    return original_output - ablated_output

实际应用

  • 理解模型幻觉的来源
  • 检测和移除有害行为
  • 提高模型可控性

八、Test-Time Compute

10. ⭐⭐⭐ Q: Test-Time Compute Scaling 是什么?

核心思想:推理时投入更多计算,换取更高准确率

传统方式

输入 → 模型 → 输出(一次前向传播)

Test-Time Compute

输入 → 模型 → 多次推理 → 选择/聚合 → 最终输出

方法一:多次采样 + 投票
outputs = [model.generate(input) for _ in range(10)]
final = majority_vote(outputs)

方法二:树搜索
# 像下棋一样探索多个推理路径
best_path = beam_search(model, input, beam_width=10)

方法三:验证器引导
# 用验证器评估每个中间步骤
for step in reasoning_steps:
    if verifier.score(step) < threshold:
        backtrack()

Process Reward Model (PRM)

python
class ProcessRewardModel:
    """评估推理过程的每一步"""
    
    def score_step(self, problem, step, previous_steps):
        # 不只评估最终答案,评估每一步的正确性
        prompt = f"""
        问题: {problem}
        
        已有步骤:
        {previous_steps}
        
        当前步骤: {step}
        
        这个步骤是否正确?(0-1分)
        """
        return llm.evaluate(prompt)

代表模型

  • OpenAI o1/o3:推理时使用思维链
  • DeepSeek-R1:推理时动态调整思考深度
  • Qwen-3:混合推理模式

九、AI for Science

11. ⭐⭐ Q: 大模型在科学研究中的应用?

蛋白质结构预测

AlphaFold2 (2020):
- 输入: 氨基酸序列
- 输出: 3D 蛋白质结构
- 准确率: 接近实验水平

ESMFold (2022):
- 单序列预测,无需多序列比对
- 速度: 比 AlphaFold 快 60x

药物发现

传统流程: 5-10年, $10亿+
AI加速: 1-2年, 成本降低 80%

应用:
1. 分子生成: 生成候选药物分子
2. 药物筛选: 预测分子活性
3. 药物优化: 优化分子性质
4. 临床试验: 患者招募、终点预测

数学推理

AlphaProof (2024):
- 解决 IMO 竞赛题(银牌水平)
- 结合形式验证 + LLM 推理

DeepSeek-Math:
- 数学推理能力接近 GPT-4
- 使用 GRPO 强化学习训练

十、自主进化 Agent

12. ⭐⭐ Q: Agent 如何自我进化?

传统 Agent

固定能力 → 执行任务 → 完成/失败

自进化 Agent

执行任务 → 反思 → 学习 → 能力提升 → 执行更难任务

循环:
1. 执行任务
2. 反思成功/失败原因
3. 提取经验/技能
4. 更新记忆/工具/策略
5. 挑战更难任务

实现架构

python
class SelfEvolvingAgent:
    def __init__(self):
        self.skills = SkillLibrary()
        self.memory = ExperienceMemory()
        self.metacognition = MetaCognition()
    
    async def run(self, task):
        # 1. 执行任务
        result = await self.execute(task)
        
        # 2. 反思
        reflection = await self.reflect(task, result)
        
        # 3. 提取技能
        if reflection["success"]:
            skill = await self.extract_skill(task, result)
            self.skills.add(skill)
        
        # 4. 更新策略
        await self.update_strategy(reflection)
        
        return result
    
    async def reflect(self, task, result):
        """反思执行过程"""
        return await llm.generate(f"""
        任务: {task}
        结果: {result}
        
        反思:
        1. 哪些做得好?
        2. 哪些可以改进?
        3. 学到了什么?
        """)
    
    async def extract_skill(self, task, result):
        """从成功经验中提取可复用技能"""
        return await llm.generate(f"""
        基于以下成功经验,提取一个可复用的技能:
        
        任务: {task}
        执行过程: {result.process}
        
        输出技能:
        - 触发条件
        - 执行步骤
        - 注意事项
        """)

关键挑战

  • 灾难性遗忘:学习新技能忘记旧技能
  • 知识漂移:错误经验积累
  • 安全边界:防止有害的自我修改

面试高频问题

Q: 2025-2026 年最值得关注的大模型方向?

方向热度产业化时间为什么重要
端侧大模型🔥🔥🔥现在隐私保护、离线使用、低延迟
多模态原生🔥🔥🔥现在从文本到全模态理解
Test-Time Compute🔥🔥🔥现在推理能力质变
合成数据🔥🔥🔥现在解决数据瓶颈
Agent 自进化🔥🔥1-2年从工具到自主体
具身智能🔥🔥2-3年AI 进入物理世界
世界模型🔥3-5年理解物理世界

Q: 多模态和 Agent 的关系?

Agent 需要多模态感知:
├── 视觉: 看屏幕、看文档、看环境
├── 听觉: 听语音指令、听环境音
└── 触觉: 机器人操作时的力反馈

多模态需要 Agent 化:
├── 不只是"看图说话"
├── 而是"看到 → 理解 → 规划 → 行动"
└── 从被动理解到主动交互


2025-2026 前沿更新

本节聚焦 2025-2026 年最新技术动态,每个方向均包含概念解释、技术原理、应用场景和代码示例。


13. ⭐⭐⭐ Q: 世界模型最新进展——Sora 之后发生了什么?

概念解释

世界模型(World Model)是能够理解和模拟物理世界规律的 AI 模型,核心能力包括物理规律理解、未来状态预测、因果关系推理。2024-2025 年以 Sora 为代表的视频生成模型被 OpenAI 定义为"世界模拟器",标志着世界模型从学术概念走向工程实现。

技术原理

Sora 架构核心:
1. 视频压缩 → 使用 VAE 将视频编码到潜空间
2. 时空 Patch → 将潜空间特征切分为时空 Patches(类比 ViT 的图像 Patch)
3. Diffusion Transformer → 在潜空间做去噪生成
4. 解码器 → 将潜空间还原为视频

关键创新:
- 可变分辨率/时长/宽高比(不再固定 256x256)
- 大规模训练数据(视频+图片+文本联合训练)
- 从视频生成隐式学习物理规律(重力、碰撞、遮挡)

2025 世界模型进展全景

模型公司方向核心突破
Sora TurboOpenAI视频生成1080p、20秒、物理一致性
Gen-3 AlphaRunway视频生成电影级画面、角色一致性
Kling 1.6快手视频生成中文场景、长视频
Genie 2DeepMind3D环境生成可交互虚拟世界,一键生成3D场景
CosmosNVIDIA物理世界模型面向机器人/自动驾驶的物理模拟
Veo 2Google视频生成4K分辨率、物理精确性
Hailuo MiniMaxMiniMax视频生成长视频连贯性、角色控制
python
# 世界模型用于 Agent 决策的伪代码
class WorldModelAgent:
    def __init__(self, world_model):
        self.world_model = world_model  # Sora/Cosmos 类视频生成模型

    def plan(self, current_state, goal):
        # 1. 用世界模型"想象"多种行动方案的未来
        candidate_actions = self.generate_action_candidates(current_state, goal)

        futures = []
        for action_seq in candidate_actions:
            # 世界模型预测执行后的未来状态
            future_video = self.world_model.predict(
                current_state=current_state,
                action=action_seq,
                num_frames=60
            )
            score = self.evaluate_future(future_video, goal)
            futures.append((action_seq, score, future_video))

        # 2. 选择最优方案
        best = max(futures, key=lambda x: x[1])
        return best[0]  # 返回最优行动序列

应用场景

  • 自动驾驶:Cosmos 模拟极端场景(暴雨、行人突然横穿),替代真实路测
  • 机器人训练:Genie 2 生成可交互3D环境,让机器人在虚拟世界学习
  • 内容创作:Sora/Kling 生成短视频、广告、电影预览
  • 游戏 NPC:NPC 拥有世界模型,行为更真实自然

面试要点:世界模型 = 视频生成的"高阶应用"。不仅是生成好看视频,而是从中获得对物理世界的理解能力,赋能 Agent 和机器人。


14. ⭐⭐⭐ Q: 合成数据方法论最新进展?如何构建数据飞轮?

概念解释

合成数据(Synthetic Data)是用 AI 模型生成的训练数据,而非人工标注。2025 年的核心认知是:数据质量 > 数据数量,合成数据已成为大模型训练的核心基础设施。

技术原理——三大方法论

方法一:Self-Instruct(自我指令)

python
# 核心思路:用 LLM 自己生成指令-回答对
# 2025 改进版:多轮迭代 + 质量过滤

def self_instruct_v2(seed_tasks, model, num_rounds=3):
    all_tasks = list(seed_tasks)

    for round_i in range(num_rounds):
        new_tasks = []
        for _ in range(1000):
            # 采样不同数量的示例(增加多样性)
            k = random.randint(2, 8)
            examples = random.sample(all_tasks, k=k)

            # 生成新指令(带去重)
            instruction = model.generate(
                f"基于以下示例生成一条不同的指令:\n{format(examples)}\n"
                f"注意:与已有指令 {random.sample(all_tasks, 3)} 不要重复"
            )

            # 用强模型生成回答
            response = model.generate(instruction)

            # 质量过滤:长度、重复率、格式
            if is_high_quality(instruction, response):
                new_tasks.append({"instruction": instruction, "response": response})

        all_tasks.extend(new_tasks)
        print(f"Round {round_i}: {len(new_tasks)} new tasks, total {len(all_tasks)}")

    return all_tasks

方法二:Evol-Instruct(进化指令)——WizardLM 系列

python
# 核心思路:逐步进化指令的复杂度

EVOL_PROMPTS = {
    "deepen": "请增加这个问题的深度,要求更深入的推理:{instruction}",
    "constrain": "请为这个问题添加更多约束条件:{instruction}",
    "broaden": "请将这个问题扩展到更广泛的领域:{instruction}",
    "concretize": "请将这个抽象问题具体化:{instruction}",
    "reasoning": "请为这个问题增加多步推理要求:{instruction}",
}

def evol_instruct(task, model, num_evolutions=3):
    current = task
    for _ in range(num_evolutions):
        # 随机选择进化策略
        strategy = random.choice(list(EVOL_PROMPTS.keys()))
        prompt = EVOL_PROMPTS[strategy].format(instruction=current["instruction"])
        current["instruction"] = model.generate(prompt)

    # 用强模型生成进化后指令的回答
    current["response"] = model.generate(current["instruction"])
    return current

方法三:数据飞轮(Data Flywheel)——2025 核心范式

python
# 数据飞轮:模型自身生成数据 → 训练 → 变强 → 生成更好数据 → ...
# 关键在于质量控制和多样性保障

class DataFlywheel:
    def __init__(self, model, seed_data):
        self.model = model
        self.data = seed_data

    def run_cycle(self):
        # Step 1: 模型生成候选数据
        candidates = self.model.generate_candidates(
            num_samples=10000,
            temperature=0.8,  # 保证多样性
        )

        # Step 2: 多维度过滤
        filtered = self.multi_filter(candidates)
        # - 正确性验证(代码执行、数学验算)
        # - 多样性去重(embedding 聚类)
        # - 难度筛选(太简单/太难都丢弃)
        # - 安全性检查(有害内容过滤)

        # Step 3: 合并到训练集
        self.data.extend(filtered)

        # Step 4: 训练更强的模型
        self.model = train(self.model, self.data)

        # Step 5: 评估进化效果
        improvement = evaluate(self.model)
        return improvement

    def multi_filter(self, candidates):
        results = []
        for c in candidates:
            if not verify_correctness(c): continue      # 正确性
            if is_too_similar(c, results): continue       # 多样性
            if difficulty(c) < 0.2 or difficulty(c) > 0.95: continue  # 难度
            if contains_harmful(c): continue              # 安全性
            results.append(c)
        return results

2025 合成数据实战案例

案例方法效果
DeepSeek-R1RL + 合成推理数据671B MoE 推理能力比肩 o1
Qwen2.5多轮 Evol-Instruct中文能力大幅提升
Phi-4合成教科书数据14B 参数超越同级模型
Llama 3合成数据 90%+训练数据中合成占比超90%

应用场景

  • 垂直领域:医疗/法律/金融缺少公开数据,用合成数据填充
  • 多语言:低资源语言(如越南语、泰语)的数据合成
  • 推理增强:合成思维链数据训练推理能力
  • 安全对齐:合成有害内容用于训练模型拒绝能力

15. ⭐⭐ Q: 模型合并(Model Merging)最新技术?

概念解释

模型合并是将多个不同能力的模型权重融合为一个模型的技术,无需额外训练。2025 年已成为开源社区的"炼丹"利器,可以在 Hugging Face 上通过 MergeKit 一键合并。

技术原理——2025 主流方法

DARE(Drop And REscale)—— 2025 最流行

python
import torch
import random

def dare_merge(task_vectors, drop_rate=0.9):
    """
    task_vector = finetuned_model - base_model(微调带来的变化量)
    DARE 的关键洞察:大部分参数变化是冗余的,可以随机丢弃
    """
    merged_delta = None

    for i, tv in enumerate(task_vectors):
        # 1. 生成随机 mask(丢弃大部分参数)
        mask = {k: (torch.rand_like(v) > drop_rate).float()
                for k, v in tv.items()}

        # 2. 丢弃后重新缩放(保持期望不变)
        scaled_tv = {k: v * mask[k] / (1 - drop_rate)
                     for k, v in tv.items()}

        # 3. 累加合并
        if merged_delta is None:
            merged_delta = scaled_tv
        else:
            merged_delta = {k: merged_delta[k] + scaled_tv[k]
                           for k in merged_delta}

    # 4. 加回基础模型
    merged_model = {k: base_model[k] + merged_delta[k] / len(task_vectors)
                    for k in base_model}
    return merged_model

TIES-Merging(Trim, Elect, Sign)

python
def ties_merge(task_vectors, trim_rate=0.2):
    """
    解决多个模型合并时参数冲突的问题
    """
    # Step 1: TRIM - 移除小幅度变化(噪声)
    trimmed = []
    for tv in task_vectors:
        threshold = quantile(abs(tv), trim_rate)
        trimmed.append({k: v * (abs(v) >= threshold)
                        for k, v in tv.items()})
    # Step 2: ELECT - 对每个参数位置投票决定符号
    # 多数模型同意正方向就用正,否则用负
    stacked = stack(trimmed)  # [num_models, *shape]
    pos_count = (stacked > 0).sum(dim=0)
    neg_count = (stacked < 0).sum(dim=0)
    signs = torch.where(pos_count >= neg_count, 1.0, -1.0)
    # Step 3: MERGE - 按投票符号对齐后求平均
    aligned = stacked * signs  # 对齐符号
    merged = (aligned * (aligned * signs > 0)).sum(dim=0) / \
             (aligned * signs > 0).sum(dim=0).clamp(min=1)

    return base_model + merged * signs

Frankenmerging(层拼接)

python
def frankenmerge(models, num_layers=32):
    """
    不同模型的层直接拼接(像弗兰肯斯坦缝合怪)
    例:模型A的前16层 + 模型B的后16层
    """
    merged_layers = []
    for i in range(num_layers):
        if i < num_layers // 2:
            merged_layers.append(models[0].layers[i])
        else:
            merged_layers.append(models[1].layers[i])

    # 用新的 token embedding 和 lm_head(可从任一模型取)
    return Model(layers=merged_layers, embed=models[0].embed, head=models[1].head)

MergeKit 使用(实际工具)

yaml
# merge_config.yaml - Hugging Face MergeKit 配置
models:
  - model: meta-llama/Llama-3-8B-Instruct
    parameters:
      weight: 0.4
  - model: Qwen/Qwen2.5-7B-Instruct
    parameters:
      weight: 0.3
  - model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
    parameters:
      weight: 0.3
merge_method: dare_linear
base_model: meta-llama/Llama-3-8B-Instruct
parameters:
  density: 0.6
  normalize: true
dtype: bfloat16

应用场景

  • 多能力合并:把编程模型 + 数学模型 + 中文模型合并为全能模型
  • 风格融合:合并不同对话风格的模型(严谨版 + 幽默版)
  • 竞赛利器:Hugging Face Open LLM Leaderboard 上大量高分模型是合并产物

16. ⭐⭐⭐ Q: Test-Time Compute Scaling 的最新进展?

概念解释

Test-Time Compute(推理时计算扩展)的核心思想是:在推理时投入更多计算资源,换取更高准确率。这是 2024-2025 年最重要的范式转变之一,由 OpenAI o1 和 DeepSeek-R1 引领。

传统推理 vs Test-Time Compute

传统推理:
输入 → [1次前向传播] → 输出
计算量固定,性能上界 = 模型能力

Test-Time Compute:
输入 → [多次推理 + 搜索 + 验证] → 输出
计算量可调,性能随计算量增加而提升

类比:
- 传统推理 = 考场上写完就交卷
- Test-Time Compute = 反复检查、草稿纸演算、多种解法对比

技术原理——三大流派

流派一:思维链扩展(Chain-of-Thought Scaling)

python
# o1/o3/R1 的核心:让模型"思考更久"
# 模型自动生成详细的推理过程(思维链),然后得出答案

# DeepSeek-R1 的实现原理:
# 1. 用 RL(GRPO)训练模型在回答前先输出思考过程
# 2. 训练信号:答案正确 + 思维链合理 → 奖励
# 3. 模型学会:简单问题短思考,复杂问题长思考

def r1_style_inference(model, question, max_thinking_tokens=8192):
    # 模型在 <think> 标签中自由思考
    prompt = f"{question}\n<think>\n"

    thinking = ""
    for _ in range(max_thinking_tokens):
        token = model.generate_next(prompt + thinking)
        if token == "</think>":
            break
        thinking += token

    # 思考结束后生成最终答案
    answer = model.generate(prompt + thinking + "</think>\n")
    return {"thinking": thinking, "answer": answer}

流派二:搜索 + 验证器(Search + Verifier)

python
# MCTS/Beam Search + Process Reward Model (PRM)
# 像下棋一样探索推理路径

class TestTimeSearch:
    def __init__(self, model, verifier):
        self.model = model          # 生成模型
        self.verifier = verifier    # 过程奖励模型(PRM)

    def solve(self, question, num_paths=16):
        all_solutions = []

        for _ in range(num_paths):
            # 生成一条推理路径
            path = []
            state = question

            while not is_terminal(state):
                # 生成下一步(多个候选)
                candidates = self.model.generate_steps(state, n=4)

                # 用 PRM 评分
                scores = [self.verifier.score(question, path + [c])
                         for c in candidates]

                # 选择最高分的步骤(贪心)或按概率采样
                chosen = candidates[argmax(scores)]
                path.append(chosen)
                state = path[-1]

            final_answer = extract_answer(path[-1])
            path_score = self.verifier.score_path(question, path)
            all_solutions.append((final_answer, path_score, path))

        # 投票选出最终答案
        best = max(all_solutions, key=lambda x: x[1])
        return best[0]

流派三:自适应计算深度

python
# 简单问题少算,复杂问题多算(类似 early exit)
# Qwen-3 的 Thinking Mode 混合策略

def adaptive_thinking(model, question):
    # 先用快速模式尝试
    quick_answer = model.generate(question, thinking_budget=512)

    if is_confident(quick_answer):
        return quick_answer  # 简单问题,快速返回

    # 困难问题,加大思考力度
    deep_answer = model.generate(question, thinking_budget=8192)
    return deep_answer

2025 代表模型对比

模型公司方法数学(AIME)编程(Codeforces)
o1OpenAICoT + RL83.3%1807 Elo
o3OpenAICoT + 搜索96.7%2727 Elo
R1DeepSeekGRPO + CoT79.8%1531 Elo
Qwen-3阿里混合推理~85%~1700 Elo
Gemini 2.5Google多步推理~90%~2100 Elo

面试要点

  1. Test-Time Compute 是训练时扩展(Scaling Law)之外的新扩展维度
  2. PRM(过程奖励模型)是关键组件——评估每一步而非只看最终答案
  3. DeepSeek-R1 证明开源也能实现 Test-Time Compute
  4. 实际部署时需要权衡:思考深度 vs 延迟 vs 成本

17. ⭐⭐⭐ Q: 端侧模型最新进展?如何在手机上跑大模型?

概念解释

端侧模型(On-Device LLM)指在手机、IoT 设备等边缘硬件上直接运行的大语言模型,无需联网调用云端 API。2025 年端侧模型已从"能跑"进化到"好用"。

2025 端侧模型全景

模型参数量公司特点手机速度
Phi-4-mini3.8BMicrosoft合成数据训练,推理强~25 tok/s
Gemma 31B/4B/12BGoogle多模态端侧~30 tok/s
MiMo-7B7B小米推理能力强,性价比高~15 tok/s
Llama 3.21B/3BMeta量化后极快~40 tok/s
Qwen2.50.5B/1.5B/3B阿里中文最强小模型~25 tok/s
SmolLM2135M/360M/1.7BHuggingFace极小模型~80 tok/s

技术原理——端侧部署全栈

python
# 端侧部署技术栈(从模型到 App)

# 1. 模型量化(最关键的一步)
# FP16 → INT4:模型体积缩小 4x,速度提升 2-3x
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_quant_type="nf4",        # NF4 比普通 INT4 精度更高
    bnb_4bit_use_double_quant=True,    # 双重量化,进一步压缩
)
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen2.5-3B-Instruct",
    quantization_config=quantization_config,
)

# 2. GGUF 格式转换(llama.cpp 生态)
# 命令行: python convert_hf_to_gguf.py model --outtype q4_k_m
# q4_k_m: 4-bit 量化,精度和速度的最佳平衡

# 3. 手机端推理代码(使用 llama.cpp 的 Android/iOS 绑定)
# Python 模拟:
def mobile_inference(prompt, model_path="model-q4_k_m.gguf"):
    # 加载量化模型
    model = Llama(model_path, n_ctx=2048, n_threads=4)

    # 流式生成
    tokens = model.generate(prompt, max_tokens=256, temperature=0.7)
    for token in tokens:
        yield token  # 逐 token 输出,用户体感流畅

手机部署架构

┌──────────────────────────────────────┐
│           手机 App (UI)              │
├──────────────────────────────────────┤
│    推理引擎 (llama.cpp / MLC / MLX)  │
├──────────────────────────────────────┤
│    量化模型 (INT4 GGUF / AWQ)       │
├──────────────────────────────────────┤
│    硬件加速                          │
│    ├── Apple Neural Engine (iPhone)  │
│    ├── Qualcomm NPU (Android)        │
│    ├── GPU (Adreno / Mali / Apple)   │
│    └── CPU (ARM NEON 兜底)           │
└──────────────────────────────────────┘

MiMo-7B 深度解读(小米)

python
# MiMo 的核心创新
# 1. 大规模合成推理数据(数学 + 代码)
# 2. 多阶段 RL 训练
# 3. 7B 参数下推理能力超越 32B 模型

# MiMo 训练流程(简化)
training_stages = [
    {"stage": "预训练", "data": "万亿token通用语料"},
    {"stage": "SFT", "data": "百万级高质量指令数据"},
    {"stage": "RL-1", "data": "数学推理RL,GRPO算法"},
    {"stage": "RL-2", "data": "代码推理RL,在线验证"},
    {"stage": "RL-3", "data": "通用能力RL,保持平衡"},
]
# 结果:AIME 2024 得分 ~68%,超越 QwQ-32B-Preview

应用场景

  • 隐私保护:敏感数据(聊天记录、健康数据)不离开手机
  • 离线使用:无网络时也能用 AI(飞机模式、偏远地区)
  • 低延迟:端侧推理延迟 < 100ms,无需网络往返
  • 省成本:无需付云端 API 费用

面试要点:端侧部署三板斧 = 量化(INT4/NF4)+ 推理框架(llama.cpp)+ 硬件加速(NPU)


18. ⭐⭐ Q: Agentic Workflow 和 Agent 有什么区别?

概念解释

这是 2025 年面试高频区分题。很多人混淆二者,但它们有本质区别:

Agent(智能体):
- 能自主感知环境、制定计划、执行行动
- 有自主决策权,可以改变执行路径
- 核心特征:自主性(Autonomy)

Agentic Workflow(智能体化工作流):
- 用 LLM 驱动的多步骤工作流
- 预定义的流程 + LLM 做每个节点的决策
- 核心特征:流程化(Orchestrated)

详细对比

维度Agentic WorkflowAgent
控制流预定义(人设计流程)自主决策(模型决定下一步)
确定性较高(可预测执行路径)较低(路径不确定)
可靠性高(边界清晰)较低(可能偏离目标)
灵活性低(流程固定)高(可应对意外)
适用场景已知流程的自动化开放式任务
示例自动化客服流水线自主研究助手
Andrew Ng定义"Workflow""Agent"

代码示例——对比两种范式

python
# ===== Agentic Workflow(工作流)=====
# 人工设计的多步骤流程,LLM 负责每步的执行

def agentic_workflow(user_request):
    """自动化内容创作工作流"""

    # Step 1: 研究(固定流程)
    research = llm.call(
        f"请研究以下主题并列出关键要点:{user_request}"
    )

    # Step 2: 写大纲(固定流程)
    outline = llm.call(
        f"基于以下要点,写一个详细大纲:{research}"
    )

    # Step 3: 人工审核(流程中的检查点)
    if not human_review(outline):
        outline = llm.call(f"根据反馈修改大纲:{human_feedback}")

    # Step 4: 写初稿(固定流程)
    draft = llm.call(f"根据大纲写初稿:{outline}")

    # Step 5: 润色(固定流程)
    final = llm.call(f"润色以下文章:{draft}")

    return final
# 特点:每一步是确定的,流程是人设计的


# ===== Agent(智能体)=====
# Agent 自主决定如何完成任务

class Agent:
    def __init__(self):
        self.tools = {
            "search": web_search,
            "code": code_interpreter,
            "write": document_writer,
            "email": email_sender,
        }
        self.memory = []

    async def run(self, task: str):
        """Agent 自主决定执行什么、怎么执行"""

        while not self.is_task_complete():
            # Agent 自主决定下一步
            plan = await self.think(
                f"任务: {task}\n"
                f"已完成: {self.memory}\n"
                f"可用工具: {list(self.tools.keys())}\n"
                f"下一步做什么?"
            )

            # Agent 选择工具和参数
            tool_name, args = self.parse_plan(plan)

            # 执行(可能失败,Agent 会自行处理)
            try:
                result = await self.tools[tool_name](**args)
                self.memory.append({"action": tool_name, "result": result})
            except Exception as e:
                # Agent 自主决定如何处理错误
                self.memory.append({"error": str(e)})

        return self.get_final_answer()
# 特点:没有预定义流程,Agent 自己决定每一步

Andrew Ng 的四种 Agentic 设计模式(2025)

1. Reflection(反思):
   生成 → 自我评估 → 修正 → 输出

2. Tool Use(工具使用):
   LLM 判断需要什么工具 → 调用 → 整合结果

3. Planning(规划):
   任务分解 → 分步执行 → 动态调整

4. Multi-Agent(多智能体):
   多个 Agent 协作 → 分工 → 合并结果

这四种模式都可以用 Workflow 或 Agent 方式实现:
- Workflow:预定义在哪些步骤用哪些模式
- Agent:让 Agent 自己决定用哪种模式

实际选择建议

python
# 选择 Workflow 的场景:
# - 流程明确(如:收到邮件 → 分类 → 自动回复)
# - 需要高可靠性(如:财务审批流程)
# - 需要可审计(每步可追溯)

# 选择 Agent 的场景:
# - 任务开放(如:帮我调研 X 领域并写报告)
# - 需要创造性(如:设计方案、头脑风暴)
# - 需要应对不确定性(如:处理用户的各种意外输入)

# 2025 最佳实践:Workflow + Agent 混合
# 外层用 Workflow 控制整体流程
# 内层关键节点用 Agent 处理开放性子任务

def hybrid_approach(user_request):
    # Workflow 控制大流程
    plan = create_plan(user_request)  # Agent 自主规划
    human_approve(plan)               # 人工审核(Workflow 检查点)

    for step in plan:
        if step.is_open_ended:
            # 开放性步骤 → 交给 Agent
            result = agent.run(step.description)
        else:
            # 确定性步骤 → Workflow 直接执行
            result = workflow.execute(step)

        if needs_review(result):
            human_review(result)  # Workflow 检查点

    return compile_results()

面试要点

  1. Workflow = 确定性流程 + LLM 执行,适合已知任务
  2. Agent = 自主决策 + 工具调用,适合开放任务
  3. 2025 趋势:混合架构(Workflow 编排 + Agent 节点)是最佳实践
  4. Andrew Ng 的建议:先用 Workflow,不够再升级为 Agent

2025-2026 前沿面试总结

题号方向核心一句话面试频次
Q13世界模型Sora = 世界模拟器,视频生成 → 物理理解⭐⭐
Q14合成数据数据飞轮 = 模型生成数据 → 训练 → 变强 → 循环⭐⭐⭐
Q15模型合并DARE/TIES 无需训练合并多模型能力⭐⭐
Q16Test-Time Compute推理时多算 = 思考更久 → 答案更好⭐⭐⭐
Q17端侧模型量化 + 推理框架 + NPU = 手机跑 LLM⭐⭐⭐
Q18Agentic WorkflowWorkflow = 预定义流程;Agent = 自主决策⭐⭐⭐

📝 最后更新:2025 年 6 月

LLM 应用 & Agent 开发面试准备