LLM 是“大型语言模型”(Large Language Model)的缩写。它指的是使用深度学习技术训练出来的,具有大规模参数量的语言处理模型。这些模型通常在互联网上的大量文本数据上进行训练,以学习自然语言的模式和结构。训练后的 LLM 能够执行各种自然语言处理任务,如文本生成、机器翻译、问答系统、摘要生成、情感分析等。
当我们说人类语言时,不仅仅指中文、英语或法语等,人类语言还延伸到:
LLM 经过数百、数千亿、甚至数万亿个参数的训练,能够从广泛的数据源中学习到规律。
这种广泛的训练使他们能够根据收到的输入预测和生成文本,以便他们可以参与对话、回答查询甚至编写代码。
大型语言模型使用神经网络和机器学习 (ML) 的混合。正是这种混合使得该技术能够首先处理然后生成原始文本和图像。神经网络是 LLM 的大脑。这些网络从大量数据中学习,随着接触更多数据而不断进步。
随着模型接受更多数据的训练,它会学习语言的模式、结构和细微差别。这就像同时教它语法规则、诗歌节奏和技术手册的术语一样。
然后,机器学习模型帮助模型根据句子前面的单词预测下一个单词。这个过程重复了无数次,提高了模型生成连贯且上下文相关的文本的能力。
LLM 现在采用 Transformer 架构,该架构允许模型查看并权衡句子中不同单词的重要性,这与我们阅读句子并寻找上下文线索来理解其含义时的情况相同。
虽然 LLM 可以生成原创内容,但其输出的质量、相关性和创新性可能会有所不同,需要人工监督和改进。
大型语言模型并不总是像今天这样有用。随着时间的推移,它们得到了很大的发展和迭代。
让我们回顾一下 LLM 历史上的一些关键时刻。这样你就可以了解他们取得了多大的进步,以及与几十年的缓慢进步相比,过去几年的快速发展。
(1)2010 年之前:早期基础
1950 年代至 1970 年代:早期的人工智能研究为自然语言处理奠定了基础。最著名的是,名为“Eliza”的技术人员是世界上第一个聊天机器人。
1980 年代至 1990 年代:NLP 统计方法的发展,逐渐摆脱基于规则的系统。
(2)2010 年:初始模型
2013 年推出了 word2vec,这是一种计算词语向量表示的工具,通过捕捉词语的语义,显著提高了 NLP 任务的质量。
(3)2014-2017:RNN 和注意力机制
2014 年:序列到序列 (seq2seq) 模型和循环神经网络 (RNN) 在机器翻译等任务中变得流行。
2015年:引入注意力机制,提高神经机器翻译系统的性能。
2017年:《Attention is All You Need》论文中提出了Transformer模型,以对序列的高效处理为NLP任务树立了新的标准。
(4)2018 年:GPT 和 BERT 的出现
2018 年 6 月:OpenAI 推出 GPT(生成式预训练变压器),这是一种利用无监督学习生成连贯且多样化文本的模型。
2018 年 10 月:Google AI 推出 BERT(来自 Transformers 的双向编码器表示),它使用 Transformer 模型的双向训练来提高对语言上下文的理解。
(5)2019-2020:更大、更强大的类型
2019 年:推出 GPT-2,这是 GPT 的改进版本,具有 15 亿个参数,展示了该模型在扩展段落中生成连贯且上下文相关的文本的能力。
2020 年:OpenAI 发布 GPT-3,这是一个拥有 1750 亿个参数的更大模型,在生成类似人类的文本、翻译和回答问题方面表现出卓越的能力。
(6)2021-2023:LLM的专业化、多模态性和民主化
2021-2022:开发专门的模型,例如用于对话应用程序的 Google LaMDA 和用于开放预训练变压器的 Facebook OPT。
2021 年:引入多模态模型,例如 OpenAI 的 DALL·E,能够根据文本描述生成图像,以及 CLIP,可以在自然语言环境中理解图像。
2022 年:GPT-4 和其他先进模型(如 Midjourney)的出现,继续突破 LLM 在各个领域和任务(包括图像生成)中生成和理解自然语言方面的潜力。它也更容易被更多人接受。
(1)模型定义与准备
(2) 数据收集与预处理
(3) 预训练(Pre-training)
(4)监督微调(Supervised Fine-Tuning, SFT)
(5) 可选,强化学习与人类反馈(Reinforcement Learning from Human Feedback, RLHF)
(6)模型评估与验证
(7) 部署与推理
以下是 LLM 能力的列表:
从头开始训练 LLM 一般公司难以承担成本,需要大量的资源、时间和技术支持。
训练一个大型模型需要大量的计算资源。为了训练一个与 GPT-3、GPT-4 等规模相当的模型,通常需要数百到上千个 GPU 卡,可能花费数百到数千万美元。
训练时间因硬件资源和模型规模而异。使用高性能的硬件(如TPU集群),训练一个大规模的模型可能需要几周到几个月的时间。
所以目前很多公司的策略是采用开源模型,如 LLaMA、Qwen 等,把这些已经训练好的模型权重作为基础模型,在此基础上增加新的语料进行微调或增量训练,以此大大降低时间和机器成本。
下面是一些开源的数据集:
数据集名称 | 使用者 | 类型 | 语言 | 大小 | 描述 ️ |
---|---|---|---|---|---|
proof-pile | proof-GPT | 预训练 (PT) | 英文 LaTeX |
13GB | 一个预训练数据集,类似于Pile但包含LaTeX语料库以增强模型在证明上的能力。 |
peS2o | / | 预训练 (PT) | 英文 | 7.5GB | 用于预训练的高质量学术论文数据集。 |
StackOverflow 帖子 |
/ | 预训练 (PT) | / | 35GB | 以Markdown格式的原始StackOverflow数据,用于预训练。 |
SlimPajama | / | 预训练 (PT) | 主要为英文 | / | RedPajama的清理和去重版本 |
NMBVC | / | 预训练 (PT) | 中文 | / | 大规模、持续更新的中文预训练数据集。 |
falcon-refinedweb | tiiuae/falcon系列 | 预训练 (PT) | 英文 | / | CommonCrawl的精炼子集。 |
CBook-150K | / | 预训练 (PT), 构建数据集 | 中文 | 150K+书籍 | 原始中文书籍数据集。需要一些预处理流程。 |
Common Crawl | LLaMA(经过一些处理后) | 构建数据集, 预训练 (PT) |
/ | / | 最著名的原始数据集之一,很少直接使用。一种可能的预处理流程是CCNet |
nlp_Chinese_Corpus | / | 预训练 (PT), TF |
中文 | / | 包括维基百科、百度百科、百度问答、一些论坛问答和新闻语料库的中文预训练语料库。 |
The Pile (V1) | GLM(部分)、LLaMA(部分)、GPT-J, GPT-NeoX-20B, Cerebras-GPT 6.7B, OPT-175b | 预训练 (PT) | 多语言, 代码 |
825GB | 包含22个更小的高质量数据集的多样化开源语言模型数据集,涵盖许多领域和任务。 |
C4 Huggingface数据集 TensorFlow数据集 |
Google T5系列, LLaMA | 预训练 (PT) | 英文 | 305GB | Common Crawl网页爬虫语料库的巨量清理版本。经常被使用。 |
ROOTS | BLOOM | 预训练 (PT) | 多语言, 代码 |
1.6TB | 包括Wikipedia和StackExchange等子数据集的多样化开源数据集,用于语言模型。 |
PushshPairs reddit 论文 |
OPT-175b | 预训练 (PT) | / | / | Reddit原始数据,一种可能的处理流程见此论文 |
Gutenberg项目 | LLaMA | 预训练 (PT) | 多语言 | / | 书籍数据集,主要是小说。未经过预处理。 |
CLUECorpus | / | 预训练 (PT), 微调, 评估 |
中文 | 100GB | 来源于Common Crawl的中文预训练语料库。 |
Transformer 模型至关重要,因为它们使 LLM 能够通过自注意力机制处理文本中的长距离依赖关系。该机制允许模型衡量句子中不同单词的重要性,从而提高语言模型在理解和生成语言方面的表现。
微调是在预训练之后的环节,针对特定任务进一步训练它。此过程会调整模型权重,使其在特定任务(如情绪分析、处理编程语言或其他专门应用程序)上表现更好。
模型大小通常以参数数量来衡量,它会影响 LLM 捕捉复杂语言模式的能力。根据多篇论文的实验表明,具有数千亿个参数的超大型模型通常表现更好,但在训练过程中需要更多的计算资源。
是的,LLM 可以生成各种编程语言的代码。它们通过提供代码片段、调试帮助和翻译代码来帮助开发人员,这要归功于它们在包含编程代码的各种数据集上进行的训练。
上下文学习是指 LLM 能够仅根据推理过程中提供的输入文本来学习和执行特定任务,而无需进行额外的微调。这使模型能够动态适应新任务或指令,从而增强其在广泛应用中的多功能性。
零样本(zero shot)学习允许 LLM 利用其一般的语言理解能力来执行未经过明确训练的特定任务。
少样本(few shot)学习涉及在提示中为模型提供一些任务示例来指导其推理。
这两种方法都展示了模型在极少或没有额外训练数据的情况下进行泛化和适应新任务的能力。
欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;
欢迎关注知乎/CSDN:SmallerFL
也欢迎关注我的wx公众号(精选高质量文章):一个比特定乾坤