专栏名称: 网络法实务圈
探寻网络法实务,汇聚网络法精英。
目录
相关文章推荐
91产品  ·  直播变现运营方案 ·  昨天  
人人都是产品经理  ·  当你把下一个环节当作客户的时候,一切就顺畅了 ·  昨天  
人人都是产品经理  ·  AI时代,产品经理的4项修炼,有用! ·  2 天前  
人人都是产品经理  ·  在相亲平台给钱就有“完美爱人”? ·  2 天前  
51好读  ›  专栏  ›  网络法实务圈

张延来 | LoRA加持:大模型开放平台“语料荒”解决与责任承担

网络法实务圈  · 公众号  ·  · 2024-07-17 17:02

正文

基于LoRA技术的开放大模型平台日渐流行,这种模式大大降低了用户的模型训练门槛,只要上传数十张图片,一个自己的小模型就训练完成了,而且平台也借此可以让广大用户成为源源不断的“语料奶牛”,这在当下公域语料极其匮乏的今天意义非凡。


此外,LoRA模型在引入用户作为训练者之后,平台责任似乎一下子轻了不少,毕竟真多时候自营会被认为是“产品或内容生产者”,而第三方平台就不一样了,“避风港”给平台责任豁免提供了非常大的操作空间。


我们有必要拆解一下这种模式,从技术到法律,来看看究竟这种开放模型能在多大程度上做到语料和免责的“既要又要”。



一、技术实现原理


要了解LoRA的技术实现原理,先记住一个重要的概念:间接训练。我们通常说的对大模型进行训练(微调)都指的是“直接训练”,要对大模型自身的所有参数进行微调,从而使之更加适应某种具体场景下的生成要求。但这样做太过费时费力,于是技术人员突破性地想到一种替代性解决方案,就是保持大模型本身的参数基本不变,将大模型的参数矩阵简化分解成两个低秩矩阵,通过对这两个小体量的矩阵参数进行微调从而间接控制整个大模型的生成能力。

与直接微调大模型相比,这种间接训练的效果同样能够得到保证,并且不影响大模型自己原来的参数设置,成本非常低,因此成为现阶段广为应用的解决方案。





为了便于理解,我们把这个过程介绍的更详细一些:

得益于其独特的技术原理,LoRA(Low-Rank Adaptation of Large Language Models,大型语言模型的低秩适配)模型能够帮助用户通过自己的数据训练出符合特定需求的模型,其中的关键环节包括:


01

低秩矩阵分解

LoRA 通过将模型的权重矩阵分解为低秩矩阵来实现参数高效更新。具体而言,它将大模型的权重矩阵分解为两个较小的矩阵,这两个矩阵的维度远小于原始权重矩阵的维度。这种分解方式能够大幅减少需要更新的参数数量,从而使得训练过程更加高效。

02

参数高效更新

传统大模型的训练需要更新大量参数,这不仅耗时且需要大量计算资源。而通过LoRA,用户只需要更新低秩矩阵的参数。由于这些参数的数量远少于原始模型参数的数量,更新过程变得更加轻量且快速。

03

领域特征学习

LoRA 模型可以让用户通过特定领域的数据进行定向训练。例如,如果用户拥有医疗领域的数据,通过LoRA,可以使模型学到医疗领域的特定术语、知识和模式,从而在处理相关任务时表现更好。这种针对性训练能够显著提升模型在特定任务上的准确性和效果。

04

个性化数据应用

用户可以将自己特定的数据集应用到 LoRA 模型上进行训练。由于 LoRA 仅需更新低秩矩阵部分的参数,因此用户的数据不会对大模型的整体结构和性能造成太大影响。这样,用户可以通过少量的数据训练出符合自己需求的模型,而不会破坏模型的整体性能。

05

高效的训练过程

通过使用低秩矩阵分解的方式,LoRA 能够显著加快训练速度。用户可以在较短的时间内完成模型的训练过程,并能快速进行多次迭代优化。这种高效的训练过程对于需要频繁更新和优化的应用场景非常有利。

06

保护原始模型的完整性

LoRA 的另一个重要优势是其更新机制不会破坏原始大模型的整体性能。用户的定向训练仅限于低秩矩阵的参数更新,原始模型的大部分参数保持不变。这意味着用户可以在不影响原始模型性能的前提下,通过自己的数据定向优化特定任务。





那么在实际运行时,lora模型和基础大模型之间是如何协同工作的呢?

LoRA 模型与基础大模型之间通过一种参数调整和整合机制协同工作,以实现高效且个性化的性能优化。具体步骤如下:


01

加载基础大模型

首先,用户会加载一个预训练的大型语言模型(例如 GPT-4)。这个基础大模型已经通过海量通用数据进行了训练,具备了广泛的语言理解和生成能力。

02

应用 LoRA 参数

在加载基础大模型后,会引入通过 LoRA 技术训练出的低秩矩阵参数。这个过程不会改变大模型的核心结构和大多数参数,而是通过参数调整机制将低秩矩阵参数叠加到原始模型上。 具体来说,这些低秩矩阵参数会调整和优化模型的部分权重,从而实现个性化的特定任务优化。

03

参数合成

实际运行时,大模型的输出是基础大模型参数和 LoRA 参数共同作用的结果。 原始大模型提供通用语言能力,而 LoRA 参数在特定领域或任务上的优化作用,则使得模型在处理特定任务时表现更优。 例如,在金融文本处理任务中,LoRA 参数帮助模型更好地理解和生成金融领域的专有术语和知识。

04

推理阶段

在推理阶段(即实际使用模型进行文本生成或理解时),模型的每次推理计算都包含了基础模型和 LoRA 参数的共同作用。用户输入的数据会通过这两个部分的参数共同处理,从而生成符合特定领域需求的高质量输出。

05

更新与迭代

如果用户发现某些任务的效果还需进一步优化,可以在现有的 LoRA 参数基础上进行进一步的微调训练。这个过程中,用户只需提供更多的领域数据并更新 LoRA 参数,而无需重新训练整个大模型。这种迭代更新机制极大地提高了模型的训练效率和灵活性。





二、全民大模型能解决“语料荒”?


LoRA的技术实现原理反映到商业模式上,催生出了大模型开放平台,平台可以自营大模型底座的同时把LoRA(可以理解为“小模型”)开放给用户,让用户自行上传语料给LoRA用于训练出自己想要的生成效果。


基于前面介绍的原理,LoRA所要求的训练成本非常低,语料体量的要求也很小,所以天然适合给C端用户做自训练。如此一来,大模型行业一直头疼的“语料荒”问题似乎就通过这种开放平台的方式让用户参与进来贡献语料给彻底解决了。


但事实真的如此吗?首先说,引入C端用户提供训练语料确实是一个非常好的思路, 客观上确实做到了“群策群力”,把广大用户持有的语料资源充分调动起来了,而且这种情况下,大模型开放平台由于并非直接使用语料,在出现侵权的情况下似乎更有理由主张“避风港”的责任豁免机制,降低平台使用数据的风险。


但问题仍然存在,用户所贡献的并不一定都是自身充分享有权利的语料,而且其训练出来的自有LoRA模型很有可能就是定向的用于侵权用途,而LoRA模型的开放机制是平台提供给用户的,其发挥作用也离不开基础模型的能力,前文已经分析过,需要将LoRA的参数叠加到大模型的参数上,引导大模型进行内容生成,所以最终其作用的还是基础大模型, LoRA更像是一个“引子”或者“催化剂”,所以平台提供者想要“置身事外”非常难。







请到「今天看啥」查看全文