LLM Reasoning and Generalization
———— 张岳 西湖大学
逻辑推理的发展
* 早期AI使用文字推理(所有人都会死;苏格拉底是人;苏格拉底会死)
* 受限于早期技术自然语言理解(NLU)
* 1970s 形式逻辑
* 2020s,先进的资源语言理解
MRC 和 NLI
MRC:机器阅读理解(Machine Reading Comprehension)
- Context ———— Question ———— Answer
NLI:自然语言推理(Natural Language Inference)
对比:
- MRC 是让模型从文本中找到明确的答案,要求精确理解上下文。
- NLI 是让模型判断两个句子之间的逻辑关系,侧重于推理能力和语义判断。
LLM和CoT的因果关系
技术影响:
- 上下文学习(In-Context Learning ,ICL)
- 加强因果结构 (引入链式思维 改善了 获得的答案)
- 使用更多的ICL示例可以提高任务的准确性
- 监督微调(SFT)
- 通过引入虚假相关性来削弱因果结构
- 基于人类反馈的强化学习(RLHF) todo 学习
- 符合人类偏好,但可能会降低因果一致性
- 上下文学习(In-Context Learning ,ICL)
CoT:链式思维(Chain of Thought),有时候给模型加上这一个小点,提升优化明显
- 它通过将问题分解为多个步骤或思考链条,帮助模型在进行复杂推理时更加清晰和系统。
LLM与CoT的因果关系tips
- CoT提升了LLM的推理能力
- LLM支持CoT的实现
- 增强推理能力的因果关系
- CoT优化了LLM的训练过程
总结
大语言模型(LLM)和链式推理(CoT)之间存在着相互促进的因果关系。LLM的强大生成能力支持了CoT的实现,而CoT则通过帮助模型逐步推理,提升了LLM在处理复杂问题时的表现和准确性。两者结合,使得LLM在面对需要多步骤推理的任务时更加高效和准确。
大语言模型(LLM)和链式推理(CoT)之间存在着相互促进的因果关系。LLM的强大生成能力支持了CoT的实现,而CoT则通过帮助模型逐步推理,提升了LLM在处理复杂问题时的表现和准确性。两者结合,使得LLM在面对需要多步骤推理的任务时更加高效和准确。
小模型 和 大模型
- 小模型更适合特定任务的理解
- 大模型更适用于多场景、多任务的适应
- 实际应用中应该考虑小模型和大模型结合的方式能够有更好的优化
组合泛化
详情
<!-- #include-env-start: D:/code/klc/test/share4ai/docs/course/conference/aigc_2024/05/src -->
# 组合泛化
> 在大模型(如深度学习模型或大规模预训练语言模型)中,“组合泛化”通常指的是模型在面对新的、未见过的任务或输入时,能够有效地结合和应用其已有知识,从而生成合理的结果。这种泛化能力不仅仅是指在训练数据上的表现好,更是指在未见过的、不同的情境中,模型能够通过某种方式“组合”其已有的知识来推断或生成新的输出。
# 关键点
1. **知识组合**:
- 大模型通常会在训练过程中学习到大量的知识。这些知识可能分散在不同的输入模式、任务或领域中。组合泛化强调模型能够在面对新任务或新场景时,合理地将这些知识组合起来,以适应新的需求。
- 比如,GPT等语言模型不仅能生成语言,还能通过组合不同的语言模式和概念来推理、翻译、回答问题等。
2. **多任务学习**:
- 大模型通常会通过多任务学习(Multi-task Learning)来增强其泛化能力。这种方式下,模型在多个任务上进行训练,使得它能够从不同任务中提取共享的、通用的知识。
- 组合泛化体现在模型能够在学习一个任务的过程中,结合其他任务的知识来解决新问题。例如,训练一个语言模型同时进行翻译任务、问答任务和文本生成任务,这样模型不仅能“翻译”,还能结合这些能力进行更复杂的推理。
3. **跨领域迁移**:
- 组合泛化还意味着跨领域的迁移学习能力。例如,模型在医学领域训练得到的某些知识可以被迁移并应用到法律或金融领域中,尽管这些领域有很大的不同。模型能够“组合”不同领域的知识,形成新的推理路径。
4. **生成能力和灵活性**:
- 对于生成模型,组合泛化还可以体现在生成新内容时能够灵活地组合不同的信息和风格。比如,一个语言模型在写作时,不仅能够在不同风格的文本间切换,还能根据已有的知识背景、语境和要求生成连贯且合理的内容。
# 例子
假设我们有一个大型语言模型,已经在大量的文本数据上进行训练,并且能够执行多种任务(如情感分析、文本生成、翻译等)。当我们给它一个新的任务,要求它将某个领域的技术文档翻译成通俗易懂的语言时,模型能够将它在多个领域和任务上学到的知识进行组合:
- **语言生成**:从文本生成的能力中提取用于生成易懂文本的策略。
- **领域知识**:利用它在技术文档中的理解和所学到的相关概念。
- **语言风格调整**:结合它在多任务学习中的经验,调整生成的文本风格,以确保它既准确又易于理解。
# 总结
“组合泛化”是指大模型能够在面对新的、未知的任务或情境时,基于其在多个领域和任务中积累的知识和经验,灵活地进行知识的“组合”与迁移,从而生成合理的结果或做出准确的预测。这种能力使得大模型不仅能够在训练数据上表现良好,还能在实际应用中表现出强大的适应性和灵活性。
<!-- #include-env-end -->
逻辑推理
AIGC
- 因果 ———— 人类
- 统计 ———— 大模型
数据治理
- 在逻辑推理中的数据治理中,POS(Positive)和NEG(Negative)通常指的是数据中的正向(积极)和负向(消极)样本或情形。这类数据治理工作主要关注如何识别、处理、平衡这些数据,以提高推理的准确性和模型的健壮性。以下是一些处理POS和NEG数据的关键步骤和方法:
- 数据预处理与清洗
- 标签一致性检查
- 特征工程与分离
- 在逻辑推理中的数据治理中,POS(Positive)和NEG(Negative)通常指的是数据中的正向(积极)和负向(消极)样本或情形。这类数据治理工作主要关注如何识别、处理、平衡这些数据,以提高推理的准确性和模型的健壮性。以下是一些处理POS和NEG数据的关键步骤和方法:
模型改变 * 预习 ———— 学习 ———— 复习
强化学习
- 通过与环境的互动来学习如何采取行动,以最大化长期的回报。(openai o1和o3)
展望
- 逻辑推理本质上与OOD(Out-of-Distribution,模型未见过的数据分布)有关联
- 现阶段难点:通用领域的因果性
详情
<!-- #include-env-start: D:/code/klc/test/share4ai/docs/course/conference/aigc_2024/05/src -->
# OOD(Out-of-Distribution)generalization
OOD(Out-of-Distribution)generalization 是指模型在遇到与训练数据分布不同的样本时,仍然能够保持较好性能的能力。简单来说,它是指模型在面对与训练数据分布不同、未知的测试数据时,能够有效地进行推断和预测的能力。
### 详细解释:
1. **OOD与ID(In-Distribution)**:
- **In-Distribution(ID)**:指的是模型在训练过程中所遇到的数据分布。在这种情况下,模型通过训练能够学习到数据中的规律,并且在相似的数据分布上表现良好。
- **Out-of-Distribution(OOD)**:指的是模型未见过的数据分布,或者说是与训练数据分布存在显著差异的数据。OOD数据通常包含一些新的特征、类别或噪声,模型在面对这种数据时往往会表现较差。
2. **OOD Generalization 的挑战**:
训练好的模型通常在与训练集分布相似的样本上表现很好,但在面对具有不同特征或分布的数据时,往往会出现性能下降的问题。这种现象是因为,模型可能过拟合于训练集的特征,而无法有效地适应新的分布。
3. **解决OOD Generalization的策略**:
研究人员已经提出了多种方法来提高模型的OOD generalization能力:
- **数据增强**:通过对训练数据进行变换或生成更多的训练样本,使模型能够学习到更加多样化的特征,从而提高其在OOD数据上的表现。
- **领域适应(Domain Adaptation)**:利用迁移学习技术,从相关的领域获取信息,并对模型进行微调,使其能够更好地适应新的分布。
- **正则化方法**:采用适当的正则化技术,如dropout、数据扰动等,减少模型的过拟合程度,提高其在OOD数据上的鲁棒性。
- **不确定性估计**:通过估计预测的不确定性,模型可以在遇到OOD数据时更好地识别不确定性区域,并做出相应的判断。
- **生成模型**:使用生成对抗网络(GANs)等生成模型,模拟潜在的OOD数据分布,训练出具有更强泛化能力的模型。
4. **OOD Generalization在不同领域的应用**:
- **计算机视觉**:例如,在图像分类任务中,模型可能在训练集中的某些特定环境下进行训练(如白天、晴天的场景),而在面对不同环境(如夜晚、雨天)时,模型的表现可能会下降。OOD generalization帮助模型适应这些不同的环境。
- **自然语言处理**:例如,训练数据中没有涉及某些新领域或新话题,模型在处理这些领域或话题的文本时可能无法做出准确的推断。
- **自动驾驶**:在自动驾驶场景中,训练数据可能来自特定的地理位置或天气条件,而在实际应用中,系统可能会遇到完全不同的道路条件和驾驶环境。
总之,OOD generalization是现代机器学习中的一个重要问题,尤其是在实际应用中,面对的测试数据往往与训练数据存在较大差异。解决这个问题有助于提高模型在不同实际场景中的可靠性和适应能力。
<!-- #include-env-end -->
学习:https://github.com/baoguangsheng/fast-detect-gpt
