# NLP 和 LLM 的区别
NLP 自然语言处理 和 LLM 大语言模型 有一定关联,但也存在明显区别,主要体现在以下几个方面:
- 定义与范畴
# NLP:
# 是人工智能的一个重要分支领域,研究如何让计算机理解、处理和生成人类自然语言
# 涵盖了从文本分析、信息检索、机器翻译到情感分析等众多任务和技术
# 旨在使计算机能与人类进行自然语言交互
# LLM:
# 是一种基于深度学习的人工智能模型,属于 NLP 中的一个特定技术类型
# 以 Transformer 架构为基础,通过学习大量文本数据中的语言模式和知识
# 具备处理和生成自然语言文本的能力
- 研究目的
# NLP:
# 目标广泛,包括实现人机自然交互、文本信息的自动化处理与利用、语言相关问题的智能解决等
# 致力于让计算机像人类一样理解和运用自然语言,提升信息处理效率和智能化水平
# LLM:
# 主要聚焦于学习语言的统计规律和语义知识,通过海量数据训练
# 能根据输入文本生成连贯、合理的自然语言文本
# 旨在模拟人类语言生成能力,为各种 NLP 任务提供语言理解和生成基础
- 技术方法
# NLP:
# 使用多种技术方法,包括基于规则的方法、统计方法、机器学习方法等
# 早期基于规则的方法依赖人工编写语法和语义规则,后来统计和机器学习方法利用数据进行模型训练
# 如支持向量机用于文本分类
# LLM:
# 主要基于深度学习技术,特别是 Transformer 架构,通过堆叠多层 Transformer 块
# 并行计算和自注意力机制捕捉文本长序列依赖关系
# 利用大规模无监督学习从海量文本中自动学习语言特征和模式
- 应用场景
# NLP:
# 应用场景多样,如机器翻译、智能客服、文本摘要、信息抽取、语音识别与合成等
# 涉及多个领域,为不同行业提供自然语言处理解决方案
# LLM:
# 在文本生成、知识问答、对话系统等方面表现出色,为智能写作助手、聊天机器人等提供核心支持
# 还可用于阅读理解、推理计算等任务,为各种 NLP 应用提供语言生成和理解基础能力
# 关于 agent
agent 通常指智能体,是一种能够感知环境做出决策并且采取行动的一个系统
- 由三个组件组成:
# 大型语言模型(LLM)
# 一组工具
# 提供指令的提示(prompt)
- 特点
# 自主性:
# agent 能在没有人类直接干预的情况下,根据自身的内部状态和对环境的感知,自主地决定和执行行动
# 如智能家居系统中的智能温控 agent,可根据室内温度和用户设定自主调节空调温度
# 感知能力:
# agent 具备感知环境信息的能力,通过传感器等设备获取环境中的数据
# 如自动驾驶汽车中的 agent,依靠摄像头、雷达等感知路况和周边车辆、行人等信息
# 交互性:
# agent 可以与环境中的其他实体进行交互,包括其他 agent、人类用户或外部系统
# 如智能客服 agent,能与用户进行对话交互,解答问题和提供帮助
# 目标导向性:
# agent 具有明确的目标,其行动和决策都是为了实现这些目标
# 如物流调度 agent,目标是优化货物配送路线和时间,以提高物流效率
- 类型
# 软件 agent:
# 是运行在计算机系统中的软件程序,可在网络环境或特定软件平台上执行任务
# 如邮件客户端中的垃圾邮件过滤 agent,能自动识别和过滤垃圾邮件
# 硬件 agent:
# 是基于硬件设备实现的智能体,通常具有物理形态和实际的操作能力
# 如机器人 agent,可在现实世界中进行移动、抓取物体等操作
# 混合 agent:
# 结合了软件和硬件的特点,既有软件部分进行数据处理和决策,又有硬件部分实现物理操作和与环境的交互
# 如一些智能穿戴设备中的 agent,既通过软件分析用户的运动和健康数据,又通过硬件传感器收集生理信息
- 应用
# 智能交通:交通流量控制 agent 可根据实时路况调整交通信号灯时长,优化交通流量
# 医疗保健:医疗诊断 agent 能分析患者的病历和检查数据,辅助医生进行疾病诊断
# 工业制造:生产调度 agent 可根据订单需求、设备状态等因素,合理安排生产任务和设备调度
# Hugging face/Ollama/modelscope
- 功能定位
# Hugging Face 是个综合性的AI平台,提供大量预训练模型,如自然语言处理/计算机视觉/语音识别等多领域
# 还有模型微调、评估和部署工具,以及丰富的数据集和开发者社区
# Ollama 专注于在本地运行大型语言模型,让用户能在自己计算机上下载和运行模型
# 如 Hugging Face 的语言模型格式为 gguf
- 使用场景
# Hugging Face 适可利用其预训练模型和工具进行各种模型开发、研究实验、构建AI应用等
# Ollama 适合在本地探索语言模型,对隐私和数据安全要求高、追求低延迟和高性能,不依赖外部服务的用户
- 生态系统
# Hugging Face 有庞大的开发者社区,有模型库、数据集、开源产品矩阵等,便于开发者交流合作
# Ollama 生态围绕本地部署和使用语言模型展开,与 Hugging Face Hub 结合可获取更多模型资源
modelscope 是中国版的 Hugging face,支持多种模型格式,如 Safetensor 等。Safetensor 格式常用于模型的微调和其他操作,它在存储和传输模型数据时提供了更高的安全性和稳定性
# Langchain/Transformer/PyTorch
Transformer是模型结构,PyTorch是实现工具,Long chain是特定应用场景
- Transformer与PyTorch
Transformer
# 是一种基于自注意力机制的深度学习模型,广泛用于自然语言处理(如BERT、GPT)、计算机视觉等领域
PyTorch
# 是Facebook开发的深度学习框架,提供了灵活的张量运算和自动求导功能,支持快速构建和训练神经网络
PyTorch是实现Transformer模型的常用工具之一
# 可以用PyTorch的API搭建Transformer的核心组件(如多头注意力),并进行训练和部署
- Langchain与Transformer/PyTorch
Langchain
# 通常指处理长序列数据的场景(如长文本、长视频帧)
Transformer模型
# 在处理长序列时存在计算复杂度高(与序列长度平方成正比)的问题
# 因此研究者会基于Transformer改进出适用于长链的模型(如Sparse Transformer、Longformer)
PyTorch作为框架
# 为长链模型的实现提供支持,如通过稀疏矩阵运算、滑动窗口注意力等优化,帮助开发者高效处理长序列数据
# 模型蒸馏
蒸馏(Distillation)指的是组织发布的原始模型的蒸馏版本。蒸馏模型基本上是更小更高效的模型,旨在复制大型模型的行为,同时降低资源需求。具体步骤:
数据准备 # 准备一个能代表目标任务的数据集。数据增强技术可进一步提高训练示例的多样性
选择教师模型 # 选择一个性能良好、经过预先训练的教师模型。教师的质量直接影响学生的表现
蒸馏过程
训练设置 # 初始化学生模型并配置训练参数(如学习率、批量大小)
知识传输 # 使用教师模型生成软目标(概率分布)和硬目标(地面实况标签)
训练循环 # 训练学生模型,使其预测与软/硬目标之间的综合损失最小
模型蒸馏和模型微调的区别:
# 微调(Fine-tuning)就像学生发现自己数学不好,找个家教补习一下,专门提高某块短板
# 它不像蒸馏那样从头教,也不需要外挂,就是在大模型的基础上"精修"一下
模型介绍 →