大模型应用开发之LLM入门

news2025/7/19 9:59:11

一、大模型概述

1、大模型概念

LLM是指用有大量参数的大型预训练语言模型,在解决各种自然语言处理任务方面表现出强大的能力,甚至可以展现出一些小规模语言模型所不具备的特殊能力

2、语言模型language model

语言建模旨在对词序列的生成概率进行建模,以预测未来tokens的概率,语言模型的发展:

1)统计语言模型SLM: 统计语言模型使用马尔可夫假设(Markov Assumption)来建立语言序列的预测模型,通常是根据词序列中若干个连续的上下文单词来预测下一个词的出现概率,经典的例子是n-gram模型,在此模型中一个词出现的概率只依赖于前面的n-1个词,比如一个3gram模型只考虑前两个词对第三个词出现概率的影响

2)神经语言模型NLM:使用神经网络来预测词序列的概率分布,如RNN包括LSTM和GRU等变体,这样NLM就可以考虑更长的上下文或整个句子的信息,而传统的统计语言模型使用固定窗口大小的词来预测;在该模型中引入分布式词表示,每个单词被编码为实数值向量,即词嵌入(word embeddings)用来捕捉词与词之间的语法关系

3)预训练语言模型PLM: PLM开始在规模无标签语料库上进行预训练任务,学习语言规律知识,并且针对特定任务进行微调(fine-tuning)来适应不同应用场景;而对于大规模的长文本,谷歌提出了transformer--通过自注意力机制(self- attention)和高度并行化能力,可以在处理序列数据时捕捉全局依赖关系,极大提高序列处理任务的效率

4)大语言模型LLM: 当一些研究工作尝试训练更大的预 训练语言模型(例如 175B 参数的 GPT-3 540B 参数的 PaLM)来探索扩展语言 模型所带来的性能极限。这些大规模的预训练语言模型在解决复杂任务时表现出 了与小型预训练语言模型(如 330M 参数的 BERT 1.5B 参数的 GPT2)不同 的行为,这种大模型具 有但小模型不具有的能力通常被称为“涌现能力”(Emergent Abilities),这些大型的预训练模型就是LLM

3、大模型特点 

1)参数数量庞大,数据需求巨大

2)计算资源密集

3)泛化能力强

4)迁移学习效果佳

4、小模型vs大模型

5、大模型企业应用

1)通用大模型

2)行业大模型

3)产业大模型

二、大模型基础

1、大模型构建过程

1)大规模预训练 (Large-Scale Pre-training)

目标为模型参数找到好的“初值点”,使其编码世界知识,具备通用的语言理解和生成能力。可以看作是世界知识的压缩
方法 使用海量(当前普遍 2~3T tokens 规模,并有扩大趋势)的无标注文本数据,通过自监督学习任务(当前主流是“预测下一个词”)训练解码器架构 (Decoder Architecture) 模型。
关键要素 

1. 数据:高质量、多源化数据的收集与严格清洗至关重要,直接影响模型能力。 

2. 算力:需求极高(百亿模型需数百卡,千亿模型需数千甚至万卡集群),训练时间长。 

3. 技术与人才:涉及大量经验性技术(数据配比、学习率调整、异常检测等),高度依赖研发人员的经验和能力。

2)指令微调与人类对齐 (Instruction Fine-tuning & Human Alignment)

动机 预训练模型虽有知识,但不擅长直接按指令解决任务。需要进一步训练以适应人类的使用方式和价值观。
指令微调 

目标:使模型学会通过问答形式解决任务。 

方法:使用“任务输入-输出”配对数据进行有监督的模仿学习 (Imitation Learning)。 

作用:主要在于激发模型在预训练阶段学到的能力,而非注入新知识。 

资源:所需数据量(数十万到百万级)和算力远小于预训练。

 人类对齐 

目标:使模型行为符合人类的期望、需求和价值观(如“有用、诚实、无害”)。 

主流方法RLHF (基于人类反馈的强化学习)。 

RLHF过程: 标注员对模型输出进行偏好排序 -> 训练奖励模型 (Reward Model) -> 使用强化学习根据奖励模型优化语言模型。 

资源:通常比SFT消耗多,但远小于预训练。也在探索更简化的对齐方法。

产出 一个能够进行良好人机交互,能按指令解决问题,并且行为更符合人类期望的最终模型

2、扩展法则

通过增大模型参数量、训练数据量和计算量来提升模型能力,而且这种提升往往比改进模型架构或算法本身带来的提升更显著。 为了量化研究这种规模扩展带来的性能提升,研究人员提出了扩展法则来研究规模扩展与模型性能(通常用损失函数 Loss 来衡量)的关系,可以帮助预测不同资源投入下的模型性能:

1)KM 扩展法则

建立模型性能与三个主要因素模型规模 N (参数量)、数据规模 D (token 数量)、计算算力 C (通常指训练期间的总计算量) 之间的幂律关系

推论:为了达到最低的 Loss,增大模型规模 N 比增大训练数据量 D 更有效。也就是说,分配更多计算资源给模型参数增长,带来的收益更大。

2)Chinchilla 扩展法则

该法则认为 KM 法则可能低估了数据规模 D 的重要性。他们在给定计算预算 C 下,同时调整 N 和 D提出了新的扩展法则

推论:对于给定的计算预算 C,要达到最优性能(最低 Loss),模型规模 N 和数据规模 D 应该按比例同步扩展。他们的研究表明,最优的 N 和 D 大约与 C 的平方根 成正比,意味着计算预算应该大致平均分配给模型规模增长和数据规模增长

3)局限性

  • 扩展法则主要预测的是预训练损失 (Pre-training Loss),这与模型在具体下游任务上的表现、涌现能力(Emergent Abilities, 如推理、遵循复杂指令)以及对齐后(如 RLFH 后)的实际效果不完全等同

  • 模型性能是多维度的,Loss 只是其中一个指标。扩展法则难以预测模型是否“有用”、“诚实”、“无害”等对齐相关的特性。

  • 存在逆向扩展现象 (Inverse Scaling):在某些特定任务或指标上,模型规模增大反而导致性能下降。

  • 数据质量的影响难以简单量化进 D 中,但对模型能力至关重要。

3、涌现能力

特征:特定任务的性能在模型规模达到某个阈值后,出现突然的、远超随机水平的性能跃升

1)上下文学习 (In-context Learning, ICL)

模型能根据提示中给出的少量任务示例(Demonstrations)来完成新任务,无需进行模型参数的更新(梯度下降)。

例子: GPT-3 (175B) 展现出强大的ICL能力,而GPT-1/2则不具备。能力也与任务相关,例如13B的GPT-3在简单算术上可以ICL,但175B在波斯语问答上效果不佳。

2)指令遵循 (Instruction Following):

模型能理解并执行自然语言指令来完成任务,即使没有在提示中给出具体示例(零样本泛化)。通常通过指令微调 (Instruction Tuning ),使用大量(任务指令,任务输出)的数据对进行训练。

例子: FLAN-PaLM 在规模达到 62B 及以上时,才在复杂的 BBH 推理基准上展现出较好的零样本能力。但较小模型(如 2B)用高质量数据微调也能掌握一定(尤其是简单任务)指令遵循能力。

3)逐步推理 (Step-by-step Reasoning)

模型能解决需要多个推理步骤的复杂任务(如数学应用题),特别是利用思维链 (Chain-of-Thought, CoT) 提示策略时,即在提示中引导模型生成中间的推理步骤,从而得到更可靠的答案。

例子: CoT 对 PaLM 的 62B 和 540B 模型在算术推理上有提升,但对 8B 模型效果不明显,且在 540B 上提升更显著。提升效果也因任务而异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2343649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

武汉昊衡科技OLI光纤微裂纹检测仪:高密度光器件的精准守护者

随着AI技术应用越来越广,算力需求激增,光通信系统正加速向小型化、高密度、多通道方向演进。硅光芯片、高速光模块等核心器件内部的光纤通道数量成倍增加,波导结构愈发精细,传统检测手段因分辨率不足、效率低下,难以精…

SQL 函数进行左边自动补位fnPadLeft和FORMAT

目录 1.问题 2.解决 方式1 方式2 3.结果 1.问题 例如在SQL存储过程中,将1 或10 或 100 长度不足的时候,自动补足长度。 例如 1 → 001 10→ 010 100→100 2.解决 方式1 SELECT FORMAT (1, 000) AS FormattedNum; SELECT FORMAT(12, 000) AS Form…

Tailwind CSS实战:快速构建定制化UI的新思路

引言 在当今快节奏的前端开发环境中,开发者不断寻找能够提高效率并保持灵活性的工具。Tailwind CSS作为一个功能型优先的CSS框架,正在改变开发者构建用户界面的方式。与Bootstrap和Material UI等传统组件库不同,Tailwind不提供预设组件&…

【数据可视化-25】时尚零售销售数据集的机器学习可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个…

UML 活动图深度解析:以在线购物系统为例

目录 一、UML 活动图的基本构成要素 二、题目原型 三、在线购物系统用户购物活动图详细剖析 (一)概述 (二)节点分析 三、注意事项 四、活动图绘画 五、UML 活动图在软件开发中的关键价值 六、总结 在软件开发与系统设计领…

【MFC】 VS2022打开低版本的MFC,双击.rc文件,DIalog加载失败,页面弹窗fatal error RC***:cannot open*****

打开以前的MFC示例报错,打开VS2019的实例以及更早VS版本的实例都一样,打不开,还报错; 错误 MSB8041 此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。 GxCameraEvents_VS2015 C:\P…

Centos9 安装 nginx 及配置

1. 安装nginx 安装依赖软件,安装之前可以看一下是否已经安装过以下软件,dnf list installed | grep zlib dnf install gcc-c dnf install zlib dnf install pcre pcre-devel dnf install openssl openssl-devel下载nginx,这里是下载到opt文…

使用Handsontable实现动态表格和下载表格

1.效果 2.实现代码 首先要加载Handsontable,在示例中我是cdn的方式引入的,vue的话需要下载插件 let hot null;var exportPlugin null;function showHandsontable(param) {const container document.getElementById("hot-container");// 如果…

Action:Update your application‘s configuration

在使用Maven项目时,有一个报错信息是:Update your applications configuration 这类问题,就是我们的application.yml文件 或者 application.properties文件 内容哪里写错了 最有可能就是对齐方式有问题

【计算机网络】IP地址

IPv4 五类地址 1.0.0.0 ~ 126.255.255.255A类子网8位,主机24位128.0.0.0 ~ 191.255.255.255B类子网16位,主机16位192.0.0.0 ~ 223.255.255.255C类子网24位,主机8位224.0.0.0 ~ 239.255.255.255D类不分网络地址和主机地址,作为组播…

Rundeck 介绍及安装:自动化调度与执行工具

Rundeck介绍 概述:Rundeck 是什么? Rundeck 是一款开源的自动化调度和任务执行工具,专为运维场景设计,帮助工程师通过统一的平台管理和执行跨系统、跨节点的任务。它由 PagerDuty 维护(2016 年收购)&#…

vue element使用el-table时,切换tab,table表格列项发生错位问题

展示问题 问题描述:使用el-table的fixed"right"属性后,如果切换tab时,回出现最后一列错误的问题 官网提供解决方法:doLayout 需要注意的事项:我这里是通过组件使用的table组件,涉及多层组件封装…

第十二章 Python语言-大数据分析PySpark(终)

目录 一. PySpark前言介绍 二.基础准备 三.数据输入 四.数据计算 1.数据计算-map方法 2.数据计算-flatMap算子 3.数据计算-reduceByKey方法 4.数据计算-filter方法 5.数据计算-distinct方法 6.数据计算-sortBy方法 五.数据输出 1.输出Python对象 (1&am…

AD相同网络的铜皮和导线连接不上

出现这样的情况是不是很烦恼,明明是相同的网络连接不上????? 直接修改铜皮属性(选择所有相同这个选项) 这样就可以连接上了

keil修改字体无效,修改字体为“微软雅黑”方法

在网上下载了微软雅黑字体,微软雅黑参考下载链接 结果在Edit->Configuration中找不到这个字体 这个时候可以在keil的安装目录中找到UV4/global.prop文件 用记事本打开它进行编辑,把字体名字改成微软雅黑 重新打开keil就发现字体成功修改了。 这个…

【网络编程】从零开始彻底了解网络编程(三)

本篇博客给大家带来的是网络编程的知识点. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅🚀 要开心要快乐顺便进步 TCP流…

NVIDIA --- 端到端自动驾驶

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、传统驾驶模型二、NVIDIA的端到端驾驶模型1.基本模型2.自查讯向量3.通用框架 总结 前言 端到端自动驾驶指的是系统接收来自摄像头雷达和激光雷达的原始传感…

CSRF请求伪造

该漏洞主要是关乎于用户,告诫用户不可乱点击链接,提升自我防范,才能不落入Hacker布置的陷阱! 1. cookie与session 简单理解一下两者作用 1.1. 🍪 Cookie:就像超市的会员卡 存储位置:你钱包里…

(一)单机架构、应用数据分离架构、应用服务集群架构

文章目录 明确为什么要学习架构的演进单机架构什么是单机架构单机架构的模型单机架构的优缺点优点缺点 单机架构的技术案例 应用数据分离架构什么是应用数据分离架构架构模型应用数据分离架构的优缺点优点缺点 技术案例 应用服务集群架构什么是应用服务集群架构架构模型应用服务…

Python数据分析案例72——基于股吧评论数据的情感分析和主题建模(LDA)

背景 好久没更新了,最近忙其他去了。最近股市波动太大,看了不少新闻的评论。抽空写了个股吧评论数据的LDA建模和情感分析,简单写到博客上来更新一下。 数据来源 上证指数(000001)股吧_上证指数怎么样_分析讨论社区— 数据来源上述网站的东…