微信扫码
与创始人交个朋友
我要投稿
论文题目:Large Language Models: A Survey
论文链接:https://arxiv.org/pdf/2402.06196.pdf
这篇综述由Word2Vec的作者Tomas Mikolov等大佬出品,对大语言模型(LLMs)进行一个全面的概述、回顾与分析(每一个模块都很干货,其中第四部分对如何构建一个LLM做了全景图概述,独一份),以下是论文的主要内容概要:
1、介绍了语言建模的历史背景,从统计语言模型到神经网络模型,再到预训练语言模型和LLMs的发展。
流行语言模型类型:Encoder-Only、Decoder-only、Encoder-Decoder 、GPT Family、LLaMA Family 、PaLM Family、Other Popular LLMs
一些流行语言模型的高级概述
2、LLMs的兴起:讨论了通过在大规模文本数据上训练数十亿参数的LLMs,展现出强大的语言理解和生成能力。
大模型的强大能力矩阵
3、LLMs家族:详细回顾了三个主要的LLMs家族:GPT、LLaMA和PaLM,以及它们的模型特性、贡献和局限性。
三个主要的LLM家族
4、构建LLMs:探讨了构建LLMs的关键技术,包括数据准备、模型架构、预训练、微调和指令调优。
一些最具代表性的大型语言模型(LLM)框架的时间线
LLMs全景图、训练和运行过程:
LLM架构(LLM Architectures):这部分展示了LLMs的三种主要架构类型:
编码器-仅(Encoder-Only):这类模型专注于理解输入文本的上下文,适用于文本分类、命名实体识别等任务。
解码器-仅(Decoder-Only):这些模型专注于文本生成任务,如文本续写或翻译。
编码器-解码器(Encoder-Decoder):这类模型结合了编码器和解码器,适用于需要理解输入并生成输出的任务,如摘要、翻译或问答。
数据清洗(Data Cleaning):在训练LLMs之前,需要对数据进行清洗,包括去除噪声、处理异常值和消除重复数据,以提高模型性能。
标记化(Tokenizations):这是将文本分割成更小单元(如单词或子词)的过程,常用的标记化方法包括BytePairEncoding、WordPieceEncoding和SentencePieceEncoding。
位置编码(Positional Encoding):为了在模型中保留序列中单词的顺序信息,位置编码被添加到输入嵌入中。这包括绝对位置嵌入(APE)、相对位置嵌入(RPE)、旋转位置嵌入(RoPE)和相对位置偏置(Relative Positional Bias)。
模型预训练(Model Pre-training):LLMs在大量未标记文本上进行预训练,以获得基本的语言理解能力。这通常涉及自监督学习,如下一个句子预测(NSP)或掩码语言建模(MLM)。
微调和指令调整(Fine-tuning and Instruction Tuning):为了使基础模型适应特定任务,需要进行微调。指令调整是一种特殊类型的微调,它使用人类反馈来指导模型的行为。
对齐(Alignment):为了确保LLMs的行为与人类的目标、偏好和原则一致,需要进行对齐。这包括使用人类反馈(RLHF)和AI反馈(RLAIF)等方法。
解码策略(Decoding Strategies):在生成文本时,LLMs使用不同的解码策略,如贪婪搜索(Greedy Search)、束搜索(Beam Search)、Top-k采样和Top-p采样(Nucleus Sampling)。
成本效益训练/推理/适应/压缩(Cost-Effective Training/Inference/Adaptation & Compression):为了更经济高效地训练和使用LLMs,采用了优化训练、低秩适配(LoRA)、知识蒸馏和量化等技术。
如何构建LLMs全景图
5、LLMs的应用:描述了如何使用和增强LLMs,包括LLM局限性、Prompt工程、RAG、工具利用和LLM智能体。
LLMs如何使用和增强
6、数据集和基准:回顾了用于LLMs训练、微调和评估的流行数据集,广泛使用的评估指标,以及大语言模型(LLMs)分类方式。
用于评估和训练大型语言模型(LLMs)的各种数据集及其应用:基本任务数据集、新兴能力数据集、增强能力数据集
LLMs评常见分类方式:参数规模(小型、中型、大型、超大型)、类型(基础、指令、聊天模型)、起源(原始、微调)、可用性(开/闭源)
7、提供了LLMs开发和部署的开源工具和资源列表:
DeepSpeed:一个优化库,简化了分布式训练和推理,支持大规模语言模型。
Transformers:由HuggingFace提供的库,包含数千个预训练模型,适用于文本、视觉和音频任务。
Megatron-LM:NVIDIA开发的高效、模型并行的Transformer模型。
BMTrain:一个高效的大型模型训练工具包,支持分布式训练。
GPT-NeoX:基于Megatron-DeepSpeed库,提供更高的可用性和优化。
LoRA:支持大型语言模型的低秩适应,减少可训练参数数量。
ColossalAI:提供分布式深度学习模型的并行组件。
FastChat:一个开放平台,用于训练、服务和评估基于LLM的聊天机器人。
Skypilot:一个框架,用于在任何云上运行LLMs、AI和批处理作业。
vLLM:一个快速且易于使用的LLM推理和服务库。
text-generation-inference:一个部署和服务于LLMs的套件。
LangChain:一个框架,用于开发由语言模型驱动的应用程序。
OpenLLM:一个开源平台,用于在现实世界应用中部署和操作LLMs。
Embedchain:一个开源RAG框架,简化了AI应用的创建和部署。
Autogen:一个框架,允许使用多个代理来解决任务。
BabyAGI:一个自主AI代理,基于给定目标生成和执行任务。
Guidance:一种编程范式,提供优于传统提示和链接的控制和效率。
PromptTools:一套开源工具,用于实验、测试和评估LLMs、向量数据库和提示。
PromptBench:一个基于PyTorch的Python包,用于评估LLMs。
Promptfoo:一个测试和评估LLM输出质量的工具。
Faiss:由Facebook AI Research开发的库,用于高效相似性搜索和聚类。
Milvus:一个开源向量数据库,用于支持嵌入相似性搜索和AI应用。
Qdrant:一个向量相似性搜索引擎和向量数据库。
Weaviate:一个基于GraphQL的向量搜索引擎,支持高维数据的相似性搜索。
整体而言,这篇论文为读者提供了一个关于LLMs的深入视角,包括它们的技术细节、应用案例、性能评估以及未来的研究方向。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-10
2024-05-28
2024-04-12
2024-04-25
2024-05-14
2024-08-13
2024-07-18
2024-05-06