@ 2023.03.25 , 12:58

关于机器学习模型的原创争议

# 投稿:LC

近期一些公司公布的自然语言模型和文字转图像模型引起了一些争议。其中,一些人关注的焦点是这些模型是否是“套壳”的,或者说“套壳”是否是常规方法。在这里,我想根据我的理解,给大家解释一下。

现代机器学习模型的主要投入在以下三个步骤:

A. 训练集:过去,训练大型模型的最大难点是训练集。基本上,谁有数据谁就能称王称霸。然而,由于近年来机器学习圈的共享氛围增长,大量的公开数据集可以被轻易地下载用于训练或比较模型。可以在 paperswithcode.com 上找到这些数据集。

例如,在自然语言领域,有一个包含一亿个token的数据集,称为WikiText。这里的1个token约为0.75个英文单词或0.5个汉字。该数据集的大小约为200MB。然而,对于大型模型来说,这种数据集仍然太小了。例如,上一代的开源GPT-2需要100亿个token的训练集,而GPT-3则使用了约5000亿个token,其中绝大部分来自于爬取互联网,以及书籍/维基等。Meta的LLaMA使用了一万亿个token,而Google的LaMDA(Bard的基础模型)也使用了万亿级别的训练集。这些训练集的大小都以TB计算。

除了爬取和存储的成本之外,用于下文填充的自然语言数据集还需要人工清洁,例如去除无效和低质的数据。此外,当前比较火的对话AI如ChatGPT,其基于的InstructGPT模型还需要人工创造用于强化学习的指示信息。但是,人工总是需要花费金钱的。

为了节省成本,有时候也会使用自动生成的数据代替真实数据。例如,在图像模型中,常用各种原始图像的翻转、偏移和缩放来增加数据量(数据增强)。最近,基于LLaMA的斯坦福Alpaca调用了GPT3.5的API来生成指示数据,据称他们“仅仅”花了600美元就生成了52000条数据。对于大型模型来说,这真的是微不足道的支出。

B. 模型结构和训练方法是最需要技术人才的关键环节。无论是整个网络结构的设计还是各种参数的微调,每个模型都需要进行独特的改进。当然,就像世界上的汽车品牌有很多种,但它们都离不开发动机、离合器和方向盘等组件一样,每个时期的模型也都会借鉴其他模型并使用一些通用的设计。例如,当前自然语言处理模型的主流结构是Transformer,一种基于自注意力机制的网络模块。在业内,没有人会认为使用这些通用设计是一种抄袭行为。虽然出于篇幅考虑,我们不会详细介绍GPT、LLaMA、Bard等模型的独特之处,但是需要知道它们并不仅仅是对开源模型进行微调,而是由独立设计构建的结构。

C. 机时成本是无法回避的巨额开销阶段。常用的度量标准是GPU年,即在标准GPU上进行训练所需的时间。当然,实际训练是在数百甚至数千个GPU上并行进行的,不会真正使用几年时间。例如,GPT-3模型使用了355GPU年的时间,折合云服务价格约为500万美元,这只是一次完整训练的成本。考虑到各种试验和迭代,总成本可能会更高。这也是目前阻碍小公司进入该领域的门槛之一。

如果一个开发者完成了模型的全部步骤ABC,那么他就可以被视为该模型的创造者。但实际上,有能力完成ABC的人并不多,因此有一些常用的捷径可以采用。这些捷径包括套壳、精调和重新训练等。

套壳指的是将别人已经完成ABC的模型拿来,在其基础上添加一些额外的功能或界面。即使是闭源的固定模型,只要提供了API,也可以通过添加上下文的方式进行套壳。例如,如果你想将GPT4套壳成一个能够写唐诗的AI,只需要在请求最前面加上一句“用唐诗回应以下要求:……”,然后将其发送给OpenAI的API即可。这种方法几乎不需要任何初始成本,也没有任何贡献。

精调需要先有别人已经完成ABC三步的模型,然后再投入一个非常小规模的A步骤和C步骤,获得一个新模型。这种方法就像是招来一个实习生,教他使用公司软件,然后他就可以依靠自己的知识开始工作。这样产出的模型一般称为检查点或快照,讨论的时候,一般都会同时提及和引用其基础模型。例如,图像生成模型的civtai站点上的模型、斯坦福的Alpaca等都属于这类。

重新训练指的是别人完成B步骤后,自己投入完整的A和C步骤进行重新训练。学术圈复现他人的结果时常用这种方法,而商业公司亦会照着论文实现代码,然后使用自己的数据进行重新训练并进行部署。有时甚至可以使用公开数据集,只需要投入机时即可。这种方法所产出的模型可以被认为是投入数据和机时这方的创造物,即使其没有独创性。如果模型方法(步骤B)完全没有独创性,那么一般也不会将其技巧作为卖点进行宣传。

那么, 你认为成为讨论焦点的公司是什么情况呢?

本文感谢ChatGPT帮助改写。

一些数据来源:
[1] https://lambdalabs.com/blog/demystifying-gpt-3
[2] https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

赞一个 (9)