那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

應用大模型提升研發效率的實踐與探索

AI科技大本營 ? 來源:AI科技大本營 ? 2024-02-22 11:47 ? 次閱讀

【導讀】在當今軟件開發和科學研究領域,項目的復雜性日益增加,提升研發效率已成為行業迫切需求。本文深入探討了大模型技術在研發效率提升方面的應用與實踐,以實戰摸索的方式,真實揭示了大模型究竟能夠如何助力企業實現數智化轉型。

本文精選自《新程序員007:大模型時代的開發者》,《新程序員 007》聚焦開發者成長,其間既有圖靈獎得主 Joseph Sifakis、前 OpenAI 科學家 Joel Lehman 等高瞻遠矚,又有對于開發者們至關重要的成長路徑、工程實踐及趟坑經驗等,歡迎大家點擊訂閱年卡。

隨著軟件開發和科學研究的復雜性不斷增加,人們對提高編程及研發效率的需求也越來越迫切。傳統的編程工具和方法已經無法滿足這一需求,因此人們開始探索新的技術手段來提升編程和研發效率。大模型作為一種新興的人工智能技術,被廣泛應用于輔助編程和研發效率提升領域。

例如,美國科技巨頭谷歌利用大模型技術提升內部研發效率,通過在代碼自增長工具中集成大模型,輔助完成部分重復性工作(如自動導入包、自動生成構造函數等),縮短了工程師的編碼時間。同時它還開源了基于大模型的代碼搜索引擎,可以自動匹配代碼片段并提供相關文檔,大幅提高了工程師的開發效率。微軟研究院則開發了基于大模型的自動測試工具,它可以自動檢測代碼中的 Bug,并生成相應的測試用例。經過實測,該工具在發現錯誤率和測試覆蓋率上都能超越人工編寫的測試用例。目前它正在幫助微軟各產品線提升測試質量。

中興通訊以大模型為中心賦能企業數智化轉型,堅持先自用再外溢。除自研大模型之外,我們還基于開源的大模型開發微調后在研發效能領域進行應用,并分析其優勢和挑戰。通過對相關研究和實踐案例的綜述,發現大模型在輔助編程和研發效率提升方面具有巨大潛力。在本文中,我將分享我們在研發類大模型的一些應用與實踐,希望對開發者們有所裨益。

研發類 AI 場景分析

研發流程非常繁多,從項目立項到需求分析,再到產品設計、研發,再進行測試,進而投產和運維,貫穿了復雜的管理流程。

基于大模型的需求管理

對需求進行自動拆分,即把用戶需求拆分成產品需求。

大模型能對用戶提出的需求進行語義理解,識別其內在結構與邏輯關系,自動將需求拆分成獨立的子需求。比如從一個用戶定義的需求,自動提取出多個具體的產品需求點。

自動補全

(1)對需求進行自動介紹,指出需求背景、用戶痛點以及實現該需求能為用戶帶來的價值。

(2)將用戶用簡單語言說明的需求,轉化為標準的產品需求格式,詳細描述功能點和約束條件。

(3)根據需求類型和項目階段自動生成驗收標準與測試用例。

自然語言查詢/定義

具體包括:

(1)用戶能通過日常話語式描述搜索到相關工作任務。例如搜索“如何實現單點登錄”。

(2)用戶通過在線對話的方式與系統交互,利用自然對話流程定義需求內容。

此外,大模型還可以為需求管理提供以下能力:

(1)識別需求之間的依賴關系,繪制需求關系圖。

(2)利用主觀概率算法為每個需求點評估重要程度與難易程度。

(3)通過對歷史需求數據進行學習,提出可行性評估與風險識別。

分析設計

內容生成

(1)根據需求內容自動提煉重點,生成不同層級的內容提綱供瀏覽。

(2)根據產品類型和功能,繪制系列設計原型圖或流程圖,標識主流程和交互點。

(3)通過創意思維自動編寫故事情景,展現產品如何解決用戶痛點。

(4)對文檔內容進行翻譯、注釋或解釋,協助設計人員更好地理解需求細節。

內容結構化

(1)將圖片、表格等非文本內容引用至正文,生成文檔框架。

(2)在設計文檔中自動標注待完善部分,給出改進建議或待定事項。

(3)檢測文檔風格與格式是否統一,給出轉換建議供修改。

(4)將結構化設計文檔自動生成到各類格式文檔中,如 Word、PDF 等。

此外,分析設計階段還可以利用大模型:

(1)檢測設計方案創新性及可行性,給出評價建議。

(2)將歷史優秀案例自動歸納提取,運用到當前設計中。

開發流水線

資源智能分配

(1)根據歷史任務資源使用狀況,針對不同類型任務動態設置資源上下限。

(2)根據任務并發情況實時調度任務到不同規模的資源池,聚焦于提高整體利用率。

故障定位

(1)通過對比歷史錯誤日志,識別重要提示詞進行分類,快速定位錯誤原因。

(2)調用相關開源工具分析異??煺?,給出反向跟蹤步驟以幫助修復。

一鍵生成

(1)根據用戶自然語言自動創建符合用戶需求的流水線。

(2)根據代碼庫結構,結合部門代碼庫和流水線規范,自動生成流水線。

(3)通過 API 調用底層工具,完成流水線的執行。

此外,開發流水線優化還可以:

(1)在不同階段進行分支管理與合并。

(2)監控流水線狀態并發送實時提醒,追蹤任務進度。

(3)支持流水線模板管理和多項目重復應用。

CCA

漏洞自動治理

(1)針對代碼漏洞、引入組件、開源合規、安全漏洞等問題提供一站式解決方案。

(2)當前代碼存在哪些漏洞/問題,推薦如何治理,無需人工搜索。

組件版本依賴

即當某個組件要升級,AI 推薦建議升級版本和依賴版本,減少人工版本探索時間。

測試管理

測試用例代碼生成,即不同粒度的自動化測試用例代碼生成,包括函數級、模塊級、功能級、API 級、性能級。

自動創建測試環境,即自動創建測試環境、測試執行任務并執行,最后生成測試報告。

自動生成測試文檔,包括:

(1)自動創建測試計劃。根據接口文檔自動創建基準場景和邊界條件測試計劃。

(2)實例化測試記錄。測試通過后自動更新通過率及接口文檔,實時反饋測試進度。

版本管理

實現版本發布無人化,包括文檔自動生成,和版本發布審批決策智能化。

研發大模型應用平臺整體架構和思路

基礎模型選擇思路

對于基礎模型的選擇,在參數上有以下一些考慮:

10B 參數級別

這是目前綜合性能與部署成本的平衡點。像 10B 左右的微型模型,在保留很強生成能力的同時,參數量相對較小,易于部署和精調。

25B - 50B 參數級別

如果有一定預算,可以選擇略大一些的模型,像 GPT-J 25B,具有更全面強大的語言理解和應用能力。若重視研發投入且需要應對更復雜任務,選擇 50B 以下大模型也未嘗不可。

不宜超過 100B

超過 100B 的天然語言處理大模型,由于其部署和使用成本還不可控,當前尚不宜直接應用于產品。

總體而言,當前 10B - 50B 之間的模型規模是一個比較適宜的選擇窗口。它可以滿足大多數日常需求,同時考慮到成本和易用性的因素,超過這個范圍就需要根據實際應用場景具體權衡。

其次,還需要考慮模型的開源程度。半開源模型信息不對稱度高,我們優先選擇完全開源的模型,可以推進后續定制和社區研發。

綜上所述,對基礎模型選擇的標準如下:

具備編程領域能力,在編程類模型評估中各類語言得分越高越好(HumanEval/Babelcode 指標)。

考慮模型參數量,參數量過大,會導致精調和部署成本的提升。

在編碼能力基礎上,最好具備一定中文能力,當然其選擇的優先級低于編碼能力。

當前主流的基礎模型如表 1 所示,最終我們選擇 Code LLaMA 作為基礎模型。

表 1 主流模型對比

5cf9ba9a-d070-11ee-a297-92fbcf53809c.png

增強預訓練

模型選好后,接下來就是對模型進行增強預訓練。增強預訓練的框架要解決兩個問題:資源和速度。我們采用以下優化方式:

對于模型訓練,我們可以采用 3D 并行訓練的方式來實現。將模型參數和梯度張量劃分為多個分區,分配到不同 GPU 卡上進行計算。每張卡負責自己分區的梯度和參數更新工作,間隔時同步到其他卡上。這樣可以很好地利用更多計算資源,降低單卡資源需求。

同時,我們還可以采用 Distributed Data Parallel 的方式,將訓練數據并行讀取和樣本處理工作分發到各節點,充分利用多卡資源進一步提升訓練速度。對于節省 GPU 資源,我們使用 ZeRO 技術。這個技術通過對靜態和動態參數/張量進行精細地分區存儲,有效減少顯存占用。同時它支持異步參數更新,計算和參數傳輸可以重疊進行,有效縮短迭代周期。

對于模型訓練加速,我們采用 FlashAttention 技術。它通過對注意力操作進行分塊并進行融合,如將 QK 乘積和后續運算融成一個算子,可以大幅減少數據傳輸次數,從而提升計算吞吐。

訓練數據組織及語料庫建設

訓練數據組織

明確訓練數據的來源、用途和特點。在組織訓練數據前,要了解數據的來源,確認其可靠性和有效性。同時,要明確這些數據將用于哪些任務,并了解其特點,如數據量的大小、數據類型等。

進行數據預處理。預處理是組織訓練數據的關鍵步驟,包括數據清理、去重、變換等。數據清理主要是去除無效、錯誤或重復的數據;去重則是去除重復的信息,以避免模型過擬合;變換則是對數據進行必要的轉換,以便于模型的學習和訓練。

合理組織訓練數據。首先要將數據進行分類,按照不同的任務需求劃分不同的數據集。例如,可以將數據集分為訓練集、驗證集和測試集,以便于模型的訓練和測試。同時,要合理存儲數據文件,可以選擇常見的存儲格式,如 CSV、JSON 等,并確保文件的安全性和完整性。

5d047c82-d070-11ee-a297-92fbcf53809c.png

圖 1訓練數據組織及語料庫建設架構

語料庫建設

語料庫是語言學研究的基礎,為自然語言處理任務提供豐富的語料信息。建設語料庫的目的是為了滿足特定語言任務的需求,如文本分類、情感分析、信息提取等。

選擇合適的語料庫構建方法。常用的語料庫構建方法有手工采集、自動化采集和混合采集。手工采集適用于小規模、高質量的語料庫建設;自動化采集則可以快速地獲取大量語料信息;混合采集則是結合前兩種方法的優勢,以獲得高質量且大規模的語料庫。

做好語料庫的管理和維護。為了確保語料庫的安全性和可靠性,需要對語料庫進行科學的管理和維護,這包括文件管理、關鍵詞提取、數據備份等。要建立完善的文件管理制度,對語料庫進行合理的分類和存儲;同時,要定期對語料庫進行關鍵詞提取,以便于檢索和使用;此外,還要定期備份語料庫數據,以防止數據丟失或損壞。

精調方法選型

接下來,需要對大模型進行精調。針對已經預訓練好的研發大模型,在具體應用任務上進行優化和微調,以適應研發領域和應用場景的需求。在精調中,面臨的問題包括:

顯存占用量超過預訓練需求

大模型通常需要大量的顯存來存儲模型參數和中間狀態,而顯存的有限性限制了模型的規模。在進行精調時,如果使用的數據量較大或者模型的復雜度較高,顯存占用量可能會超過預訓練的需求,導致模型訓練失敗或效率低下。

計算量超過預訓練需求(單位數據量)

大模型通常需要大量的計算資源來進行推理和訓練,這包括 CPU 核心數、GPU 內存和顯存等。在進行精調時,如果使用的數據量較大或者模型復雜度較高,計算量可能會超過預訓練的需求(單位數據量),導致模型訓練速度變慢或者無法收斂。

此外,大模型精調還可能面臨其他問題,如模型復雜度過高導致調參困難、數據量過大導致過擬合風險增加等。因此,在進行大模型精調時,需要根據實際情況進行權衡和優化。

5d3c8f50-d070-11ee-a297-92fbcf53809c.png

圖 2精調方法選型

精調需要達到降低計算和存儲成本、提高泛化能力和輕便性、克服災難性遺忘的問題、根據不同任務動態地調整額外參數的效果。因此,我們需要在保持預訓練模型的大部分參數不變的情況下,只微調少量額外的參數。在資源足夠的情況下,也可以選擇全量精調(選型可參見圖 2)。

研發大模型實踐結果

截至 2023 年三季度,我們針對研發場景的大模型在公司內部上線在短短兩個月的時間里就取得了顯著的效果。用戶超過 3000 人,30 日留存率超過 50%,產品成功完成冷啟動。在這背后是僅使用了 4 張 A800 卡,這意味著 AI 編程成本完全可以被企業所接受。需要注意的是,AI 編程對人員能力有比較高的要求,需要對員工進行系統性培訓,才可能用得更好。

當然,大模型的使用也面臨一些挑戰,如計算資源需求和數據隱私問題。這些挑戰主要來自于大模型龐大的計算規模和對大量個人敏感數據的依賴。經典的大模型需要大量 GPU 資源進行訓練與推理,離線部署效率低下;同時由于學習自大量的互聯網數據,模型內可能含有用戶隱私信息。

因此,未來的研究應重點關注如何利用分布式計算和隱私保護技術等手段,來解決大模型計算資源和數據隱私的問題。例如采用 Model Parallel(模型并行)和 Data Parallel(數據并行)方法降低單機硬件需求,使用關注點機制和微分隱私等隱私算法來保護用戶數據等。同時也應探索如何設計支持在線增量學習的大模型架構,有效應對業務需要持續迭代優化模型的需求。只有解決這些建設性的挑戰,大模型才能在軟件研發深度應用和持續推廣。

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4774

    瀏覽量

    129351
  • 大模型
    +關注

    關注

    2

    文章

    2545

    瀏覽量

    3163

原文標題:大模型在研發效率提升方面的應用與實踐 | 新程序員

文章出處:【微信號:AI科技大本營,微信公眾號:AI科技大本營】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    我在大模型應用之RAG方向的探索、實踐與思考

    。 本文將從背景、核心工作、業務實踐與反饋以及未來展望等幾個方向進行介紹。 背景介紹 大語言模型(LLM)在自然語言處理和自然語言理解方面取得了重大突破。大模型與應用場景的結合有助于可以在降低成本的同時提高
    的頭像 發表于 06-28 16:20 ?1363次閱讀
    我在大<b class='flag-5'>模型</b>應用之RAG方向的<b class='flag-5'>探索</b>、<b class='flag-5'>實踐</b>與思考

    如何提升單片機開發技術?

    地優化程序的代碼,提高程序的運行效率和響應速度。 4. 不斷進行實踐和研究,探索新的優化方法和技巧,能夠更好地提升自己的技術水平。
    發表于 01-05 10:14

    【大語言模型:原理與工程實踐探索《大語言模型原理與工程實踐

    的未來發展方向進行了展望,包括跨領域、跨模態和自動提示生成能力方向,為讀者提供了對未來技術發展的深刻見解?!洞笳Z言模型原理與工程實踐》是一本內容豐富、深入淺出的技術書籍。它不僅為讀者提供了大語言模型
    發表于 04-30 15:35

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    超出預期的能力和表現。這種能力主要體現在學習能力提升、語言理解和生成能力,以及創新和探索等方面。大語言模型擁有更大的參數空間和表征能力,能學習更復雜、更抽象的模式和特征,從而在各種任務中展現出優秀的泛
    發表于 05-04 23:55

    【大語言模型:原理與工程實踐探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關于大語言模型內在機理和應用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的
    發表于 05-07 10:30

    《開關電源設計與調試》課程建設實踐探索

    《開關電源設計與調試》課程建設實踐探索,《開關電源設計與調試》課程建設實踐探索
    發表于 06-15 23:36

    阿里巴巴敏捷研發探索實踐

    教練何勉、張迎輝、張燎原為大家分享阿里巴巴的敏捷實踐,從中大家可以了解到互聯網產品全生命周期的探索和創新方法,看板方法如何助力阿里健康醫藥B2B業務發展,以及與敏捷教練一起互動交流如何將敏捷理念實施
    發表于 03-07 17:26

    如何提升模型能力?

    目標檢測的模型集成方法及實驗常見的提升模型能力的方式
    發表于 02-24 07:10

    體驗最新測量應用技術,提升產品研發效率

    體驗最新測量應用技術,提升產品研發效率 泰克2004-2005年示波器新產品發布暨測量技術系列研討會全面展開。中國,北京2005年1月2
    發表于 08-15 08:09 ?463次閱讀

    移動通信 雙語教學探索實踐

    移動通信 雙語教學探索實踐,很好的網絡通信資料,快來學習吧。
    發表于 04-19 11:30 ?14次下載

    廈門航空牽手阿里云打造航空業移動研發中臺,研發效率提升50%

    11月4日,廈門航空與阿里云宣布合作打造航空業“移動研發中臺”。該項目將基于阿里云企業級移動研發平臺EMAS,結合廈門航空在航空業數字化探索實踐聯合
    發表于 11-14 23:06 ?449次閱讀

    AI環境探索模型升級 縮小搜索范圍效率更高

    近日,卡內基·梅隆大學、臉書等機構的研究人員提出了一個新的AI環境探索模型。這個新模型綜合了傳統環境探索模型和基于學習方法的環境
    的頭像 發表于 02-13 10:31 ?2105次閱讀

    魔方大模型在智能汽車領域的應用實踐探索

    汽車領域最新的應用實踐探索。 當前,大模型的出現正在加速信息技術進入智能原生時代,并使得人機自然交互真正成為可能。而混合AI,端云協同等人工智能技術新的發展趨勢,為大模型在汽車領域的
    的頭像 發表于 08-30 10:01 ?1587次閱讀

    軟通動力受邀參加“昇思MindSpore AI框架”主題論壇,持續探索模型創新實踐

    、云集成業務部總經理楊磊受邀參加,并發表“軟通動力基于昇思MindSpore的大模型產業創新實踐”的主題分享,持續探索模型創新實踐。 會上
    的頭像 發表于 09-21 21:20 ?899次閱讀

    潞晨科技Colossal-AI + 浪潮信息AIStation,大模型開發效率提升10倍

    的潞晨科技Colossal-AI系統,用戶可實現在本地算力平臺一鍵訓練、微調、推理、部署大模型,將大模型開發效率提升10倍以上,并將算力效率
    的頭像 發表于 03-01 09:43 ?537次閱讀
    潞晨科技Colossal-AI + 浪潮信息AIStation,大<b class='flag-5'>模型</b>開發<b class='flag-5'>效率</b><b class='flag-5'>提升</b>10倍
    赌王百家乐官网的玩法技巧和规则| 888百家乐官网的玩法技巧和规则| 平和县| 大发888 大发国际| 百家乐任你博赌场娱乐网规则| 百家乐澳门百家乐| 柬埔寨百家乐官网的玩法技巧和规则| 百家乐官网网络游戏平台| 长宁县| 百家乐tt娱乐平台| 百家乐是骗人的么| 君怡百家乐官网的玩法技巧和规则| 带有百家乐官网的棋牌游戏有哪些| 肥西县| 网上赌博网址| 大发888注册奖金| 黄金城百家乐苹果版| ag百家乐下载| 澳门百家乐国际| 百家乐破解之法| 发中发百家乐官网的玩法技巧和规则 | 做生意开店风水| 百家乐官网官网网站| 立即博百家乐官网娱乐城| 百家乐官网十佳投庄闲法| 辽阳市| 最好的网上真人赌博| 明升 | 娱乐城豪享博主推| 大发888娱乐场菲律宾| 太阳城娱乐正网| 缅甸赌场| 免费百家乐统计工具| 刀把状的房子做生意| 澳门百家乐官网路单| 网上玩百家乐官网的玩法技巧和规则| 网上百家乐官网返水| 百家乐官网游戏网站| 太阳城百家乐官网作弊| 百家乐官网3宜3忌| 百家乐官网视频交友|