CN111459661A - 一种神经网络模型参数的更新方法 - Google Patents
一种神经网络模型参数的更新方法 Download PDFInfo
- Publication number
- CN111459661A CN111459661A CN202010182990.0A CN202010182990A CN111459661A CN 111459661 A CN111459661 A CN 111459661A CN 202010182990 A CN202010182990 A CN 202010182990A CN 111459661 A CN111459661 A CN 111459661A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- parameters
- new
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 403
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000015654 memory Effects 0.000 claims abstract description 183
- 238000012360 testing method Methods 0.000 claims description 49
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 239000011800 void material Substances 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种神经网络模型参数的更新方法,应用于客户端。该更新方法包括:获取神经网络模型新参数;将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间;调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数。在无文件系统的嵌入式环境中,通过直接将神经网络模型新参数保存到内存中并调用神经网络模型新参数用于神经网络模型识别,而无需重启来重新加载神经网络模型,实现了在不中断识别处理业务的前提下方便快捷地对模型参数进行更新,提高系统可用性,提升用户体验。
Description
技术领域
本发明涉及人工智能算法技术领域,特别是一种神经网络模型参数的更新方法。
背景技术
智能语音交互是目前设备控制的研究热点,正得到越来越广泛的应用。特别是对于汽车车机(车机是车载信息娱乐系统的简称,也可称为车载多媒体信息娱乐系统,车载导航系统等),智能语音交互是重要功能。自然语言处理作为语音交互的核心。基于神经网络的自然语言处理模型,需要比较大的计算力,通常被部署在云端服务器上。以汽车车机为例,汽车车机接收的输入语音通过网络传输到云端,由云端服务器部署的神经网络模型完成推理,再把推理结果下发到汽车车机,从而完成自然语言处理。但是,当汽车行驶至网络信号较差、甚至没有网络的地方时,用户的语音交互请求将得不到正确的反馈,严重影响用户体验。
为了解决这个问题,出现了将基于神经网络模型的自然语言处理模块部署到客户端(例如汽车车机)上的方式,使得能够在客户端上实现自然语言处理,这样,即使在无网络的情况下也能进行语音交互。但是,这种方式面临对神经网络模型进行更新的难题,特别是对于更新频率较高的神经网络模型参数来说,如何实现更新是必须考虑的问题。
一般来说,在Linux、Android等操作系统环境下更新神经网络模型参数,可通过在文件系统中更新参数文件,然后再重新加载神经网络模型即可完成模型参数的更新。但是,由于客户端的计算力和存储空间的限制,其上运行的通常不是Linux、Android等大型操作系统。以汽车车机为例,车机上进行神经网络模型推理的芯片上运行的通常是简单高效的实时操作系统(Real-Time Operating System,RTOS),或者甚至没有操作系统,由于实时操作系统一般都不带文件系统,在这种情况下,就无法通过更新参数文件的方式来实现模型参数的更新。另外,通过更新参数文件后重新加载神经网络模型的方式进行更新,在加载期间会造成自然语言处理业务的中断,一定程度上影响用户体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的神经网络模型参数的更新方法。
本发明的一个目的在于提供一种应用于客户端的神经网络模型参数的更新方法,其能够在不中断识别处理业务的前提下实现参数更新,提高系统可用性,提升用户体验。
本发明的一个进一步的目的在于节省客户端的内存占用,从而提高运行效率。
根据本发明实施例的一方面,提供了一种神经网络模型参数的更新方法,应用于客户端,所述更新方法包括:
获取神经网络模型新参数;
将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间;调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数。
可选地,所述调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数,包括:
将指向所述神经网络模型的当前参数所在内存中的存储地址的第一参数指针切换至所述神经网络模型新参数所在内存中的存储空间所在地址;
调用所述第一参数指针以读取所述神经网络模型新参数。
可选地,所述更新方法还包括:
获取所述神经网络模型的预定义的测试样本;
基于更新所述新参数之后的所述神经网络模型对所述测试样本进行识别,得到对所述测试样本的测试识别结果;
将所述测试识别结果与所述测试样本的预期识别结果进行比较;
若所述测试识别结果与所述预期识别结果相符合,则将所述神经网络模型新参数保存到所述客户端的非易失性存储器中;
若所述测试识别结果与所述预期识别结果不符合,则将指向所述神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至所述神经网络模型的当前参数所在内存中的存储地址。
可选地,在所述神经网络模型的当前参数存入所述内存中之前,还包括:
在所述内存中为所述神经网络模型的当前参数动态分配存储空间;
在将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间之前,还包括:
在所述内存中为所述神经网络模型新参数动态分配可用存储空间;
在将所述神经网络模型新参数保存到非易失性存储器中之后,还包括:
释放所述内存中存储所述神经网络模型的当前参数的存储空间。
可选地,在所述神经网络模型的当前参数存入所述内存中之前,还包括:
在所述内存中为所述神经网络模型的当前参数动态分配存储空间;
在将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间之前,还包括:
在所述内存中为所述神经网络模型新参数动态分配可用存储空间;
在将指向所述神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至所述神经网络模型的当前参数所在内存中的存储地址之后,还包括:
释放所述内存中存储所述神经网络模型新参数的存储空间。
可选地,所述将所述神经网络模型新参数保存到所述客户端的非易失性存储器中,包括:
将所述神经网络模型新参数存储在与所述神经网络模型的当前参数所在所述非易失性存储器中的存储地址不同的存储地址;
将指向所述神经网络模型的当前参数所在所述非易失性存储器中的存储地址的第二参数指针切换至所述神经网络模型新参数所在所述非易失性存储器中的存储地址;
或者,
将所述神经网络模型新参数保存到所述非易失性存储器中存储所述神经网络模型的当前参数的存储地址,以使所述神经网络模型新参数覆盖所述神经网络模型的当前参数。
可选地,所述获取神经网络模型新参数包括:
通过网络传输获取包括神经网络模型新参数的更新数据包;
提取所述更新数据包中的神经网络模型新参数。
可选地,所述更新数据包通过以下方式生成:
将所述神经网络模型新参数以指定数据格式进行合并,并按照指定编码格式对合并的所述神经网络模型新参数进行编码得到神经网络模型新参数集合;
对所述神经网络模型新参数集合进行打包,得到所述更新数据包。
可选地,所述指定数据格式为类型+长度+数值的数据格式;
所述提取所述更新数据包中的神经网络模型新参数包括:
从所述更新数据包中取出所述神经网络模型新参数集合,丢弃所述神经网络模型新参数集合中的类型和长度字段,得到所述新参数集合中的所述数值作为所述神经网络模型新参数。
可选地,在对所述神经网络模型新参数集合进行打包之前,还包括:
根据指定校验算法对所述神经网络模型新参数集合进行计算得到第一校验码;
所述对所述神经网络模型新参数集合进行打包,得到所述更新数据包,包括:
对所述神经网络模型新参数集合和所述第一校验码进行打包,得到所述更新数据包;
在通过网络传输获取包括神经网络模型新参数的更新数据包之后,还包括:
根据所述指定校验算法对所述更新数据包中的神经网络模型新参数集合进行计算得到第二校验码;
比较所述第二校验码是否与所述第一校验码相同;
若是,则执行所述提取所述更新数据包中的神经网络模型新参数的步骤;
若否,则重新通过网络传输获取包括神经网络模型新参数的更新数据包。
本发明的神经网络模型参数的更新方法适用于客户端。在该更新方法中,在获取到神经网络模型新参数后,直接将获取的神经网络模型新参数保存到保存有神经网络模型的当前参数的内存中的可用存储空间,并通过调用保存的神经网络模型新参数来更新神经网络模型的当前参数。在无文件系统的嵌入式环境中,通过直接将神经网络模型新参数保存到内存中并调用神经网络模型新参数用于神经网络模型识别,而无需重启来重新加载神经网络模型,实现了在不中断识别处理业务的前提下方便快捷地对模型参数进行更新,提高系统可用性,提升用户体验。
进一步地,通过动态分配内存中用于存储神经网络模型的当前参数和神经网络模型新参数的存储空间,并在参数更新成功后释放神经网络模型的当前参数的存储空间,或在参数更新失败后释放神经网络模型新参数的存储空间,节省客户端的内存占用,从而提高运行效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一种神经网络模型的运行原理示意图;
图2示出了根据本发明一实施例的神经网络模型参数的更新方法的流程图;
图3示出了根据本发明一实施例的客户端的结构示意图;
图4示出了根据本发明一实施例的内存的空间分布示意图;
图5示出了根据本发明一实施例的非易失性存储器的空间分布示意图;以及
图6示出了根据本发明另一实施例的神经网络模型参数的更新方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
神经网络模型广泛应用于自然语言处理中。神经网络模型主要由以下两部分组成:模型和权重参数。图1示出了一种神经网络模型的运行原理示意图。如图1所示,神经网络模型的输入为字符串(具体如中文字符串),神经网络模型基于当前的权重参数对输入的字符串进行识别,得到输入的字符串的意图和词槽作为输出。在实际应用中,为了不断增强神经网络模型的性能,需要对神经网络模型进行更新,其中,模型本身更新的情况比较少,而模型的权重参数(以下简称参数)的更新频次则更频繁一些。例如,当收集到更多的训练语料样本,或者已上线运行的神经网络模型收集到自身无法进行有效识别的语料时,都需要用新语料来重新训练神经网络模型,得到神经网络模型的新的权重参数,之后,只需要将神经网络模型的权重参数更新为该新的权重参数即可。
当神经网络模型部署在客户端(例如汽车车机(车载信息娱乐系统,In-VehicleInfotainment,简称IVI或者车机))上时,若客户端上运行的是Linux、Android等操作系统,则在需要更新神经网络模型参数时,可通过在文件系统中更新参数文件,然后再重新加载神经网络模型来实现。然而,当客户端上运行的不是Linux、Android等操作系统,而是简单高效的不带文件系统的实时操作系统或者没有操作系统时,就无法通过直接更新参数文件的方式来更新神经网络模型参数。
由此,本发明实施例提出一种神经网络模型参数的更新方法。图2示出了根据本发明一实施例的神经网络模型参数的更新方法的流程图。该更新方法可应用于客户端,特别是无文件系统的客户端,该客户端上部署有神经网络模型。图3示出了根据本发明一实施例的客户端的结构示意图。如图3所示,客户端一般性地可包括非易失性存储器和内存。非易失性存储器为一种断电后存储的内容不会丢失,下次上电后所存储的内容还可以读取出来的硬件单元,例如Flash存储器。内存则是一种易失性的临时存储介质,暂时存储程序和数据的单元,是计算单元可以直接寻址的存储空间,其内存储的数据在断电后将会消失,例如RAM(Random Access Memory,随机存取存储器)。当然,本领域技术人员可理解,客户端一般性地还可以包括计算单元,例如CPU、GPU(Graphics Processing Unit,图形处理器)等。
参见图2,本发明的神经网络模型参数的更新方法至少可以包括以下步骤S202至步骤S208。
步骤S202,获取神经网络模型新参数。
步骤S204,将神经网络模型新参数存储到保存有神经网络模型的当前参数的内存中的可用存储空间。
步骤S206,调用保存的神经网络模型新参数以更新神经网络模型的当前参数。
本发明实施例提供的神经网络模型参数的更新方法中,在获取到神经网络模型新参数后,直接将获取的神经网络模型新参数保存到保存有神经网络模型的当前参数的内存中的可用存储空间,并通过调用保存的神经网络模型新参数来更新神经网络模型的当前参数。在无文件系统的嵌入式环境中,通过直接将神经网络模型新参数保存到内存中并调用神经网络模型新参数用于神经网络模型识别,而无需重启来重新加载神经网络模型,实现了在不中断识别处理业务的前提下方便快捷地对模型参数进行更新,提高系统可用性,提升用户体验。
在上文步骤S202中,客户端可以通过网络传输的方式从自身以外的设备(如服务器)处获取神经网络模型新参数。当然,也可以通过其他方式获取神经网络模型新参数,例如,通过USB移动设备将神经网络模型新参数拷贝到客户端等。神经网络模型新参数可以是在该客户端之外的其他设备(如云端服务器)上应用新语料对神经网络模型进行训练(如tensorflow训练)后得到的。
当客户端通过网络传输(如无线网络)从其他设备(如云端服务器)处获取神经网络模型新参数时,神经网络模型新参数通常以更新数据包的形式进行传输。这种情况下,步骤S202可进一步实施为:通过网络传输获取包括神经网络模型新参数的更新数据包,然后提取更新数据包中的神经网络模型新参数,从而获取到神经网络模型新参数。
如前所述,神经网络模型新参数可以是在其他设备(如云端服务器)上应用新语料对神经网络模型进行训练(如tensorflow训练)后得到的,这种方式得到的神经网络模型新参数的原始格式可以是PB(Protocol Buffers)格式或数组格式等,通过指定编码格式将这些神经网络模型新参数编码后打包生成更新数据包。此处提及的指定编码格式可以有多种,如json、二进制等。其中,由于二进制格式的存储和传输效率都比较高,优选采用二进制编码格式对神经网络模型新参数进行编码,从而节省更新数据包的存储空间和传输空间。
另外,本领域技术人员可知,神经网络模型通常包括多层,例如卷积层、全连接层、LSTM(Long Short-Term Memory,长短记忆网络)层等,每一层都具有不一样的参数。为了简化传输,在一个实施例中,可以将神经网络模型的所有层的新参数以统一的指定数据格式进行合并,以组成一个整体数据进行传输。此处提及的指定数据格式可以是TLV(TypeLength Value,类型+长度+数值)格式或LV(Length Value,长度+数值)格式等。下表1和表2分别示例性地示出了TLV格式和LV格式的组成结构。
表1 TLV格式的组成结构
字段 | Type | Length | Value |
字节 | 4 | 4 | N |
表2 LV格式的组成结构
字段 | Length | Value |
字节 | 4 | N |
如表1所示,TLV格式由三个字段组成,Type(类型)字段是关于标签和编码格式的信息,Length(长度)字段定义数值的长度,Value(数值)字段表示数据本身的数值。Type字段和Length字段的长度固定,一半为2或4个字节。本实施例中Type字段和Length字段均采用4个字节。Value字段的长度是可变的,由Length字段指定。如表2所示,LV格式则仅包括Length字段和Value字段。下面以一个例子进行说明,例如将神经网络模型的新参数以TLV格式进行合并,则合并后的整体数据如下所示:
[
类型+长度+数值1
类型+长度+数值2
类型+长度+数值3
…
]
通过以统一的数据格式将神经网络模型的所有新参数整合为整体数据,简化了数据传输,提高了数据传输效率。
在合并神经网络模型新参数之后,可以按照指定编码格式对合并的神经网络模型新参数进行编码得到神经网络模型新参数集合。在一种具体的实施方案中,可以将神经网络模型的新参数以TLV格式进行合并,然后按照二进制编码格式进行编码,得到二进制的类型+长度+数值格式的神经网络模型新参数集合。进而,对神经网络模型新参数集合进行打包生成更新数据包。
当客户端通过网络传输(如无线网络)获取包括神经网络模型新参数的更新数据包时,由于传输过程中存在丢包或数据损坏的可能性,为了保证传输数据的正确性和完整性,还需要校验机制。
在一个实施例中,在得到神经网络模型新参数集合后,还可以根据指定校验算法对神经网络模型新参数集合进行计算得到第一校验码。进而,对神经网络模型新参数集合和第一校验码进行打包,得到更新数据包。相应地,在获取到包括神经网络模型新参数的更新数据包之后,还可以进行校验码验证的步骤。具体地,根据该指定校验算法对更新数据包中的神经网络模型新参数集合进行计算得到第二校验码,并比较计算得到的第二校验码是否与更新数据包中的第一校验码相同。若第二校验码与第一校验码相同,则校验码验证通过,执行提取更新数据包中的神经网络模型新参数的步骤。若第二校验码与第一校验码不相同,则校验码验证不通过,需要重新通过网络传输获取包括神经网络模型新参数的更新数据包。在本发明的实施例中,指定校验算法例如可以是MD5(Message-Digest Algorithm5,信息-摘要算法5),相应地,第一校验码和第二校验码为MD5校验码。MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(Hash Value),用于确保信息传输完整一致。当然,指定校验算法也可以是其他校验算法,如CRC(Cyclic RedundancyCheck,循环冗余校验)、奇偶校验等,本发明对此并不做具体限制。通过特定的校验机制,保证了客户端获取的更新数据包的数据是完整正确的,进而保障参数更新流程的顺利进行。
如前所述,神经网络模型新参数一般是在客户端之外的其他设备(如云端服务器)上应用新语料对神经网络模型进行训练后得到的,由于服务器有强劲的计算力,因此,在实际应用中,前述的神经网络模型新参数的合并和编码得到神经网络模型新参数集合、计算神经网络模型新参数集合的校验码、以及将神经网络模型新参数集合及其校验码打包的步骤可以在服务器端进行,获取更新数据包以及对更新数据包进行校验码验证的步骤则可以在客户端上进行。
前文所述的从更新数据包中提取的神经网络模型新参数指神经网络模型新参数的纯数据,即神经网络模型新参数的数值(value)。当更新数据包中包括的是二进制的类型+长度+数值格式的神经网络模型新参数集合时,在提取更新数据包中的神经网络模型新参数的步骤中需要从更新数据包中取出神经网络模型新参数集合,丢弃神经网络模型新参数集合中的类型(type)和长度(length)字段,得到神经网络模型新参数集合中的数值(value)作为神经网络模型新参数。
上文步骤S204中,将神经网络模型新参数存储到保存有神经网络模型的当前参数的内存中的可用存储空间。内存例如可以是易失性高速内存,如1Gbit大小的芯片。图4示出了根据本发明一实施例的内存的空间分布示意图。如图4所示,内存的地址空间是0x00到0x3FFFFFFF,从低地址到高地址分布着代码段、数据段、堆、栈,其中堆和栈的增长方向相反。
在一种实施方案中,在神经网络模型的当前参数存入内存中之前在内存的数据段中预先分配用于存储神经网络模型的当前参数的存储空间,例如,将当前参数存储在内存中的数据段所在的部分存储空间,且在将神经网络模型新参数存储到保存有神经网络模型的当前参数的内存中的可用存储空间之前在内存的数据段中预先分配用于存储神经网络模型新参数的可用存储空间,例如将新参数存储在内存中的数据段所在的部分未被占用的存储空间。具体地,可以在客户端的软件系统(如实时操作系统等)启动后,在内存中已经预留好两份存储空间以分别用于神经网络模型的当前参数和神经网络模型新参数的存储。这种方式下存储空间分配简单,系统运行更平稳,但由于在运行过程中内存的数据段中两份预留的存储空间始终被占用而无法释放,增加了客户端的内存占用,一定程度上影响了运行效率。
在另一种实施方案中,在神经网络模型的当前参数存入内存中之前为神经网络模型的当前参数动态分配一存储空间;且在将神经网络模型新参数存储到保存有神经网络模型的当前参数的内存中的可用存储空间之前,为神经网络模型新参数动态分配一可用存储空间。例如,通过调用函数new、malloc、calloc等进行上述内存中存储空间的动态分配。具体地,在客户端的软件系统启动后,可以先在内存的栈中动态分配一存储空间用于存储神经网络模型的当前参数。之后,在需要进行参数更新时,再在内存的栈中动态分配另一存储空间用于神经网络模型新参数的存储。例如,当在服务器上应用新语料对神经网络模型进行训练得到神经网络模型新参数之后,服务器可以向客户端发送更新指令。客户端在接收到更新指令后,在内存的栈中动态分配另一存储空间,以用于存储后续获取到的神经网络模型新参数。通过动态分配存储空间,能够根据参数更新的结果动态回收神经网络模型的当前参数的存储空间或神经网络模型新参数的存储空间,从而节省内存资源。动态分配的存储空间的回收将在下文进行具体介绍。
经过步骤S204后,内存中同时存在神经网络模型的当前参数和神经网络模型新参数,客户端当前进行神经网络模型识别时使用的是神经网络模型的当前参数,因此,需在步骤S206中调用神经网络模型新参数来更新神经网络模型的当前参数,以便能够使用神经网络模型新参数来进行神经网络模型识别。
在一个实施例中,步骤S206可进一步实施为:首先,将指向神经网络模型的当前参数所在内存中的存储地址的第一参数指针切换至神经网络模型新参数所在内存中的存储空间所在地址。然后,调用第一参数指针以读取神经网络模型新参数。通过内存中参数地址的切换,简单快捷地直接读取神经网络模型新参数用于神经网络模型识别,而无需重启来重新加载神经网络模型。
下面对内存中参数地址的切换进行具体介绍。在内存中,存在一个全局或单例的指针paramAddr,该指针指向参数存储的地址。在每次进行神经网络模型识别时,可以调用指定函数获得参数的指针或引用,从而通过该指针读取参数用于神经网络模型识别。获取参数指针的指定函数可以是T*getParameters。在需要进行参数地址的切换时,可以通过调用函数void setParameters将用于获取神经网络模型的当前参数的第一参数指针的函数T*getParameters中的参数地址设置为神经网络模型新参数所在内存中的存储空间所在地址,从而实现将指向神经网络模型的当前参数所在内存中的存储地址的第一参数指针切换至神经网络模型新参数所在内存中的存储空间所在地址。如此,在下一次进行神经网络模型识别时,就可以通过该第一参数指针读取神经网络模型新参数所在内存中的存储空间内的神经网络模型新参数用于神经网络模型识别,而不需要重启客户端的软件系统来重新加载神经网络模型。下面示出了通过调用void setParameters进行参数地址设置的代码示例,其中paramEntry指代神经网络模型新参数所在内存中的存储空间所在地址。
通过将指向神经网络模型的当前参数所在内存中的存储地址的第一参数指针切换至神经网络模型新参数所在内存中的存储空间所在地址,完成内存参数地址的切换,并调用第一参数指针读取神经网络模型新参数,以将神经网络模型的当前参数更新为神经网络模型新参数用于神经网络模型的识别,完成了在不中断识别处理业务的前提下的神经网络模型参数更新(即,热升级)。
为了保证神经网络模型参数更新后的正常运行,在一个实施例中,在步骤S206之后,还可以执行对神经网络模型新参数进行自检测试的步骤,以检查神经网络模型新参数是否正确。在自检测试中,可以获取神经网络模型的预定义的测试样本(如预定义的语句或字符串),基于更新了神经网络模型新参数之后的神经网络模型对测试样本进行识别,得到对测试样本的测试识别结果。然后,将该测试识别结果与测试样本的预期识别结果进行比较。如果测试识别结果与预期识别结果相符合,则表明新参数可用,神经网络模型可基于新参数正常工作,此时可将神经网络模型新参数保存到客户端的非易失性存储器中。至此,本次参数更新成功。
通过神经网络模型新参数的自检测试,能够保障参数更新后神经网络模型正常工作,避免参数更新引起的模型故障。具体地,可以根据测试样本的测试识别结果与预期识别结果之间的相似度来判断两者是否相符合。若测试样本的测试识别结果与预期识别结果之间的相似度大于或等于预设阈值(例如80%),则确定测试样本的测试识别结果与预期识别结果相符合,否则,确定测试样本的测试识别结果与预期识别结果不符合。
进一步地,在前述动态分配了内存中用于存储神经网络模型的当前参数的存储空间,且动态分配了内存中用于存储神经网络模型新参数的可用存储空间的情况下,在将神经网络模型新参数保存到客户端的非易失性存储器中之后,还可以释放内存中存储神经网络模型的当前参数的存储空间。通过在参数更新成功后释放动态分配的神经网络模型的当前参数的存储空间,节省客户端的内存占用,从而提高运行效率。
在另一个实施例中,如果上述测试识别结果与测试样本的预期识别结果不符合,则表明新参数不可用,神经网络模型基于新参数的工作有问题,此时,需进行内存中参数地址的回滚,即,将指向神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至神经网络模型的当前参数所在内存中的存储地址。至此,本次参数更新失败。通过内存中参数地址的回滚,能够使得后续进行神经网络模型识别时仍旧读取前述神经网络模型的当前参数,从而保障神经网络模型的正常工作。
进一步地,在前述动态分配了内存中用于存储神经网络模型的当前参数的存储空间,且动态分配了内存中用于存储神经网络模型新参数的可用存储空间的情况下,在将指向神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至神经网络模型的当前参数所在内存中的存储地址之后,还可以释放内存中存储神经网络模型新参数的存储空间。通过在参数更新失败后释放动态分配的神经网络模型新参数的存储空间,节省客户端的内存占用,从而提高运行效率。
本发明的实施例中,非易失性存储器可以是闪存,如512Mbit大小的Flash芯片。图5示出了根据本发明一实施例的非易失性存储器的空间分布示意图。如图5所示,地址空间是0x00到0x1FFFFFFF,从低地址到高地址分别存储着操作系统启动程序(Boot)、实时操作系统(RTOS)、神经网络模型、模型参数(包括当前参数和新参数)等。与内存类似地,非易失性存储器中也存在一个指针(不妨称为第二参数指针)指向当前正在使用的神经网络模型参数的存储地址。在客户端启动时,通过第二参数指针读取非易失性存储器中已存储的神经网络模型的当前参数并将神经网络模型的当前参数载入至内存中保存,以便在进行神经网络模型识别时通过第一参数指针从内存中读取神经网络模型的当前参数,用于进行神经网络模型识别。
在将神经网络模型新参数保存到客户端的非易失性存储器中时,可采用以下方式。
第一种方式,将神经网络模型新参数存储在与神经网络模型的当前参数所在非易失性存储器中的存储地址不同的存储地址。也就是说,在非易失性存储器中也有两份存储空间(不妨将两份存储空间的地址称为地址1和地址2),分别用于保存神经网络模型的当前参数和神经网络模型新参数。在将神经网络模型新参数保存到非易失性存储器中时,如果神经网络模型的当前参数保存在地址1,则将神经网络模型新参数写入地址2,如果神经网络模型的当前参数保存在地址2,则将神经网络模型新参数写入地址1。如此,在将神经网络模型新参数保存到非易失性存储器中之后,将指向神经网络模型的当前参数所在非易失性存储器中的存储地址的第二参数指针切换至神经网络模型新参数所在非易失性存储器中的存储地址,使得客户端下一次启动时能够从非易失性存储器中神经网络模型新参数的存储地址加载参数,以将神经网络模型新参数载入内存。非易失性存储器中第二参数指针指向的参数存储地址的切换方式与内存中的第一参数指针的参数地址的切换方式类似,同样通过调用函数void setParameters完成,此处不另赘述。在这种实施方案中,非易失性存储器中同时存在神经网络模型的当前参数和神经网络模型新参数,则在进行下一次神经网络模型参数的更新之前,若发现本次更新的神经网络模型新参数有问题,还可以进行参数存储地址的回滚,即,将指向神经网络模型新参数所在非易失性存储器中的存储地址的第二参数指针再重新切换至神经网络模型的当前参数所在非易失性存储器中的存储地址,从而保障神经网络模型的正常工作。
第二种方式,将神经网络模型新参数保存到非易失性存储器中存储神经网络模型的当前参数的存储地址,以使神经网络模型新参数覆盖神经网络模型的当前参数。这种实施方案无需进行非易失性存储器中第二参数指针指向的参数存储地址的切换,简化了操作,同时,神经网络模型的当前参数和神经网络模型新参数只共同占用了一份存储空间,节省了非易失性存储器中的存储资源。
以上介绍了图2所示实施例的各个环节的多种实现方式,下面将通过具体实施例来详细介绍本发明的神经网络模型参数的更新方法的实现过程。
图6示出了根据本发明一具体实施例的神经网络模型参数的更新方法的流程示意图。本实施例的神经网络模型参数的更新方法应用于实时操作系统环境下的车机上。车机上运行神经网络模型推理的芯片包括非易失性存储器和易失性内存。非易失性存储器为Flash存储器,其中存储有神经网络模型的当前参数。易失性内存为RAM。在车机启动后,易失性内存中动态分配了第一存储空间用于存储自非易失性存储器载入的神经网络模型的当前参数。车机还与服务器通信连接,以从服务器获取神经网络模型新参数进行参数更新。
参见图6所示,该方法可以包括以下步骤S602至步骤S628。
步骤S602,服务器向车机发送更新指令。
本步骤可在服务器上应用新语料对神经网络模型进行训练得到神经网络模型新参数之后进行。
步骤S604,车机在接收到更新指令后,向服务器返回确认信息,同时在易失性内存中动态分配用于存储神经网络模型新参数的可用存储空间(不妨称为第二存储空间)。
确认信息表示车机已接收到更新指令,准备进行参数更新。
步骤S606,服务器接受到确认信息后,将神经网络模型新参数以指定数据格式进行合并,并按照指定编码格式对合并的神经网络模型新参数进行编码得到神经网络模型新参数集合。
本实施例中,指定数据格式为TLV格式,指定编码格式为二进制编码格式,所得到的神经网络模型新参数集合为二进制的类型+长度+数值格式的数据。
步骤S608,服务器按照MD5算法计算神经网络模型新参数集合的第一MD5校验码,并将神经网络模型新参数集合和第一MD5校验码打包成更新数据包。
步骤S610,服务器将更新数据包通过无线网络传输给车机。
步骤S612,车机接收到更新数据包后,进行校验码验证。
具体地,车机按照MD5算法计算更新数据包中的神经网络模型新参数集合的第二MD5校验码,并比较第二MD5校验码是否与更新数据包中的第一MD5校验码相同。若相同,则校验码验证通过,继续执行步骤S614。若不相同,则校验码验证不通过,返回至步骤S610。
步骤S614,提取更新数据包中的神经网络模型新参数,并将提取的神经网络模型新参数保存到易失性内存中的第二存储空间内。
本步骤中提取更新数据包中的神经网络模型新参数时,需把神经网络模型新参数集合中的每条数据从更新数据包中取出,丢弃类型和长度字段,只保留数值字段中的数值,从而得到神经网络模型新参数集合中的数值作为神经网络模型新参数。
步骤S616,切换易失性内存中第一参数指针指向的参数地址。
具体地,调用函数void setParameters将用于获取神经网络模型的当前参数的第一参数指针的函数T*getParameters中的参数地址设置为第二存储空间的地址,并通过第一参数指针读取第二存储空间内的神经网络模型新参数来更新神经网络模型的当前参数以用于神经网络模型识别。本步骤中参数地址的切换方式如前所述,不另赘述。
步骤S618,对神经网络模型新参数进行自检测试。若测试通过,则执行步骤S620。若测试不通过,则执行步骤S626。
具体地,获取神经网络模型的预定义的测试样本(如预定义的语句或字符串),基于更新神经网络模型新参数后的神经网络模型对测试样本进行识别,得到对测试样本的测试识别结果。将该测试识别结果与测试样本的预期识别结果进行比较。如果测试识别结果与预期识别结果相符合,则测试通过。如果测试识别结果与预期识别结果不符合,则测试不通过。
步骤S620,将神经网络模型新参数保存到非易失性存储器中。
本步骤中,具体地,将神经网络模型新参数存储在与神经网络模型的当前参数所在非易失性存储器中的存储地址不同的存储地址。
步骤S622,切换非易失性存储器中第二参数指针指向的参数地址。
本步骤中,将指向神经网络模型的当前参数所在非易失性存储器中的存储地址的第二参数指针切换至神经网络模型新参数所在非易失性存储器中的存储地址,使得车机下一次启动时能够从非易失性存储器中神经网络模型新参数的存储地址加载参数,以将神经网络模型新参数载入易失性内存。非易失性存储器中参数地址的切换方式与易失性内存中的参数地址的切换方式类似。
步骤S624,释放易失性内存中的第一存储空间,本次流程结束。
步骤S626,进行易失性内存中参数地址的回滚。
本步骤中,具体地,将指向神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至神经网络模型的当前参数所在内存中的存储地址。
步骤S628,释放易失性内存中的第二存储空间,本次流程结束。
本实施例中,上述步骤S612至步骤S628在车机上进行。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
本发明的神经网络模型参数的更新方法适用于客户端。在该更新方法中,在获取到神经网络模型新参数后,直接将获取的神经网络模型新参数保存到保存有神经网络模型的当前参数的内存中的可用存储空间,并通过调用保存的神经网络模型新参数来更新神经网络模型的当前参数。在无文件系统的嵌入式环境中,通过直接将神经网络模型新参数保存到内存中并调用神经网络模型新参数用于神经网络模型识别,而无需重启来重新加载神经网络模型,实现了在不中断识别处理业务的前提下方便快捷地对模型参数进行更新,提高系统可用性,提升用户体验。
进一步地,通过动态分配内存中用于存储神经网络模型的当前参数和神经网络模型新参数的存储空间,并在参数更新成功后释放神经网络模型的当前参数的存储空间,或在参数更新失败后释放神经网络模型新参数的存储空间,节省客户端的内存占用,从而提高运行效率。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
Claims (10)
1.一种神经网络模型参数的更新方法,应用于客户端,其特征在于,所述更新方法包括:
获取神经网络模型新参数;
将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间;调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数。
2.根据权利要求1所述的更新方法,其特征在于,
所述调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数,包括:
将指向所述神经网络模型的当前参数所在内存中的存储地址的第一参数指针切换至所述神经网络模型新参数所在内存中的存储空间所在地址;
调用所述第一参数指针以读取所述神经网络模型新参数。
3.根据权利要求2所述的更新方法,其特征在于,在调用保存的所述神经网络模型新参数以更新所述神经网络模型的当前参数之后,还包括:
获取所述神经网络模型的预定义的测试样本;
基于更新所述新参数之后的所述神经网络模型对所述测试样本进行识别,得到对所述测试样本的测试识别结果;
将所述测试识别结果与所述测试样本的预期识别结果进行比较;
若所述测试识别结果与所述预期识别结果相符合,则将所述神经网络模型新参数保存到所述客户端的非易失性存储器中;
若所述测试识别结果与所述预期识别结果不符合,则将指向所述神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至所述神经网络模型的当前参数所在内存中的存储地址。
4.根据权利要求3所述的更新方法,其特征在于,在所述神经网络模型的当前参数存入所述内存中之前,还包括:
在所述内存中为所述神经网络模型的当前参数动态分配存储空间;
在将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间之前,还包括:
为所述神经网络模型新参数动态分配可用存储空间;
在将所述神经网络模型新参数保存到非易失性存储器中之后,还包括:
释放所述内存中存储所述神经网络模型的当前参数的存储空间。
5.根据权利要求3所述的更新方法,其特征在于,在所述神经网络模型的当前参数存入所述内存中之前,还包括:
在所述内存中为所述神经网络模型的当前参数动态分配存储空间;
在将所述神经网络模型新参数存储到保存有所述神经网络模型的当前参数的内存中的可用存储空间之前,还包括:
在所述内存中为所述神经网络模型新参数动态分配可用存储空间;
在将指向所述神经网络模型新参数所在内存中的存储空间所在地址的第一参数指针重新切换至所述神经网络模型的当前参数所在内存中的存储地址之后,还包括:
释放所述内存中存储所述神经网络模型新参数的存储空间。
6.根据权利要求3所述的更新方法,其特征在于,
所述将所述神经网络模型新参数保存到所述客户端的非易失性存储器中,包括:
将所述神经网络模型新参数存储在与所述神经网络模型的当前参数所在所述非易失性存储器中的存储地址不同的存储地址;
将指向所述神经网络模型的当前参数所在所述非易失性存储器中的存储地址的第二参数指针切换至所述神经网络模型新参数所在所述非易失性存储器中的存储地址;
或者,
将所述神经网络模型新参数保存到所述非易失性存储器中存储所述神经网络模型的当前参数的存储地址,以使所述神经网络模型新参数覆盖所述神经网络模型的当前参数。
7.根据权利要求1所述的更新方法,其特征在于,所述获取神经网络模型新参数包括:
通过网络传输获取包括神经网络模型新参数的更新数据包;
提取所述更新数据包中的神经网络模型新参数。
8.根据权利要求7所述的更新方法,其特征在于,所述更新数据包通过以下方式生成:
将所述神经网络模型新参数以指定数据格式进行合并,并按照指定编码格式对合并的所述神经网络模型新参数进行编码得到神经网络模型新参数集合;
对所述神经网络模型新参数集合进行打包,得到所述更新数据包。
9.根据权利要求8所述的更新方法,其特征在于,所述指定数据格式为类型+长度+数值的数据格式;
所述提取所述更新数据包中的神经网络模型新参数包括:
从所述更新数据包中取出所述神经网络模型新参数集合,丢弃所述神经网络模型新参数集合中的类型和长度字段,得到所述新参数集合中的所述数值作为所述神经网络模型新参数。
10.根据权利要求8所述的更新方法,其特征在于,在对所述神经网络模型新参数集合进行打包之前,还包括:
根据指定校验算法对所述神经网络模型新参数集合进行计算得到第一校验码;
所述对所述神经网络模型新参数集合进行打包,得到所述更新数据包,包括:
对所述神经网络模型新参数集合和所述第一校验码进行打包,得到所述更新数据包;
在通过网络传输获取包括神经网络模型新参数的更新数据包之后,还包括:
根据所述指定校验算法对所述更新数据包中的神经网络模型新参数集合进行计算得到第二校验码;
比较所述第二校验码是否与所述第一校验码相同;
若是,则执行所述提取所述更新数据包中的神经网络模型新参数的步骤;
若否,则重新通过网络传输获取包括神经网络模型新参数的更新数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010182990.0A CN111459661B (zh) | 2020-03-16 | 2020-03-16 | 一种神经网络模型参数的更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010182990.0A CN111459661B (zh) | 2020-03-16 | 2020-03-16 | 一种神经网络模型参数的更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459661A true CN111459661A (zh) | 2020-07-28 |
CN111459661B CN111459661B (zh) | 2021-08-27 |
Family
ID=71684318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010182990.0A Active CN111459661B (zh) | 2020-03-16 | 2020-03-16 | 一种神经网络模型参数的更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459661B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898740A (zh) * | 2020-07-31 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 预测模型的模型参数更新方法及装置 |
CN112989805A (zh) * | 2021-03-09 | 2021-06-18 | 北京百度网讯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
CN113986141A (zh) * | 2021-11-08 | 2022-01-28 | 北京奇艺世纪科技有限公司 | 服务端模型更新方法、系统、电子设备及可读存储介质 |
CN114418128A (zh) * | 2022-03-25 | 2022-04-29 | 新华三人工智能科技有限公司 | 一种模型部署的方法及装置 |
CN117349034A (zh) * | 2023-12-05 | 2024-01-05 | 创意信息技术股份有限公司 | 一种大语言模型分层加载方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
CN108764470A (zh) * | 2018-05-18 | 2018-11-06 | 中国科学院计算技术研究所 | 一种人工神经网络运算的处理方法 |
CN109067562A (zh) * | 2018-06-27 | 2018-12-21 | 武汉斗鱼网络科技有限公司 | 基于智能指针的动态配置更新方法及系统、服务器及介质 |
-
2020
- 2020-03-16 CN CN202010182990.0A patent/CN111459661B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
CN108764470A (zh) * | 2018-05-18 | 2018-11-06 | 中国科学院计算技术研究所 | 一种人工神经网络运算的处理方法 |
CN109067562A (zh) * | 2018-06-27 | 2018-12-21 | 武汉斗鱼网络科技有限公司 | 基于智能指针的动态配置更新方法及系统、服务器及介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898740A (zh) * | 2020-07-31 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 预测模型的模型参数更新方法及装置 |
CN111898740B (zh) * | 2020-07-31 | 2021-07-20 | 北京达佳互联信息技术有限公司 | 预测模型的模型参数更新方法及装置 |
CN112989805A (zh) * | 2021-03-09 | 2021-06-18 | 北京百度网讯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
CN113986141A (zh) * | 2021-11-08 | 2022-01-28 | 北京奇艺世纪科技有限公司 | 服务端模型更新方法、系统、电子设备及可读存储介质 |
CN114418128A (zh) * | 2022-03-25 | 2022-04-29 | 新华三人工智能科技有限公司 | 一种模型部署的方法及装置 |
CN114418128B (zh) * | 2022-03-25 | 2022-07-29 | 新华三人工智能科技有限公司 | 一种模型部署的方法及装置 |
CN117349034A (zh) * | 2023-12-05 | 2024-01-05 | 创意信息技术股份有限公司 | 一种大语言模型分层加载方法及装置 |
CN117349034B (zh) * | 2023-12-05 | 2024-02-23 | 创意信息技术股份有限公司 | 一种大语言模型分层加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111459661B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459661B (zh) | 一种神经网络模型参数的更新方法 | |
US20210141699A1 (en) | High-reliability non-volatile memory using a voting mechanism | |
KR101630749B1 (ko) | 데이터센터 리소스 할당 | |
CN106681829B (zh) | 一种内存管理方法及系统 | |
CN111782660A (zh) | 基于键值存储的数据压缩的方法和系统 | |
EP2919120A1 (en) | Memory monitoring method and related device | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN111338688B (zh) | 数据长效缓存方法、装置、计算机系统及可读存储介质 | |
CN110580195A (zh) | 一种基于内存热插拔的内存分配方法和装置 | |
CN109710502B (zh) | 日志传输方法、装置及存储介质 | |
CN107391672A (zh) | 数据的读写方法及消息化的分布式文件系统 | |
CN112751782B (zh) | 基于多活数据中心的流量切换方法、装置、设备及介质 | |
US11301238B2 (en) | Firmware updating method and firmware updating system | |
CN112346771B (zh) | 升级文件生成方法及装置 | |
CN115951845B (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN110704076A (zh) | 数据处理方法和装置、车载控制器及计算机可读存储介质 | |
CN116009923A (zh) | 一种固件差分升级的控制方法、装置及存储介质 | |
CN114840235A (zh) | 车辆控制器固件升级方法、系统、车辆控制器及存储介质 | |
CN107783778A (zh) | 一种基于特征值查表法的增量升级方法 | |
CN110908835B (zh) | 一种分布式系统中支持私有标签的数据冗余方法及系统 | |
CN110888588A (zh) | 快闪记忆体控制器及相关的访问方法及电子装置 | |
CN112596855B (zh) | 一种容器创建方法及装置 | |
TWI733157B (zh) | 一種加快嵌入式系統啟動速度的方法及其嵌入式系統 | |
CN109901861B (zh) | 一种电控单元软件更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220330 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province Patentee after: Yikatong (Hubei) Technology Co.,Ltd. Address before: No.c101, chuanggu start up area, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic Development Zone, Hubei Province Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |