chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

大模型顛覆研發(fā)模式:字節(jié)跳動是如何在單元測試中落地大模型的?

jf_WZTOguxH ? 來源:AI前線 ? 2023-08-16 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大模型的出現(xiàn)引發(fā)了一場軟件工程革命,它根本性地改變了軟件開發(fā)的流程和方式。當下,越來越多的企業(yè)開始在實際的研發(fā)工作中,結合大模型增強軟件開發(fā)在設計、需求、測試、發(fā)布和運維等各個環(huán)節(jié)中的能力,提高質量和效率。

在接受 InfoQ 采訪時,字節(jié)跳動算法專家張樹波表示,大語言模型是一項人工智能基礎技術的突破,必然會帶來多個行業(yè)的變革。2023 年初,字節(jié)跳動智能服務團隊開始啟動大模型 X 智能單測項目。目前,大模型生成單元測試已經(jīng)在實際業(yè)務中落地。

單元測試是保障項目可靠性的重要手段。傳統(tǒng)的智能單測生成依賴靜態(tài)分析、動態(tài)分析等工具,對不同的語言需要重新適配。隨著模型參數(shù)規(guī)模的提升,模型的代碼理解、代碼生成能力也大幅提升,使用模型端到端的生成單元測試,可以低成本地將單元測試覆蓋到多種編程語言。然而大模型在單測生成任務上仍存在模型幻覺(隨機生成不存在變量名、方法名)和測試分支覆蓋不全的問題。

為解決以上問題,字節(jié)跳動智能服務團隊發(fā)現(xiàn)通過任務微調、強化學習等技術可以提升語言模型的單元測試生成語法正確率和分支覆蓋率。經(jīng)過測試,他們的基于 Bloom 70 億參數(shù)模型的生成效果不弱于通用版 ChatGPT 的水平,并且在低端顯卡上的推理時延只有 ChatGPT 的 25%。且目前大模型單元測試生成分支覆蓋率在實際項目中達到 56%,同時在抖音的 Android、iOS 雙端落地,問題有效性達到 80%,修復率 65%。

在今年 9 月 3-5 日舉辦的 QCon 全球軟件開發(fā)大會·北京站中,張樹波將把以上經(jīng)驗分享給大家。張樹波碩士畢業(yè)于清華大學,先后就職于 vivo、字節(jié)跳動,從事 NLP 算法多年,在智能單測、智能客服、語音助手等業(yè)務場景有豐富的落地經(jīng)驗。

在大會開始前,InfoQ 對張樹波進行了專訪,探索字節(jié)跳動是如何在單元測試中落地大模型的,以及大模型對軟件研發(fā)工作流的改變。以下為對話實錄,經(jīng)編輯。

InfoQ:您在今年 9?舉辦的 QCon 全球軟件開發(fā)?會·北京站上的演講主題是《?模型助?智能單測?成》,為什么會選擇這?主題?

張樹波:2022 年底 OpenAI 發(fā)布 ChatGPT,其效果令人大為震撼,曾經(jīng)讓 NLPer 困擾的自然語言處理問題,例如歧義、長程依賴、知識缺失、推理能力不足等,都得到了很大程度的緩解和解決。大語言模型是一項人工智能基礎技術的突破,必然會帶來多個行業(yè)的變革。2023 年初,我們字節(jié)跳動智能服務團隊啟動了大模型 X 智能單測項目,探索至今,大模型生成單元測試已經(jīng)在實際業(yè)務中落地。這其中我們總結出了一些經(jīng)驗,希望能夠幫助聽眾。

InfoQ:對于這波?模型結合軟件開發(fā)應?熱潮,您觀察到哪些有趣的趨勢?

張樹波:大模型會讓開發(fā)更輕松。大模型代碼生成會降低開發(fā)者編寫重復性代碼,但是不意味者開發(fā)門檻降低,開發(fā)者需要具備辨識模型生成是否正確,以及對最終上線負責。當前大模型生成的代碼還不能保證絕對正確,甚至有些隱蔽的錯誤,不容易被新手開發(fā)者發(fā)現(xiàn)。從這個角度來看,大模型對有經(jīng)驗的開發(fā)者助益更大。

大模型如何改變傳統(tǒng)單測生成? InfoQ:在?模型出現(xiàn)以前,傳統(tǒng)的智能單測?成?法是什么樣的?存在哪些痛點?

張樹波:傳統(tǒng)的單測生成應用最廣、最成功的是基于搜索的單測生成,也就是很多場景都會提到的(search based software testing - SBST),其中集成了非常多的程序分析技術,包括各種各樣的靜態(tài)分析、動態(tài)分析以及遺傳算法甚至 constrain solving。但因為語言的特性不同,同樣的分析技術對不同的語言是需要重新實現(xiàn)的。雖然測試生成的原理在不同語言是通用的,但是強依賴于軟件分析技術,那么每新增一種新的語言支持,就需要適配一整套分析技術,成本較大。另外,精確的分析可能會依賴于編譯產(chǎn)物,例如動態(tài)分析,因此要求目標項目進行編譯后才能進行測試生成,提高了生成所需的前置準備要求。

而基于模型的生成可以直接分析源碼,無需編譯,降低生成的要求,大大擴大適應場景。近幾年來應用 repository mining 提升 test generation 甚至 program repair 效果的工作也在逐漸的增加,說明 NLP 中的一些假設在軟工領域也是成立的,比如現(xiàn)有 repository 中包含了 test generation 甚至 program repair 中需要的知識,大家也做了相應的嘗試,學習歷史知識并應用到新的任務中在軟工領域也是大家認可的思路。

InfoQ:應??模型后,智能單測?成?法發(fā)?了哪些變化?實際效果如何?能完全替代傳統(tǒng)的智能單測?成?法嗎?

張樹波:這里先補充一個業(yè)務應用背景,智能單測一般在開發(fā)者代碼編寫過程中 (IDE) 和在代碼提交后 (CI) 發(fā)揮作用,前者要求可讀性、正確性,后者要求正確性、覆蓋率指標。應用大模型后,智能單測由傳統(tǒng)模版生成 + 遺傳算法的方式向端到端的模型生成方式演化。傳統(tǒng)單測在正確性和覆蓋率指標上仍然比大模型生成的要高,在 CI 過程中,仍占主導位置,大模型在其中作為補充。而在 IDE 中,大模型生成單測的可讀性更好,便于開發(fā)者修改,因此在 IDE 中單測更傾向使用大模型生成的結果。

我們智能服務團隊的主要基于 Bloom、starcoder 等開源模型做了測試以及微調,經(jīng)過測試,其中基于 Bloom 的 70 億參數(shù)模型的生成效果不弱于通用版 ChatGPT 的水平,并且在低端顯卡(A30)上的推理時延只有 ChatGPT 的 25%。目前,我們的大型模型單元測試生成分支覆蓋率在實際項目中達到 56%,同時在抖音的 Android、iOS 雙端落地, 問題有效性達到 80%,修復率 65%。同時我們也正在試用火山方舟上大模型的單測生成能力,效果正在評估中。

整體來看,大模型仍有一定局限,發(fā)展有個過程,各有千秋,取長補短,可以融合應用 1+1>2,不同場景可以有不同的應用方式。

InfoQ:?模型在智能單測?成中的應?原理是什么?

張樹波:大模型單測生成屬于代碼生成、文本生成的范疇,旨在通過大模型完成端到端的單測代碼生成。大模型單測生成輸入是待測方法、以及上下文,輸出為單元測試函數(shù)。隨著模型規(guī)模的提升,模型的代碼理解、單測生成能力也大幅提升。

目前智能服務團隊內使用的大模型基座主要是開源模型,例如 Bloom、Starcoder,基于以上大模型,我們對裸模型以及使用單測訓練數(shù)據(jù)微調之后模型,分別做了評估,當前選擇了基于 Bloom7B 的微調模型落地。同時我們團隊在 Java、Swift、Go 等多種編程語言的大模型落地計劃,廣泛收集了公開數(shù)據(jù)集、業(yè)務數(shù)據(jù)集用于微調。

如何提升?模型單測?成準確性? InfoQ:您提到?模型在單測?成任務上仍存在模型幻覺和測試分?覆蓋不全的問題,對于這兩個問題,字節(jié)有哪些解決思路?如何提升?模型單測?成準確性?

張樹波:當前我們使用單測生成任務數(shù)據(jù)在大模型做了微調,讓大模型專注單測生成。實驗表明,通過構建高質量的訓練數(shù)據(jù),可以顯著提升大模型單測分支覆蓋率指標?;谖⒄{后的大模型,通過引入以編譯器、靜態(tài)分析結果作為獎勵的強化學習,可以進一步緩解模型幻覺的問題。微調和強化學習的基本假設是模型在預訓練階段學習到了代碼相關知識,通過微調或強化學習,可以激發(fā)模型的潛力,或讓模型跟隨特定偏好,輸出更好結果。如果預訓練階段沒有過多的對應任務領域的語料,通過繼續(xù)預訓練的方式可以讓模型適配這一領域,然后進行后面的微調和強化學習,可以取得更好的結果。

除了以上方式,另外一種簡單粗暴的方式是提升模型規(guī)模,規(guī)模越大,能力上限越高。

InfoQ:除此之外,?模型在單測?成中還有那些局限性?是否會遇到數(shù)據(jù)質量問題?是否需要考慮隱私和安全問題?有哪些措施可以確保數(shù)據(jù)安全?

張樹波:大模型在單測生成瓶頸在能給大模型提供多少背景信息,如果是一個簡單的函數(shù),沒有涉及任何其他自定義的類,大模型未來可以完美解決,但是涉及其他的類的,甚至是多層的,外層信息稀疏性,會提高輸入的上下文輸入長度,在實際落地中會在輸入長度和生成效果之間做一個取舍。微調數(shù)據(jù)質量非常重要,決定模型是否可用的關鍵因素。關于數(shù)據(jù)安全問題,火山方舟提出了全方位的大模型安全架構,為模型訓練方和使用者提供安全可信環(huán)境。

InfoQ:在?模型助?智能單測?成的過程中,字節(jié)團隊內還積累了哪些經(jīng)驗和教訓?對于希望在項?中應??模型進?智能單測?成的團隊,您會給他們提供哪些建議?

張樹波: 不僅是在大模型助力智能單測生成這個方向,所有大模型 X 某某類似的應用落地都是一項系統(tǒng)工程。在大模型落地過程中,其他兄弟團隊給予了大量的經(jīng)驗和技術支持。

InfoQ:您認為在?模型助?智能單測?成??,還有哪些需要進?步研究和探索的領域 / 挑戰(zhàn)??模型在智能單測?成領域的未來發(fā)展趨勢是什么樣的?

張樹波:目前,我們對于 LLM 的應用仍比較初級,所以首先是最基礎的研究,如何正確激發(fā)大模型在單測任務上的潛力,讓大模型發(fā)揮全部的效果。目前我們探索的手段包括但不限于任務微調、prompt engineering、RL,然后是下一個階段,如何讓模型不斷地增強在特定場景中的效果。另外,大模型的能力和發(fā)展讓原本一些無法通過自動化解決的問題有了新的可能性,比如經(jīng)典的 oracle problem,不僅僅是困擾單測生成,GUI 的測試、program repair 的落地都受限于這個經(jīng)典問題。如果大模型能夠解決 oracle problem,剛才提到的多種軟工技術,會迎來又一個落地的春天,而我們對于這個趨勢充滿信心。

“大模型將對研發(fā)模式產(chǎn)生顛覆性改變” InfoQ:?模型在軟件研發(fā)?作流中最?的價值是什么??模型對軟件研發(fā)?作流的改變,將會如何影響軟件開發(fā)?業(yè)的未來發(fā)展趨勢?

張樹波:毫無疑問,大模型將對研發(fā)的模式產(chǎn)生顛覆性的改變,但這個改變并不會在一夜之間就發(fā)生,會是一個持續(xù)漸進的過程,三年五年甚至十年。隨著大模型的不斷發(fā)展和進化,對于研發(fā)工作流的影響程度會逐漸加深加強。副駕駛 Copilot 是一種比較可能的切入和演進方式,一開始會在一些比較合適的小場景,Copilot 以半自動化的方式對特定任務進行賦能和提效(比如單測的生成),然后隨著模型對代碼的理解能力和推理能力增強,推理結果置信度提升,模型在任務中的重要程度逐步增加,在一些任務上達到和人類同等重要的參與程度。

同時,能力可以泛化推廣到其他相似或者相關的任務,比如 defect detection、fault localization、program repair 等等,成為開發(fā)者的“強化外骨骼”或者最佳搭檔。甚至有可能在不遠的將來,實現(xiàn)通過 prompt 研發(fā)和調試軟件,就像《西部世界》中的場景一樣。

InfoQ:?前市?上存在很多結合?模型的研發(fā)效能?具,但在?些企業(yè)的端到端落地過程中并不理想,也沒有實現(xiàn)提效的突破,這背后可能存在哪些問題?不同規(guī)模的企業(yè)如何通過?模型實現(xiàn)最優(yōu)的研發(fā)效率和質量?

張樹波:大模型適合做推理任務,這是之前單體小模型不具備的能力。在這個基礎上,可以反觀大模型是否在做這類事情。另外當前市面上的開源大模型或者大模型 API 都是通用大模型接口,如果直接在某個領域應用可能存在領域的 gap。大模型本身也存在問題,例如大模型生成內容是有偏的,而且存在模型幻覺、推理錯誤等問題。同時研發(fā)效能工具的需要結合具體業(yè)務落地,我們智能服務團隊,在抖音、直播、剪映做了很多開創(chuàng)性的研發(fā)效能實踐,歡迎大家與我們合作。

大模型應用可以分為幾個層次,API 調用、模型微調、模型繼續(xù)預訓練、模型預訓練,成本依次呈幾何級數(shù)遞增,不同規(guī)模企業(yè)可以簡單衡量下投入產(chǎn)出比,來確定在哪個層面應用大模型。

InfoQ:?模型會對程序員帶來哪些沖擊?程序員和?模型如何更好地共?,實現(xiàn) 1+1>2 的效果?

張樹波:我不認為大模型會減少對程序員的需求量,因為現(xiàn)在大模型還不能替代程序員,也不能為最終結果負責。在我們智能服務團隊的實際業(yè)務中,我們把程序員當成客戶,模型生成的單測為程序員服務,自動化單測檢測出來的問題需程序員解決,大模型和程序本身是共生的關系。

大模型生成代碼能力增強的同時,需要程序員提升自己的專業(yè)能力,能快速判斷大模型生成的代碼是否正確以及生成質量的高低。程序員能力越強,使用大模型生成代碼的質量也會越高,因為通過使用不同的 prompt,可以生成不同質量的代碼。程序員應該擁抱大模型,它可以提高代碼編寫效率,對于一些常識性的問題,它也能做到有問必答,省去網(wǎng)上搜索的時間。

嘉賓簡介

張樹波,字節(jié)跳動算法專家,清華大學碩士畢業(yè),先后就職于 vivo、字節(jié)跳動。從事 NLP 算法多年,在智能單測、智能客服、語音助手等業(yè)務場景有豐富的落地經(jīng)驗。將在 QCon 北京 2023 分享題為《大模型助力智能單測生成》的演講。

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

    關注

    1811

    文章

    49497

    瀏覽量

    258147
  • 字節(jié)跳動

    關注

    0

    文章

    348

    瀏覽量

    9785
  • 大模型
    +關注

    關注

    2

    文章

    3348

    瀏覽量

    4706

原文標題:大模型顛覆研發(fā)模式:字節(jié)跳動是如何在單元測試中落地大模型的?

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    邊聊安全 | 軟件單元測試的設計方法

    上海磐時PANSHI“磐時,做汽車企業(yè)的安全智庫”軟件單元測試的設計方法寫在前面:軟件單元測試的設計是一個系統(tǒng)化的過程,旨在驗證代碼的最小可測試部分(通常是函數(shù)或方法)是否按預期工作。軟件單元
    的頭像 發(fā)表于 09-05 16:18 ?1557次閱讀
    邊聊安全 | 軟件<b class='flag-5'>單元測試</b>的設計方法

    HarmonyOSAI編程單元測試用例

    根據(jù)選中的ArkTS方法名稱,CodeGenie支持自動生成對應單元測試用例,提升測試覆蓋率。 在ArkTS文檔中,光標放置于方法名稱上或框選完整的待測試方法代碼塊,右鍵選擇CodeGenie
    發(fā)表于 08-27 14:33

    模型捉蟲行家MV:致力全流程模型動態(tài)測試

    動態(tài)測試通過模擬真實運行數(shù)據(jù),對模型及生成的代碼進行“全維度體檢”。這一過程層層遞進:從單元測試聚焦單個模塊的精準性,到集成測試驗證模塊間的協(xié)作邏輯,最終通過
    的頭像 發(fā)表于 07-09 16:37 ?841次閱讀
    <b class='flag-5'>模型</b>捉蟲行家MV:致力全流程<b class='flag-5'>模型</b>動態(tài)<b class='flag-5'>測試</b>

    新能源車軟件單元測試深度解析:自動駕駛系統(tǒng)視角

    )。 ? 成本節(jié)約: ?通過虛擬化測試替代部分HIL設備,某車企減少70%的硬件采購成本(約800萬美元)。 ?第四部分:未來趨勢與行業(yè)建議****? ?MBSE與單元測試的深度融合? 基于模型
    發(fā)表于 05-12 15:59

    字節(jié)豆包大模型團隊提出稀疏模型架構

    字節(jié)跳動豆包大模型Foundation團隊近期研發(fā)出UltraMem,一種創(chuàng)新的稀疏模型架構,旨在解決推理過程中的訪存問題,同時確保
    的頭像 發(fā)表于 02-13 15:25 ?871次閱讀

    字節(jié)跳動即將推出多模態(tài)視頻生成模型OmniHuman

    字節(jié)跳動旗下一站式AI創(chuàng)作平臺即夢AI即將迎來重大更新,全新多模態(tài)視頻生成模型OmniHuman即將上線。這款模型字節(jié)
    的頭像 發(fā)表于 02-08 10:53 ?1011次閱讀

    字節(jié)跳動豆包大模型1.5 Pro發(fā)布

    近日,字節(jié)跳動旗下的豆包大模型迎來了全新的升級——豆包大模型1.5 Pro正式發(fā)布。這款全新模型在知識、代碼、推理、中文等多個測評基準上表現(xiàn)
    的頭像 發(fā)表于 01-23 15:24 ?940次閱讀

    字節(jié)跳動發(fā)布豆包大模型1.5 Pro

    字節(jié)跳動正式發(fā)布了豆包大模型1.5 Pro。 全新的Doubao -1.5 - pro模型綜合能力顯著增強,在知識、代碼、推理、中文等多個測評基準上,綜合得分優(yōu)于GPT - 4o、Cl
    的頭像 發(fā)表于 01-23 10:24 ?946次閱讀

    字節(jié)跳動否認與中興通訊合作傳聞

    近日,有關字節(jié)跳動旗下豆包大模型將內嵌手機并與中興通訊探討成立新品牌的消息引發(fā)了市場的廣泛關注。然而,字節(jié)跳動方面對此明確予以否認,稱并未與
    的頭像 發(fā)表于 12-18 10:08 ?1418次閱讀

    【「大模型啟示錄」閱讀體驗】如何在客服領域應用大模型

    在客服領域是大模型落地場景中最多的,也是最容易實現(xiàn)的。本身客服領域的特點就是問答形式,大模型接入難度低。今天跟隨《大模型啟示錄 》這本書,學習大模型
    發(fā)表于 12-17 16:53

    嚴格的單元測試造就完美的軟件

    關鍵系統(tǒng)時,更是對軟件質量提出了極高的要求。而單元測試作為軟件開發(fā)過程中的核心環(huán)節(jié),其重要性不言而喻。 單元測試的作用 單元測試是指對軟件中的最小可測試
    的頭像 發(fā)表于 11-26 13:22 ?665次閱讀

    字節(jié)發(fā)布SeedEdit圖像編輯模型

    近日,字節(jié)跳動公司在其豆包大模型團隊的官方網(wǎng)站上,正式公布了其最新的通用圖像編輯模型——SeedEdit。這款創(chuàng)新性的圖像編輯模型,為用戶提
    的頭像 發(fā)表于 11-12 10:43 ?963次閱讀

    字節(jié)跳動自研視頻生成模型Seaweed開放

    近日,字節(jié)跳動旗下的AI內容平臺即夢AI傳來新消息,宣布自研的視頻生成模型Seaweed即日起正式面向平臺用戶開放使用。這一舉措標志著字節(jié)跳動
    的頭像 發(fā)表于 11-11 14:31 ?917次閱讀

    字節(jié)跳動加速歐洲市場布局,計劃設立AI研發(fā)中心

    近日,字節(jié)跳動宣布了其在歐洲市場的新一輪布局計劃,旨在通過設立AI研發(fā)中心,進一步拓展其在該地區(qū)的業(yè)務版圖。據(jù)相關報道,字節(jié)跳動已開始積極招
    的頭像 發(fā)表于 10-29 11:16 ?1055次閱讀

    字節(jié)跳動計劃在歐洲設立AI研發(fā)中心

    字節(jié)跳動正積極布局歐洲市場,計劃在該地區(qū)設立AI研發(fā)中心。據(jù)知情人士透露,字節(jié)跳動已開始在歐洲尋找LLM(Large Language Mo
    的頭像 發(fā)表于 10-28 11:04 ?1211次閱讀