首页 > 其他分享 >山东大学项目实训-基于LLM的中文法律文书生成系统(十七)- 微调-LoRA(2)

山东大学项目实训-基于LLM的中文法律文书生成系统(十七)- 微调-LoRA(2)

时间:2024-05-31 14:57:31浏览次数:20  
标签:训练 LORA 模型 微调 矩阵 参数 实训 LLM LoRA

LoRA

LORA是一种低资源微调大模型方法,出自论文LoRA: Low-Rank Adaptation of Large Language Models。 使用LORA,训练参数仅为整体参数的万分之一、GPU显存使用量减少2/3且不会引入额外的推理耗时。

自然语言处理的一个重要范式包括对一般领域数据的大规模预训练和对特定任务或领域的适应。当预训练更大的模型时,重新训练所有模型参数的完全微调变得不太可行。以GPT-3 175B为例,部署经过精细调整的模型的独立实例(每个实例都有175B参数)成本高昂。论文提出了低秩(LOW-RANK)自适应(LoRA),它冻结了预训练的模型权重,并将可训练的秩分解矩阵注入Transformer架构的每一层,从而大大减少了下游任务的可训练参数数量。与用Adam微调的GPT-3175B相比,LoRA可以将可训练参数的数量减少10000倍,GPU内存需求减少3倍。LoRA在RoBERTa、DeBERTa、GPT-2和GPT-3上的模型质量方面表现相当或优于微调,尽管具有较少的可训练参数、较高的训练吞吐量,并且与适配器不同,没有额外的推理延迟。论文还对语言模型适应中的等级缺陷进行了实证研究,这揭示了LoRA的有效性。

image-20240531134924543

普通玩家微调大模型的困境

最近,以ChatGPT为代表的大模型涌现出优秀的理解、代码和推理等能力,许多玩家也想微调自己的专属ChatGPT。但是微调大模型非常吃资源,以刚刚达到涌现能力边界的7B模型为例,微调7B模型需要3×28G的显存(SGD+Momentum),至少需要2张A100的显卡才能满足要求。因此,如何降低微调大模型所需的机器资源,是普通玩家最为关心的问题。

高效微调的基本原理

以语言模型为例,在微调过程中模型加载预训练参数Φ0进行初始化,并通过最大化条件语言模型概率进行参数更新Φ0+ΔΦ,即:

(1)

标签:训练,LORA,模型,微调,矩阵,参数,实训,LLM,LoRA
From: https://www.cnblogs.com/h1s97x/p/18224577

相关文章

  • 山东大学项目实训-基于LLM的中文法律文书生成系统- 中期总结
    本次创新项目实训自三月开始,在今天中期检查之后对项目工作进行了回顾,下文对这段工作作简要总结。项目选题其实我是比较犹豫,因为LLM此前的了解只有ChatGPT这种基本成熟的模型,而且也只是简单调用,对源码,接口的使用基本是未知,以我对其他成员的了解,基本也大差不差。因此项目前景堪忧。......
  • 山东大学项目实训-基于LLM的中文法律文书生成系统(七)- 提示工程
    LLM大模型给我们看到了人工智能的可塑性,机器真的可以像人一样理解问题并回答问题(表面看起来如此),但并不是每个问题都可以得到令人满意的答案,如果想得到你所要的回答就要构建好你的提示词Prompt。无论是初学者还是经验丰富的开发人员,Prompt提示词都能为我们带来更高效的开发体验。......
  • 创新实训(六)
    明天中期检查,紧急把半成品大模型拉来用了。租的卡没有公网IP,用ssh的端口映射配了很久,来不及写了,回头补上交了个不带并查集路径压缩的kruskal求最小生成树大模型给出的答复如下,耗时十几秒:......
  • [本科项目实训] P-tuning v2技术介绍, Prompt设计与尝试
    to2024/05/13P-tuning概述关于prompttuning和p-tuning技术有大量的相关博客,我在参考资料中给出对于本项目具有一定启发性的内容并在此做简单总结。prompt-tuning为区别于最开始pre-training+fine-tuning的大语言模型微调范式,其希望通过添加模板的方式避免引入额......
  • 创新实训(一)
    前言智谱AI发布了最新的代码模型CodeGeeX2-6B(https://mp.weixin.qq.com/s/qw31ThM4AjG6RrjNwsfZwg),并已在魔搭社区开源。CodeGeeX2作为多语言代码生成模型CodeGeeX的第二代模型,使用ChatGLM2架构注入代码实现,具有多种特性,如更强大的代码能力、更优秀的模型特性、更全面的AI编程......
  • [机器学习]-如何在 MacBook 上安装 LLama.cpp + LLM Model 运行环境
    如何在MacBook上安装LLama.cpp+LLMModel运行环境1.问题与需求近段时间想学习一下大语言模型的本地化部署与应用。首先遇到的就是部署硬件环境的问题。我自己的笔记本是一台MacBookProM3,没有Nvidia的GPU支持,但机器性能不错。所以打算根据网上资料尝试在自己......
  • 一起学习大模型 - embed model和 llm model 常见的搭配和考虑因素
    文章目录前言一、embedmodel和llmmodel常见的搭配和考虑因素1.词向量嵌入模型和大语言模型的选择2.具体的搭配方案3.实施细节二、弥补embedmodel和llmmodel的差异总结前言昨天和别人讨论大模型应用的时候,发现很多人存在词向量混用的情况,就是随意选embedm......
  • lora_adapter 模型和原模型合并成一个模型
    lora部分合并到原模型参数上importtorchfrompeftimportPeftModelfromtransformersimportAutoTokenizer,AutoModelForCausalLM,LlamaTokenizerfromtransformers.generation.utilsimportGenerationConfigdefapply_lora(model_name_or_path,output_path,lor......
  • 山东大学项目实训-基于LLM的中文法律文书生成系统(十四)- RAG(3)
    文档问答过程大概分为以下5部分,在Langchain中都有体现。上传解析文档文档向量化、存储文档召回query向量化文档问答今天主要讲langchain在文档embedding以及构建faiss过程时是怎么实现的。源码入口langchain中对于文档embedding以及构建faiss过程有2个分支,1.当第一次......
  • 山东大学项目实训-基于LLM的中文法律文书生成系统(十三)- RAG(2)
    今天主要讲langchain在上传解析文档时是怎么实现的。文档解析逻辑,以txt类型的文件解析为例子step1:寻找上传逻辑入口:local_doc_qa.py,关注TextLoader(),ChineseTextSplitter()defload_file(filepath,sentence_size=SENTENCE_SIZE,using_zh_title_enhance=ZH_TITLE_ENHANCE):......