LLaMA大语言模型
  Wv2PRSlQRjkP 2023年11月02日 110 0

大语言模型

大语言模型(Large Language Model,LLM)是一类强大的人工智能模型,具有出色的自然语言处理能力。它们在许多任务中表现出色,如机器翻译、文本摘要、对话生成和情感分析等。

LLM 的核心原理是基于深度学习和神经网络技术,通过训练大规模的语言数据集,从中学习语言的模式和规律,并根据这些学习到的知识生成新的文本,其训练过程是一个迭代的过程,通过不断调整模型参数,使得模型能够更好地预测下一个词或句子的概率分布。

举个例子,假设我们要训练一个大型语言模型来生成句子。我们会向模型输入大量的句子样本,比如:“今天天气很好。”、“我喜欢吃冰淇淋。”等等。模型会根据这些输入样本学习到词语之间的关联和语法规则。通过不断调整模型的权重,它逐渐学会生成符合语言规则的新句子。

大模型微调技巧

在人工智能领域,大型语言模型(LLMs)已经成为了一个重要的研究方向。随着模型规模的增大,模型的性能也在不断提升。但是,训练一个大型模型需要大量的数据和计算资源,并且模型的可解释性也面临着挑战。为了解决这些问题,人们开始研究如何对大型模型进行微调。

微调是指在一个预训练的模型上,根据具体的任务和数据,进行少量的训练和调整,以获得更好的性能。在本文中,我们将介绍四类微调方法,包括Prefix Tuning、Prompt Tuning、P-Tuning和P-Prompting v2.0等。这些方法在不同的任务和数据集上,都有着不同的应用和效果。

Prefix Tuning

这种方法是通过修改预训练模型的前缀,来适应具体的任务和数据。通过添加或修改前缀,可以让模型更好地理解任务和数据,从而提高性能。

Prompt Tuning

这种方法是通过在输入中添加提示词,来引导模型的输出。这些提示词可以是一些问题、实体、时间等,帮助模型更好地理解输入,从而提高性能。

P-Tuning

这种方法是通过调整预训练模型的参数,来适应具体的任务和数据。通过对一些重要参数进行调整,可以让模型更好地适应任务和数据,从而提高性能。

P-Prompting v2.0

这种方法是通过在预训练模型中添加提示模块,来引导模型的输出。这些提示模块可以是一些问题、实体、时间等,帮助模型更好地理解输入,从而提高性能。

在实际应用中,这些方法都有着不同的应用和效果。例如,在NLP任务中,Prompt Tuning和P-Prompting v2.0等方法可以有效地提高模型的性能。在机器阅读理解任务中,Prefix Tuning和P-Tuning等方法可以有效地提高模型的性能。

什么是LLaMA

LLaMA是由美国的Meta AI发布的大语言系列模型,全称是Large Language Model Meta AI,来自论文:LLaMA: Open and Efficient Foundation Language ModelsLLaMA是一个基于大规模语言模型的生成式对话系统,可以对输入的问题或文本进行理解和生成回答。llama这个单词本身是指美洲大羊驼,所以社区也将这个系列的模型昵称为羊驼系模型

LLaMA大语言模型_大语言模型

LLaMA的训练集

在这篇论文中,使用数万亿个(trillions of) token 训练LLaMA模型,证明了使用公开数据集就能训练出最先进的模型, 而并非必须使用专有和私有数据集。

训练数据集有几种不同来源,涵盖了多个领域,如表1所示。

LLaMA大语言模型_大语言模型_02

LLaMA的不同版本

LLaMA 模型能够生成文本、进行对话、总结书面材料以及解决数学定理或预测蛋白质结构等。按照参数量规模,LLaMA可分为四个:LLaMA-7B、LLaMA-13B、LLaMA-30B与LLaMA-65B。这里的B是billion的缩写,指代模型的参数规模。故最小的模型7B包含70亿个参数,而最大的一款65B则包含650亿个参数。

不同模型的超参信息如表2所示:

LLaMA大语言模型_大语言模型_03

如何获取LLaMA

LLaMA的源码

LLaMA本身的代码开源,其Github地址为:llama,如下图所示:

LLaMA大语言模型_大语言模型_04

LLaMA的权重申请

但是其权重需要向Meta在线申请下载完成后的权重文件大概如下所示:

LLaMA
├── 13B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   └── params.json
├── 30B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   ├── consolidated.02.pth
│   ├── consolidated.03.pth
│   └── params.json
├── 65B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   ├── consolidated.02.pth
│   ├── consolidated.03.pth
│   ├── consolidated.04.pth
│   ├── consolidated.05.pth
│   ├── consolidated.06.pth
│   ├── consolidated.07.pth
│   └── params.json
├── 7B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   └── params.json
├── llama.sh
├── tokenizer_checklist.chk
└── tokenizer.model

全部文件加起来的大小约253.2GB。注意使用附带的checklist.chk文件校验文件哈希值。

md5sum -c checklist.chk

不过,基于 Llama 2 构建应用并不只是把它从开源库里下载下来那么简单,模型的后续调优、中文增强、安全评估、与外部数据的融合、推理算力消耗等都是摆在开发者、企业面前的现实问题。这也是当前很多大模型的共性问题。大模型和应用之间需要一座桥梁。

以LLaMA为基础,后续衍生出了多个“羊驼家族”模型如Vicuna(小羊驼)和Alpaca(羊驼)。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Wv2PRSlQRjkP