专栏名称: 国浩律师事务所
传播法治理念、解读政策法规、研讨律师实务、分析典型案例、评析法律热点、透视财经信息、发布国浩动态。
目录
相关文章推荐
51好读  ›  专栏  ›  国浩律师事务所

国浩视点 | 数智之间:美国“人工智能模型参数”出口管制物项解读

国浩律师事务所  · 公众号  ·  · 2025-02-05 18:15

正文

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


引言: 2025年1月15日,美国商务部工业和安全局(BIS)发布了 《人工智能扩散框架》 ,该框架引入了新的管控物项ECCN 4E091,为人工智能模型参数设定了严格的出口管制措施,本文将详细解读这一管制物项的含义和适用范围。

目 录

一、什么是人工智能模型参数

二、仅限于训练阶段习得的参数

三、模型复杂度限制

四、公开参数模型的排除



1


什么是人工智能模型参数

在现代基于神经网络的人工智能系统中,“参数”是神经网络中决定模型行为的核心部分。常见的参数包括权重(weights)和偏置(biases)等。这些参数在训练过程中被优化,决定了模型的能力和表现。简单来说,一个训练完成的人工智能模型,其最直接的结果即为由这些参数组成的结构化数据集。下图为阿里巴巴集团开源在魔搭社区的“通义千问2.5-7B-Instruct”模型 [注1] ,其中model-00001-of-00004.safetensors等文件即为模型参数文件,为一组机器可读但人类不可读的二进制文件。

如果说模型结构是人工智能模型的“灵魂”的话,参数就是这个“灵魂”在经过海量数据的训练之后得到的“肉身”,是人工智能模型中所凝聚的所有数据、资本和技术的直接体现。

通常来说,用户取得模型参数后,根据模型结构,即可实现对模型的使用或二次开发。




2


仅限于训练阶段习得的参数

在CCL中,4E091的技术附注(Technical Notes)1中将此处的参数限定为了在训练阶段通过算法习得的参数(如网络权重、偏置等)。

因此,在训练前的数据预处理阶段(如数据标注、分词等)所产生的成果,以及非通过训练习得的超参数(hyperparameters)等,均应不包含在本条目的控制范围内。

当然,对于超参数其实并不能一概而论,早期AI训练过程中超参数通常由人为制定,其本身并非可训练的对象。但随着技术的发展,在当前的主流AI训练工作流中,超参数可以通过训练或优化过程习得。这些超参数在这个层面上并非“固定不变”,而是同样成为了可训练的对象,此时超参数就可能落入4E091的范围。




3


模型复杂度限制

CCL在该管制物项的名称中即将管制对象限定为使用了超过10^26次“运算”(Operation)的训练后产生的人工智能模型参数,即该物项不包含BIS认为的“简单模型”。

(一) 运算量计算

这里的运算是指在模型预训练或后续训练(如微调)阶段所采取的所有数学运算操作。包括各层的前向传播、反向传播、池化,卷积运算等。

CCL的技术附注中给出了一个计算运算量的例子,以一个单层全连接神经网络(这种情况在工程实践中非常罕见,仅为一个简单的例子)为例,其输入层有I个输入神经元,输出层有O个输出神经元。如下图所示:

对于这样的一个神经网络,其参数量N=I*O,技术附注中的例子还进一步假设了在反向传播时不对偏置进行计算。则其参数矩阵仅由权重组成,如下图所示:

在每一次前向传播时(从输入层到输出层,通常用于计算损失),都需要进行O*I次乘法,并将所有乘法的结果相加,最终总运算次数约等于于2*O*I FLOP(Floating Point Operations)即2N,而每一次反向传播(即从输出层到输入层的反向计算,通常用于更新参数)的总计算量为4N FLOP,即对于前文所属的简单神经网络,对每一个数据点进行的一轮训练所需要的总计算量为6N FLOP,当总数据量为D时,最终的总计算量即为6ND FLOP。

以上为CCL给出的一个简单算例,但需要注意的是,前述6ND的结果仅适用于算例中提到的单层全连接神经网络,工程中具有实用价值的神经网络因输入输出中间其他层的存在以及多个神经网络的相互配合(如transformer模型),将会使得运算量呈指数级增长,并引入除了乘法和加法之外的其他运算过程,因此实际模型中总运算量的计算也会非常复杂,CCL给出的算例仅具有参考价值,在实际合规应当由工程人员结合实际模型结构和BIS提供的指引进行准确计算,不可直接套用前述6ND FLOP的公式。

当然,该算例并非毫无价值,其给出了计算运算量的一般方法的同时,结合技术注释的其他文本提出了一个重要原则,即运算量的计算是与实际实现和硬件无关的(regardless of the implementation and hardware limitations),无论使用什么样的硬件平台或算法,任何实际产生的数学运算都应将计入运算量,应当计入总运算量,除非能够实际减少运算量,否则仅仅是算子层面的优化并不能规避该阈值。当然,如果通过改进算法,在实际减少了运算量的情况下,达到了与高运算量模型相当的性能的,4E091的注释2也确保这种模型不会因为其高性能就落入其管制范围。

(二) 数据处理阶段运算量的例外

4E091关于运算的定义中,明确排除了数据收集和预处理阶段产生的运算。但也有例外,如果一个模型中超过10%的运算(operations)是基于由同一个数据生成模型生成的非公开合成数据(synthetic data),那么操作这个数据生成模型生成合成数据的运算量(即推理运算量)也应该算在内。如果这个数据生成模型的参数未被公开,那么最初用于训练这个数据生成模型运算量也应当被计算在内,而这个运算量会比推理运算量大得多。

即如果模型A使用了模型B生成的数据D进行训练,且基于模型B的输出进行训练的运算量超过了其总运算量的10%,则B用于生成D的运算量也应当累加进A中,如果B的参数未被公开(即通常所说的闭源模型),则用于训练B本身的运算量也应当被计算。

同时,CCL为了防止通过多个变体模型规避掉前述10%的阈值,其规定,基于同一个模型的变体(如不同的检查点或微调后的版本)生成的数据,视同为同一个模型。还是前面的例子,如果A使用的是B生成的数据D和B的变体B’生成的数据D’进行训练,只要基于D和D’进行训练的运算量总和超过了10%,都会触发前述累加条款。

对于多个未公开的数据生成模型生成的数据共同用于一个模型的训练,且最终运算量超过10%的,则仅应当计算被用的最多的那个模型的运算量。

CCL中还规定了一个“不重复计算”原则防止运算量虚高,例如,某公司使用数据生成模型A用于训练模型B和模型C,而B和C生成的数据又用于训练模型D,则训练A的运算量只计入模型D的运算量一次。




4


公开参数模型的排除

(一) 一般情形

CCL在4E091的注释1中,明确排除了已公开参数的模型,根据EAR§ 734.7(a)的定义,公开包含五种情形,对于人工智能模型来说,最常见的为其第一或第四种情形:

(1) 任何希望获取或购买已发布信息的个人均可无限制地获取的(Subscriptions available without restriction to any individual who desires to obtain or purchase the published information);

(4) 以任何形式(例如,不一定是出版形式)进行公开传播(即不受限制地分发),包括在互联网上发布在对公众开放的网站上的。[Public dissemination (i.e., unlimited distribution) in any form (e.g., not necessarily in published form), including posting on the Internet on sites available to the public]。

按照前述规定,开源在如Huggingface, Modelscope等人工智能协作平台的模型,显然属于这里的已公开,但对于某些经申请和审批后可获得的模型(如早期版本的Llama),则因不具备前述规定所述的不受限制性,不属于这里的已公开模型。

(二) 例外

如基于公开参数模型进行二次训练得到的模型,通常来说也不在4E091的范围内,但有一个例外情况,如果二次训练的运算量超过2.5*10^25或超过模型本身运算量25%(两者孰高)的,则此时产生的衍生模型可能会重新落入4E091的范围。此时的模型二次开发者如不想受到EAR对4E091的强管制,一个可行的办法就是继续开源基于开源模型训练后得到的模型。


注释及参考文献

[1] https://www.modelscope.cn/models/Qwen/Qwen2.5-7B-Instruct/files

作者简介

陶冶

国浩南京合伙人

业务领域:软件和互联网

邮箱:[email protected]

相关阅读

【 特别声明:本篇文章所阐述和说明的观点仅代表作者本人意见,仅供参考和交流,不代表本所或其律师出具的任何形式之法律意见或建议。】








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