0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于模型設(shè)計開發(fā)過程中的正確模型的選擇指導(dǎo)

MATLAB ? 來源:djl ? 作者:董淑成 ? 2019-09-17 15:13 ? 次閱讀

在基于模型設(shè)計的開發(fā)過程中,一定要拿正確的模型去生成代碼。

有人要問:什么樣的模型才算得上正確的模型?

我認(rèn)為:

至少,正確的模型應(yīng)該是經(jīng)過充分驗證的。

除了“充分驗證”,還應(yīng)該滿足什么條件呢?

我能想到的就是“可驗證”。

“可驗證”也是充分驗證的前提。

關(guān)于模型設(shè)計開發(fā)過程中的正確模型的選擇指導(dǎo)

模型的“可驗證”以后會專門介紹,本文就說說模型中代碼生成之前可以做哪些驗證。按照模型是否需要運行來劃分,可以把驗證分為靜態(tài)驗證和動態(tài)驗證兩大類。

M靜態(tài)驗證

靜態(tài)驗證有評審、靜態(tài)檢查、形式化驗證等方式。

評審是質(zhì)量體系要求的

通常我們模型畫完之后,需要通過評審的方式去評審模型是否實現(xiàn)了相應(yīng)的需求。那么,評審發(fā)生的時刻應(yīng)該如何把握?是否在畫完模型之后緊跟著就去做評審呢?我個人認(rèn)為,如果有工具可以幫我們實現(xiàn)靜態(tài)檢查,我們?yōu)槭裁床幌茸鲮o態(tài)檢查呢?先做靜態(tài)檢查的好處是把可以通過工具發(fā)現(xiàn)的軟件缺陷在評審之前消除掉,這樣可以避免在評審的時候在此類問題上浪費時間。

靜態(tài)檢查

目前MATLAB通過Simulink Verification & Validation(以下簡稱SLVnV)提供了Model Advisor,可以實現(xiàn)建模標(biāo)準(zhǔn)的靜態(tài)檢查,實現(xiàn)起來也不困難,并且工具還具有可定制功能,可以在SLVnV提供的諸多檢查項里挑選適合自己開發(fā)團(tuán)隊的檢查集,也有可能有一些檢查是Model Advisor沒有提供的,這種情況下,也可以通過編寫MATLAB程序的方式定制檢查項。

形式化驗證

MATLAB提供了Simulink Design Verifier(以下簡稱SLDV)產(chǎn)品,可以對模型進(jìn)行形式化驗證。SLDV可以檢查模型中是否有整數(shù)溢出,或者是否有死邏輯。這兩類錯誤都是很容易被評審和功能測試錯過的錯誤,其實,軟件里一旦發(fā)現(xiàn)有這兩類錯誤,復(fù)現(xiàn)或者定位這兩類錯誤都非常困難,而SLDV可以通過分析模型的給出發(fā)生或者可能發(fā)生錯誤的環(huán)節(jié)。另外,需要注意的是,在模型評審或者功能測試過程中,我們都可能發(fā)現(xiàn)一些軟件缺陷,發(fā)現(xiàn)這些缺陷之后,我們需要修改模型,模型經(jīng)過修改可能會再次引入數(shù)據(jù)溢出或者死邏輯之類的錯誤,所以建議做功能測試之后,再次使用SLDV檢查一下模型。

M動態(tài)驗證

動態(tài)驗證主要有功能測試。功能測試可以分為單元級功能測試和集成級功能測試兩個階段。如果系統(tǒng)比較大,集成級功能測試還會繼續(xù)劃分為組件級集成測試和系統(tǒng)級集成測試。

單元級功能測試

也就是我們經(jīng)常提到的單元測試,單元測試的測試用例需要用戶根據(jù)需求編寫,寫完測試用例就是執(zhí)行測試過程,測試過程的執(zhí)行要盡量自動化。這個階段的測試工作量非常大,通?;ㄔ趩卧獪y試上的時間會明顯大于建模的時間,這往往是很多開發(fā)者難以接受的,很多人從心理上沒有這個準(zhǔn)備,一般認(rèn)為模型畫完就接近大功告成,所以不會計劃很多時間在模型測試上,這個想法是非常危險的。當(dāng)然,這個階段的測試是否完善可以通過“測試覆蓋率”這個數(shù)據(jù)來把握。覆蓋率沒有達(dá)到預(yù)定的目標(biāo)就要繼續(xù)增加測試用例。

測試覆蓋率應(yīng)該從兩個層面去度量:

一需求覆蓋率,測試用例所覆蓋的需求比例;

一結(jié)構(gòu)覆蓋率,測試用例所覆蓋的軟件實現(xiàn)的分支。

對于工具,Simulink只能從結(jié)構(gòu)上度量哪些分支測過哪些分支沒測過,需求覆蓋率通常需要測試者自己去把握。對于結(jié)構(gòu)覆蓋率,我們有條件覆蓋(Condition Coverage)、判定覆蓋(Decision Coverage)、MC/DC覆蓋等。

集成級功能測試

集成測試的目的和單元測試是不同的,集成測試要求做單元測試結(jié)束之后才可以進(jìn)行。集成測試主要測試不同單元模塊之間從接口上、調(diào)度上是否有問題,有時候集成測試也可以發(fā)現(xiàn)不同單元模塊之間需求上的沖突。集成測試不會有結(jié)構(gòu)覆蓋率要求。

集成測試的實現(xiàn)方式有模型上的集成測試,也可能會結(jié)合硬件進(jìn)行測試,比如我們經(jīng)常提到的快速原型,是否要結(jié)合硬件要取決于是否有條件和是否有必要這樣做,這里不做展開。

到此,如果模型經(jīng)過了各種靜態(tài)驗證,再經(jīng)過足夠的動態(tài)驗證,我們可以認(rèn)為模型已經(jīng)正確了吧?

接下來,就可以對正確的模型進(jìn)行代碼生成工作了。

當(dāng)然,上述驗證活動都是建立在“模型可驗證”的基礎(chǔ)上的,模型的“可驗證”如何去把握,這我們后面再專門討論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    【「大模型啟示錄」閱讀體驗】如何在客服領(lǐng)域應(yīng)用大模型

    的功能和性能。因此,選擇具有良好可擴展性的模型可以適應(yīng)未來業(yè)務(wù)的發(fā)展需求。在客服領(lǐng)域,處理客戶數(shù)據(jù)時可能涉及敏感信息。因此,在選擇模型時需要考慮其安全措施和隱私保護(hù)能力。確保數(shù)據(jù)傳輸和
    發(fā)表于 12-17 16:53

    大語言模型開發(fā)框架是什么

    大語言模型開發(fā)框架是指用于訓(xùn)練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹大語言模型開發(fā)框架。
    的頭像 發(fā)表于 12-06 10:28 ?132次閱讀

    云端語言模型開發(fā)方法

    云端語言模型開發(fā)是一個復(fù)雜而系統(tǒng)的過程,涉及數(shù)據(jù)準(zhǔn)備、模型選擇、訓(xùn)練優(yōu)化、部署應(yīng)用等多個環(huán)節(jié)。下面,AI部落小編為您分享云端語言
    的頭像 發(fā)表于 12-02 10:48 ?143次閱讀

    大語言模型如何開發(fā)

    大語言模型開發(fā)是一個復(fù)雜且細(xì)致的過程,涵蓋了數(shù)據(jù)準(zhǔn)備、模型架構(gòu)設(shè)計、訓(xùn)練、微調(diào)和部署等多個階段。以下是對大語言模型
    的頭像 發(fā)表于 11-04 10:14 ?155次閱讀

    Meta推出可自我評估AI模型

    Meta近期宣布了一項重要的人工智能進(jìn)展,即將發(fā)布一系列全新的人工智能模型。其中,一款能夠自我評估的模型尤為引人注目,這一創(chuàng)新有望顯著減少人工智能開發(fā)過程中的人類參與。
    的頭像 發(fā)表于 10-22 17:07 ?319次閱讀

    【實操文檔】在智能硬件的大模型語音交互流程接入RAG知識庫

    就不講太多了,這里實操用CSK6大模型開發(fā)板接入自建的空調(diào)產(chǎn)品手冊知識庫演示接入過程,只要對照文檔步驟就可以完成操作。操作過程中遇到問題,也可以參考后半部分的排錯流程來定位和解決問題。
    發(fā)表于 09-29 17:12

    NVIDIA助力提供多樣、靈活的模型選擇

    在本案例,Dify 以模型中立以及開源生態(tài)的優(yōu)勢,為廣大 AI 創(chuàng)新者提供豐富的模型選擇。其集成的 NVIDIAAPI Catalog、NVIDIA NIM和Triton 推理服務(wù)器
    的頭像 發(fā)表于 09-09 09:19 ?482次閱讀

    PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程

    PyTorch,作為一個廣泛使用的開源深度學(xué)習(xí)庫,提供了豐富的工具和模塊,幫助開發(fā)者構(gòu)建、訓(xùn)練和部署神經(jīng)網(wǎng)絡(luò)模型。在神經(jīng)網(wǎng)絡(luò)模型,輸出層是尤為關(guān)鍵的部分,它負(fù)責(zé)將
    的頭像 發(fā)表于 07-10 14:57 ?511次閱讀

    模型單卡的正確使用步驟

    引言 在當(dāng)今科技飛速發(fā)展的時代,大模型單卡作為一種高效的數(shù)據(jù)處理工具,廣泛應(yīng)用于各個領(lǐng)域。然而,正確使用大模型單卡對于提高工作效率、保證數(shù)據(jù)安全等方面至關(guān)重要。本文將從大模型單卡的工作
    的頭像 發(fā)表于 07-05 14:32 ?642次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    詳細(xì)介紹深度學(xué)習(xí)模型訓(xùn)練的全過程,包括數(shù)據(jù)預(yù)處理、模型構(gòu)建、損失函數(shù)定義、優(yōu)化算法選擇、訓(xùn)練過程以及模型
    的頭像 發(fā)表于 07-01 16:13 ?1313次閱讀

    微軟、谷歌等科技巨頭承諾安全開發(fā)AI模型

    近日,微軟、谷歌、OpenAI等16家科技巨頭在“人工智能(AI)首爾峰會”上達(dá)成共識,承諾在AI模型開發(fā)過程中注重安全性,并在無法控制最極端風(fēng)險時關(guān)閉其尖端系統(tǒng)。
    的頭像 發(fā)表于 05-22 11:25 ?511次閱讀

    【大語言模型:原理與工程實踐】大語言模型的應(yīng)用

    的提示詞設(shè)計。當(dāng)人類運用“系統(tǒng)2”決策時,他們會在思考、觀察和行動之間靈活切換。他們了解自己的局限,并知道如何利用工具獲取所需信息,進(jìn)而指導(dǎo)推理過程。此外,人類還具有反思的能力,能夠修正和優(yōu)化決策
    發(fā)表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型的評測

    和優(yōu)化至關(guān)重要,它們能夠提供準(zhǔn)確的反饋,指導(dǎo)模型在訓(xùn)練和調(diào)優(yōu)過程中的改進(jìn)方向。 大語言模型對話能力評測:對話能力評測是大語言模型性能評估的
    發(fā)表于 05-07 17:12

    FPGA開發(fā)過程中配置全局時鐘需要注意哪些問題

    正確性和穩(wěn)定性。通過仿真可以檢查時序是否滿足要求,及時發(fā)現(xiàn)和解決問題。 綜上所述,配置全局時鐘是FPGA開發(fā)過程中的一個重要環(huán)節(jié),需要仔細(xì)考慮和規(guī)劃。通過選擇合適的時鐘源、優(yōu)化時鐘分配、減小時鐘歪斜、使用時鐘管理單元以及進(jìn)行仿
    發(fā)表于 04-28 09:43

    OpenVINO?協(xié)同Semantic Kernel:優(yōu)化大模型應(yīng)用性能新路徑

    作為主要面向 RAG 任務(wù)方向的框架,Semantic Kernel 可以簡化大模型應(yīng)用開發(fā)過程,而在 RAG 任務(wù)中最常用的深度學(xué)習(xí)模型就是 Embedding 和 Text completion,分別實現(xiàn)文本的語義向量化和文
    的頭像 發(fā)表于 03-08 10:41 ?724次閱讀
    OpenVINO?協(xié)同Semantic Kernel:優(yōu)化大<b class='flag-5'>模型</b>應(yīng)用性能新路徑