|
@@ -3,6 +3,191 @@
|
|
|
<div align=center><img src="./resource/人工智能知识库-电力行业风力发电领域.png"></div>
|
|
|
|
|
|
# 大语言模型介绍
|
|
|
+## 基础概念
|
|
|
+
|
|
|
+### 蒸馏
|
|
|
+在机器学习的语境中,**蒸馏(Knowledge Distillation)** 是一种模型压缩技术,其核心思想是将一个复杂的大模型(称为**教师模型**)中的“知识”迁移到一个更轻量的小模型(称为**学生模型**)中,使得小模型能以更低的计算成本实现接近甚至超越原大模型的性能。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **蒸馏的核心含义**
|
|
|
+1. **知识迁移**
|
|
|
+ 教师模型的“知识”不仅指其参数,更包括:
|
|
|
+ - **输出层知识**:模型对输入数据的预测概率分布(软标签,Soft Labels)。
|
|
|
+ - **中间层知识**:隐藏层的特征表示(如注意力权重、激活值)。
|
|
|
+ - **推理逻辑**:复杂任务的解题步骤或生成策略(如代码生成、数学推导)。
|
|
|
+
|
|
|
+2. **训练方式**
|
|
|
+ 学生模型通过以下方式学习教师模型的知识:
|
|
|
+ - **模仿输出**:在训练时,学生模型不仅学习真实标签(硬标签),还学习教师模型输出的概率分布(软标签),后者包含更丰富的类别间关系信息。
|
|
|
+ *例如:教师模型判断“猫”的概率为0.8,“狗”为0.15,“狐狸”为0.05,学生模型会学习这种更细粒度的概率分布。*
|
|
|
+ - **特征对齐**:通过匹配教师模型和学生模型的中间层特征(如隐藏状态),强制学生模型学习相似的内部表征。
|
|
|
+
|
|
|
+3. **目的**
|
|
|
+ - **压缩模型**:将大模型(如千亿参数)压缩为小模型(如百亿参数),便于部署到资源受限的环境(手机、嵌入式设备等)。
|
|
|
+ - **提升效率**:减少推理时的计算量和内存占用,同时保持高性能。
|
|
|
+ - **知识泛化**:通过教师模型的指导,学生模型可能泛化到未见过的新任务或数据。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **蒸馏 vs 传统训练**
|
|
|
+| **对比维度** | **传统训练** | **知识蒸馏** |
|
|
|
+|--------------------|---------------------------|---------------------------------|
|
|
|
+| **训练目标** | 直接拟合真实标签(硬标签) | 同时拟合真实标签 + 教师模型的软标签 |
|
|
|
+| **知识来源** | 仅训练数据 | 训练数据 + 教师模型的隐性知识 |
|
|
|
+| **模型复杂度** | 学生模型独立训练 | 学生模型受教师模型指导 |
|
|
|
+| **效果** | 依赖数据量和模型容量 | 小模型可逼近大模型性能 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **蒸馏的典型应用场景**
|
|
|
+1. **模型轻量化**:将 GPT-4、Qwen-72B 等超大模型压缩为适合手机或边缘设备的版本(如 DeepSeek-R1)。
|
|
|
+2. **加速推理**:减少服务端模型的响应延迟和计算成本。
|
|
|
+3. **隐私保护**:用蒸馏模型替代原始大模型,避免敏感数据直接输入大模型。
|
|
|
+4. **领域适配**:通过教师模型的领域知识(如医疗、法律),快速训练专用小模型。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **DeepSeek-R1 中的蒸馏意义**
|
|
|
+在 DeepSeek-R1-Distill-Qwen-32B 中,蒸馏技术可能用于:
|
|
|
+- 将 Qwen 系列大模型的复杂能力(如代码生成、多轮对话)迁移到更小的模型架构中。
|
|
|
+- 通过软标签和中间层对齐,保留原模型的逻辑推理和泛化能力。
|
|
|
+- 实现低资源环境下的高效部署(如企业级私有化部署)。
|
|
|
+
|
|
|
+简而言之,**蒸馏是通过“师生传承”让轻量模型继承重量级模型智慧的技术**,是平衡性能与效率的关键手段。
|
|
|
+
|
|
|
+**示例:**
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+DeepSeek-R1-Distill-Qwen-32B 是基于知识蒸馏技术对原模型(如 Qwen-32B 或其他大规模模型)进行优化的产物。虽然具体细节需以官方文档为准,但根据知识蒸馏的常见方法和模型优化目标,可以推测其蒸馏内容可能包括以下方面:
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 1. **模型架构精简**
|
|
|
+ - **参数压缩**:通过减少模型层数、隐藏层维度或注意力头数,降低参数量(如从千亿级压缩到百亿级)。
|
|
|
+ - **结构简化**:移除冗余模块或替换为更高效的组件(如简化注意力机制)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 2. **知识迁移策略**
|
|
|
+ - **输出层蒸馏(Logits Distillation)**:对齐学生模型与教师模型的输出概率分布(软标签),保留语义理解和生成能力。
|
|
|
+ - **中间层特征匹配**:通过匹配教师模型和学生模型的中间层特征(如注意力权重、隐藏状态),提升学生模型的表征能力。
|
|
|
+ - **多任务蒸馏**:在通用文本生成、代码理解、数学推理等多任务上迁移教师模型的能力。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 3. **训练数据优化**
|
|
|
+ - **合成数据增强**:利用教师模型生成高质量合成数据(如问答对、解题步骤),补充训练集。
|
|
|
+ - **数据筛选**:基于教师模型的置信度或复杂度评分,筛选高质量、多样化的训练样本。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 4. **推理效率提升**
|
|
|
+ - **计算加速**:通过降低计算精度(如 FP16 量化)、优化矩阵运算,减少推理延迟。
|
|
|
+ - **内存优化**:采用动态内存管理或缓存策略,降低显存占用。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 5. **领域知识保留**
|
|
|
+ - **垂直领域适配**:针对代码生成、数学推理、多语言理解等场景,保留教师模型的领域专精能力。
|
|
|
+ - **少样本学习**:通过蒸馏增强模型在少样本或零样本任务中的泛化性。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 6. **训练策略改进**
|
|
|
+ - **渐进式蒸馏**:分阶段迁移知识(如先通用能力后领域能力),避免性能损失。
|
|
|
+ - **对抗训练**:引入对抗样本提升鲁棒性,或结合强化学习优化生成质量。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 7. **模型对齐与安全**
|
|
|
+ - **价值观对齐**:通过蒸馏传递符合伦理的内容生成约束,减少有害输出。
|
|
|
+ - **安全护栏(Safety Guardrails)**:继承教师模型的安全过滤机制,增强可控性。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### 典型应用场景(推测)
|
|
|
+- **端侧部署**:优化后的模型可能适用于边缘设备或低资源环境。
|
|
|
+- **低成本推理**:减少云计算依赖,适合大规模商业化应用。
|
|
|
+- **多任务服务**:保留原模型的多领域能力,支持问答、代码、数学等综合场景。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+如需更准确的信息,建议参考深度求索(DeepSeek)的官方技术报告或开源文档,以获取蒸馏方法、实验对比等细节。
|
|
|
+
|
|
|
+
|
|
|
+## 1. **Timer**
|
|
|
+ - **含义**:Timer 是一种用于优化模型推理效率的技术,通常用于减少模型的计算时间或延迟。
|
|
|
+ - **核心思想**:
|
|
|
+ - 通过动态调整模型的计算资源(如跳过某些层或模块),在保证性能的同时加速推理。
|
|
|
+ - 适用于实时性要求高的场景(如对话系统、推荐系统)。
|
|
|
+ - **应用场景**:
|
|
|
+ - 减少大模型的推理延迟。
|
|
|
+ - 在边缘设备上部署轻量级模型。
|
|
|
+ - **示例**:
|
|
|
+ - 在 Transformer 模型中,根据输入复杂度动态跳过某些注意力头或层。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 2. **COT(Chain-of-Thought)**
|
|
|
+ - **含义**:COT 是一种提示(Prompting)技术,通过引导模型生成中间推理步骤,提升复杂任务(如数学推理、逻辑推理)的性能。
|
|
|
+ - **核心思想**:
|
|
|
+ - 让模型像人类一样“逐步思考”,生成中间推理过程,而不是直接输出最终答案。
|
|
|
+ - 特别适合需要多步推理的任务。
|
|
|
+ - **应用场景**:
|
|
|
+ - 数学问题求解。
|
|
|
+ - 逻辑推理任务。
|
|
|
+ - 复杂问答系统。
|
|
|
+ - **示例**:
|
|
|
+ - 输入:“如果小明有5个苹果,吃了2个,又买了3个,他现在有多少个苹果?”
|
|
|
+ - 模型输出:“小明原来有5个苹果,吃了2个,剩下3个。又买了3个,所以现在有6个苹果。”
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 3. **RAG(Retrieval-Augmented Generation)**
|
|
|
+ - **含义**:RAG 是一种结合检索(Retrieval)和生成(Generation)的技术,通过从外部知识库中检索相关信息来增强生成模型的能力。
|
|
|
+ - **核心思想**:
|
|
|
+ - 在生成答案之前,先从大规模知识库(如维基百科)中检索相关文档或段落。
|
|
|
+ - 将检索到的信息与输入问题结合,生成更准确、可靠的答案。
|
|
|
+ - **应用场景**:
|
|
|
+ - 开放域问答(Open-Domain QA)。
|
|
|
+ - 知识密集型任务(如事实核查、文档生成)。
|
|
|
+ - **示例**:
|
|
|
+ - 输入:“谁发明了电话?”
|
|
|
+ - 模型检索到相关文档:“电话是由亚历山大·格拉汉姆·贝尔发明的。”
|
|
|
+ - 模型生成答案:“电话是由亚历山大·格拉汉姆·贝尔发明的。”
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 4. **Fine-tuning(微调)**
|
|
|
+ - **含义**:Fine-tuning 是一种迁移学习技术,通过在大规模预训练模型的基础上,使用特定任务的数据进行进一步训练,使模型适应特定任务。
|
|
|
+ - **核心思想**:
|
|
|
+ - 预训练模型(如 GPT、BERT)在大规模通用数据上学习通用语言表示。
|
|
|
+ - 微调阶段使用特定任务的数据(如情感分类、命名实体识别)调整模型参数,使其在特定任务上表现更好。
|
|
|
+ - **应用场景**:
|
|
|
+ - 领域适配(如医疗、法律)。
|
|
|
+ - 特定任务优化(如文本分类、机器翻译)。
|
|
|
+ - **示例**:
|
|
|
+ - 使用 BERT 模型在情感分析数据集(如 IMDb)上进行微调,用于电影评论的情感分类。
|
|
|
+
|
|
|
+**技术对比**
|
|
|
+| **技术** | **目标** | **核心方法** | **典型应用场景** |
|
|
|
+|----------------|-----------------------------------|------------------------------------------|----------------------------------|
|
|
|
+| **Timer** | 优化推理效率 | 动态调整计算资源 | 实时对话、边缘计算 |
|
|
|
+| **COT** | 提升复杂任务推理能力 | 生成中间推理步骤 | 数学推理、逻辑推理 |
|
|
|
+| **RAG** | 增强生成模型的准确性 | 结合检索和生成 | 开放域问答、知识密集型任务 |
|
|
|
+| **Fine-tuning**| 适应特定任务 | 在预训练模型基础上进行任务特定训练 | 领域适配、文本分类 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+**结合使用示例**
|
|
|
+- **RAG + COT**:在开放域问答中,先检索相关知识,再通过 Chain-of-Thought 生成推理步骤和最终答案。
|
|
|
+- **Fine-tuning + Timer**:在特定领域(如医疗)微调模型后,使用 Timer 技术优化推理效率,便于实时应用。
|
|
|
+
|
|
|
+这些技术各有侧重,但可以结合使用,以构建更强大、高效的 NLP 系统。
|
|
|
+
|
|
|
+
|
|
|
## 架构
|
|
|
MoE(Mixture of Experts)架构
|
|
|
一、原理
|
|
@@ -104,93 +289,137 @@ trainer.train()
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 2. **GRPO(Gradient Reversal-based Policy Optimization,基于梯度反转的策略优化)**
|
|
|
+### 2. **GRPO(Group Relative Policy Optimization,组相对策略优化)**
|
|
|
|
|
|
-#### **定义**
|
|
|
-GRPO 是一种用于强化学习(RL)或策略优化的技术。它通过反转梯度方向来优化策略,从而在复杂任务中实现更好的性能。
|
|
|
+关于 **DeepSeek 的 GRPO(Group Relative Policy Optimization)**,目前公开的技术细节有限(截至2023年10月,DeepSeek 尚未发布官方论文或完整代码)。但根据命名推测,GRPO 可能是一种**基于分组的相对策略优化方法**,结合了强化学习(RL)中的策略优化思想,并引入“分组”与“相对比较”机制以提升训练效率。以下是对其可能设计逻辑的推测及一个简化示例代码框架。
|
|
|
|
|
|
-#### **作用**
|
|
|
-- **策略优化**:在强化学习中优化策略模型。
|
|
|
-- **稳定性提升**:通过梯度反转,避免训练过程中的不稳定性。
|
|
|
+---
|
|
|
|
|
|
-#### **实现步骤**
|
|
|
-1. **定义策略模型**:
|
|
|
- - 使用 DeepSeek-R1 作为策略模型。
|
|
|
-2. **定义奖励函数**:
|
|
|
- - 根据任务设计奖励函数。
|
|
|
-3. **梯度反转**:
|
|
|
- - 在反向传播时反转梯度方向,以优化策略。
|
|
|
-4. **训练模型**:
|
|
|
- - 使用强化学习算法(如 PPO、A2C)训练模型。
|
|
|
+#### **GRPO 的核心概念(推测)**
|
|
|
+1. **分组(Grouping)**
|
|
|
+ - 将智能体的策略划分为多个组(例如不同策略参数或行为模式),通过组间交互或竞争提升探索效率。
|
|
|
+ - 可能应用场景:多智能体协作、策略多样性增强。
|
|
|
+
|
|
|
+2. **相对策略优化(Relative Policy Optimization)**
|
|
|
+ - 通过组间策略表现的**相对比较**(而非绝对奖励)调整策略参数,类似竞赛机制。
|
|
|
+ - 优势:减少对绝对奖励值的依赖,增强鲁棒性。
|
|
|
+
|
|
|
+3. **优化目标**
|
|
|
+ - 最大化组间相对优势,同时控制策略更新的稳定性(类似 PPO 的剪切机制)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **示例代码框架(Python + PyTorch)**
|
|
|
+以下是一个简化的 GRPO 实现示例,基于单智能体环境(如 CartPole)的假设性设计:
|
|
|
|
|
|
-#### **代码示例**
|
|
|
```python
|
|
|
import torch
|
|
|
import torch.nn as nn
|
|
|
import torch.optim as optim
|
|
|
-
|
|
|
-# 定义策略模型
|
|
|
-class PolicyModel(nn.Module):
|
|
|
- def __init__(self):
|
|
|
- super(PolicyModel, self).__init__()
|
|
|
- self.fc = nn.Linear(128, 2) # 假设输入维度为 128,输出为 2 个动作
|
|
|
-
|
|
|
- def forward(self, x):
|
|
|
- return torch.softmax(self.fc(x), dim=-1)
|
|
|
-
|
|
|
-# 定义 GRPO 优化器
|
|
|
-class GRPOptimizer:
|
|
|
- def __init__(self, model, lr=1e-3):
|
|
|
- self.model = model
|
|
|
- self.optimizer = optim.Adam(model.parameters(), lr=lr)
|
|
|
-
|
|
|
- def step(self, loss):
|
|
|
- # 反向传播
|
|
|
- loss.backward()
|
|
|
-
|
|
|
- # 梯度反转
|
|
|
- for param in self.model.parameters():
|
|
|
- param.grad = -param.grad # 反转梯度
|
|
|
-
|
|
|
- # 更新参数
|
|
|
- self.optimizer.step()
|
|
|
- self.optimizer.zero_grad()
|
|
|
-
|
|
|
-# 训练循环
|
|
|
-policy_model = PolicyModel()
|
|
|
-grp_optimizer = GRPOptimizer(policy_model)
|
|
|
-
|
|
|
-for epoch in range(10):
|
|
|
- state = torch.randn(1, 128) # 假设状态维度为 128
|
|
|
- action_probs, _ = policy_model(state)
|
|
|
- action = torch.argmax(action_probs).item()
|
|
|
+from torch.distributions import Categorical
|
|
|
+import gym
|
|
|
+
|
|
|
+# 定义策略网络
|
|
|
+class Policy(nn.Module):
|
|
|
+ def __init__(self, state_dim, action_dim):
|
|
|
+ super().__init__()
|
|
|
+ self.fc = nn.Sequential(
|
|
|
+ nn.Linear(state_dim, 64),
|
|
|
+ nn.ReLU(),
|
|
|
+ nn.Linear(64, action_dim)
|
|
|
+ )
|
|
|
+
|
|
|
+ def forward(self, state):
|
|
|
+ return self.fc(state)
|
|
|
+
|
|
|
+# GRPO 算法核心
|
|
|
+class GRPO:
|
|
|
+ def __init__(self, state_dim, action_dim, n_groups=3, lr=1e-3, clip_epsilon=0.2):
|
|
|
+ self.n_groups = n_groups
|
|
|
+ self.policies = [Policy(state_dim, action_dim) for _ in range(n_groups)]
|
|
|
+ self.optimizers = [optim.Adam(policy.parameters(), lr=lr) for policy in self.policies]
|
|
|
+ self.clip_epsilon = clip_epsilon
|
|
|
+
|
|
|
+ def update(self, group_data):
|
|
|
+ # group_data: 每个组的轨迹数据 (states, actions, advantages)
|
|
|
+ for group_id in range(self.n_groups):
|
|
|
+ states, actions, advantages = group_data[group_id]
|
|
|
+ probs_old = Categorical(logits=self.policies[group_id](states)).log_prob(actions).detach()
|
|
|
+
|
|
|
+ # 计算当前策略概率
|
|
|
+ probs_new = Categorical(logits=self.policies[group_id](states)).log_prob(actions)
|
|
|
+
|
|
|
+ # 计算相对优势(假设其他组的平均优势为基线)
|
|
|
+ other_avg_advantage = torch.mean(torch.stack(
|
|
|
+ [torch.mean(adv) for adv in advantages if adv is not advantages]
|
|
|
+ ))
|
|
|
+ relative_advantages = advantages - other_avg_advantage
|
|
|
+
|
|
|
+ # 策略损失(类似 PPO 的剪切目标)
|
|
|
+ ratio = torch.exp(probs_new - probs_old)
|
|
|
+ clipped_ratio = torch.clamp(ratio, 1 - self.clip_epsilon, 1 + self.clip_epsilon)
|
|
|
+ loss = -torch.min(ratio * relative_advantages, clipped_ratio * relative_advantages).mean()
|
|
|
+
|
|
|
+ # 更新策略
|
|
|
+ self.optimizers[group_id].zero_grad()
|
|
|
+ loss.backward()
|
|
|
+ self.optimizers[group_id].step()
|
|
|
+
|
|
|
+# 训练循环(示例)
|
|
|
+env = gym.make('CartPole-v1')
|
|
|
+state_dim = env.observation_space.shape[0]
|
|
|
+action_dim = env.action_space.n
|
|
|
+grpo = GRPO(state_dim, action_dim, n_groups=3)
|
|
|
+
|
|
|
+for episode in range(1000):
|
|
|
+ group_data = {i: {"states": [], "actions": [], "advantages": []} for i in range(grpo.n_groups)}
|
|
|
|
|
|
- # 假设奖励为 1(实际任务中需根据环境计算)
|
|
|
- reward = 1
|
|
|
- loss = -torch.log(action_probs[0, action]) * reward # 策略梯度损失
|
|
|
+ # 并行收集各组轨迹数据
|
|
|
+ for group_id in range(grpo.n_groups):
|
|
|
+ state = env.reset()
|
|
|
+ done = False
|
|
|
+ while not done:
|
|
|
+ action_logits = grpo.policies[group_id](torch.FloatTensor(state))
|
|
|
+ action = Categorical(logits=action_logits).sample().item()
|
|
|
+ next_state, reward, done, _ = env.step(action)
|
|
|
+
|
|
|
+ group_data[group_id]["states"].append(state)
|
|
|
+ group_data[group_id]["actions"].append(action)
|
|
|
+ group_data[group_id]["advantages"].append(reward) # 简化优势计算
|
|
|
+
|
|
|
+ state = next_state
|
|
|
|
|
|
- # GRPO 优化
|
|
|
- grp_optimizer.step(loss)
|
|
|
+ # 更新策略
|
|
|
+ grpo.update(group_data)
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 3. **SFT 和 GRPO 的区别**
|
|
|
-| **特性** | **SFT(监督微调)** | **GRPO(基于梯度反转的策略优化)** |
|
|
|
-|----------------|------------------------------------|------------------------------------|
|
|
|
-| **应用场景** | 监督学习任务(如分类、生成) | 强化学习任务(如策略优化) |
|
|
|
-| **数据需求** | 需要标注数据 | 需要环境和奖励信号 |
|
|
|
-| **优化目标** | 最小化监督损失(如交叉熵) | 最大化累积奖励 |
|
|
|
-| **技术核心** | 微调预训练模型 | 梯度反转和策略优化 |
|
|
|
+#### **关键设计解释**
|
|
|
+1. **分组策略**
|
|
|
+ - 维护多个策略组(`self.policies`),每组独立与环境交互并收集数据。
|
|
|
+ - 通过组间优势的**相对比较**(如其他组的平均优势作为基线)调整更新幅度。
|
|
|
+
|
|
|
+2. **相对优势计算**
|
|
|
+ - 在损失函数中,使用组间相对优势替代传统绝对优势值,鼓励策略间的竞争或协作。
|
|
|
+
|
|
|
+3. **PPO 剪切机制**
|
|
|
+ - 保留 PPO 的剪切目标(`torch.clamp`),确保策略更新稳定。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+#### **应用场景(假设)**
|
|
|
+- **多策略探索**:通过组间差异增强探索能力,避免局部最优。
|
|
|
+- **多智能体系统**:扩展为多智能体协作/竞争场景(如游戏 AI)。
|
|
|
+- **鲁棒性训练**:相对优势减少对奖励绝对值的敏感度。
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 4. **总结**
|
|
|
-- **SFT** 是一种监督微调技术,用于将预训练模型适配到特定任务。
|
|
|
-- **GRPO** 是一种基于梯度反转的策略优化技术,常用于强化学习任务。
|
|
|
-- 在 DeepSeek-R1 中,SFT 和 GRPO 可以结合使用,以在不同任务中实现最佳性能。
|
|
|
+#### **注意事项**
|
|
|
+- 上述代码为**假设性实现**,真实 GRPO 可能涉及更复杂的组间交互机制(如知识共享、动态分组)。
|
|
|
+- 实际应用需结合具体任务调整优势计算、分组策略等模块。
|
|
|
|
|
|
-如果你有更多关于 DeepSeek-R1 或相关技术的问题,欢迎继续提问!
|
|
|
+如需准确实现,建议等待 DeepSeek 官方技术公开后参考其论文或代码库。
|
|
|
|
|
|
|
|
|
# 大语言模型(LLM)训练与推理
|