Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >极客 AI大模型微调训练营(新附zy)

极客 AI大模型微调训练营(新附zy)

原创
作者头像
用户11063488
发布于 2024-05-05 14:05:36
发布于 2024-05-05 14:05:36
34300
代码可运行
举报
运行总次数:0
代码可运行

大模型微调技术介绍

LLM微调是一个将预训练模型在较小、特定数据集上进一步训练的过程,目的是精炼模型的能力,提高其在特定任务或领域上的性能。微调的目的是将通用模型转变为专用模型,弥合通用预训练模型与特定应用需求之间的差距,确保语言模型更贴近人类的期望。

以OpenAI的GPT-3为例,这是一个为广泛的自然语言处理(NLP)任务设计的先进LLM。假设一家医疗组织希望使用GPT-3来帮助医生从文本笔记生成患者报告。虽然GPT-3能理解和创建一般文本,但它可能没有针对复杂的医学术语和特定医疗术语进行优化。

为了提高GPT-3在这一专业角色中的性能,该组织会在包含医疗报告和患者笔记的数据集上对GPT-3进行微调。它可能会使用像SuperAnnotate的LLM定制编辑器这样的工具来构建具有所需界面的模型。通过这个过程,模型变得更加熟悉医学术语、临床语言的微妙之处和典型的报告结构。微调后,GPT-3能够协助医生生成准确且连贯的患者报告,展示了它对特定任务的适应性。

什么时候需要LLM微调

说起LLM,总会涉及到上下文学习、零样本、单样本和少样本推理等话题。我们先快速了解一下它们主要的功能。

**上下文学习(In-context learning) **是一种通过在提示中加入特定任务示例来改进提示的方法,为LLM提供了完成任务的蓝图。

「零样本(Zero-shot)、单样本(One-shot)和少样本(Few-shot)推理」 零样本推理是在提示中直接使用输入数据,不添加额外示例。如果零样本推理未能达到预期结果,可以使用单样本或少样本推理。这些策略涉及在提示中添加一个或多个已完成的示例,帮助较小的LLM表现得更好。

「上下文学习的问题」 将以上这些技术直接应用于用户提示,旨在优化模型输出,使其更符合用户偏好。问题是它们并不总是有效,尤其是对于较小的LLM。除此之外,在提示中包含的任何示例都会占用宝贵的上下文窗口空间,减少了包含其他有用信息的空间。

「当以上方式无法解决相关问题时,这就需要LLM微调」。但它与预训练阶段使用大量非结构化文本数据不同,微调是一个监督学习过程。这意味着你使用标记好的示例数据集来更新LLM的权重。这些标记好的示例通常是prompt-response,使得模型能更好地完成特定任务。

为什么需要微调

  1. 因为通常大模型的实现原理,都会对输入序列的长度有限制,Prompt Engineering 的方式会把Prompt搞得很长。越长的Prompt,大模型的推理成本越高,因为推理成本是跟Prompt长度的平方正向相关的。
  2. Prompt太长会因超过限制而被截断,进而导致大模型的输出质量打折口,这也是一个非常严重的问题。可能会胡乱地给你一些东西,它更适合一些泛化的任务。而fine-tuning则不一样,只要你的微调训练数据是高质量的,它可以很稳定地在你自己的数据集或任务上进行稳定的输出。
  3. Prompt Engineering的效果达不到要求时,企业又有比较好的自有数据,能够通过自有数据,更好的提升大模型在特定领域的能力。这时候微调就非常适用,微调可以使你为LLM提供比prompt多得多的数据,你的模型可以从该数据中进行学习,而不仅仅是访问该数据
  4. 要在个性化的服务中使用大模型的能力,这时候针对每个用户的数据,训练一个轻量级的微调模型,就是一个不错的方案。
  5. 数据安全的问题。如果数据是不能传递给第三方大模型服务的,那么搭建自己的大模型就非常必要。通常这些开源的大模型都是需要用自有数据进行微调,才能够满足业务的需求,这时候也需要对大模型进行微调。

极客时间 AI大模型微调训练营 Freeze方法

Freeze方法,即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或不进行TP或PP操作,就可以对大模型进行训练。

微调代码,见finetuning_freeze.py,核心部分如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
arduino复制代码for name, param in model.named_parameters():
    if not any(nd in name for nd in ["layers.27", "layers.26", "layers.25", "layers.24", "layers.23"]):
        param.requires_grad = False

针对模型不同层进行修改,可以自行修改。训练代码均采用DeepSpeed进行训练,可设置参数包含train_path、model_dir、num_train_epochs、train_batch_size、gradient_accumulation_steps、output_dir、prompt_text等,可根据自己的任务配置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
css复制代码CUDA_VISIBLE_DEVICES=0 deepspeed finetuning_freeze.py --num_train_epochs 5 --train_batch_size 2

三元组抽取的推理代码,见predict_freeze.py,其他任务可以根据自己的评价标准进行推理预测。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
6种大模型微调技术
由于LLM参数量都是在亿级以上,少则数十亿,多则数千亿。当我们想在用特定领域的数据微调模型时,如果想要full-tuning所有模型参数,看着是不太实际,一来需要相当多的硬件设备(GPU),二来需要相当长的训练时间。
皮大大
2025/05/07
2260
对于大模型,到底微调还是不微调?
调整开源大语言模型(LLM)的系列博客的第二篇文章。本文讨论:“什么时候应该进行微调,什么时候应该考虑其他技术?”
JavaEdge
2024/09/16
4440
对于大模型,到底微调还是不微调?
2024!深入了解 大语言模型(LLM)微调方法(总结)
众所周知,大语言模型(LLM)正在飞速发展,各行业都有了自己的大模型。其中,大模型微调技术在此过程中起到了非常关键的作用,它提升了模型的生成效率和适应性,使其能够在多样化的应用场景中发挥更大的价值。
ShuYini
2024/02/23
7.9K0
2024!深入了解 大语言模型(LLM)微调方法(总结)
解读大模型的微调
在快速发展的人工智能领域中,有效地利用大型语言模型(LLM)变得越来越重要。然而,有许多不同的方式可以使用大型语言模型,这可能会让我们感到困惑。实际上,可以使用预训练的大型语言模型进行新任务的上下文学习并进行微调。
半吊子全栈工匠
2023/09/02
1.1K0
解读大模型的微调
大型语言模型综述全新出炉:从T5到GPT-4最全盘点,国内20余位研究者联合撰写
来源:机器之心本文约7300字,建议阅读10+分钟中国人民大学的二十几位研究者通过背景知识、关键发现和主流技术等三方面回顾了 LLMs 的最新进展。 为什么仿佛一夜之间,自然语言处理(NLP)领域就突然突飞猛进,摸到了通用人工智能的门槛?如今的大语言模型(LLM)发展到了什么程度?未来短时间内,AGI 的发展路线又将如何? 自 20 世纪 50 年代图灵测试提出以来,人们始终在探索机器处理语言智能的能力。语言本质上是一个错综复杂的人类表达系统,受到语法规则的约束。因此,开发能够理解和精通语言的强大 AI 算
数据派THU
2023/05/11
6130
大型语言模型综述全新出炉:从T5到GPT-4最全盘点,国内20余位研究者联合撰写
[已完结]体系课-LLM算法工程师全能实战训练营
LLM是一种使用深度学习算法来处理语言数据的模型。与传统的基于规则的语言处理系统不同,LLM依赖于大量的语料数据来学习语言的规律和结构。其训练过程主要是通过大量的文本数据,使用大规模的神经网络模型,来捕捉语言中的语法、语义、上下文关系等信息。
奔跑企鹅907340320
2025/03/12
1660
大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解、Zero-shot CoT、Few-shot CoT 以及在LLM上应
在 2017-2019 年之间,随着 Transformer 模型的提出,计算资源与大规模语料库不断出现,自然语言处理领域发生了翻天覆地的变化,传统的全监督学习的范式逐渐达到了瓶颈,很难在传统的训练方式上取得大幅度提升。这时大规模预训练模型的如 Bert、RoBERTa 等模型的出现使得研究方向转向了以预训练模型为基础 + 下游任务 Fine-tune 的范式。
汀丶人工智能
2023/07/20
3.1K0
大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解、Zero-shot CoT、Few-shot CoT 以及在LLM上应
100:87:GPT-4心智碾压人类!三大GPT-3.5变种难敌
---- 新智元报道   编辑:Aeneas 好困 【新智元导读】最新研究结果表明,AI在心智理论测试中的表现已经优于真人。GPT-4在推理基准测试中准确率可高达100%,而人类仅为87%。 GPT-4的心智理论,已经超越了人类! 最近,约翰斯·霍普金斯大学的专家发现,GPT-4可以利用思维链推理和逐步思考,大大提升了自己的心智理论性能。 论文地址:https://arxiv.org/abs/2304.11490 在一些测试中,人类的水平大概是87%,而GPT-4,已经达到了天花板级别的100%!
新智元
2023/05/09
2080
100:87:GPT-4心智碾压人类!三大GPT-3.5变种难敌
大模型微调方法总结
paper:LoRA: Low-Rank Adaptation of Large Language Models(https://arxiv.org/pdf/2106.09685.pdf)
腾讯技术工程官方号
2023/07/26
2.5K0
大模型微调方法总结
从理论到实践:使用JAVA实现RAG、Agent、微调等六种常见大模型定制策略
大语言模型(LLM)在过去几年中彻底改变了自然语言处理领域,展现了在理解和生成类人文本方面的卓越能力。然而,通用LLM的开箱即用性能并不总能满足特定的业务需求或领域要求。为了将LLM更好地应用于实际场景,开发出了多种LLM定制策略。本文将深入探讨RAG(Retrieval Augmented Generation)、Agent、微调(Fine-Tuning)等六种常见的大模型定制策略,并使用JAVA进行demo处理,以期为AI资深架构师提供实践指导。
小马哥学JAVA
2025/03/18
5790
从零训练一个多模态LLM:预训练+指令微调+对齐+融合多模态+链接外部系统
本文尝试梳理一个完整的多模态LLM的训练流程。包括模型结构选择、数据预处理、模型预训练、指令微调、对齐、融合多模态以及链接外部系统等环节。
zenRRan
2023/08/22
6.8K0
从零训练一个多模态LLM:预训练+指令微调+对齐+融合多模态+链接外部系统
MLLM首篇综述 | 一文全览多模态大模型的前世、今生和未来
近年来,大型语言模型取得了显著进展。通过扩大数据大小和模型大小,这些LLM提高了惊人的涌现能力,通常包括上下文学习(ICL)、指令跟随和思想链(CoT)。尽管LLM在大多数自然语言处理(NLP)任务中表现出了令人惊讶的Zero/Few-Shot推理性能,但它们天生对视觉“视而不见”,因为它们只能理解离散文本。
集智书童公众号
2023/09/04
13.4K0
MLLM首篇综述 | 一文全览多模态大模型的前世、今生和未来
一篇关于LLM指令微调的综述
指令微调(IT)是提高大型语言模型(LLM)能力和可控性的关键技术。其本质是指在由(INSTRUCTION, OUTPUT)对组成的数据集上以监督的方式进一步训练LLM的过程,它弥合了LLM的下一个词预测目标与用户让LLM遵循人类指令的目标之间的差距。这篇文章对现有研究进行了系统的回顾、包括IT的一般方法、IT数据集的构建、IT模型的训练、以及不同模式,领域和应用的应用。
zenRRan
2023/09/11
7K0
一篇关于LLM指令微调的综述
极客企业级Agents开发实战营-Agents入门指南
大模型 Agent 是基于大语言模型(LLM)构建的智能代理,用于处理自然语言理解、对话生成、信息检索等任务。大模型 Agent 可以在多个领域中应用,例如客户支持、内容生成、数据分析等。大模型 Agent 的核心在于使用大语言模型(如 GPT-3、BERT 等),这些模型通过海量的数据训练,具有强大的语言理解和生成能力。
用户11127530
2024/07/15
5520
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
贫富差距的产生是信息差,技术贫富差距的产生亦如此。如果可以自我发现或者在别人的指导下发现优秀的开源项目,学习或工作效率真的可以事半功倍。
LDG_AGI
2024/08/13
2.6K0
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
大模型Prompt-Tuning技术进阶
近两年来,随之Prompt-Tuning技术的发展,有诸多工作发现,对于超过10亿参数量的模型来说,Prompt-Tuning所带来的增益远远高于标准的Fine-tuning,小样本甚至是零样本的性能也能够极大地被激发出来,得益于这些模型的 参数量足够大 ,训练过程中使用了 足够多的语料 ,同时设计的 预训练任务足够有效 。最为经典的大规模语言模型则是2020年提出的GPT-3,其拥有大约1750亿的参数,且发现只需要设计合适的模板或指令即可以 实现免参数训练的零样本学习 。
@小森
2024/06/06
3940
大模型Prompt-Tuning技术进阶
微软、英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 微软和英伟达联手推出最大、最强的人工智能语言模型:Megatron-Turing自然语言生成模型(MT-NLG)。 微软和英伟达宣布,他们联合推出迄今为止最大和最强的人工智能驱动的语言模型:Megatron-Turing(MT-NLP)。 从公开披露的角度来看,MT-NLP 应该是现存最大的公共模型。 在训练过程一共使用了 4480 块英伟达 A100 GPU ,作为两家公司 Turing NLG 17B 和 Megatron-LM 模
AI科技大本营
2023/04/14
2830
微软、英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
在1950年代初期,人们开始尝试使用计算机处理自然语言文本。然而,由于当时的计算机处理能力非常有限,很难处理自然语言中的复杂语法和语义。随着技术的发展,自然语言处理领域在20世纪60年代和70年代取得了一些重要的进展。例如,1970年,美国宾夕法尼亚大学的Adele Goldberg和David Robson创建了一个名为Lunenfeld Project的系统,它可以进行自动翻译。同时,中国科学院自动化研究所也在20世纪70年代开始研究自然语言处理技术,主要集中在机器翻译领域。
汀丶人工智能
2024/03/26
6.2K0
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
2024年大语言模型的微调
一个LLM的生命周期包含多个步骤,下面将讨论这个周期中最活跃、最密集的部分之一 -- fine-tuning(微调)过程。
charlieroro
2024/03/08
4460
2024年大语言模型的微调
54百亿参数大模型进化树重磅更新!85页盘点LLM发展史,附最详细prompt技巧
此前,人大等学校的多位研究者回顾了大语言模型在背景知识、关键发现和主流技术等方面的进展,尤其强调了大语言模型的预训练、自适应调优、使用和能力评估。
新智元
2023/08/07
1.2K0
54百亿参数大模型进化树重磅更新!85页盘点LLM发展史,附最详细prompt技巧
推荐阅读
6种大模型微调技术
2260
对于大模型,到底微调还是不微调?
4440
2024!深入了解 大语言模型(LLM)微调方法(总结)
7.9K0
解读大模型的微调
1.1K0
大型语言模型综述全新出炉:从T5到GPT-4最全盘点,国内20余位研究者联合撰写
6130
[已完结]体系课-LLM算法工程师全能实战训练营
1660
大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解、Zero-shot CoT、Few-shot CoT 以及在LLM上应
3.1K0
100:87:GPT-4心智碾压人类!三大GPT-3.5变种难敌
2080
大模型微调方法总结
2.5K0
从理论到实践:使用JAVA实现RAG、Agent、微调等六种常见大模型定制策略
5790
从零训练一个多模态LLM:预训练+指令微调+对齐+融合多模态+链接外部系统
6.8K0
MLLM首篇综述 | 一文全览多模态大模型的前世、今生和未来
13.4K0
一篇关于LLM指令微调的综述
7K0
极客企业级Agents开发实战营-Agents入门指南
5520
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
2.6K0
大模型Prompt-Tuning技术进阶
3940
微软、英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大
2830
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
6.2K0
2024年大语言模型的微调
4460
54百亿参数大模型进化树重磅更新!85页盘点LLM发展史,附最详细prompt技巧
1.2K0
相关推荐
6种大模型微调技术
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验