

LLMs模型是企事业实现AI+方案的基础,基于效率和复杂度,企事业不可能自己去创建LLM模型,因此,选择一个合适的LLM模型是企事业实现企业级AI的必经之路。 企事业可能需要选择不同的模型以达到不同的要求。
现有流行的企业级LLM模型
名称 | 出品公司 | 简单描述 |
---|---|---|
BERT | BERT是由谷歌开发的一种预训练语言模型,可以实现文本分类、命名实体识别、问答等自然语言处理任务,基于Transformer. | |
RoBERTa | RoBERTa是Facebook AI开源的一种预训练语言模型,它是在BERT的基础上进行了一系列改进和优化,如动态掩码、大规模训练等,基于Transformer. | |
LLaMA | Meta | 开放且高效的大型基础语言模型,共有 7B、13B、33B、65B(650 亿)四种版本,其拥有很多改进版本如:Alpaca+LoRA、Guanaco+QLoRA、Vicuna、Koala。 |
ChatGLM | 清华大学 | 开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构。 |
还有很多流行的LLM模型,这里不一一列举,例如:ALBERT、ELECTRA、DistilBERT、XLNet、T5等等。
模型选择
选择考虑的维度。
模型训练的一般步骤
训练适合自己业务的小模型,具体步骤如下:
需要注意的是,训练自己的问答系统需要大量的数据和计算资源,而且需要对自然语言处理和深度学习有一定的了解。如果您没有足够的资源和经验来训练自己的问答系统,可以考虑使用已经训练好的模型或者使用第三方的API来构建问答系统。
常用数据集及格式
1.SQuAD(Stanford Question Answering Dataset)
一个广泛使用的深度学习问答数据集,其中包含了问答对、文本和答案等信息,用于训练和评估问答模型。SQuAD数据集通常采用JSON格式,并且包含以下字段:
- context:段落的文本内容。 - qas:一个列表,表示该段落中的每个问题和答案对应的信息,包含以下字段: - question:问题的文本内容。 - id:问题的唯一标识符。 - answers:一个列表,表示问题的答案,包含以下字段: - text:答案的文本内容。 - answer_start:答案在文章中的起始位置。
例如,以下是SQuAD数据集中一篇文章和其对应的问题和答案信息的JSON格式表示:
{ "version": "1.1", "data": [{ "title": "Super Bowl 50", "paragraphs": [{ "context": "Super Bowl 50 was an American football game to determine the champion of the National Football League (NFL) for the 2015 season. The American Football Conference (AFC) champion Denver Broncos defeated the National Football Conference (NFC) champion Carolina Panthers 24-10 to earn their third Super Bowl title.", "qas": [{ "question": "Which NFL team won Super Bowl 50?", "id": "56be4db0acb8001400a502ec", "answers": [{ "text": "Denver Broncos", "answer_start": 163 }] }, { "question": "What was the score of Super Bowl 50?", "id": "56be4db0acb8001400a502ed", "answers": [{ "text": "24-10", "answer_start": 189 }] }] }] }] }
一个广泛使用的深度学习问答数据集,常用于LLaMA的训练,数据集通常采用JSON格式,并且包含以下字段:
例如,以下是数据集的问题和答案信息的JSON格式表示:
[{ "instruction": "Rewrite the following sentence in the third person", "input": "I am anxious", "output": "She is anxious." }]
当然还有一些其他的数据集和格式,只需要按照自己选择的模型所需要的格式在网上寻找即可,也可以根据模型需要的格式和自己的业务做属于自己的专有数据集。
微训练
使用自己的数据训练适合自己业务的小模型,请前往Huggingface Models、Huggingface Transformers Examples、模型对应的Github库、PyTorch、Tensorflow阅读相关资料进行训练。
本地部署
需要部署和使用自己训练的小模型,请前往Huggingface Models、Huggingface Transformers、模型对应的Github库、PyTorch、Tensorflow阅读相关资料进行部署。
BERT
BERT(Bidirectional Encoder Representations from Transformers)是由谷歌研究员于2018年开发的一种知名的预训练语言模型。它属于基于Transformer的模型家族,极大地推动了自然语言处理(NLP)领域的发展。
BERT的设计目标是通过同时考虑左右上下文来理解句子中单词的上下文关系和含义。这种双向的方法与之前只关注左或右上下文的模型有所区别。通过在大量文本数据上进行训练,BERT学习预测句子中缺失的单词,从而捕捉单词与上下文之间的复杂关系。
预训练与微调:BERT在互联网上大规模未标记的文本数据上进行预训练。在预训练过程中,BERT学习预测句子中的掩码单词,并确定一对句子中的下一句。这个过程有助于BERT学习单词的上下文表示。
预训练之后,BERT通过在特定的NLP任务上进行微调,如情感分析、命名实体识别、问答等,来适应特定的任务。微调包括在特定任务的标记数据上对BERT进行训练,以使其适应特定的任务。这种迁移学习的方法使BERT能够利用其通用的语言理解能力,并将其应用于各种NLP任务,而不需要进行大量的任务特定训练。
BERT的变种:自BERT发布以来,已经开发出了一些变种,以提高其性能并解决特定的NLP挑战。一些著名的变种包括RoBERTa、ALBERT、DistilBERT和ELECTRA。这些模型对原始的BERT架构、训练目标或模型大小进行了修改,以在不同的情境下改善性能或效率。
RoBERTa
RoBERTa(Robustly Optimized BERT approach)是BERT的一个改进和优化版本,由Facebook AI于2019年提出。RoBERTa的目标是通过采用更大的模型规模、更长的训练时间和更丰富的数据来提高BERT的性能。
与BERT相比,RoBERTa的一些改进包括:
RoBERTa的这些改进使其在多个自然语言处理任务上取得了显著的性能提升。它在许多基准测试中超过了BERT,并在多个NLP竞赛中获得了最先进的结果。
LLaMA
LLaMA(Large Language Model Meta AI),由 Meta AI 发布的一个开放且高效的大型基础语言模型,共有 7B、13B、33B、65B(650 亿)四种版本。其数据集来源都是公开数据集,无任何定制数据集,保证了其工作与开源兼容和可复现,整个训练数据集在 token 化之后大约包含 1.4T 的 token。
关于模型性能,LLaMA 的性能非常优异:具有 130 亿参数的 LLaMA 模型「在大多数基准上」可以胜过 GPT-3( 参数量达 1750 亿),而且可以在单块 V100 GPU 上运行;而最大的 650 亿参数的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。
LLaMA 使用 transformer 架构,这是自 2018 年以来语言建模的标准架构。LLaMA 的开发人员将他们的精力集中在通过增加训练数据量而不是参数数量来扩展模型的性能,原因是 LLM 的主要成本来自做对训练模型的推断,而不是训练过程的计算成本。
基于 LLaMA 微调的改进模型
名称 | 公司 | 简单描述 |
---|---|---|
Alpaca+LoRA | Stanford University | Alpaca 是斯坦福在 LLaMA 上进行了精细调优的模型,是后续很多中文 LLM 的基础。 |
Vicuna | UC berkeley、CMU、Stanford | 是一款从 LLaMA 模型中对用户分享的对话进行了精细调优的聊天助手,能达到 ChatGPT 90% 的效果。 |
Koala | Berkeley AI Research Institute (BAIR) | 是一款从 LLaMA 模型中对用户分享的对话和开源数据集进行了精细调优的聊天机器人,其表现与Vicuna 类似。 |
Guanaco+QLoRA | Washington University | 是一款以Meta的LLaMA为基础,得到原驼650亿参数版只需要48GB显存单卡微调24小时,330亿参数版只需要24GB显存单卡微调12小时。 |
ChatGLM
ChatGLM 是由清华大学开发的一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构。结合模型量化技术,用户可以在消费级的显卡上进行本地部署。 ChatGLM 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。