TWI814556B - 一種模型保護方法、資料處理方法、裝置、設備及介質 - Google Patents

一種模型保護方法、資料處理方法、裝置、設備及介質 Download PDF

Info

Publication number
TWI814556B
TWI814556B TW111132603A TW111132603A TWI814556B TW I814556 B TWI814556 B TW I814556B TW 111132603 A TW111132603 A TW 111132603A TW 111132603 A TW111132603 A TW 111132603A TW I814556 B TWI814556 B TW I814556B
Authority
TW
Taiwan
Prior art keywords
model
target
layer
sub
processing
Prior art date
Application number
TW111132603A
Other languages
English (en)
Other versions
TW202326486A (zh
Inventor
于文海
陳成錢
Original Assignee
大陸商中國銀聯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 大陸商中國銀聯股份有限公司 filed Critical 大陸商中國銀聯股份有限公司
Publication of TW202326486A publication Critical patent/TW202326486A/zh
Application granted granted Critical
Publication of TWI814556B publication Critical patent/TWI814556B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Emergency Protection Circuit Devices (AREA)

Abstract

本發明公開了一種模型保護方法、資料處理方法、裝置、設備及介質,用以提高對模型的安全防護。由於在本發明中,雲端設備可以確定目標模型中,保存到終端設備的TEE中的第一子模型,並將第一子模型發送給終端設備,終端設備可以將第一子模型保存到終端設備的可信執行環境TEE中,由於TEE能夠保證在可信的環境中進行資料處理等,因此,在基於保存在終端設備的TEE中的模型對待處理資料進行處理時,可以有效地對模型進行安全防護,保證模型的安全。另外,本發明還可以在終端設備中對待處理資料進行處理,而無需將待處理資料通過網路等發送到雲端設備中進行處理,從而也可以保證待處理資料的安全,本發明可以兼顧待處理資料的安全及模型的安全。

Description

一種模型保護方法、資料處理方法、裝置、設備及介質
本發明屬於電腦技術領域,尤其是關於一種模型保護方法、資料處理方法、裝置、設備及介質。
近年來,人工智慧技術在諸多領域取得了巨大成功,許多企業都將預先訓練完成的神經網路模型等模型部署在產品中,以提高效益。訓練模型時需要模型設計者付出大量的勞動,通常需要基於較大規模的資料集及龐大的計算資源方能完成。
然而,模型的安全防護問題是目前眾多企業面臨的一個大難題。例如,在模型處理資料過程中,如果對模型安全防護不當的話,模型的模型參數、模型結構等資訊可能會被洩露,甚至被惡意篡改。因此,如何提高對模型的安全防護是目前亟需解決的一個技術問題。
本發明提供了一種模型保護方法、資料處理方法、裝置、設備及介質,用以提高對模型的安全防護。
第一方面,本發明提供了一種模型保護方法,該方法包括:若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目 標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型;將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
第二方面,本發明提供了一種資料處理方法,該方法包括:接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型;向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;接收該雲端設備發送的第一子模型,將該第一子模型保存在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備的TEE中的第一子模型; 基於該第一子模型,對該待處理資料進行處理。
第三方面,本發明提供了一種模型保護裝置,該裝置包括:第一接收模組,用於若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;第一確定模組,用於獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;第二確定模組,用於根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型;發送模組,用於將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
第四方面,本發明提供了一種資料處理裝置,該裝置包括:第二接收模組,用於接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型;請求模組,用於向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;保存模組,用於接收該雲端設備發送的第一子模型,將該第一子模型保存 在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備的TEE中的第一子模型;處理模組,用於基於該第一子模型,對該待處理資料進行處理。
第五方面,本發明提供了一種電子設備,該電子設備至少包括處理器和記憶體,該處理器用於執行記憶體中存儲的電腦程式時實現如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
第六方面,本發明提供了一種電腦可讀存儲介質,其存儲有電腦程式,該電腦程式被處理器執行時實現如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
第七方面,本發明提供了一種電腦程式產品,該電腦程式產品包括:電腦程式代碼,當該電腦程式代碼在電腦上運行時,使得電腦執行如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
由於在本發明實施例中,雲端設備可以確定目標模型中,保存到終端設備的TEE中的第一子模型,並將第一子模型發送給終端設備,終端設備可以將第一子模型保存到終端設備的可信執行環境TEE中,由於TEE能夠保證在可信的環境中進行資料處理等,因此,本發明實施例在基於保存在終端設備的TEE中的模型對待處理資料進行處理時,可以有效地對模型進行安全防護,保證模型的安全。另外,本發明實施例還可以保證在終端設備即對待處理資料進行處 理,而無需再將待處理資料通過網路等發送到雲端設備中進行處理,從而也可以保證待處理資料的安全,即本發明可以兼顧待處理資料的安全及模型的安全。
S101~S104、S401~S404、S601~S606:步驟
801:第一接收模組
802:第一確定模組
803:第二確定模組
804:發送模組
901:第二接收模組
902:請求模組
903:保存模組
904:處理模組
101:處理器
102:通信介面
103:記憶體
104:通信匯流排
為了更清楚地說明本發明實施例或相關技術中的實施方式,下面將對實施例或相關技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖:圖1示出了一些實施例提供的第一種模型保護過程示意圖;圖2a示出了一些實施例提供的一種目標模型結構示意圖;圖2b示出了一些實施例提供的一種第一子模型結構示意圖;圖2c示出了一些實施例提供的一種第二子模型結構示意圖;圖3a示出了一些實施例提供的另一種目標模型結構示意圖;圖3b示出了一些實施例提供的另一種第一子模型結構示意圖;圖3c示出了一些實施例提供的另一種第二子模型結構示意圖;圖4示出了一些實施例提供的第一種資料處理過程示意圖;圖5示出了一些實施例提供的第二種資料處理過程示意圖;圖6示出了一些實施例提供的第三種資料處理過程示意圖;圖7示出了一些實施例提供的第四種資料處理過程示意圖;圖8示出了一些實施例提供的一種模型保護裝置示意圖;圖9示出了一些實施例提供的一種資料處理裝置示意圖;圖10示出了一些實施例提供的一種電子設備結構示意圖。
為了提高對模型的安全防護,本發明提供了一種模型保護方法、資料處理方法、裝置、設備及介質。
為使本發明的目的和實施方式更加清楚,下面將結合本發明示例性實施例中的附圖,對本發明示例性實施方式進行清楚、完整地描述,顯然,描述的示例性實施例僅是本發明一部分實施例,而不是全部的實施例。
需要說明的是,本發明中對於術語的簡要說明,僅是為了方便理解接下來描述的實施方式,而不是意圖限定本發明的實施方式。除非另有說明,這些術語應當按照其普通和通常的含義理解。
本發明中說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」等是用於區別類似或同類的物件或實體,而不必然意味著限定特定的順序或先後次序,除非另外注明。應該理解這樣使用的用語在適當情況下可以互換。
術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋但不排他的包含,例如,包含了一系列元件的產品或設備不必限於清楚地列出的所有元件,而是可包括沒有清楚地列出的或對於這些產品或設備固有的其它元件。
術語「模組」是指任何已知或後來開發的硬體、軟體、固件、人工智慧、模糊邏輯或硬體或/和軟體代碼的組合,能夠執行與該元件相關的功能。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的 普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
為了方便解釋,已經結合具體的實施方式進行了上述說明。但是,上述示例性的討論不是意圖窮盡或者將實施方式限定到上述公開的具體形式。根據上述的教導,可以得到多種修改和變形。上述實施方式的選擇和描述是為了更好的解釋原理以及實際的應用,從而使得本領域技術人員更好的使用該實施方式以及適於具體使用考慮的各種不同的變形的實施方式。
下面先對本發明實施例的設計思想進行簡要介紹:在一種可能的實施方式中,考慮到如果將訓練完成的完整的模型保存在雲端伺服器等雲端設備中時,雲端設備的雲服務商可以通過僅提供一個介面的方式來為使用者提供服務(使用者可以基於該模型處理待處理資料),從而可以保證使用者無法接觸到模型的模型參數、模型結構等資料資訊,可以有效保證模型的安全(隱秘性)。因此,可以將訓練完成的完整的模型保存在雲端設備中。
由於如果將完整的模型保存的雲端設備中時,使用者如果需要基於該模型處理待處理資料時,還需要將待處理資料通過網路等,上傳到雲端設備,才能基於保存在雲端設備中的模型來對待處理資料進行處理。然而,通過網路等將待處理資料上傳到雲端設備,以基於雲端設備中保存的模型來對待處理資料進行處理的方式,一方面,存在使用者的待處理資料可能被洩露的風險;另一方面,通過網路等傳輸待處理資料需要消耗一定的時間,存在資料處理效率較低的問題。
在一種可能的實施方式中,為了保證待處理資料的安全並提高資料處理效率,可以考慮將模型保存在使用者所使用的終端設備(如邊緣人工智慧設備等)中。當模型保存在終端設備中時,由於待處理資料和模型均保存在同一終端設備中,無需再將待處理資料進行網路傳輸等,因此可以有效保證待處理資料的安全,並可以提高資料處理效率。然而,如果將訓練完成的模型保存在終端設備中時,如何對模型進行安全防護,以保證模型的模型參數、模型結構等資訊不被洩露,也是一個難題。
綜上,如何兼顧待處理資料的安全以及模型的安全是目前亟需解決的一個技術問題。
有鑑於此,本發明實施例提供了一種模型保護方法、資料處理方法、裝置、設備及介質。下面分別對本發明實施例提供的模型保護方法、資料處理方法、裝置、設備及介質進行介紹。
實施例1:
圖1示出了一些實施例提供的第一種模型保護過程示意圖,該過程包括以下步驟:
S101:若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種。
本發明實施例提供的模型保護方法應用於雲端伺服器等雲端設備。
在一種可能的實施方式中,使用者在需要對待處理資料進行處理時,可以通過終端設備向雲端設備發送模型派發請求。在一種可能的實施方式中,模型派發請求中可以攜帶待處理資料適用的模型(為方便描述,稱為目標模型)的標識資訊(為方便描述,稱為第一標識資訊)、待處理資料的資料尺寸(為方便描述,稱為目標尺寸)以及終端設備的可信執行環境(Trusted Execution Environment,TEE)的屬性參數。示例性的,TEE的屬性參數可以包括TEE的安全存儲空間、安全運行記憶體中的至少一種。
雲端設備接收到終端設備發送的模型派發請求後,可以獲取模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及終端設備的可信執行環境TEE的屬性參數。
S102:獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數。
在一種可能的實施方式中,雲端設備可以從自身保存的模型中,獲取第一標識資訊對應的模型(為方便描述,稱為目標模型)。考慮到當待處理資料的資料尺寸不同時,模型運行時需要佔用的安全存儲空間、安全運行記憶體等屬性參數也會不同,因此,可以預先確定每個資料尺寸與模型的屬性參數的對應關係,並保存。雲端設備可以根據預先確定的資料尺寸與目標模型的屬性參數的對應關係,確定待處理資料的目標尺寸對應的目標模型的屬性參數(為方便描述,稱為目標屬性參數)。
S103:根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型。
確定了待處理資料的目標尺寸對應的目標模型的目標屬性參數後,雲端設備可以根據該目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的子模型(為方便描述,稱為第一子模型)。
其中,在確定目標模型保存到終端設備的TEE中的第一子模型時,可以是將目標模型的全部或部分處理層(其中,為方便描述,本發明實施例中將模型中任意可用於對待處理資料進行處理的層均稱為處理層),作為第一子模型中包含的處理層。
在一種可能的實施方式中,在根據目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的第一子模型時,可以是當每個目標屬性參數均不大於(小於或等於)終端設備的TEE對應的屬性參數時,將目標模型的全部處理層,作為第一子模型中包含的處理層,即將目標模型作為第一子模型。另外,還可以是當任一目標屬性參數大於終端設備的TEE對應的屬性參數時,將目標模型中的部分處理層,作為第一子模型中包含的處理層,即將目標模型的一部分作為第一子模型。
示例性的,以屬性參數為安全存儲空間、安全運行記憶體為例,假設終端設備的TEE的安全存儲空間為100兆、安全運行記憶體為80兆。當待處理資料的目標尺寸對應的目標模型的安全存儲空間為20兆、安全運行記憶體為10兆時,在一種可能的實施方式中,可以將目標模型作為第一子模型。
而在當待處理資料的目標尺寸對應的目標模型的安全存儲空間為120兆、安全運行記憶體為90兆;或者當待處理資料的目標尺寸對應的目標模型的安全存儲空間為50兆、安全運行記憶體為90兆;或者當待處理資料的目標尺寸 對應的目標模型的安全存儲空間為120兆、安全運行記憶體為10兆時,均可以將目標模型的一部分作為第一子模型。
S104:將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
確定了保存在終端設備的TEE中的第一子模型後,可以將第一子模型發送給終端設備。考慮到TEE能夠保證在可信的環境中進行資料處理等,基於保存在TEE中的模型對資料進行處理時,可以有效地對模型進行安全防護,因此,在本發明實施例中,終端設備在接收到第一子模型後,可以將第一子模型保存在終端設備自身的TEE中。
由於在本發明實施例中,雲端設備可以確定目標模型中,保存到終端設備的TEE中的第一子模型,並將第一子模型發送給終端設備,終端設備可以將第一子模型保存到終端設備的可信執行環境TEE中,由於TEE能夠保證在可信的環境中進行資料處理等,因此,本發明實施例在基於保存在終端設備的TEE中的模型對待處理資料進行處理時,可以有效地對模型進行安全防護,保證模型的安全。另外,本發明實施例還可以保證在終端設備即對待處理資料進行處理,而無需再將待處理資料通過網路等發送到雲端設備中進行處理,從而也可以保證待處理資料的安全,即本發明可以兼顧待處理資料的安全及模型的安全。
實施例2:
為了兼顧待處理資料的安全及模型的安全,在上述實施例的基礎上,在本發明實施例中,該確定該目標尺寸對應的目標屬性參數之後,該根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型之前,該方法還包括: 確定向該終端設備發送的待發送模型的處理層,其中該待發送模型的處理層為該目標模型的全部或部分處理層;採用該待發送模型對該目標模型進行更新。
在一種可能的實施方式中,在確定待處理資料的目標尺寸對應的目標屬性參數之後,根據該目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的第一子模型之前,還可以確定向終端設備發送的待發送模型的處理層,例如,可以將目標模型的全部處理層均作為待發送模型的處理層,也可以將目標模型的部分處理層作為待發送模組的處理層。
示例性的,以按照執行順序,目標模型包含的處理層分別為處理層1、處理層2、處理層3、處理層4……處理層10為例,可以將其中的處理層1、處理層2、處理層3、處理層4、處理層5、處理層6確定為待發送模型中包含的處理層,可選的,可以將處理層7、處理層8、處理層9、處理層10確定為保存在雲端設備中的子模型(為方便描述,稱為第三子模型)。在一種可能的實施方式中,可以將處理層1、處理層2、處理層3、處理層4……處理層10均作為待發送模型的處理層。
在一種可能的實施方式中,確定了待發送模型的處理層後,可以採用待發送模型對目標模型進行更新,即將目標模型更新為待發送模型。然後,基於更新後的目標模型,進行後續根據待處理資料的目標尺寸對應的目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的第一子模型的步驟。
示例性的,仍以上述實施例為例,假設目標模型包含的處理層分別為處理層1、處理層2、處理層3、處理層4……處理層10,將其中的處理層7、 處理層8、處理層9、處理層10這幾個處理層(執行順序連續的設定數量個處理層),確定為保存在雲端設備中的子模型(為方便描述,稱為第三子模型)中包含的處理層,將其中的處理層1、處理層2、處理層3、處理層4、處理層5、處理層6(執行順序連續的設定數量個處理層),確定為待發送模型中包含的處理層之後,可以採用待發送模型對目標模型進行更新,將目標模型更新為包含處理層1、處理層2、處理層3、處理層4、處理層5、處理層6的模型,然後確定包含處理層1、處理層2、處理層3、處理層4、處理層5、處理層6的更新後的目標模型中保存到終端設備的TEE中的第一子模型。
可以理解的,如果將目標模型的全部處理層均作為待發送模型的處理層時,由於待發送模組為發送給終端設備的模型,可以基於目標模型對待處理資料進行處理。
如果將目標模型的部分處理層作為待發送模組的處理層時,將待發送模型發送給終端設備後,可以基於保存終端設備的部分模型(目標模型的部分處理層)對待處理資料進行處理後,將處理結果(對待處理資料的中間處理結果)發送給雲端設備,然後,基於雲端設備中保存的另一部分模型(第三子模型),再對該處理結果進行處理,以可以基於整個模型對待處理資料進行完整的處理。
由於可以將目標模型分成待發送模組以及保存在雲端設備中的第三子模型,針對保存在雲端設備的第三子模型,雲端設備的雲服務商可以通過僅提供一個介面的方式來為使用者提供服務,可以保證第三子模型的安全;另外,待發送模型(更新後的目標模型)中保存在終端設備中的第一子模型是保存在終端設備的TEE中的,也可以保證第一子模型的安全,從而可以有效防止模 型的資料資訊被洩露(盜用)的風險,有效保證了模型的安全性。另外,由於傳輸給雲端設備的是對待處理資料的中間處理結果,也可以有效防止待處理資料被洩露的風險,有效保證待處理資料的安全。因此,也可以兼顧待處理資料的安全以及模型的安全。
實施例3:
為了準確確定第一子模型,在上述各實施例的基礎上,在本發明實施例中,該根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型包括:從該目標模型中選取至少一個第一目標處理層;其中,該至少一個第一目標處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數的值;基於選取的該至少一個第一目標處理層,確定該第一子模型。
在一種可能的實施方式中,可以基於預設的約束條件,來確定目標模型中保存到終端設備的TEE中的第一子模型。如果將保存到TEE中的第一子模型中包含的處理層稱為第一目標處理層,則約束條件可以為:從目標模型中選取的至少一個第一目標處理層的屬性參數的總值不能超過終端設備的TEE對應的屬性參數的值。
示例性的,以屬性參數為安全存儲空間為例,如果待處理資料的目標尺寸對應的目標模型中處理層1的安全存儲空間為1兆、處理層2的安全存儲空間為2兆、處理層3的安全存儲空間為3兆、處理層4的安全存儲空間為4兆……,終端設備的TEE的安全存儲空間為8兆,則從目標模型中選取的至少一個第一目標處理層的安全存儲空間的總值不能超過終端設備的TEE的安全存儲空間的值,示例性的,處理層1、處理層2、處理層3的安全存儲空間的總值為6兆,而處 理層1、處理層2、處理層3、處理層4的安全存儲空間的總值為10兆,則可以將處理層1、處理層2、處理層3分別作為第一目標處理層,基於處理層1、處理層2、處理層3確定第一子模型。而由於處理層1、處理層2、處理層3、處理層4的安全存儲空間的總值超過終端設備的TEE的安全存儲空間的值,因此,並不能基於處理層1、處理層2、處理層3、處理層4確定第一子模型。
在一種可能的實施方式中,從目標模型中選取至少一個第一目標處理層之後,還可以確定目標模型中除第一目標處理層之外的每個其他處理層(為方便描述,稱為第二目標處理層),然後,基於每個第二目標處理層,確定目標模型中保存到終端設備的普通執行環境(Rich Execution Environment,REE)中的子模型(為方便描述,稱為第二子模型)。
示例性的,仍以上述實施例為例,以發送到終端設備中的目標模型(待發送模型)中包含的處理層為:處理層1、處理層2、處理層3、處理層4、處理層5、處理層6為例,如果將其中的處理層1、處理層2、處理層3分別作為第一目標處理層,基於處理層1、處理層2、處理層3確定第一子模型,則可以將處理層4、處理層5、處理層6分別作為第二子模型,基於處理層4、處理層5、處理層6確定第二子模型。
確定了第一子模型和第二子模型之後,可以將第一子模型以及第二子模型發送給終端設備,使終端設備將第一子模型保存在終端設備的TEE中,將第二子模型保存在終端設備的REE中。
實施例4:
為了準確確定第一子模型,在上述各實施例的基礎上,在本發明實施例中,該從該目標模型中選取至少一個第一目標處理層包括: 按照該目標模型的每個處理層的執行順序,對該每個處理層進行排序;將該排序中排名第一的首處理層和排名最後的末處理層,確定為該第一目標處理層中包含的處理層。
在一種可能的實施方式中,考慮到終端設備的TEE能夠保證在可信的環境中進行資料處理,能夠保證模型的安全,在從目標模型中選取第一目標處理層時,可以按照目標模型的每個處理層的執行順序,對每個處理層進行排序;將該排序中排名第一的首處理層和排名最後的末處理層,確定為第一目標處理層中包含的處理層。
示例性的,假設按照目標模型的每個處理層的執行順序,對每個處理層進行排序後,目標模型中包含的處理層分別為:處理層1、處理層2、處理層3、處理層4、處理層5、處理層6,則可以至少將處理層1、處理層6選取(確定)為第一目標處理層中包含的處理層,從而可以保證待處理資料在終端設備中進行處理時,最初輸入的處理層和最後輸出的處理層均是位於TEE中的處理層,從而可以進一步保證待處理資料的安全。
實施例5:
為了準確確定第一子模型,在上述各實施例的基礎上,在本發明實施例中,該從該目標模型中選取至少一個第一目標處理層包括:若該屬性參數中還包括該終端設備的TEE的CPU峰值計算性能及REE的CPU峰值計算性能,且該終端設備的TEE的CPU峰值計算性能劣於該終端設備的REE的CPU峰值計算性能,則根據預設的層數占比閾值和該目標模型包含的處理層的總層數,確定第一目標層數;從該目標模型中,選取該第一目標層數個處理層,將選取的該第一目標層數個處理層,確定為該第一目標處理層。
在一種可能的實施方式中,可以通過比較終端設備的TEE的CPU峰值計算性能和REE的CPU峰值計算性能,來確定如何從目標模型中選取第一目標處理層。
當模型派發請求中攜帶的屬性參數中還包括終端設備的TEE的CPU峰值計算性能及REE的CPU峰值計算性能,且終端設備的TEE的CPU峰值計算性能劣於終端設備的REE的CPU峰值計算性能時,則可以根據預設的層數占比閾值和目標模型包含的處理層的總層數,確定第一目標層數;然後從目標模型中,選取第一目標層數個處理層,將選取的第一目標層數個處理層,確定為第一目標處理層,基於選取的第一目標處理層,確定第一子模型。
示例性的,如果預設的層數占比閾值(最低層數占比閾值)為20%,目標模型中包含的處理層的總層數為10,則可以根據預設的層數占比閾值和目標模型包含的處理層的總層數的乘積,確定第一目標層數,即第一目標層數為2。則可以從目標模型中,選取2個處理層,將選取的2個處理層,確定為第一目標處理層,基於選取的2個第一目標處理層,確定第一子模型。
可以理解的,在選取第一目標處理層時,仍需要基於預設的約束條件,來選取(確定)第一目標處理層,即選取的第一目標處理層的屬性參數的總值不超過終端設備的TEE對應的屬性參數的值。
在一種可能的實施方式中,考慮到TEE的安全存儲空間、安全運行記憶體等屬性參數通常均低於REE對應的屬性參數,為了最大程度地保證在根據預設的層數占比閾值和目標模型包含的處理層的總層數,確定第一目標層數時,選取的第一目標層數個處理層(第一目標處理層)的屬性參數的總值不超過終端設備的TEE對應的屬性參數的值,在從目標模型中,選取第一目標層數個 處理層時,可以按照目標模型的每個處理層的屬性參數的值由小到大的順序,對每個處理層進行排序;然後從該排序中排名第一個處理層開始,依次從該排序中選取第一目標層數個處理層。
示例性的,仍以上述實施例為例,以屬性參數為安全存儲空間為例,假設待處理資料的目標尺寸對應的目標模型中處理層1的安全存儲空間為1兆、處理層2的安全存儲空間為2兆、處理層3的安全存儲空間為3兆、處理層4的安全存儲空間為4兆、處理層5的安全存儲空間為5兆……,則可以按照目標模型的每個處理層的安全存儲空間的值由小到大的順序,對每個處理層進行排序,排序後的處理層分別為:處理層1、處理層2、處理層3、處理層4、處理層5……,假設第一目標層數為2,則可以從該排序中排名第一個處理層開始,依次從該排序中選取2個處理層,即可以將處理層1和處理層2確定為第一目標處理層。
由於可以按照目標模型的每個處理層的屬性參數的值由小到大的順序,對每個處理層進行排序;然後從該排序中排名第一個處理層開始,依次從該排序中選取第一目標層數個處理層,從而可以進一步保證選取的第一目標處理層的屬性參數的總值不超過終端設備的TEE對應的屬性參數的值。
在一種可能的實施方式中,當模型派發請求中攜帶的屬性參數中還包括終端設備的TEE的CPU峰值計算性能及REE的CPU峰值計算性能,且終端設備的TEE的CPU峰值計算性能等同於終端設備的REE的CPU峰值計算性能時,則在從目標模型中選取第一目標處理層時,可以根據終端設備的TEE的屬性參數,從目標模型中選取盡可能多的第一目標處理層,只要選取的第一目標處理層滿足預設的約束條件即可,即只要選取的第一目標處理層的屬性參數的總值不超過終端設備的TEE對應的屬性參數的值即可,在此不再贅述。
在一種可能的實施方式中,為了準確確定第一子模型,可以配置多重約束條件,基於多目標優化演算法,選取第一目標處理層。具體地,該從該目標模型中,選取至少一個第一目標處理層包括:按照該目標模型的每個處理層的屬性參數的值由小到大的順序,對該每個處理層進行排序;每次從該排序中排名第一個處理層開始,分別依次從該排序中選取不同數量的處理層,將每次選取的不同數量的處理層分別作為不同的候選處理層組合;其中,每個候選處理層組合中包含的每個處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數;針對每個候選處理層組合,確定該候選處理層組合中包含的處理層的層數占該模型包含的處理層的總層數的候選層數占比;並根據預先保存的每個資料尺寸、候選處理層組合與運行耗時的對應關係,確定該候選處理層組合對應的候選運行耗時;基於多目標優化演算法,從每個該候選層數占比和候選運行耗時中,確定最優層數占比和最優運行耗時對應的目標處理層組合;將該目標處理層組合中包含的每個處理層,確定為該至少一個第一目標處理層。
在一種可能的實施方式中,在基於多目標優化演算法,選取第一目標處理層時,可以先按照目標模型的每個處理層的屬性參數的值由小到大的順序,對目標模型的每個處理層進行排序。其中排序過程與上述實施例相同,在此不再贅述。
然後從排序中排名第一個處理層開始,分別依次從該排序中選取不同數量的處理層,將每次選取的不同數量的處理層分別作為不同的候選處理層組合;其中,每個候選處理層組合中包含的每個處理層的屬性參數的總值不超過終端設備的TEE對應的屬性參數。
示例性的,假設排序後的處理層分別為:處理層1、處理層2、處理層3、處理層4、處理層5、處理層6,則可以分別將處理層1作為第一個候選處理層組合;將處理層1、處理層2作為第二個候選處理層組合,將處理層1、處理層2、處理層3作為第三個候選處理層組合等。
選取了每個候選處理層組合後,可以針對每個候選處理層組合,確定該候選處理層組合中包含的處理層的層數占目標模型包含的處理層的總層數的候選層數占比。
示例性的,仍以上述實施例為例,假設目標模型包含的處理層的總層數為6,則第一個候選處理層組合的候選層數占比為1/6,第二個候選處理層組合的候選層數占比為1/3,第三個候選處理層組合的候選層數占比為1/2。
在一種可能的實施方式中,可以預先確定每個資料尺寸、候選處理層組合與運行耗時(對某個資料尺寸的資料進行處理時,候選處理層組合的運行耗時)的對應關係,並保存。其中,確定每個資料尺寸、候選處理層組合與運行耗時的對應關係可以採用現有技術,在此不再贅述。然後,可以針對每個候選處理層組合,根據預先保存的每個資料尺寸、候選處理層組合與運行耗時的對應關係,確定該候選處理層組合對應的運行耗時(為方便描述,稱為候選運行耗時)。
在一種可能的實施方式中,可以將層數占比和運行耗時均作為約束條件(優化目標),基於多目標優化演算法,從每個候選層數占比和候選運行耗時中,確定最優層數占比和最優運行耗時對應的候選處理層組合(為方便描述,稱為目標處理層組合)。
確定了目標處理層組合後,可以將目標處理層組合中包含的每個處理層,確定為第一子模型中的第一目標處理層。
實施例6:
為了準確確定第一子模型,在上述各實施例的基礎上,在本發明實施例中,該從該目標模型中選取至少一個第一目標處理層包括:若該目標模型中包含校驗層,將該校驗層,確定為該第一目標處理層中包含的處理層;其中,該校驗層中的第一子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之前,該校驗層中的第二子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之後;該校驗層用於驗證該目標模型對該待處理資料的處理結果是否可信。
在一種可能的實施方式中,可以在目標模型中***校驗層,基於校驗層驗證目標模型對待處理資料的處理結果是否可信,從而判斷目標模型當前是否被篡改,判斷目標模型對待處理資料的處理結果是否可信。
具體地,若目標模型中包含校驗層,可以將校驗層,確定為第一目標處理層(第一子模型)中包含的處理層;其中,校驗層中包含第一子校驗層(如Cb層)和第二子校驗層(如Dec層),第一子校驗層的執行順序位於目標模型中包含的任一處理層的執行順序之前,第二子校驗層的執行順序位於目標模型中包含的任一處理層的執行順序之後。其中,針對如何基於校驗層驗證目 標模型對待處理資料的處理結果是否可信可以參見後面的相關實施例,在此不再贅述。
為方便理解,下面通過一個具體實施例對本發明實施例提供的從目標模型中選取第一目標處理層的過程進行舉例說明。
參閱圖2a,圖2a示出了一些實施例提供的一種目標模型結構示意圖。假設目標模型M中包含的每個處理層按照執行順序排序分別為:A1、B1、C1、D1、A2、B2、C2、E1、A3和F1,在一種可能的實施方式中,可以將其中的B1、D1、B2、E1和F1,確定為第一子模型(第一目標處理層)中包含的處理層。
在一種可能的實施方式中,也可以排序中排名第一的首處理層A1和排名最後的末處理層F1,確定為第一子模型(第一目標處理層)中包含的處理層,示例性的,可以將A1、D1、A2、E1和F1,確定為第一子模型(第一目標處理層)中包含的處理層。
再示例性的,假設目標模型M中除了包含上述處理層之外,還包含校驗層,其中,校驗層中的第一子校驗層為Cb層,第二子校驗層為Dec層,參閱圖2b,圖2b示出了一些實施例提供的一種第一子模型結構示意圖,可以將Cb層、B1、D1、B2、E1、F1、Dec層均確定為第一子模型(第一目標處理層)中包含的處理層。由於校驗層中的第一子校驗層的執行順序位於目標模型中包含的任一處理層的執行順序之前,校驗層中的第二子校驗層的執行順序位於目標模型中包含的任一處理層的執行順序之後,將校驗層確定為第一目標處理層中包含的處理層,也可以實現將按照執行順序排序中排名第一的首處理層和排名最後的末處理層,確定為第一子模型(第一目標處理層)中包含的處理層的目的。
實施例7:
為了準確確定第一子模型,在上述各實施例的基礎上,在本發明實施例中,基於選取的至少一個目標處理層,確定子模型包括:針對保存到TEE或REE任一執行環境中的子模型,將該子模型中包含的目標處理層與該目標模型中包含的處理層進行比對,確定位於該目標模型中但不位於該子模型中的每個缺失處理層;針對每個缺失處理層,配置該缺失處理層對應的鏈接層,並根據該目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該目標模型中包含的每個處理層的執行順序,確定該子模型中包含的每個鏈接層和目標處理層的執行順序;基於該執行順序以及該子模型中包含的每個鏈接層和目標處理層,確定該子模型。
在一種可能的實施方式中,基於選取的第一目標處理層,確定第一子模型時,可以將第一子模型中包含的第一目標處理層與目標模型中包含的處理層進行比對,確定位於目標模型中但不位於第一子模型中的每個缺失處理層;然後,針對每個缺失處理層,配置該缺失處理層對應的鏈接層,並針對每個鏈接層,可以根據目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的標識資訊(為方便描述,稱為第二標識資訊),可選的,也可以在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之前的上一個處理層的標識資訊。然後,根據目標模型中包含的每個處理層的執行順序,確定第一子模型中包含的每個鏈接層和第一目標處理層的執行順序;基於該執行順序以及第一子模型中包含的每個鏈接層和第一目標處理層,確定第一子模型。
基於相同的技術構思,在基於選取的第二目標處理層,確定第二子模型時,可以將第二子模型中包含的第二目標處理層與目標模型中包含的處理層進行比對,確定位於目標模型中但不位於第二子模型中的每個缺失處理層;然後,針對每個缺失處理層,配置該缺失處理層對應的鏈接層,並針對每個鏈接層,可以根據目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的標識資訊(為方便描述,稱為第二標識資訊),可選的,也可以在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之前的上一個處理層的標識資訊。然後,根據目標模型中包含的每個處理層的執行順序,確定第二子模型中包含的每個鏈接層和第二目標處理層的執行順序;基於該執行順序以及第二子模型中包含的每個鏈接層和第二目標處理層,確定第二子模型。
其中,每個鏈接層可以只負責轉發待處理資料及當前對待處理資料的處理結果等資料資訊,而並不對待處理資料進行處理。
仍以上述實施例為例,參閱圖2a,假設目標模型M中除了包含上述處理層(A1、B1、C1、D1、A2、B2、C2、E1、A3和F1)之外,還包含校驗層,其中,校驗層中的第一子校驗層為Cb層,第二子校驗層為Dec層。
則參閱圖2b,按照上述執行順序,第一子模型中包含的除校驗層之外的第一目標處理層分別為:B1、D1、B2、E1和F1。參閱圖2c,圖2c示出了一些實施例提供的一種第二子模型結構示意圖,第二子模型中包含的第二目標處理層分別為:A1、C1、A2、C2和A3。
可以確定位於目標模型中但不位於第一子模型中的每個缺失處理層;然後,針對每個缺失處理層,配置該缺失處理層對應的鏈接層,參閱圖2b, 針對第一子模型,配置的鏈接層分別為W1、W3、W5、W7、W9。針對每個鏈接層,可以根據目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的標識資訊(為方便描述,稱為第二標識資訊),以及執行順序位於該鏈接層之前的上一個處理層的標識資訊。
同樣的,可以確定位於目標模型中但不位於第二子模型中的每個缺失處理層;然後,針對每個缺失處理層,配置該缺失處理層對應的鏈接層,參閱圖2c,針對第二子模型,配置的鏈接層分別為W2、W4、W6、W8、W10。針對每個鏈接層,可以根據目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的第二標識資訊,以及執行順序位於該鏈接層之前的上一個處理層的標識資訊。
示例性的,針對鏈接層W1,該鏈接層W1的層級指示資訊中配置的上一個處理層的標識資訊可以為Cb層、下一個處理層的標識資訊可以為第二子模型m2中的A1層。
針對鏈接層W2,該鏈接層W2的層級指示資訊中配置的上一個處理層的標識資訊可以為第二子模型m2中的A1層、下一個處理層的標識資訊可以為第一子模型m1中的B1層。
針對鏈接層W3,該鏈接層W3的層級指示資訊中配置的上一個處理層的標識資訊可以為第一子模型m1中的B1層、下一個處理層的標識資訊可以為第二子模型m2中的C1層。
針對鏈接層W4,該鏈接層W4的層級指示資訊中配置的上一個處理層的標識資訊可以為第二子模型m2中的C1層、下一個處理層的標識資訊可以為第一子模型m1中的D1層。
針對鏈接層W5,該鏈接層W5的層級指示資訊中配置的上一個處理層的標識資訊可以為第一子模型m1中的D1層、下一個處理層的標識資訊可以為第二子模型m2中的A2層。
針對鏈接層W6,該鏈接層W6的層級指示資訊中配置的上一個處理層的標識資訊可以為第二子模型m2中的A2層、下一個處理層的標識資訊可以為第一子模型m1中的B2層。
針對鏈接層W7,該鏈接層W7的層級指示資訊中配置的上一個處理層的標識資訊可以為第一子模型m1中的B2層、下一個處理層的標識資訊可以為第二子模型m2中的C2層。
針對鏈接層W8,該鏈接層W8的層級指示資訊中配置的上一個處理層的標識資訊可以為第二子模型m2中的C2層、下一個處理層的標識資訊可以為第一子模型m1中的E1層。
針對鏈接層W9,該鏈接層W9的層級指示資訊中配置的上一個處理層的標識資訊可以為第一子模型m1中的E1層、下一個處理層的標識資訊可以為第二子模型m2中的A3層。
針對鏈接層W10,該鏈接層W10的層級指示資訊中配置的上一個處理層的標識資訊可以為第二子模型m2中的A3層、下一個處理層的標識資訊可以為第一子模型m1中的F1層。
在一種可能的實施方式中,可以根據目標模型中包含的每個處理層的執行順序,確定第一子模型中包含的每個鏈接層和第一目標處理層的執行順序,然後,基於該執行順序以及第一子模型中包含的每個鏈接層和第一目標處理層,確定第一子模型。示例性的,參閱圖2b,第一子模型中包含的每個層按照執行順序排序分別為:Cb-W1-B1-W3-D1-W5-B2-W7-E1-W9-F1-Dec。
參閱圖2c,第二子模型中包含的每個層按照執行順序排序分別為:A1-W2-C1-W4-A2-W6-C2-W8-A3-W10。
在第一子模型和第二子模型中加入鏈接層,可以使得第一子模型和第二子模型分別恢復(擁有)與目標模型相同的完整的網路連接結構,終端設備可以基於第一子模型和第二子模型,對待處理資料進行正確處理。在一種可能的實施方式中,為了對模型進行安全防護,鏈接層中可以僅保留對應的缺失處理層的層號資訊,而將對應的缺失處理層的名稱、類型等資訊全部刪除。
在一種可能的實施方式中,針對第一子模型或第二子模型,當該子模型中的至少兩個缺失處理層為執行順序連續的至少兩個處理層時,可以為執行順序的多個缺失處理層配置一個鏈接層,該鏈接層的層號資訊為對應的多個執行順序連續的缺失處理層的層號資訊。
示例性的,參閱圖3a,圖3a示出了一些實施例提供的另一種目標模型結構示意圖,假設目標模型中包含的處理層按照執行順序排序分別為:A、B、C、D。
其中,參閱圖3b,圖3b示出了一些實施例提供的另一種第一子模型結構示意圖,第一子模型中包含的處理層為A和D。參閱圖3c,圖3c示出了一些實施例提供的另一種第二子模型結構示意圖,第二子模型中包含的處理層為B 和C,第一子模型中的缺失處理層B和C為執行順序連續的處理層,可以為缺失處理層B和缺失處理層C,配置一個鏈接層W’’’。
示例性的,針對鏈接層W’’’,該鏈接層W’’’的層級指示資訊中配置的上一個處理層的標識資訊可以為A層、下一個處理層的標識資訊可以為第二子模型中的B層。
針對鏈接層W’’,該鏈接層W’’的層級指示資訊中配置的上一個處理層的標識資訊可以為C層、下一個處理層的標識資訊可以為第一子模型中的D層。
可選的,針對鏈接層W’,該鏈接層W’的層級指示資訊中配置的下一個處理層的標識資訊可以為B層。
實施例7:
基於相同的技術構思,本發明實施例提供了一種資料處理方法。
圖4示出了一些實施例提供的第一種資料處理過程示意圖,如圖4所示,該過程包括以下步驟:
S401:接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型。
本發明實施例提供的資料處理方法應用於終端設備,該終端設備可以是PC、移動終端等設備,也可以是邊緣人工智慧(Edge AI)設備。
在一種可能的實施方式中,使用者在需要對待處理資料進行處理時,可以先觸發終端設備中的資料處理指令,其中資料處理指令中可以攜帶待 處理資料以及待處理資料的資料類型(為方便描述,稱為目標資料類型)。示例性的,待處理資料的資料類型可以為文本、語音、圖片等。
為了準確確定待處理資料適用的模型,可以預先將資料類型與模型的對應關係,保存在終端設備中。終端設備可以根據保存的資料類型與模型的對應關係,確定待處理資料的目標資料類型對應的模型(為方便描述,稱為目標模型)。
S402:向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種。
終端設備確定了待處理資料及待處理資料適用的目標模型後,可以向雲端設備發送模型派發請求,該模型派發請求中可以攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及終端設備的可信執行環境(TEE)的屬性參數;可選的,屬性參數包括安全存儲空間、安全運行記憶體中的至少一種。
S403:接收該雲端設備發送的第一子模型,將該第一子模型保存在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備的TEE中的第一子模型。
終端設備向雲端設備發送模型派發請求後,雲端設備可以根據模型派發請求中攜帶的第一標識資訊,獲取第一標識資訊對應的目標模型,根據 預先確定的資料尺寸與目標模型的屬性參數的對應關係,確定目標尺寸對應的目標屬性參數;根據目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的第一子模型,並將該第一子模型發送給終端設備。其中,雲端設備確定第一子模型的過程與上述實施例相同,在此不再贅述。
終端設備接收到雲端設備發送的第一子模型之後,可以將第一子模型保存在TEE中。
S404:基於該第一子模型,對該待處理資料進行處理。
終端設備將第一子模型保存在TEE中後,可以基於保存在TEE中的第一子模型,對待處理資料進行處理。其中,可以採用現有技術,基於第一子模型,對待處理資料進行處理,在此不再贅述。
由於本發明實施例中,終端設備是基於保存在自身TEE中的第一子模型對待處理資料進行處理,從而可以兼顧模型的安全以及待處理資料的安全。
在一種可能的實施方式中,如果雲端設備確定了保存在終端設備的TEE中的第一子模型以及保存在終端設備的REE中的第二子模型時,可以將第一子模型和第二子模型均發送給終端設備,終端設備可以根據第一子模型和第二子模型的標識等,將第一子模型保存在終端設備自身的TEE中,將第二子模型保存在終端設備的REE中。終端設備在對待處理資料進行處理時,可以基於保存在TEE中的第一子模型以及保存在REE中的第二子模型,對待處理資料進行處理。
實施例8:
為了保證對待處理資料的處理結果的準確性,在上述各實施例的基礎上, 在本發明實施例中,該基於該第一子模型,對該待處理資料進行處理包括:若該目標模型中包含校驗層,基於該校驗層中的第一子校驗層確定預設的校驗資料在該待處理資料中的位置資訊,並確定該校驗層中的第二子校驗層獲取該校驗資料的校驗結果的輸出處理層的第三標識資訊,並將該位置資訊及該第三標識資訊發送給該第二子校驗層;基於該第二子校驗層,獲取該第三標識資訊的輸出處理層處輸出的校驗處理結果,獲取該校驗處理結果中該位置資訊對應的校驗結果,並基於該校驗結果以及預設的校驗值,確定該目標模型對該待處理資料的處理結果是否可信。
在一種可能的實施方式中,在基於校驗層判斷目標模型對待處理資料的處理結果是否可信時,可以基於校驗層中的第一子校驗層確定預設的校驗資料在待處理資料中的位置資訊。其中,校驗資料在待處理資料中的位置資訊可以根據需求靈活設置,本發明對此不做具體限定。示例性的,以待處理資料為文本為例,校驗資料可以位於待處理資料第一句之前、第一句和第二句之間、最後一句之後等。
另外,還可以基於校驗層中的第一子校驗層,確定校驗層中的第二子校驗層從哪個處理層獲取校驗資料的校驗結果,為方便描述,將第二子校驗層獲取校驗資料的校驗結果的處理層稱為輸出處理層,第一子校驗層可以確定輸出處理層的標識資訊(為方便描述,稱為第三標識資訊)。示例性的,輸出處理層可以為第一子模型中包含的任一處理層,參閱圖b,輸出處理層可以為F1,也可以為B2等任一處理層,可以根據需求靈活設置,本發明對此不做具體限定。
其中,第一子校驗層可以將預設的校驗資料在待處理資料中的位置資訊及第三標識資訊發送給第二子校驗層。可以基於第二子校驗層,獲取第三標識資訊的輸出處理層處輸出的對待處理資料的當前處理結果(為方便描述,稱為校驗處理結果)。可以理解的,輸出處理層處輸出的校驗處理結果可以為按照目標模型的每個處理層的執行順序,對每個處理層進行排序時,從排名第一的首處理層到該輸出處理層,對待處理資料的當前處理結果。
當對待處理資料進行處理時,可以獲取校驗處理結果中,上述位置資訊對應的校驗結果。示例性的,假設校驗資料位於待處理資料的第一句和第二句之間,則可以將校驗處理結果中對應的第一句和第二句之間的資訊,確定為校驗資料對應的校驗結果。
在一種可能的實施方式中,可以預先確定從排名第一的首處理層到輸出處理層,對校驗資料的理想校驗值,將該理想校驗值,確定為預設的校驗值。通過比較上述校驗結果與預設的校驗值是否相同等,確定目標模型對待處理資料的處理結果是否可信。示例性的,可以是校驗結果與預設的校驗值的偏差小於設定的偏差閾值時,認為目標模型沒有被篡改,目標模型對待處理資料的處理結果可信。當校驗結果與預設的校驗值的偏差不小於設定的偏差閾值時,認為目標模型被篡改,目標模型對待處理資料的處理結果不可信。其中,偏差閾值可以根據需求靈活設置,本發明對此不做具體限定。
在一種可能的實施方式中,如果認為目標模型對待處理資料的處理結果可信時,第二子校驗層可以獲取目標模型對待處理資料的最終處理結果,並將最終處理結果中,上述位置資訊對應的校驗結果進行刪除後,將刪除校驗結果後的處理結果顯示給使用者查看。
實施例9:
為了準確地對待處理資料進行處理,在上述各實施例的基礎上,在本發明實施例中,該基於該第一子模型及該第二子模型,對該待處理資料進行處理包括:針對保存到TEE或REE任一執行環境中的子模型,若該子模型中包含有鏈接層,獲取該鏈接層的層級指示資訊中配置的執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該第二標識資訊,將該子模型當前對該待處理資料的處理結果輸入該第二標識資訊對應的處理層。
具體地,針對保存到TEE中的第一子模型,若第一子模型中包含有鏈接層,則可以獲取該鏈接層的層級指示資訊中配置的執行順序位於該鏈接層之後的下一個處理層的第二標識資訊。然後,根據該第二標識資訊,將第一子模型當前對待處理資料的處理結果輸入該第二標識資訊對應的處理層。
針對保存到REE中的第二子模型,若第二子模型中包含有鏈接層,則可以獲取該鏈接層的層級指示資訊中配置的執行順序位於該鏈接層之後的下一個處理層的第二標識資訊。然後,根據該第二標識資訊,將第二子模型當前對待處理資料的處理結果輸入該第二標識資訊對應的處理層。
為方便理解,仍以圖2a、圖2b、圖2c中所示的實施例進行舉例說明。圖5示出了一些實施例提供的第二種資料處理過程示意圖,參閱圖2a、圖2b、圖2c及圖5所示,假設待處理資料中共包含5句話,校驗資料在待處理資料中的位置資訊為:在待處理資料的第四句和第五句之間。第二子校驗層Dec獲取校驗資料的校驗結果(計算結果)的輸出處理層的第三標識資訊為F1處理層,第一子 校驗層Cb可以將位置資訊(p)和輸出處理層的第三標識資訊(F1)發送給第二子校驗層Dec。
根據目標模型中包含的每個處理層的執行順序,第一子校驗層Cb可以將攜帶有校驗資料的待處理資料登錄第一子模型中的鏈接層W1,鏈接層W1的層級指示資訊中配置的下一個處理層的標識資訊為第二子模型m2中的A1層,則鏈接層W1可以將攜帶有校驗資料的待處理資料轉發給第二子模型m2中的A1層,A1處理層對攜帶有校驗資料的待處理資料處理後,可以將當前處理結果(A1處理層對待處理資料的處理結果)輸出給鏈接層W2。
鏈接層W2的層級指示資訊中配置的下一個處理層的標識資訊為第一子模型m1中的B1層,鏈接層W2可以將當前處理結果(A1處理層對待處理資料的處理結果)轉發給第一子模型m1中的B1層。
第一子模型m1中的B1層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1處理層對待處理資料的處理結果)輸出給鏈接層W3。
鏈接層W3的層級指示資訊中配置的下一個處理層的標識資訊為第二子模型m2中的C1層,鏈接層W3可以將當前處理結果(A1、B1處理層對待處理資料的處理結果)轉發給第二子模型m2中的C1層。
第二子模型m2中的C1層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1處理層對待處理資料的處理結果)輸出給鏈接層W4。
鏈接層W4的層級指示資訊中配置的下一個處理層的標識資訊為第一子模型m1中的D1層,鏈接層W4可以將當前處理結果(A1、B1、C1處理層對待處理資料的處理結果)轉發給第一子模型m1中的D1層。
第一子模型m1中的D1層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1處理層對待處理資料的處理結果)輸出給鏈接層W5。
鏈接層W5的層級指示資訊中配置的下一個處理層的標識資訊為第二子模型m2中的A2層,鏈接層W5可以將當前處理結果(A1、B1、C1、D1處理層對待處理資料的處理結果)轉發給第二子模型m2中的A2層。
第二子模型m2中的A2層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2處理層對待處理資料的處理結果)輸出給鏈接層W6。
鏈接層W6的層級指示資訊中配置的下一個處理層的標識資訊為第一子模型m1中的B2層,鏈接層W6可以將當前處理結果(A1、B1、C1、D1、A2處理層對待處理資料的處理結果)轉發給第一子模型m1中的B2層。
第一子模型m1中的B2層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2、B2處理層對待處理資料的處理結果)輸出給鏈接層W7。
鏈接層W7的層級指示資訊中配置的下一個處理層的標識資訊為第二子模型m2中的C2層,鏈接層W7可以將當前處理結果(A1、B1、C1、D1、A2、B2處理層對待處理資料的處理結果)轉發給第二子模型m2中的C2層。
第二子模型m2中的C2層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2處理層對待處理資料的處理結果)輸出給鏈接層W8。
鏈接層W8的層級指示資訊中配置的下一個處理層的標識資訊為第一子模型m1中的E1層,鏈接層W8可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2處理層對待處理資料的處理結果)轉發給第一子模型m1中的E1層。
第一子模型m1中的E1層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2、E1處理層對待處理資料的處理結果)輸出給鏈接層W9。
鏈接層W9的層級指示資訊中配置的下一個處理層的標識資訊為第二子模型m2中的A3層,鏈接層W9可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2、A3處理層對待處理資料的處理結果)轉發給第二子模型m2中的A3層。
第二子模型m2中的A3層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2、E1、A3處理層對待處理資料的處理結果)輸出給鏈接層W10。
鏈接層W10的層級指示資訊中配置的下一個處理層的標識資訊為第一子模型m1中的F1層,鏈接層W10可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2、A3處理層對待處理資料的處理結果)轉發給第一子模型m1中的F1層。
第一子模型m1中的F1層對攜帶有校驗資料的待處理資料進行處理後,可以將當前處理結果(A1、B1、C1、D1、A2、B2、C2、E1、A3、F1處理層對待處理資料的最終處理結果)輸出給第二子校驗層Dec。
第二子校驗層Dec獲取處理結果中,第四句和第五句之間位置處,目標模型對校驗資料的校驗結果,然後判斷校驗結果與預設的校驗值的偏差是否小於設定的偏差閾值。如果校驗結果與預設的校驗值的偏差小於設定的偏差閾值,則可以認為目標模型沒有被篡改,目標模型對待處理資料的處理結果(計算結果)可信。如果校驗結果與預設的校驗值的偏差不小於設定的偏差閾值,則認為目標模型被篡改,目標模型對待處理資料的處理結果不可信。
在一種可能的實施方式中,當校驗結果與預設的校驗值的偏差小於設定的偏差閾值,認為目標模型對待處理資料的處理結果可信時,第二子校驗層可以將最終處理結果中,第四句和第五句之間位置處的校驗結果進行刪除,將刪除校驗結果後的處理結果通過對稱金鑰進行加密,將加密後的處理結果呈現給使用者,使用者可以對該加密後的處理結果進行解密後,查看該處理結果。
基於此,雖然將目標模型分割為第一子模型和第二子模型,仍然可以基於目標模型中包含的完整的處理層及執行順序,對待處理資料進行處理。且由於第一子模型保存在TEE中,即使第二子模型保存在REE中,由於第二子模型無法單獨使用,因此,可以有效防止目標模型的模型資料資訊被盜用,保證了模型的安全。
在一種可能的實施方式中,如果雲端設備中保存有第三子模型,終端設備可以將加密後的處理結果發送給雲端設備,雲端設備可以對該加密後的處理結果進行解密後,進而基於第三子模型,對待處理資料進行進一步處理。
為方便理解,下面再通過一個具體實施例對本發明實施例提供的資料處理過程進行說明。圖6示出了一些實施例提供的第三種資料處理過程示意圖,如圖6所示,該過程包括以下步驟:
S601:終端設備接收資料處理指令,其中,資料處理指令中攜帶有待處理資料及待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定目標資料類型對應的目標模型;
S602:終端設備向雲端設備發送模型派發請求,模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;
S603:雲端設備接收模型派發請求,獲取模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及終端設備的可信執行環境TEE的屬性參數;
S604:雲端設備獲取第一標識資訊對應的目標模型,根據預先確定的資料尺寸與目標模型的屬性參數的對應關係,確定目標尺寸對應的目標屬性參數;根據目標屬性參數以及終端設備的TEE的屬性參數,確定目標模型中保存到終端設備的TEE中的第一子模型,以及目標模型中保存到終端設備的REE中的第二子模型,將第一子模型和第二子模型發送給終端設備。
其中,雲端設備可以針對目標模型M,生成目標模型對應的唯一的模型序號(ID),並生成一組隨機校驗資料T。將隨機校驗資料T輸入目標模型中,得到校驗資料對應的理想校驗值X。雲端設備可以基於SHA-256演算法等計算得到第二子模型對應的雜湊值H1、第一子模型對應的雜湊值H2,並生成一對對稱工作金鑰K。可選的,雲端設備可以將模型序號(ID)、目標模型M、理想校驗值X、第一子模型對應的雜湊值H2等資料資訊記錄在資料庫中。
可選的,雲端設備可以將模型序號(ID)、第一子模型、第二子模型、校驗資料T、校驗資料對應的理想校驗值X、第二子模型對應的雜湊值H1以及對稱工作金鑰K按照設定格式拼接,形成資料串S。雲端設備利用設備公開金鑰加密得到密文S’。雲端設備將密文S’通過網路傳遞進入終端設備的可信執行環境(TEE)作業系統(Trusted OS)中。
S605:終端設備將第一子模型保存在終端設備的TEE中,終端設備將該第二子模型保存在該終端設備的REE中。
其中,終端設備可以利用設備私密金鑰對密文S’解密還原恢復資料。將其中的模型序號(ID)、第二子模型傳遞至普通執行環境(REE)作業系統(Rich OS)中。終端設備將解密後的S’中的第一子模型、校驗資料T、校驗資料對應的理想校驗值X、第二子模型對應的雜湊值H1等存儲在Trusted OS安全存儲區域中。後續第一子模型的存儲及對待處理資料的處理(計算)過程都在Trusted OS中,第一子模型對外「可用而不可見」。第二子模型雖對外「可見」,但無法獨立使用,因此,可以有效防止模型被盜用的風險。
S606:終端設備基於第一子模型及第二子模型,對待處理資料進行處理。
其中,終端設備可以先進行模型初始化的過程。模型初始化的過程如下:計算第二子模型的雜湊值,與第二子模型對應的雜湊值H1進行比對,確認該雜湊值與H1是否一致。然後,將第二子模型的參數資料載入REE普通記憶體空間,將第一子模型的參數資料載入TEE安全記憶體空間。
按照目標模型中包含的處理層的執行順序,將校驗資料T輸入第一子模型和第二子模型中,得到第一子模型和第二子模型對校驗資料T的計算結果,將該計算結果與校驗資料對應的理想校驗值X進行比對,判斷計算結果與理想校驗值X是否一致。
將計算的第二子模型的雜湊值與H1是否一致的比對結果、計算結果與理想校驗值X是否一致的比對結果以及計算得到的第一子模型的雜湊值通過對稱式金鑰密碼編譯上傳到雲端設備。
雲端設備比對終端設備計算得到的第一子模型的雜湊值與H2是否一致,若一致,且終端設備計算的第二子模型的雜湊值與H1一致,終端設備計算的校驗資料T的計算結果與理想校驗值X也一致時,確認第一子模型和第二子模型是安全的,沒有被篡改。否則,認為目標模型被篡改,可以提示終端設備第一子模型和第二模型存在安全風險。並對第一子模型和第二子模型重新進行分配和更新。
如果第一子模型和第二子模型是安全,則可以基於第一子模型和第二子模型,對待處理資料進行處理。
在一種可能的實施方式中,在基於第一子模型和第二子模型,對待處理資料進行處理時,可以在校驗資料T中增加一定的隨機雜訊(隨機雜訊對 模型計算結果產生的影響可忽略),將校驗資料T隨機穿插於待處理資料中,基於第一子模型和第二子模型對攜帶有校驗資料的待處理資料進行處理。
為方便理解,下面通過一個具體實施例對本發明實施例提供的資料處理過程進行說明。圖7示出了一些實施例提供的第四種資料處理過程示意圖,如圖7所示,該過程包括以下步驟:終端設備可以將第一子模型(m2參數)保存在終端設備的TEE中,將第二子模型(m1參數)保存在終端設備的REE中。在一種可能的實施方式中,安裝在Rich OS中的用戶端應用(Client Application,CA)可以調用安裝在Rich OS中的可信應用(Trusted Application,TA)。CA首先在Rich OS的普通記憶體中事先申請資料暫存區1和資料暫存區2,其中,資料暫存區1用於保存第二子模型中的任一處理層對待處理資料的當前處理結果(即第二子模型的相應處理層的輸出資料),資料暫存區2用於保存第一子模型中的任一處理層對待處理資料的當前處理結果(即第二子模型的相應處理層的輸入資料)。
參閱圖3a、圖3b、圖3c,第一子模型中的處理層A可以將對待處理資料的處理結果(處理層A對待處理資料的最終處理結果)保存在資料暫存區2中,可選的,第一子模型中的處理層A可以將對待處理資料的中間處理結果保存在安全記憶體暫存區0中。
第二子模型中的處理層B可以從資料暫存區2中獲取待處理資料,對待處理資料進行處理,並將處理結果傳輸給處理層C,處理層C可以對待處理資料進行處理,並將處理結果保存在資料暫存區1中,第一子模型中的處理層D可以獲取資料暫存區1中的待處理資料,對待處理資料進行處理,並將歲待處理資料的最終處理結果保存在安全記憶體暫存區0中。
實施例10:
基於相同的技術構思,本發明提供了一種模型保護裝置,圖8示出了一些實施例提供的一種模型保護裝置示意圖,如圖8所示,該裝置包括:第一接收模組801,用於若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;第一確定模組802,用於獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;第二確定模組803,用於根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型;發送模組804,用於將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
在一種可能的實施方式中,該裝置還包括:更新模組,用於確定向該終端設備發送的待發送模型的處理層,其中該待發送模型的處理層為該目標模型的全部或部分處理層;採用該待發送模型對該目標模型進行更新。
在一種可能的實施方式中,第二確定模組803,具體用於從該目標模型中選取至少一個第一目標處理層;其中,該至少一個第一目標處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數的值;基於選取的該至少一個第一目標處理層,確定該第一子模型。
在一種可能的實施方式中,該第二確定模組803,還用於確定該目標模型中除第一目標處理層之外的每個第二目標處理層,基於該每個第二目標處理層,確定該目標模型中保存到該終端設備的普通執行環境REE中的第二子模型;該發送模組804,具體用於將該第一子模型以及該第二子模型發送給該終端設備,使該終端設備將該第二子模型保存在該終端設備的REE中。
在一種可能的實施方式中,該第二確定模組803,具體用於針對保存到TEE或REE任一執行環境中的子模型,將該子模型中包含的目標處理層與該目標模型中包含的處理層進行比對,確定位於該目標模型中但不位於該子模型中的每個缺失處理層;針對每個缺失處理層,配置該缺失處理層對應的鏈接層,並根據該目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該目標模型中包含的每個處理層的執行順序,確定該子模型中包含的每個鏈接層和目標處理層的執行順序;基於該執行順序以及該子模型中包含的每個鏈接層和目標處理層,確定該子模型。
在一種可能的實施方式中,該第二確定模組803,具體用於若該目標模型中包含校驗層,將該校驗層,確定為該第一目標處理層中包含的處理層;其中,該校驗層中的第一子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之前,該校驗層中的第二子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之後;該校驗層用於驗證該目標模型對該待處理資料的處理結果是否可信。
在一種可能的實施方式中,該第二確定模組803,具體用於按照該目標模型的每個處理層的執行順序,對該每個處理層進行排序;將該排序中排名第一的首處理層和排名最後的末處理層,確定為該第一目標處理層中包含的處理層。
在一種可能的實施方式中,該第二確定模組803,具體用於若該屬性參數中還包括該終端設備的TEE的CPU峰值計算性能及REE的CPU峰值計算性能,且該終端設備的TEE的CPU峰值計算性能劣於該終端設備的REE的CPU峰值計算性能,則根據預設的層數占比閾值和該目標模型包含的處理層的總層數,確定第一目標層數;從該目標模型中,選取該第一目標層數個處理層,將選取的該第一目標層數個處理層,確定為該第一目標處理層。
在一種可能的實施方式中,該第二確定模組803,具體用於按照該目標模型的每個處理層的屬性參數的值由小到大的順序,對該每個處理層進行排序;從該排序中排名第一個處理層開始,依次從該排序中選取第一目標層數個處理層。
在一種可能的實施方式中,該第二確定模組803,具體用於按照該目標模型的每個處理層的屬性參數的值由小到大的順序,對該每個處理層進行排序;每次從該排序中排名第一個處理層開始,分別依次從該排序中選取不同數量的處理層,將每次選取的不同數量的處理層分別作為不同的候選處理層組合;其中,每個候選處理層組合中包含的每個處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數;針對每個候選處理層組合,確定該候選處理層組合中包含的處理層的層數 占該目標模型包含的處理層的總層數的候選層數占比;並根據預先保存的每個資料尺寸、候選處理層組合與運行耗時的對應關係,確定該候選處理層組合對應的候選運行耗時;基於多目標優化演算法,從每個該候選層數占比和候選運行耗時中,確定最優層數占比和最優運行耗時對應的目標處理層組合;將該目標處理層組合中包含的每個處理層,確定為該至少一個第一目標處理層。
實施例11:
基於相同的技術構思,本發明提供了一種模型保護裝置,圖9示出了一些實施例提供的一種資料處理裝置示意圖,如圖9所示,該裝置包括:第二接收模組901,用於接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型;請求模組902,用於向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;保存模組903,用於接收該雲端設備發送的第一子模型,將該第一子模型保存在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備 的TEE中的第一子模型;處理模組904,用於基於該第一子模型,對該待處理資料進行處理。
在一種可能的實施方式中,該保存模組903,具體用於接收該雲端設備發送的第一子模型和第二子模型;將該第一子模型保存在該終端設備的TEE中,將該第二子模型保存在該終端設備的REE中;該處理模組904,具體用於基於該第一子模型及該第二子模型,對該待處理資料進行處理。
在一種可能的實施方式中,該處理模組904,具體用於針對保存到TEE或REE任一執行環境中的子模型,若該子模型中包含有鏈接層,獲取該鏈接層的層級指示資訊中配置的執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該第二標識資訊,將該子模型當前對該待處理資料的處理結果輸入該第二標識資訊對應的處理層。
在一種可能的實施方式中,該處理模組904,具體用於若該目標模型中包含校驗層,基於該校驗層中的第一子校驗層確定預設的校驗資料在該待處理資料中的位置資訊,並確定該校驗層中的第二子校驗層獲取該校驗資料的校驗結果的輸出處理層的第三標識資訊,並將該位置資訊及該第三標識資訊發送給該第二子校驗層;基於該第二子校驗層,獲取該第三標識資訊的輸出處理層處輸出的校驗處理結果,獲取該校驗處理結果中該位置資訊對應的校驗結果,並基於該校驗結果以及預設的校驗值,確定該目標模型對該待處理資料的處理結果是否可信。
實施例12:
基於相同的技術構思,本發明還提供了一種電子設備,圖10示出了一些實施例提供的一種電子設備結構示意圖,如圖10所示,包括:處理器101、通信介面102、記憶體103和通信匯流排104,其中,處理器101,通信介面102,記憶體103通過通信匯流排104完成相互間的通信;該記憶體103中存儲有電腦程式,當該程式被該處理器101執行時,使得該處理器101執行如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
上述電子設備提到的通信匯流排可以是外設部件互連標準(Peripheral Component Interconnect,PCI)匯流排或延伸工業標準架構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面102用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括非易失性記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的存儲裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數位指令處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。
基於相同的技術構思,本發明實施例提供了一種電腦可讀存儲介質,該電腦可讀存儲介質內存儲有可由電子設備執行的電腦程式,當該程式在該電子設備上運行時,使得該電子設備執行時實現如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
上述電腦可讀存儲介質可以是電子設備中的處理器能夠存取的任何可用介質或資料存放裝置,包括但不限於磁性記憶體如軟碟、硬碟、磁帶、磁光碟(MO)等、光學記憶體如CD、DVD、BD、HVD等、以及半導體記憶體如ROM、EPROM、EEPROM、非易失性記憶體(NAND FLASH)、固態硬碟(SSD)等。
基於相同的技術構思,本發明提供了一種電腦程式產品,該電腦程式產品包括:電腦程式代碼,當該電腦程式代碼在電腦上運行時,使得電腦執行如上述任一所述模型保護方法的步驟,或,實現如上述任一所述模型保護方法的步驟。
在上述實施例中,可以全部或部分地通過軟體、硬體、固件或者其任意組合來實現,可以全部或部分地以電腦程式產品的形式實現。該電腦程式產品包括一個或多個電腦指令,在電腦上載入和執行該電腦指令時,全部或部分地產生按照本發明實施例所述的流程或功能。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
S101~S104:步驟

Claims (18)

  1. 一種模型保護方法,其特徵在於,該方法包括:若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型;將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
  2. 如請求項1所述的模型保護方法,其中,該確定該目標尺寸對應的目標屬性參數之後,該根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型之前,該方法還包括:確定向該終端設備發送的待發送模型的處理層,其中該待發送模型的處理層為該目標模型的全部或部分處理層;採用該待發送模型對該目標模型進行更新。
  3. 如請求項1或2所述的模型保護方法,其中,該根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型包括: 從該目標模型中選取至少一個第一目標處理層;其中,該至少一個第一目標處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數的值;基於選取的該至少一個第一目標處理層,確定該第一子模型。
  4. 如請求項3所述的模型保護方法,其中,從該目標模型中選取至少一個第一目標處理層之後,將該第一子模型發送給該終端設備之前,該方法還包括:確定該目標模型中除第一目標處理層之外的每個第二目標處理層,基於該每個第二目標處理層,確定該目標模型中保存到該終端設備的普通執行環境REE中的第二子模型;將該第一子模型發送給該終端設備包括:將該第一子模型以及該第二子模型發送給該終端設備,使該終端設備將該第二子模型保存在該終端設備的REE中。
  5. 如請求項4所述的模型保護方法,其中,基於選取的至少一個目標處理層,確定子模型包括:針對保存到TEE或REE任一執行環境中的子模型,將該子模型中包含的目標處理層與該目標模型中包含的處理層進行比對,確定位於該目標模型中但不位於該子模型中的每個缺失處理層;針對每個缺失處理層,配置該缺失處理層對應的鏈接層,並根據該目標模型中包含的每個處理層的執行順序資訊,在該鏈接層的層級指示資訊中配置執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該目標模型中包含的每個處理層的執行順序,確定該子模型中包含的每個鏈接層和目標處理層的執行順序;基於該執行順序以及該子模型中包含的每個鏈接層和目標處理層,確定該子模型。
  6. 如請求項3所述的模型保護方法,其中,該從該目標模型中選取至少一個第一目標處理層包括:若該目標模型中包含校驗層,將該校驗層,確定為該第一目標處理層中包含的處理層;其中,該校驗層中的第一子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之前,該校驗層中的第二子校驗層的執行順序位於該目標模型中包含的任一處理層的執行順序之後;該校驗層用於驗證該目標模型對該待處理資料的處理結果是否可信。
  7. 如請求項3所述的模型保護方法,其中,該從該目標模型中選取至少一個第一目標處理層包括:按照該目標模型的每個處理層的執行順序,對該每個處理層進行排序;將該排序中排名第一的首處理層和排名最後的末處理層,確定為該第一目標處理層中包含的處理層。
  8. 如請求項3所述的模型保護方法,其中,該從該目標模型中選取至少一個第一目標處理層包括:若該屬性參數中還包括該終端設備的TEE的CPU峰值計算性能及REE的CPU峰值計算性能,且該終端設備的TEE的CPU峰值計算性能劣於該終端設備的REE的CPU峰值計算性能,則根據預設的層數占比閾值和該目標模型包含的處理層的總層數,確定第一目標層數;從該目標模型中,選取該第一目標層數個處理層,將選取的該第一目標層數個處理層,確定為該第一目標處理層。
  9. 如請求項8所述的模型保護方法,其中,該從該目標模型中,選取該第一目標層數個處理層包括: 按照該目標模型的每個處理層的屬性參數的值由小到大的順序,對該每個處理層進行排序;從該排序中排名第一個處理層開始,依次從該排序中選取第一目標層數個處理層。
  10. 如請求項3所述的模型保護方法,其中,該從該目標模型中,選取至少一個第一目標處理層包括:按照該目標模型的每個處理層的屬性參數的值由小到大的順序,對該每個處理層進行排序;每次從該排序中排名第一個處理層開始,分別依次從該排序中選取不同數量的處理層,將每次選取的不同數量的處理層分別作為不同的候選處理層組合;其中,每個候選處理層組合中包含的每個處理層的屬性參數的總值不超過該終端設備的TEE對應的屬性參數;針對每個候選處理層組合,確定該候選處理層組合中包含的處理層的層數占該目標模型包含的處理層的總層數的候選層數占比;並根據預先保存的每個資料尺寸、候選處理層組合與運行耗時的對應關係,確定該候選處理層組合對應的候選運行耗時;基於多目標優化演算法,從每個該候選層數占比和候選運行耗時中,確定最優層數占比和最優運行耗時對應的目標處理層組合;將該目標處理層組合中包含的每個處理層,確定為該至少一個第一目標處理層。
  11. 一種資料處理方法,其特徵在於,該方法包括: 接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型;向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;接收該雲端設備發送的第一子模型,將該第一子模型保存在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備的TEE中的第一子模型;基於該第一子模型,對該待處理資料進行處理。
  12. 如請求項11所述的模型保護方法,其中,接收該雲端設備發送的第一子模型包括:接收該雲端設備發送的第一子模型和第二子模型;將該第一子模型保存在TEE中包括:將該第一子模型保存在該終端設備的TEE中,將該第二子模型保存在該終端設備的REE中;基於該第一子模型,對該待處理資料進行處理包括:基於該第一子模型及該第二子模型,對該待處理資料進行處理。
  13. 如請求項12所述的模型保護方法,其中,該基於該第一子模型及該第二子模型,對該待處理資料進行處理包括:針對保存到TEE或REE任一執行環境中的子模型,若該子模型中包含有鏈接層,獲取該鏈接層的層級指示資訊中配置的執行順序位於該鏈接層之後的下一個處理層的第二標識資訊;根據該第二標識資訊,將該子模型當前對該待處理資料的處理結果輸入該第二標識資訊對應的處理層。
  14. 如請求項11至13中任一項所述的模型保護方法,其中,該基於該第一子模型,對該待處理資料進行處理包括:若該目標模型中包含校驗層,基於該校驗層中的第一子校驗層確定預設的校驗資料在該待處理資料中的位置資訊,並確定該校驗層中的第二子校驗層獲取該校驗資料的校驗結果的輸出處理層的第三標識資訊,並將該位置資訊及該第三標識資訊發送給該第二子校驗層;基於該第二子校驗層,獲取該第三標識資訊的輸出處理層處輸出的校驗處理結果,獲取該校驗處理結果中該位置資訊對應的校驗結果,並基於該校驗結果以及預設的校驗值,確定該目標模型對該待處理資料的處理結果是否可信。
  15. 一種模型保護裝置,其特徵在於,該裝置包括:第一接收模組,用於若接收到終端設備發送的模型派發請求,獲取該模型派發請求中攜帶的目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種; 第一確定模組,用於獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;第二確定模組,用於根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定該目標模型中保存到該終端設備的TEE中的第一子模型;發送模組,用於將該第一子模型發送給該終端設備,使該終端設備將該第一子模型保存在該終端設備的TEE中。
  16. 一種資料處理裝置,其特徵在於,該裝置包括:第二接收模組,用於接收資料處理指令,其中,該資料處理指令中攜帶有待處理資料及該待處理資料的目標資料類型;根據保存的資料類型與模型的對應關係,確定該目標資料類型對應的目標模型;請求模組,用於向雲端設備發送模型派發請求,該模型派發請求中攜帶目標模型的第一標識資訊、待處理資料的目標尺寸以及該終端設備的可信執行環境TEE的屬性參數;其中,該屬性參數包括安全存儲空間、安全運行記憶體中的至少一種;保存模組,用於接收該雲端設備發送的第一子模型,將該第一子模型保存在TEE中;其中,該第一子模型為:該雲端設備根據該第一標識資訊,獲取該第一標識資訊對應的目標模型,根據預先確定的資料尺寸與該目標模型的屬性參數的對應關係,確定該目標尺寸對應的目標屬性參數;根據該目標屬性參數以及該終端設備的TEE的屬性參數,確定的該目標模型中保存到該終端設備的TEE中的第一子模型;處理模組,用於基於該第一子模型,對該待處理資料進行處理。
  17. 一種電子設備,其特徵在於,該電子設備至少包括處理器和記憶體,該處理器用於執行記憶體中存儲的電腦程式時實現如請求項1至10中任一項所述的該模型保護方法的步驟,或,實現如請求項11至14中任一項所述的模型保護方法的步驟。
  18. 一種電腦可讀存儲介質,其特徵在於,其存儲有電腦程式,該電腦程式被處理器執行時實現如請求項1至10中任一項所述的該模型保護方法的步驟,或,實現如請求項11至14中任一項所述的模型保護方法的步驟。
TW111132603A 2021-12-24 2022-08-30 一種模型保護方法、資料處理方法、裝置、設備及介質 TWI814556B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111596058.3A CN114491657A (zh) 2021-12-24 2021-12-24 一种模型保护方法、数据处理方法、装置、设备及介质
CN202111596058.3 2021-12-24

Publications (2)

Publication Number Publication Date
TW202326486A TW202326486A (zh) 2023-07-01
TWI814556B true TWI814556B (zh) 2023-09-01

Family

ID=81496989

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111132603A TWI814556B (zh) 2021-12-24 2022-08-30 一種模型保護方法、資料處理方法、裝置、設備及介質

Country Status (3)

Country Link
CN (1) CN114491657A (zh)
TW (1) TWI814556B (zh)
WO (1) WO2023115996A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491657A (zh) * 2021-12-24 2022-05-13 ***股份有限公司 一种模型保护方法、数据处理方法、装置、设备及介质
WO2024130506A1 (zh) * 2022-12-19 2024-06-27 华为技术有限公司 通信方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019192344A1 (zh) * 2018-04-02 2019-10-10 华为技术有限公司 基于信任区的操作***和方法
CN110704850A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 人工智能ai模型的运行方法和装置
TW202036347A (zh) * 2019-03-22 2020-10-01 香港商阿里巴巴集團服務有限公司 資料儲存、驗證方法及裝置
TWI724813B (zh) * 2019-08-30 2021-04-11 開曼群島商創新先進技術有限公司 交易調度方法及裝置
TWI736883B (zh) * 2018-04-28 2021-08-21 大陸商Oppo廣東移動通信有限公司 影像處理方法和電子設備

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443182B2 (en) * 2018-06-25 2022-09-13 International Business Machines Corporation Privacy enhancing deep learning cloud service using a trusted execution environment
CN112016666A (zh) * 2019-05-31 2020-12-01 微软技术许可有限责任公司 深度学习模型的执行
CN111291416B (zh) * 2020-05-09 2020-07-31 支付宝(杭州)信息技术有限公司 基于隐私保护对业务模型进行数据预处理的方法及装置
CN112766495A (zh) * 2021-01-26 2021-05-07 支付宝(杭州)信息技术有限公司 一种基于混合环境的深度学习模型隐私保护方法及装置
CN114491657A (zh) * 2021-12-24 2022-05-13 ***股份有限公司 一种模型保护方法、数据处理方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019192344A1 (zh) * 2018-04-02 2019-10-10 华为技术有限公司 基于信任区的操作***和方法
TWI736883B (zh) * 2018-04-28 2021-08-21 大陸商Oppo廣東移動通信有限公司 影像處理方法和電子設備
TW202036347A (zh) * 2019-03-22 2020-10-01 香港商阿里巴巴集團服務有限公司 資料儲存、驗證方法及裝置
TWI724813B (zh) * 2019-08-30 2021-04-11 開曼群島商創新先進技術有限公司 交易調度方法及裝置
CN110704850A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 人工智能ai模型的运行方法和装置

Also Published As

Publication number Publication date
WO2023115996A1 (zh) 2023-06-29
TW202326486A (zh) 2023-07-01
CN114491657A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
TWI814556B (zh) 一種模型保護方法、資料處理方法、裝置、設備及介質
US10338946B1 (en) Composable machine image
US10126961B2 (en) Securely recovering stored data in a dispersed storage network
US11487852B2 (en) Blockchain-based license management
US10671372B2 (en) Blockchain-based secure customized catalog system
US20120311575A1 (en) System and method for enforcing policies for virtual machines
US11163458B2 (en) Authorizing modification of resources
CN112214519B (zh) 一种数据查询方法、装置、设备及可读介质
US8776057B2 (en) System and method for providing evidence of the physical presence of virtual machines
CN113254955A (zh) 前向安全的连接关键词对称可搜索加密方法、***及应用
WO2021164194A1 (zh) 一种基于区块链的积分管理方法及相关装置
CN111767144A (zh) 交易数据的交易路由确定方法、装置、设备及***
US10146455B2 (en) Device, system and method for storing data
CN111431908A (zh) 一种访问处理方法、装置及可读存储介质
WO2024156205A1 (zh) 一种隐私计算方法、装置、设备及介质
CN110232570B (zh) 一种信息监管方法及装置
CN115080094B (zh) 一种基于层级交互的安防***更新方法及***
US20200099537A1 (en) Method for providing information to be stored and method for providing a proof of retrievability
CN113536361B (zh) 一种可信基准库的实现方法、装置及计算设备
Wang et al. Cloud data integrity verification algorithm based on data mining and accounting informatization
KR102393537B1 (ko) 신뢰실행환경에 기반한 소프트웨어 라이선스 관리 방법 및 시스템
WO2024120335A2 (zh) 用户识别方法、装置、相关设备及存储介质
CN117932696B (zh) 一种基于区块链的数据分布式存储验证方法、介质及设备
US20230179499A1 (en) System and method to estimate a latency cost of relocating a software service
US10805353B2 (en) Security tool