训练自己的Llama 2!大模型微调技术介绍

这篇具有很好参考价值的文章主要介绍了训练自己的Llama 2!大模型微调技术介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

训练自己的Llama 2!大模型微调技术介绍

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

趋动云

趋动云是面向 AI 算法工程师的开发平台,为工程师提供模型开发、模型训练、数据和代码管理等功能。

近期有不少粉丝问算力君,趋动云是否支持大模型的训练?当然支持!

最近大火的Llama 2一出来,算力君身边的小伙伴就已经跑过了,本文将介绍Llama 2和相关的大模型微调技术,趋动云强大的GPU池化技术配以相关的软件,是进行大模型研究、开发的首选~

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

Llama 2:大模型时代的Android

前几天Meta开源了Llama 2 ,因其卓越的性能、开源的特性,在研究和商业上均可使用,被称为是大模型领域的大事件。有人认为是类似ChatGPT产品的开源替代,被冠以大模型领域的Android之称。

  • 使用指南:https://ai.meta.com/llama/

  • 开源代码:https://github.com/facebookresearch/llama

Llama 2 是一组预训练和微调的大型语言模型(LLMs),是 Meta AI 推出的大型语言模型第二代,参数规模从70亿到700亿不等。

另外,Llama 2-Chat 是 Llama 2 的微调版本,专为对话场景进行了优化。该模型在大多数基准测试中优于开源对话模型,根据人工评估结果,从有用和安全性角度,Llama 2都相当优秀。

Llama 2 模型是在 2 万亿个标记上进行训练的,其上下文长度是 Llama 1 的两倍。而 Llama-2-chat 模型还额外在超过 100 万个新的人工标注数据上进行了训练

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

Llama 2模型介绍

Llama 2 在许多外部基准测试中表现优于其他开源语言模型,包括推理、编码、熟练度和知识测试等方面。

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

Llama 2在基准测试中的表现

虽然Meta公司通过开源 Llama 2 已经大大降低了人们使用大模型的门槛,但在定制化的数据集上重新训练、微调 Llama 2仍非易事,趋动云强大的算力、高效的调度、亲民的价格是研究大模型的首选。

Llama 2的开源作者提供了微调大模型的相关技术建议,让我们一起来看看。

大模型微调技术

参数高效的模型微调

这一类方法的代表是LORA(https://arxiv.org/pdf/2106.09685.pdf)、LLaMA Adapter、Prefix-tuning,微调时对整个模型进行冻结,在模型上加入少量可学习的参数或者网络层,训练时只对这部分进行微调。

这种方法其实就是将大模型作为提取特征的工具,因为模型本身巨大的参数量无需调整所以计算代价不高,甚至可以在单个消费级显卡上进行微调。

如果你对大模型的使用场景距离已经训练的大模型的已有能力不远,应该首先尝试这种方法。

这种微调策略的好处是显而易见的:

1.微调的代价低,无需面对大规模计算和传输的挑战,甚至在消费级显卡上也可以跑起来;

2.部署的代价低,可以重复利用已经部署的大模型,新业务出现也不需要部署多个模型;

3.防止灾难性遗忘,使得大模型不至于因为学习了新任务而丧失了对先前已经训练好的任务的处理能力。

Llama 2的开源作者声称他们利用PEFT库微调大模型,关于该库的介绍和用法具体可参考:

https://github.com/huggingface/peft

https://huggingface.co/blog/peft

全部或部分参数的模型微调

对模型本身全部或者部分参数进行调整也有其独特优势,常见的方法如:

1.冻结预训练的模型主干,只微调任务层,比如分类器部分;

2.冻结预训练的模型主干,增加一个全连接层,微调新增部分;

3.微调模型所有层。

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

微调任务层

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

微调新增层

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

微调全部层

当然也可以选择微调模型中的少部分层,目前已经有一些准则指导这方面的选择。但上面的方法是更常见的。

这时往往一块GPU是不够用的, 比如微调Llama 2 7B就需要更多显存,需要根据微调参数多少、训练策略、参数精度,使用足够的显存。

Llama 2的开源作者称PyTorch中的FSDP(Fully Sharded Data Parallel)包可以在此时帮助训练,可以将单个GPU无法训练的模型在多个GPU上训练起来。

FSDP不仅在数据上进行分片,还在模型参数、梯度和优化器状态上进行分片。每个GPU只保存模型的一个分片,从而节省大量内存,使得可以将更大的模型放到多个GPU中。

另外,进一步提高使用FSDP进行微调的性能,可以利用几个特性:

1.混合精度:FSDP提供了更灵活的设置模型参数、缓冲区和梯度的精度的方式;

2.激活检查点:通过在前向传播期间丢弃中间激活值并在后向传播期间重新计算它们来节省内存;

3.auto_wrap_policy:这个特性允许用户指定FSDP如何对模型进行分片。其中包括对Transformer的默认支持,它帮助FSDP创建更细粒度的通信单元,从而优化通信成本。

总之,对模型整体进行微调,FSDP是一种被验证过的十分有效的工具。

趋动云大显存方案,助力大模型训练更从容

趋动云大显存产品,最高显存可达80G

训练自己的Llama 2!大模型微调技术介绍,大语言模型LLM - ChatGPT等,llama

80G显存的卡每小时仅8.49元

配以完善的基于GPU池化技术的开发训练平台,费用最高可省75%,研发效率提升55%,是训练、部署大模型的首选。现在注册还有算力送!

参考资料:https://github.com/facebookresearch/llama-recipes/blob/main/docs/LLM_finetuning.md文章来源地址https://www.toymoban.com/news/detail-652714.html

到了这里,关于训练自己的Llama 2!大模型微调技术介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LLM-LLaMA中文衍生模型:LLaMA-ZhiXi【没有对词表进行扩增、全参数预训练、部分参数预训练、指令微调】

    下图展示了我们的训练的整个流程和数据集构造。整个训练过程分为两个阶段: (1)全量预训练阶段。该阶段的目的是增强模型的中文能力和知识储备。 (2)使用LoRA的指令微调阶段。该阶段让模型能够理解人类的指令并输出合适的内容。   3.1 预训练数据集构建 为了在保

    2024年02月12日
    浏览(48)
  • LLM-LLaMA中文衍生模型:Chinese-LLaMA-Alpaca【扩充词表、Lora部分参数预训练、微调】

    GitHub:GitHub - ymcui/Chinese-LLaMA-Alpaca: 中文LLaMAAlpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA Alpaca LLMs) 中文LLaMA模型 中文LLaMA模型在原版的基础上扩充了中文词表,使用了中文通用纯文本数据进行二次预训练。 模型名称 训练数据 重构模型[1] 大小[2] LoRA下载[3] Chinese-LLaMA-7B 通用

    2024年02月15日
    浏览(78)
  • MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)、实现包括二次预训练、有监督微调、奖励建模、强化学习训练[LLM:含Ziya-LLaMA]。

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月20日
    浏览(47)
  • 大语言模型之十五-预训练和监督微调中文LLama-2

    这篇博客是继《大语言模型之十二 SentencePiece扩充LLama2中文词汇》、《大语言模型之十三 LLama2中文推理》和《大语言模型之十四-PEFT的LoRA》 前面博客演示了中文词汇的扩充以及给予LoRA方法的预训练模型参数合并,并没有给出LoRA模型参数是如何训练得出的。 本篇博客将分析

    2024年02月08日
    浏览(44)
  • 大语言模型LLM微调技术:Prompt Tuning

    截止23年3月底,语言模型发展走过了三个阶段: 第一阶段 :设计一系列的自监督训练目标(MLM、NSP等),设计新颖的模型架构(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等; 第二阶段 :逐步扩大模型参数和训练语料规模,探索不同类型的架构。

    2024年02月03日
    浏览(42)
  • LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86

    Stars: 36.0k License: NOASSERTION LLaMA 2 是一个开源项目,用于加载 LLaMA 模型并进行推理。 该项目的主要功能是提供预训练和微调后的 LLaMA 语言模型的权重和起始代码。这些模型参数范围从 7B 到 70B 不等。 以下是该项目的关键特性和核心优势: 支持多种规模 (7B、13B 和 70B) 的语言模

    2024年02月04日
    浏览(43)
  • 精进语言模型:探索LLM Training微调与奖励模型技术的新途径

    LLMs Trainer 是一个旨在帮助人们从零开始训练大模型的仓库,该仓库最早参考自 Open-Llama,并在其基础上进行扩充。 有关 LLM 训练流程的更多细节可以参考 【LLM】从零开始训练大模型。 使用仓库之前,请先安装所有需要的依赖: 继续预训练是指,在一个已有的模型上继续进行

    2024年02月11日
    浏览(39)
  • LLM:LLaMA模型和微调的Alpaca模型

    简单了解[LeCun狂赞:600刀GPT-3.5平替! 斯坦福70亿参数「羊驼」爆火,LLaMA杀疯了] 论文原文:https://arxiv.org/abs/2302.13971v1 模型就是用的transformer的decoder,模型设计的不同点在于: 1 Position Embedding :RoPE旋转位置编码rotary-embedding 删除了绝对位置嵌入,而是在网络的每一层添加了

    2024年02月10日
    浏览(50)
  • GPT-LLM-Trainer:如何使用自己的数据轻松快速地微调和训练LLM

    想要轻松快速地使用您自己的数据微调和培训大型语言模型(LLM)?我们知道训练大型语言模型具有挑战性并需要耗费大量计算资源,包括收集和优化数据集、确定合适的模型及编写训练代码等。今天我们将介绍一种实验性新方法,实现特定任务高性能模型的训练。 我们的目

    2024年02月11日
    浏览(43)
  • 图技术在 LLM 下的应用:知识图谱驱动的大语言模型 Llama Index

    LLM 如火如荼地发展了大半年,各类大模型和相关框架也逐步成型,可被大家应用到业务实际中。在这个过程中,我们可能会遇到一类问题是:现有的哪些数据,如何更好地与 LLM 对接上。像是大家都在用的知识图谱,现在的图谱该如何借助大模型,发挥更大的价值呢? 在本文

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包