欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

風(fēng)靡萬千軟件開發(fā)者:揭秘華為研發(fā)代碼大模型是如何實現(xiàn)的?

華為DevCloud ? 來源:未知 ? 2023-12-15 15:50 ? 次閱讀

作者 | 陳泰紅

秉持“自己的降落傘,自己先跳”的原則,由公司裝備部門牽頭,攜手華為云PaaS作為基礎(chǔ)能力提供方,與公司各產(chǎn)品線共同研發(fā)面向產(chǎn)業(yè)的代碼大模型。在研發(fā)過程中,我們已取得初步成果,為了鞏固各產(chǎn)品線的代碼生成探索經(jīng)驗,我們將產(chǎn)品線研發(fā)成果迅速投入業(yè)務(wù)應(yīng)用。在此基礎(chǔ)上,我們總結(jié)了前期的方法和經(jīng)驗,期待更多產(chǎn)業(yè)的加入與交流,共同推動產(chǎn)業(yè)代碼大模型的演進(jìn)與推廣落地。

本文深入探討了當(dāng)前研發(fā)大模型在實際產(chǎn)品中代碼生成能力所面臨的挑戰(zhàn),闡述了探索的總體思路、數(shù)據(jù)標(biāo)準(zhǔn)與語料層次、演進(jìn)策略以及模型訓(xùn)練方案設(shè)計。同時,還介紹了RAG方案設(shè)計以及某產(chǎn)品線Dopra在真實場景中的應(yīng)用,并總結(jié)了一套可快速復(fù)制的方法論。最后,對未來發(fā)展趨勢進(jìn)行了討論:研發(fā)大模型是否有可能取代程序員

一、產(chǎn)業(yè)研發(fā)大模型面臨的挑戰(zhàn)

華為擁有超過10萬名代碼開發(fā)者,每天新增代碼行數(shù)達(dá)千萬級別。在這種情況下,提高開發(fā)過程的效率變得至關(guān)重要。研發(fā)過程涵蓋了需求理解、系統(tǒng)分析與設(shè)計、軟件開發(fā)(包括手工編寫代碼、測試用例、代碼檢視)、系統(tǒng)集成與驗證以及研發(fā)維護等環(huán)節(jié)。在整個研發(fā)過程中,編寫代碼的部分大約占據(jù)20%的比重。在人工智能大模型的時代,為了提升研發(fā)效率,利用大模型輔助生成代碼的需求已經(jīng)迫在眉睫。

在與產(chǎn)品線領(lǐng)域代碼專家進(jìn)行交流時,我們發(fā)現(xiàn),由于產(chǎn)業(yè)數(shù)據(jù)未納入訓(xùn)練過程,開源代碼大模型在研發(fā)階段基本上無法發(fā)揮作用。在產(chǎn)業(yè)領(lǐng)域,我們面臨以下挑戰(zhàn):

首先,信息通信技術(shù)ICT)專業(yè)領(lǐng)域知識繁雜且多變,開源模型未系統(tǒng)學(xué)習(xí)過程領(lǐng)域知識和系統(tǒng)設(shè)計等方面,因此難以處理復(fù)雜任務(wù)。

其次,華為代碼倉庫中存在數(shù)十萬自定義的數(shù)據(jù)類型、函數(shù)API和變量引用,這些代碼的語義復(fù)雜性較高。由于公司部分產(chǎn)業(yè)導(dǎo)向代碼自注釋,結(jié)構(gòu)類型和成員、函數(shù)、變量缺少足夠的人工注釋。

此外,代碼具有單一性,不同產(chǎn)品之間的代碼關(guān)聯(lián)性較小,導(dǎo)致代碼語料數(shù)據(jù)泛化性不足。同時,文本與代碼關(guān)聯(lián)的語料數(shù)據(jù)在質(zhì)量和數(shù)量方面都存在不足。華為嵌入式系統(tǒng)主要基于C/C++開發(fā),C/C++代碼具有固有特征,如頭文件機制使類型和函數(shù)邏輯實現(xiàn)分離,狀態(tài)空間更為龐大。

最后,代碼依賴鏈路較長,涉及Void *、指針、結(jié)構(gòu)體、宏定義、頭文件等多種元素。項目級的跨文件和多層嵌套導(dǎo)致上下文依賴鏈路較長,從而降低了代碼生成的準(zhǔn)確性。

根據(jù)實地考察的業(yè)務(wù)需求以及公司研發(fā)戰(zhàn)略目標(biāo),我們將重點關(guān)注具有業(yè)務(wù)價值的場景。目前,研發(fā)大模型項目組正致力于攻克代碼輔助生成(C/C++/Java/Python)的難題,以構(gòu)建軟件領(lǐng)域的代碼大模型,從而推動軟件開發(fā)領(lǐng)域的新范式。

二、研發(fā)大模型構(gòu)建探索總體思路

為了提高研發(fā)迭代的反饋效率,華為云PaaS大模型團隊制定了5項數(shù)據(jù)標(biāo)注與清洗規(guī)范、以及5個腳本工程項目。

wKgZomV8Bl2AZNSTAAMpL8nsZfM172.png

圖1 研發(fā)大模型探索的總體思路

在整個流程中,從原始訓(xùn)練語料的準(zhǔn)備與清洗、SFT語料的提取,到訓(xùn)練、評估和部署的全自動化操作,華為云PaaS團隊已經(jīng)制定了5個數(shù)據(jù)標(biāo)注和清洗規(guī)范。在訓(xùn)練流水線過程中,涉及到的5個腳本工具(包括清洗工具、SFT提取工具、訓(xùn)練腳本工程、部署腳本工程和IDE插件)也已經(jīng)得到了產(chǎn)品線業(yè)務(wù)專家的認(rèn)可和落實。這些措施顯著提高了大模型研發(fā)的效率。

三、那些數(shù)據(jù)應(yīng)該參與研發(fā)大模型的訓(xùn)練?

數(shù)據(jù)是大模型研發(fā)的基石,其質(zhì)量直接影響到模型的最高性能。若大模型未經(jīng)過專業(yè)領(lǐng)域數(shù)據(jù)的訓(xùn)練,就如同“文科生學(xué)理科”。針對產(chǎn)業(yè)特有的數(shù)據(jù)特征和挑戰(zhàn),我們首先對產(chǎn)業(yè)數(shù)據(jù)的訓(xùn)練配方表進(jìn)行了梳理。明確了訓(xùn)練語料的范圍、目標(biāo)、場景、數(shù)據(jù)標(biāo)準(zhǔn)、處理規(guī)則、處理工具、試點產(chǎn)業(yè)以及質(zhì)量評價等相關(guān)信息。

wKgZomV8Bl6AU7bTAAHZ4zYFam8503.png

圖2 研發(fā)大模型語料層次表

L0 開源階段

對 GitHub、Stack Overflow 等高質(zhì)量數(shù)據(jù)進(jìn)行清洗。

L1 RawCode 階段

清洗華為語料庫中的 30 億 tokens,涉及公司 10 余個產(chǎn)品線,以增強華為業(yè)務(wù)代碼的基礎(chǔ)能力。

L2 領(lǐng)域數(shù)據(jù)-SFT 階段

包括代碼地圖、項目級的跨文件信息以及工程規(guī)范。通過 SFT 指令微調(diào),利用跨文件上下文信息和領(lǐng)域?qū)I(yè)知識,解決生成代碼中的幻覺問題。

RAG階段

RAG(Retrieval Augmented Generation)階段,在 IDE 項目文件中檢索跨文件信息;在向量數(shù)據(jù)庫中檢索 API 接口說明、工程規(guī)范信息。根據(jù) prompt 模板,將用戶的需求描述與上述檢索信息拼接成完整的 prompt,輸入給大模型。

由于 L1/L2 模型訓(xùn)練需要一定周期,業(yè)務(wù)實踐中項目組先使用 RAG 語料驗證效果,逐步探索 L2 SFT/L1 Raw Code 匹配任務(wù),以提升模型的理解能力和研發(fā)效率。

單一的 Prompt 工程/RAG 在一定程度上可以讓模型接觸到專業(yè)領(lǐng)域知識,增強專業(yè)表達(dá)。然而,更為關(guān)鍵的是讓專業(yè)領(lǐng)域知識參與到模型訓(xùn)練過程中。

四、研發(fā)大模型整體演進(jìn)策略與方案設(shè)計

為了提高大模型研發(fā)的效率,我們將整個研發(fā)過程分為兩個階段進(jìn)行迭代和優(yōu)化:

數(shù)據(jù)準(zhǔn)備階段

首先,我們對各產(chǎn)品線的代碼倉庫進(jìn)行評估,挑選出高質(zhì)量的代碼倉庫。接著,根據(jù)華為云PaaS研發(fā)項目組制定的五項數(shù)據(jù)標(biāo)注和清洗規(guī)范對代碼進(jìn)行清洗。在《訓(xùn)練&推理語料層次表》的基礎(chǔ)上,構(gòu)建代碼地圖,并通過人工抽查與腳本校驗自動化執(zhí)行。最后,對訓(xùn)練數(shù)據(jù)進(jìn)行格式統(tǒng)一,生成訓(xùn)練集、客觀評測集和主觀評測集。

訓(xùn)練和評估階段

在該階段中,我們針對第一階段所準(zhǔn)備的訓(xùn)練數(shù)據(jù),在ModelArts平臺上啟動訓(xùn)練任務(wù)。通過每隔x個epoch生成的檢查點(checkpoint)來進(jìn)行訓(xùn)練迭代。在此基礎(chǔ)上,我們進(jìn)行批量模型評估,并將模型部署在Alpha環(huán)境中,以便用戶進(jìn)行評估和使用。

在Alpha環(huán)境中,IDE插件的上下文提取和RAG檢索兩個過程被巧妙地隱藏起來。IDE需要在項目層面跨文件進(jìn)行上下文分析,從而提取當(dāng)前編輯區(qū)域用戶關(guān)注的跨文件上下文信息,并在prompt工程中進(jìn)行組裝。同時,RAG會根據(jù)用戶的輸入和意圖,檢索業(yè)務(wù)知識向量庫。在prompt工程中,上下文信息和業(yè)務(wù)知識將按照重要性進(jìn)行排序,然后送入代碼大模型進(jìn)行推理。生成的代碼經(jīng)過后處理后,最終呈現(xiàn)在IDE用戶界面上。

在研發(fā)過程中,數(shù)據(jù)準(zhǔn)備以及模型的訓(xùn)練和評估并非一蹴而就,而是需要經(jīng)過多次迭代和驗證。訓(xùn)練和評估過程中出現(xiàn)的現(xiàn)象和問題可以為數(shù)據(jù)迭代過程提供反饋。兩個階段緊密銜接,共同推進(jìn)以實現(xiàn)最終的優(yōu)化目標(biāo)。

wKgZomV8Bl6ABB6WAALJLUw4qv4271.png

圖3 研發(fā)大模型整體演進(jìn)策略與方案設(shè)計

五、RAG:研發(fā)大模型的最后“一公里”

模型訓(xùn)練在一定程度上緩解了領(lǐng)域知識匱乏的問題(例如,避免使用不存在的數(shù)據(jù)對象和API,從而減少編譯錯誤和運行錯誤)。然而,由于模型更新迭代周期較長且領(lǐng)域范圍廣泛,在實際產(chǎn)業(yè)應(yīng)用中,仍需結(jié)合領(lǐng)域相關(guān)的《xx使用手冊》、《xx白皮書》和《xx使用指南》等資料,以進(jìn)一步減輕代碼生成中的幻覺問題,提高知識的可追溯性和解釋性。

wKgZomV8Bl6ACZniAAFx-79tXN0867.png

圖4 RAG整體框架圖

RAG的設(shè)計方案和實現(xiàn)形式多樣,我們的RAG方案主要關(guān)注自動化信息抽取和項目級上下文感知能力。

業(yè)務(wù)知識廣泛分布于HTML、PDF、DOC、Word等多種形式,且范圍廣泛且接口不統(tǒng)一。為解決這一問題,項目組結(jié)合知識圖譜和大模型技術(shù),實現(xiàn)結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化信息的抽取,無需人工干預(yù),即可生成低成本且高質(zhì)量的知識。

自動化信息抽取同時解決了知識增量刷新機制的問題:通過工程化方法,克服了LLM知識更新的難題。將業(yè)務(wù)領(lǐng)域知識、華為編程框架、工程規(guī)范等模型所不具備的能力與模型相協(xié)同。在項目級上下文感知方面,基于項目靜態(tài)結(jié)構(gòu)、倉庫演化歷史以及開發(fā)者實時行為,精確檢索與代碼生成任務(wù)最相關(guān)的項目上下文。

以某產(chǎn)品線Dopra開發(fā)場景為例,我們整理了開發(fā)手冊、線下文檔、社區(qū)平臺以及開發(fā)者經(jīng)驗等數(shù)據(jù),匯總成Dopra開發(fā)的領(lǐng)域知識,并將這些知識向量化,存儲到向量數(shù)據(jù)庫中。當(dāng)用戶輸入需求任務(wù)后,通過RAG能力,我們可以獲取與該任務(wù)相關(guān)的開發(fā)經(jīng)驗信息。將這些信息通過“領(lǐng)域經(jīng)驗”提示模板輸入給大模型,從而顯著提高大模型輸出代碼的正確性。

wKgZomV8Bl6ASfDdAAIewUJcrL8670.png

圖5 RAG方案中使用的Prompt版本示例

六、研發(fā)大模型:是否會取代程序員?

許多程序員都關(guān)心一個問題:研發(fā)大模型是否會最終取代程序員?經(jīng)過調(diào)查,我們發(fā)現(xiàn)了一些有趣的觀點。

1. 程序員的需求各異。在對產(chǎn)品線專家進(jìn)行調(diào)研時,我們發(fā)現(xiàn)他們對業(yè)務(wù)非常熟悉,主要關(guān)注行級續(xù)寫或代碼塊續(xù)寫,目的是減少敲擊鍵盤的時間。他們期望模型能順應(yīng)開發(fā)思路給出提示,輔助編碼,而非完全替代開發(fā)。

2. AI編程具有很高的特殊性。

精確敏感性:一個字符的錯誤可能導(dǎo)致代碼不可用,需要人工干預(yù)。 遠(yuǎn)程敏感性:全局變量、父類信息、項目級跨文件信息等大量遠(yuǎn)程(非IDE插件打開的當(dāng)前文件信息)對語義影響很大。

庫敏感性:調(diào)用API庫的語句對函數(shù)的語義影響非常大。

3. AI目前的定位是助手,即開發(fā)人員的智能助手。AI助手并不會替代程序員的思考;它們擅長處理重復(fù)性高、機械性的任務(wù),幫助程序員聚焦高價值點,提升專業(yè)方向的能力。然而,程序員仍需要掌握輔助駕駛的方向盤。

大模型的使用對程序員提出了更高的要求。簡單重復(fù)的工作可以交給大模型,但更高維度的工作,如代碼調(diào)試、通信鏈路聯(lián)調(diào)、項目級別的功能實現(xiàn)等,可能需要經(jīng)驗豐富的架構(gòu)師和資深程序員來把控。

總而言之,研發(fā)大模型將有效提升研發(fā)效率,使程序員能夠更加專注于深入思考,從而減少重復(fù)性和高頻率的工作負(fù)擔(dān)。

文章來自 PaaS技術(shù)創(chuàng)新Lab,PaaS技術(shù)創(chuàng)新Lab隸屬于華為云,致力于綜合利用軟件分析、數(shù)據(jù)挖掘、機器學(xué)習(xí)等技術(shù),為軟件研發(fā)人員提供下一代智能研發(fā)工具服務(wù)的核心引擎和智慧大腦。我們將聚焦軟件工程領(lǐng)域硬核能力,不斷構(gòu)筑研發(fā)利器,持續(xù)交付高價值商業(yè)特性!加入我們,一起開創(chuàng)研發(fā)新“境界”!

詳情歡迎聯(lián)系:

[email protected];[email protected]


原文標(biāo)題:風(fēng)靡萬千軟件開發(fā)者:揭秘華為研發(fā)代碼大模型是如何實現(xiàn)的?

文章出處:【微信公眾號:華為DevCloud】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    216

    文章

    34547

    瀏覽量

    253153

原文標(biāo)題:風(fēng)靡萬千軟件開發(fā)者:揭秘華為研發(fā)代碼大模型是如何實現(xiàn)的?

文章出處:【微信號:華為DevCloud,微信公眾號:華為DevCloud】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙生態(tài)下的AI助力移動應(yīng)用開發(fā)新范式

    夠直接通過人工智能生成。另一方面,大模型技術(shù)顯著提升了開發(fā)效率。它能夠根據(jù)開發(fā)者的簡單描述快速生成大量的代碼片段,大幅度地縮短了編碼時間,為軟件開發(fā)
    的頭像 發(fā)表于 01-06 14:52 ?285次閱讀

    《HarmonyOS第一課》煥新升級,賦能開發(fā)者快速掌握鴻蒙應(yīng)用開發(fā)

    《HarmonyOS第一課》煥新升級,賦能開發(fā)者快速掌握鴻蒙應(yīng)用開發(fā) 隨著HarmonyOS NEXT發(fā)布,鴻蒙生態(tài)日益壯大,廣大開發(fā)者對于系統(tǒng)化學(xué)習(xí)平臺和課程的需求愈發(fā)強烈。近日,華為
    發(fā)表于 01-02 14:24

    我國軟件開發(fā)者數(shù)量突破940萬

    2024開放原子開發(fā)者大會20到21日在武漢舉辦。工業(yè)和信息化部負(fù)責(zé)人透露,我國軟件開發(fā)者數(shù)量突破940萬。 開源就是開放軟件的源代碼,在遵守許可協(xié)議的前提下,任何人都可以使用、修改甚
    的頭像 發(fā)表于 12-24 13:52 ?201次閱讀

    我國軟件開發(fā)者數(shù)量超過940萬

    在近日舉辦的開放原子開發(fā)者大會上,工業(yè)和信息化部負(fù)責(zé)人傳來了一則令人振奮的消息:我國軟件開發(fā)者數(shù)量已經(jīng)突破940萬大關(guān)。這一數(shù)據(jù)不僅彰顯了我國在軟件開發(fā)領(lǐng)域的雄厚實力,也預(yù)示著我國在全球軟件開
    的頭像 發(fā)表于 12-23 11:08 ?298次閱讀

    華為軟件開發(fā)生產(chǎn)線(CodeArts)11 月新功能特性

    華為軟件開發(fā)生產(chǎn)線 CodeArts 是一站式、全流程、安全可信的云原生 DevSecOps 平臺,覆蓋需求、開發(fā)、測試、部署、運維等軟件交付全生命周期環(huán)節(jié),為
    的頭像 發(fā)表于 12-18 09:23 ?327次閱讀

    云端AI開發(fā)者工具怎么用

    云端AI開發(fā)者工具通常包括代碼編輯器、模型訓(xùn)練平臺、自動化測試工具、代碼管理工具等。這些工具不僅降低了AI開發(fā)的門檻,還極大地提高了
    的頭像 發(fā)表于 12-05 13:31 ?190次閱讀

    華為軟件開發(fā)生產(chǎn)線(CodeArts)10 月新功能特性

    、測試、部署、運維等軟件交付全生命周期環(huán)節(jié),為開發(fā)者打造全云化研發(fā)體驗。 華為云 CodeArts 目前已上線 28 款研發(fā)工具,服務(wù)于 3
    的頭像 發(fā)表于 12-01 16:16 ?458次閱讀

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))事件推薦開發(fā)者測試

    意圖框架向開發(fā)者提供真機測試能力,即開發(fā)者可連接設(shè)備進(jìn)行調(diào)測。開發(fā)者完成代碼開發(fā)之后,功能正式上架應(yīng)用市場前,可以在HarmonyOS NE
    發(fā)表于 11-18 17:39

    華為軟件開發(fā)生產(chǎn)線(CodeArts)9 月新功能特性

    【摘要】 華為軟件開發(fā)生產(chǎn)線 CodeArts 是一站式、全流程、安全可信的云原生 DevSecOps 平臺,覆蓋需求、開發(fā)、測試、部署、運維等軟件交付全生命周期環(huán)節(jié),為
    的頭像 發(fā)表于 11-07 18:15 ?293次閱讀

    鴻蒙元服務(wù),軟件開發(fā)者駛向藍(lán)海的一葉飛舟

    鴻蒙元服務(wù)作舟,AI分發(fā)為帆:軟件開發(fā)者駛向流量藍(lán)海
    的頭像 發(fā)表于 06-26 09:39 ?1599次閱讀
    鴻蒙元服務(wù),<b class='flag-5'>軟件開發(fā)者</b>駛向藍(lán)海的一葉飛舟

    中軟國際亮相華為開發(fā)者大會2024

    2024年6月23日,華為開發(fā)者大會(HDC2024)圓滿落幕。本次盛會上,中軟國際作為大會最高級(鉆石級)贊助合作伙伴,受邀參加聯(lián)合發(fā)布、高峰論壇、專題演講、星光直播間、展區(qū)展示等多個環(huán)節(jié),并自主舉辦分論壇,和萬千專家、
    的頭像 發(fā)表于 06-25 09:28 ?819次閱讀

    【《軟件開發(fā)珠璣》閱讀體驗】+ 心得

    ,為軟件開發(fā)者提供了寶貴的經(jīng)驗和智慧。在這篇讀后感中,我將分享書中的精華以及它對我的啟發(fā)。 首先,《軟件開發(fā)珠璣》強調(diào)了軟件開發(fā)和管理的59條經(jīng)驗教訓(xùn)分為6個領(lǐng)域。 需求、設(shè)計、項目管理、文化和團隊
    發(fā)表于 06-23 17:56

    華為開發(fā)者桌面全新發(fā)布 CodeArts IDE for Python,極致優(yōu)雅云原生開發(fā)體驗

    Python 編碼體驗。 Python 是一種編程語言,廣泛用于 Web 應(yīng)用程序、軟件開發(fā)、數(shù)據(jù)科學(xué)和機器學(xué)習(xí) (ML)。Python 以其優(yōu)雅的語法、動態(tài)解釋性、豐富的標(biāo)準(zhǔn)庫、極高的開發(fā)效率深受全球開發(fā)者
    的頭像 發(fā)表于 05-10 00:27 ?1294次閱讀
    <b class='flag-5'>華為</b>云<b class='flag-5'>開發(fā)者</b>桌面全新發(fā)布 CodeArts IDE for Python,極致優(yōu)雅云原生<b class='flag-5'>開發(fā)</b>體驗

    華為云 CodeArts Snap,揭開智能研發(fā)新篇章

    AIGC 浪潮席卷全球,大模型技術(shù)應(yīng)用到軟件開發(fā)領(lǐng)域,正在顛覆傳統(tǒng)的軟件工程。華為云 CodeArts Snap 是一款基于大模型技術(shù)打造的
    的頭像 發(fā)表于 04-07 17:11 ?972次閱讀

    鴻蒙開發(fā)者預(yù)覽版如何?

    在24年的華為鴻蒙發(fā)布會中表示。預(yù)覽版已經(jīng)向開發(fā)者開放申請,首批支持的機型有三款分別為華為 Mate 60、華為Mate 60 Pro、華為
    發(fā)表于 02-17 21:54