大语言模型的特点和能力
LLM(Large Language Model,大型语言模型)是指那些规模庞大、参数数量众多的深度神经网络模型,用于理解和生成自然语言文本。在自然语言处理(NLP)领域有着广泛的应用,因其强大的语言理解和生成能力,能够处理各种复杂的文本任务。
本文详细介绍了大语言模型(LLM)的核心特点与六大能力,涵盖生成、总结、提取、分类、检索与改写。重点对比了 LLaMA 2、Falcon 180B、BLOOM、Vicuna、CodeGeeX 等主流开源模型的技术参数与应用场景。文章梳理了基于 LLaMA 的预训练、监督微调(SFT)及对齐(RLHF)三大技术阶段,并列举了国内外热门开源模型清单。最后提供了模型选型的关键因素,包括业务需求、精度要求、预算及硬件资源,并补充了关于显存需求、推理加速框架及私有化部署的实用建议,帮助开发者根据自身条件选择合适的开源 LLM 方案。

LLM(Large Language Model,大型语言模型)是指那些规模庞大、参数数量众多的深度神经网络模型,用于理解和生成自然语言文本。在自然语言处理(NLP)领域有着广泛的应用,因其强大的语言理解和生成能力,能够处理各种复杂的文本任务。
LLM 主要基于 Transformer 架构。Transformer 通过自注意力机制(Self-Attention)来捕捉文本中的长距离依赖关系,无需像循环神经网络(RNN)那样逐词递归处理,从而实现了并行计算,大大提高了训练和推理速度。
LLM 的'大型'体现在其巨大的参数量,通常在数十亿到数千亿之间。例如,GPT-3 拥有约 1750 亿个参数,而更近期的模型如 GPT-4、PaLM、Chinchilla、阿里云的通义千问等,参数量可能更大。大规模参数使得模型能够学习到更丰富的语言规律和模式,提高其泛化能力和表达复杂语言结构的能力。
LLM 通常遵循'预训练 - 微调'的范式:
LLM 的核心能力大致分为:生成、总结、提取、分类、检索与改写六部分。
文本生成是给定输入与上下文生成新文本。生成能力是 LLM 最核心的能力。其能力的建立来源于对大量的文本进行训练,并捕捉了语言的内在联系与人类的使用模式。
总结是 LLM 的重要能力。通过 Prompt Engineering,LLM 可对用户输入的文本提炼总结。在工作中我们每天会处理大量会议、报告、文章、邮件等文本内容,LLM 总结能力有助于快速获取关键信息,提升工作效率。
提取文本信息是 NLP 中常见需求。LLM 有时可以提取比传统 NLP 方法更难提取的实体。利用 LLM 提取文本中的时间、地点、人物等信息,旨在将文本关键信息进行结构化表示。除此之外,还可用于提取摘录合同、法律条款中的关键信息。
大模型对文本内容分类的优势在于强语义理解能力与小样本学习能力。也就是说其不需要样本或需要少量样本学习即可具备强文本分类能力。而这与通过大量语料训练的垂域模型相比,在开发成本与性能上更具优势。比如,互联网社交媒体每天产生大量文本数据,商家通过分析文本数据评估对于公众对于产品的反馈,政府通过分析平台数据评估公众对于政策、事件的态度。与小模型相比,大模型在开发周期、模型性能更具优势。
文本检索是根据给定文本在目标文档中检索出相似文本。最常用的是搜索引擎,搜索引擎根据输入返回高度相关的内容或链接。而传统方式采用关键词匹配,只有全部或部分关键词在检索文档中命中返回目标文档。这对于检索质量是不利的,原因是对于关键词未匹配但语义高度相关的内容没有召回。在检索应用中,LLM 的优势在于能够实现语义级别匹配。LLM 语义检索可弥补传统关键词匹配检索不足,在本地知识库与搜索引擎中的语义搜文、以文搜图中存在应用价值。
通过 LLM 对输入文本按照要求进行润色、纠错。通过 LLM 与提示词工程(Prompt Engineering)自动对文本内容纠错。此外,还可用其对文章进行润色处理,使文章在表述上更加清晰流畅。
LLM 领域的大多数顶级参与者都选择闭门造车地建立他们的 LLM。但 Meta 正在采取行动成为一个例外。随着其强大的开源大型语言模型 Meta AI(LLaMA)及其改进版本(LLaMA 2)的发布,Meta 正在向市场发出一个重要信号。 LLaMA 2 于 2023 年 7 月实现用于研究和商业用途,是一个预训练的生成文本模型,具有 7 到 700 亿个参数。它已通过来自人类反馈的强化学习(RLHF)进行了微调。它是一种生成文本模型,可以用作聊天机器人,可以适应各种自然语言生成任务,包括编程任务。Meta 已经推出了 LLaMA 2, Llama Chat, 和 Code Llama 的开放定制版本。
BLOOM 于 2022 年推出,经过与来自 70+ 个国家的志愿者和 Hugging Face 的研究人员为期一年的合作项目,BLOOM 是一个自回归 LLM,经过训练,可以使用工业规模的计算资源在大量文本数据上从提示中连续文本化。 BLOOM 的发布标志着生成式 AI 民主化的一个重要里程碑。BLOOM 拥有 176 亿个参数,是最强大的开源 LLM 之一,能够以 46 种语言和 13 种编程语言提供连贯准确的文本。透明度是 BLOOM 的支柱,在这个项目中,每个人都可以访问源代码和训练数据,以便运行、研究和改进它。 BLOOM 可以通过 Hugging Face 生态系统免费使用。
如果说 Falcon 40B 已经给开源 LLM 社区留下了深刻的印象(它在 Hugging Face 的开源大型语言模型排行榜上排名 #1),那么新的 Falcon 180B 表明专有和开源 LLM 之间的差距正在迅速缩小。 Falcon 180B 由阿拉伯技术创新研究所于 2023 年 9 月发布,可以接受 1800 亿个参数和 3.5 万亿个 Token。凭借这种令人印象深刻的计算能力,Falcon 180B 在各种 NLP 任务中已经超过了 LLaMA 3 和 GPT-4,而 Hugging Face 表明它可以与谷歌的 PaLM 2 相媲美,后者是为 Google Bard 提供支持的 LLM。 虽然免费用于商业和研究用途,但重要的是要注意 Falcon 180B 需要珍贵的计算资源才能运行。
2022 年发布的 Open Pre-trained Transformers(OPT)语言模型标志着 Meta 通过开源解放 LLM 竞赛战略的又一个重要里程碑。 OPT 包括一套仅解码器的预训练转换器,参数范围从 125M 到 175B。OPT-175B 是市场上最先进的开源 LLM 之一,是 GPT 最强大的兄弟,性能与 GPT-3 相似。预训练模型和源代码都向公众开放。 然而,如果你正在考虑开发一家具有 LLM 的人工智能驱动型公司,你最好考虑另外的模型,因为 OPT-175B 是在非商业许可下发布的,只允许将该模型用于研究。
越来越多的公司正在加入 LLM 竞赛。最后加入擂台的是 Salesforce,该公司于 2023 年 7 月推出了 XGen-7B LLM。 根据作者的说法,大多数开源 LLM 专注于提供信息有限的大答案(即几乎没有上下文的简短提示)。XGen-7B 背后的想法是构建一个支持更长上下文窗口的工具。特别是,XGen(XGen-7B-8K-base)的最高级方差允许 8K 上下文窗口,即输入和输出文本的累积大小。
GPT-NeoX 和 GPT-J 由非营利性 AI 研究实验室 EleutherAI 的研究人员开发,是 GPT 的两个很好的开源替代品。 GPT-NeoX 有 20 亿个参数,而 GPT-J 有 6 亿个参数。尽管大多数高级 LLM 可以使用超过 100 亿个参数进行训练,但这两个 LLM 仍然可以提供高精度的结果。 他们已经接受了来自不同来源的 22 个高质量数据集的训练,这些数据集使它们能够在多个领域和许多用例中使用。与 GPT-3 相比,GPT-NeoX 和 GPT-J 尚未使用 RLHF 进行训练。 任何自然语言处理任务都可以使用 GPT-NeoX 和 GPT-J 执行,从文本生成和情感分析到研究和营销活动开发。 这两个 LLM 都可以通过 NLP Cloud API 免费获得。
Vicuna-13B 是一个开源对话模型,通过使用从 ShareGPT 收集的用户共享对话对 LLaMa 13B 模型进行微调而训练而来。 作为一款智能聊天机器人,Vicuna-13B 的应用不胜枚举,下面在客户服务、医疗、教育、金融、旅游/酒店等不同行业进行说明。 使用 GPT-4 作为评委的初步评估显示,Vicuna-13B 达到了 ChatGPT 和 Google Bard 的 90% 以上质量,然后在超过 90% 的情况下优于 LLaMa 和 Alpaca 等其他模型。
CodeGeeX,是一个拥有 130 亿参数的多语言代码生成模型。它的优势在于能够生成语法和功能正确的代码,极大地提高了程序员的编码效率,并使我们对人工智能的普适性更加接近。 CodeGeeX 在 2022 年 6 月基于 230 亿 token 的 23 种编程语言进行了预训练。大量实验证明,CodeGeeX 在 HumanEval-X 上的表现优于规模相似的多语言代码模型,无论是在代码生成还是翻译任务上。
这个来自 Salesforce 的 LLM 与此列表中的任何其他 LLM 不同,因为它不输出文本答案或内容,而是输出计算机代码。CodeGen 是'代码生成'的缩写,这正是它的作用。它经过训练可以根据现有代码或自然语言提示输出代码。 CodeGen 提供 70 亿、130 亿和 340 亿个参数,旨在创建一种简化的软件开发方法。 CodeGen 适用于希望自动化编码任务并提高开发人员工作效率的科技公司和软件开发团队。
是由智源和清华大学联合开发,释放出 ChatGLM-6B,目前是较为主流的中文大模型。 VisualGLM 是基于 ChatGLM-6B+BLIP2 模型联合训练得到多模态大模型。
既然已经有了成功 ChatGPT 这一成功的案例,大家都想基于 LLaMA 把这条路再走一遍,以期望做出自己的 ChatGPT。对于开源社区来说,LLaMA2 是一举成为'全村的希望'。它的出现将进一步缩小开源和闭源大型语言模型之间的差距,使每个人都有机会基于它构建自己的大型模型应用。 ChatGPT 演化的路径可以归纳为三个阶段:Stage 1: 预训练 (Pretrain);Stage 2: 监督微调 (SFT);Stage 3: 对齐 (Reward Model + RLHF),如果说 GPT 系列是苹果手机,那么 LLaMA 就是安卓。基于 LLaMA 的模型虽然很多,但是基本都可以放到上面 3 个框架当中。
因为预训练模型本质上还是个续写模型,所以并不能很好的满足人们的需求,所以监督微调的作用就是微调模型产生理想的回复。有钱可以全参数微调,没钱就只能使用一些低成本的方法,英文叫 PEFT(Parameter-Efficient Fine-Tuning)。PEFT 确实是像我这种平民玩家的首选,但是有钱也可以用 PEFT,它可以让你微调更大的模型。
(1) LLaMA + Instruction Finetuning(全量参数)
(2) LLaMA + PEFT(参数高效的 Fine-tuning) PEFT 目前最流行的是 LoRA,低秩自适应(LoRA)是一种参数有效的训练方法——保留预训练的模型权重,引入可训练的秩分解矩阵。这种方法显著减少了可训练参数的数量。LoRA 的公式如下所示,r 表示预先确定的秩,d 是隐含层大小,A 和 B 是可训练的分解矩阵: $$ W = W_0 + BA $$
这部分可以说是把 ChatGPT 的路径完整走了一遍。
开源 LLM 空间正在迅速扩大。如今,开源 LLM 比私有 LLM 多得多,随着全球开发人员合作升级当前的 LLM 并设计更优化的 LLM,性能差距可能很快就会弥合。 在这个充满活力和令人兴奋的背景下,可能很难为您的目的选择合适的开源 LLM。以下是在选择一个特定的开源 LLM 之前您应该考虑的一些因素的列表:
| 模型链接 | 模型描述 |
|---|---|
| OpenSora | 高效复现类 Sora 视频生成的完全开源方案 |
| GROK | 3140 亿参数的混合专家模型,迄今参数量最大的开源 LLM |
| Gemma | 谷歌商场开源模型 2B,7B 免费商用,开源第一易主了 |
| Mistral | Mistral AI 的突破性大模型,超越 GPT3.5,重新定义人工智能性能和多样性 |
| Mistral7B | '欧洲 OpenAI'的'最强 7B 开源模型',全面超越 13B 的 Llama2 |
| LLama2 | Open Meta 带着可商用开源的羊驼 2 模型来了~ |
| LLama | Meta 开源指令微调 LLM,规模 70 亿到 650 亿不等 |
| WizardLM | 微软新发布 13B,登顶 AlpacaEval 开源模型 Top3,使用 ChatGPT 对指令进行复杂度进化微调 LLama2 |
| Falcon | 阿联酋技术研究所推出,3.5 万亿 token 训练,性能直接碾压 LLaMA2 |
| Vicuna | Alpaca 前成员等开源以 LLama13B 为基础使用 ShareGPT 指令微调的模型,提出了用 GPT4 来评测模型效果 |
| OpenChat | 80k ShareGPT 对话微调 LLama-2 13B 开源模型中的战斗机 |
| Guanaco | LLama 7B 基座,在 alpaca52K 数据上加入 534K 多语言指令数据微调 |
| MPT | MosaicML 开源的预训练 + 指令微调的新模型,可商用,支持 84k tokens 超长输入 |
| RedPajama | RedPajama 项目既开源预训练数据后开源 3B,7B 的预训练 + 指令微调模型 |
| koala | 使用 alpaca、HC3 等开源指令集+ShareGPT 等 ChatGPT 数据微调 llama,在榜单上排名较高 |
| ChatLLaMA | 基于 RLHF 微调了 LLaMA |
| Alpaca | 斯坦福开源的使用 52k 数据在 7B 的 LLaMA 上微调得到 |
| Alpaca-lora | LORA 微调的 LLaMA |
| Dromedary | IBM self-aligned model with the LLaMA base |
| ColossalChat | HPC-AI Tech 开源的 Llama+RLHF 微调 |
| MiniGPT4 | Vicuna+BLIP2 文本视觉融合 |
| StackLLama | LLama 使用 Stackexchange 数据+SFT+RL |
| Amazon Titan | 亚马逊在 aws 上增加自家大模型 |
| OPT-IML | Meta 复刻 GPT3,up to 175B, 不过效果并不及 GPT3 |
| Bloom | BigScience 出品,规模最大 176B |
| BloomZ | BigScience 出品,基于 Bloom 微调 |
| 模型链接 | 模型描述 |
|---|---|
| BayLing | 中科院开源,性能媲美 GPT-3.5,基于 LLama7B/13B,增强的语言对齐的英语/中文大语言模型 |
| XWin-LM | 一款基于 Llama2 微调的语言模型,成功在斯坦福 AlpacaEval 上击败了 GPT-4,成为新的榜首模型 |
| XVERSE-256K | 最大支持 256K 的上下文窗口长度,约 25w 字的输入内容,可以协助进行文献总结、报告分析等任务 |
| ChatGLM3 | 智谱 AI 训练的第三代大型语言模型,它不仅能理解和生成人类语言,还能执行代码、调用工具,并以 markdown 格式进行响应 |
| ChatGLM | 清华开源的、支持中英双语的对话语言模型,使用了代码训练,指令微调和 RLHF |
| Orion-14B-Base | 具有 140 亿参数的多语种大模型,该模型在一个包含 2.5 万亿 token 的多样化数据集上进行了训练,涵盖了中文、英语、日语、韩语等多种语言。 |
| Baichuan2 | 百川第二代也出第二个版本了,提供了 7B/13B Base 和 chat 的版本 |
| Baichuan | 百川智能开源 7B 大模型可商用免费 |
| Qwen1-7B+14B+70B | 阿里开源,可商用,通义千问 7B,14B,70B Base 和 chat 模型 |
| InternLM2 7B+20B | 商汤的书生模型 2 支持 200K |
| DeepSeek | 深度求索发布的 7B,67B 大模型 |
| LLama2-chinese | 没等太久中文预训练微调后的 llama2 它来了~ |
| Chinese-LLaMA-Alpaca | 哈工大中文指令微调的 LLaMA |
| Moss | 为复旦正名!开源了预训练,指令微调的全部数据和模型。可商用 |
| InternLM | 书生浦语在过万亿 token 数据上训练的多语千亿参数基座模型 |
| Aquila2 | 智源更新 Aquila2 模型系列包括全新 34B |
| Aquila | 智源开源 7B 大模型可商用免费 |
| UltraLM 系列 | 面壁智能开源 UltraLM13B,奖励模型 UltraRM,和批评模型 UltraCM |
| PandaLLM | LLAMA2 上中文 wiki 继续预训练+COIG 指令微调 |
| Wombat-7B | 达摩院开源无需强化学习使用 RRHF 对齐的语言模型,alpaca 基座 |
| TigerBot | 虎博开源了 7B 180B 的模型以及预训练和微调语料 |
| Luotuo-Chinese-LLM | 冷子昂@商汤科技,陈启源@华中师范大学以及李鲁鲁@商汤科技发起的中文大语言模型开源项目,包含了一系列大语言模型、数据、管线和应用 |
| OpenBuddy | Llama 多语言对话微调模型 |
| Chinese Vincuna | LLama 7B 基座,使用 Belle+Guanaco 数据训练 |
| Baize | 使用 100k self-chat 对话数据微调的 Llama |
| BELLE | 使用 ChatGPT 生成数据对开源模型进行中文优化 |
| Chatyuan | chatgpt 出来后最早的国内开源对话模型,T5 架构是下面 PromptCLUE 的衍生模型 |
| PromptCLUE | 多任务 Prompt 语言模型 |
| PLUG | 阿里达摩院发布超大规模语言模型 PLUG,上能写诗词歌赋、下能对答如流 |
| CPM2.0 | 智源发布 CPM2.0 |
在实际落地时,除了模型选择,还需考虑硬件配置与部署环境。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online