文章目录
如何评价自己构建的数据集的好坏
数据集的质量可以从以下维度评估:
- 多样性:覆盖足够多的场景和案例,避免样本单一。
- 平衡性:标签分布均衡,避免少数类被淹没。
- 噪声控制:标注错误或数据错误需在可接受范围内。
- 实用性:能直接支持目标任务(如分类、生成等)。
- 规模适配:数据量需与任务复杂度匹配,避免过拟合或欠拟合。
怎么评价人类高质量回答的数据集
高质量回答数据集需满足:
- 真实性:答案需符合事实或逻辑,避免虚构。
- 丰富性:覆盖多角度解答,不局限于简短回复。
- 标注粒度:可能包含评分、多候选答案或错误分析。
- 领域覆盖:针对垂直领域(如医疗、法律)需专业验证。
ChatGLM和GPT模型结构一样吗
两者均为基于Transformer的大语言模型,但存在差异:
- 架构细节:ChatGLM可能采用GLM(General Language Model)结构,而GPT系列为纯解码器架构。
- 训练目标:GPT通过自回归预测下一个词,ChatGLM可能结合双向注意力或任务特定优化。
- 参数规模:具体实现中参数量与层数可能不同。
强化学习中奖励模型打分
打分机制:
- 奖励模型通常输出标量分数,数值范围依任务而定(如0-1或-10~10)。
- 分数设计需与目标对齐(如流畅性、事实性加权组合)。
模型训练:
- 通过人类标注的偏好数据(如成对排序)训练,学习拟合人类评判标准。
强化学习的梯度更新实现
- 策略梯度:直接优化策略网络,梯度公式为:
∇ θ J ( θ ) = E [ ∇ θ log π θ ( a ∣ s ) ⋅ R ] \nabla_\theta J(\theta) = \mathbb{E}[\nabla_\theta \log \pi_\theta(a|s) \cdot R] ∇θJ(θ)=E[∇θlogπθ(a∣s)⋅R] - PPO等算法:引入重要性采样和裁剪机制稳定更新。
Instruct和prompt区别
- Instruct:通常为结构化任务描述(如“翻译以下句子”),更接近命令式。
- Prompt:可为开放式引导(如“关于气候变化,谈谈你的看法”),灵活性更高。
传统人机对话的多回复生成
- 候选排序:系统可能生成K个回复,按置信度或多样性排序输出。
- 策略依赖:基于规则的系统可能固定回复数量,而端到端模型动态生成。
嵌套命名实体识别方法
嵌套命名实体识别(Nested NER)旨在处理文本中重叠或嵌套的实体,如“北京大学附属医院”中嵌套“北京大学”。以下是几种有效的解决方案:
基于序列标注的改进方法
- 层叠式标注:采用多层级标注框架,先识别外层实体,再对内层实体进行二次标注。例如使用BiLSTM-CRF结合层级标签策略。
- 指针网络:通过序列到序列的指针生成模型,直接标记实体的起始和结束位置,避免标签冲突。
基于片段分类的方法
- 片段枚举:枚举所有可能的文本片段,分类判断是否为实体及类型。可结合BERT等预训练模型提升性能。
- 超图表示:将文本片段表示为超图节点,利用图神经网络建模嵌套关系。
联合学习方法
- 多任务学习:同时训练平坦NER和嵌套NER任务,共享底层特征表示。例如在BERT输出层设计并联的分类头。
- 边界感知模型:引入额外的边界检测模块,增强模型对实体边界的敏感度。
端到端深度模型
- Span-based模型:如DyGIE++,通过动态跨度表示和关系推理处理嵌套结构。
- 序列生成模型:将任务转化为序列生成问题,使用T5等模型直接输出实体及其类型。
以下是一个基于Span分类的简化代码框架:
import torch
from transformers import BertModel, BertTokenizer
class SpanNER(torch.nn.Module):
def __init__(self, pretrained_model, num_labels):
super().__init__()
self.bert = BertModel.from_pretrained(pretrained_model)
self.classifier = torch.nn.Linear(self.bert.config.hidden_size, num_labels)
def forward(self, input_ids, spans):
outputs = self.bert(input_ids)
sequence_output = outputs.last_hidden_state
# 获取每个span的表示(平均池化)
span_embeddings = []
for (start, end) in spans:
span_embed = sequence_output[:, start:end].mean(dim=1)
span_embeddings.append(span_embed)
logits = self.classifier(torch.stack(span_embeddings))
return logits
评估指标选择
- 严格匹配率:实体边界和类型完全正确才算识别成功
- 部分匹配率:允许边界或类型部分正确
- 层级F1值:分别计算外层实体和内层实体的F1分数
常用数据集
- GENIA:生物医学领域嵌套实体标注
- ACE2005:包含跨度和嵌套结构的通用领域数据集
- NNE:中文嵌套命名实体数据集
实际应用中需根据领域特点调整模型架构,生物医学文本常需要结合领域词典增强性能,而社交媒体文本可能需要更强的上下文建模能力。
类别不均衡处理技术
过采样少数类(如SMOTE)、欠采样多数类、类别加权损失函数是常见方法。Focal Loss通过降低易分类样本的权重缓解不平衡问题。评估指标应选用F1-score或AUC而非准确率。
长文本定义与大模型处理
长文本指超出标准上下文窗口(如4k tokens)的输入。处理方法包括:窗口滑动注意力、层次化摘要、位置插值(如NTK-aware Scaling)扩展上下文长度。专用架构如Longformer使用稀疏注意力机制。
Tokenizer处理流程
文本规范化(大小写/标点处理)→预分词→子词分割(BPE/WordPiece)→ID映射。特殊token([CLS],[SEP])被添加以支持下游任务,多语言tokenizer需处理Unicode标准化。
大模型核心缺陷
高计算资源需求导致部署困难;微调成本高昂;生成内容不可控风险;知识更新滞后;输出存在偏见与幻觉。小样本学习能力与人类推理仍存在差距。
大模型与传统对话差异
传统方案依赖流水线架构(意图识别→对话状态跟踪→回复生成),而大模型通过端到端生成统一处理。大模型具备零样本泛化能力,但可解释性较差,且需要严格的安全对齐。
大模型幻觉问题本质
参数化知识存储导致事实性错误,训练目标(语言建模)与真实准确性存在偏差。注意力机制在长程依赖中可能丢失关键信息,模型倾向于生成流畅但虚构的内容。缓解需结合检索增强生成(RAG)和事实核查机制。
大模型幻觉评测指标
设计事实性评估基准(如TruthfulQA),统计模型生成内容与权威来源的冲突率。基于NLI模型检测生成文本的逻辑一致性,或通过人类评估幻觉出现的频率和严重程度。
大模型幻觉(Hallucination)指模型生成内容与事实不符或缺乏依据的现象。评测幻觉的指标可分为基于事实一致性、可验证性、逻辑合理性等多个维度。
问题搜集来源于网络
1644

被折叠的 条评论
为什么被折叠?



