當前位置: 華文世界 > 科學

全球軟件研發技術大會重磅開幕!精彩不斷:華為自研程式語言倉頡揭秘、軟件開發智能化四大核心能力、讓國產大模型離了輝達也能奔跑

2024-07-06科學

作者 | 【新程式設計師】編輯部

出品 | CSDN(ID:CSDNnews)

軟件早已吞噬世界,當大模型能夠生成程式碼、自己改 Bug,自然語言編程逐漸崛起之時,程式設計師們該何去何從?

7 月 4 日,CSDN 聯合高端 IT 咨詢與教育平台 Boolan 舉辦的 SDCon 2024 全球軟件研發技術大會 在北京威斯汀酒店盛大開幕。大會以「 大模型驅動軟件智能化新範式 」為主題,聚焦大模型智能套用開發、軟件開發智能化與研發效能、AI 與 ML 智能運維、雲原生架構、可觀測性技術、架構設計與演進等軟件開發關鍵技術棧,全方位揭秘 GPT 時代開發者的升級蛻變之道。

其間既有軟件界巨擘 MIT 電腦與 AI 實驗室(CSAIL)副主任、ACM Fellow Daniel Jackson 和世界著名軟件架構大師、雲原生和微服務領域技術先驅 Chris Richardson ,國內技術領軍人物華為程式語言首席專家、倉頡程式語言首席架構師 馮新宇 ,北京智源人工智能研究院副院長兼總工程師 林詠華 ,CSDN 高級副總裁、Boolan 首席技術專家 李建忠 分享對技術前沿的卓見,又有來自微軟、華為、阿裏巴巴、百度、騰訊、字節跳動、小紅書、京東、美團、螞蟻集團、360、知乎、美圖、MIT、賓夕法尼亞州立大學、智源研究院、IDEA、同程旅行、去哪兒旅行、基調聽雲、TYAN、京東雲、TDengine、西雲算力、快遞100、Zoho卓豪、人民郵電出版社異步社區、智優沃、非十科技、Tetrate、eBay、靈雀雲、Datastrato、雲猿生、AutoMQ、支流科技、NineData、衍數科技等四十余家領先企業及組織的技術大咖與專家學者帶來最新的成果展示與實踐經驗,每一位到場的觀眾都受益匪淺。

Daniel Jackson:

AI 無法生成整個套用,是因為你不會找「概念」

上午 9 點, MIT 電腦與 AI 實驗室(CSAIL)副主任、ACM Fellow Daniel Jackson 教授帶來了主題為【軟件設計的要素——概念驅動的軟件設計】的演講 。 他指出了目前開發者面臨的三大困境:軟件結構復雜、安全存在隱患、AI 編程不靠譜,並介紹了「 概念 」這一全新的設計方式,從根源解決這些問題,使軟件實作更廣泛的模組化。

Daniel Jackson MIT 電腦與 AI 實驗室(CSAIL)副主任、ACM Fellow

Dainel 教授先是以三個我們相當熟悉的成功產品作為例子:iPod、WhatsApp 和 Zoom。這幾款產品都在自己的時代遇到了擁有相同實力、相同定位甚至相同功能的競品,但它們都找到了一個典型的「套用場景」。他表示,「 軟件設計應該以套用場景為先,而不是拘泥於規格細節 」,套用場景能最直觀地展現軟件的典型套用方式,並在社交、精神和服務等層面同時滿足使用者。

緊接著,套用場景引出了概念的存在, 正式進入演講的核心:概念。

  • iPod 的例子中,「歌曲」+「iTunes 商店」+「多端同步」是使這款產品成功的概念;

  • 「群聊」是 WhatApps 曾經獨領風騷的創新性概念;

  • 「會議連結」功能 +「影片會議」則是 Zoom 的核心概念。

  • 在這些概念中,有許多都是我們「熟悉的概念」,並沒有真正產生顛覆性的創新,而是所謂的組合創新。

    根據這些例子,Daniel 教授總結出一個道理: 創新往往不是創造新的東西,而是讓原本的事情做起來更加簡單 。他還表示,概念之間不僅可以互動、同步與組合,還能融入產品設計之中,驅動開發者的編程流程。

    最後,Daniel 教授提煉了三道金句:模組化是關鍵、提取「熟悉的概念」、告別敏捷。在 AI 大模型賦能軟件研發的這個時代,他 提倡開發者圍繞概念來革新軟件架構,以模組化為本,徹底擯棄敏捷開發的模式。 由於概念提供了基於大語言模型的程式碼生成所需要的模組化特性,使得基於大語言模型生成整個套用成為可能,「開發者」將搖身一變為「概念設計師」,開辟新的職業道路。

    李建忠:

    演化是智能的本質,杜絕追求一步到位的智能, 軟件開發智能化的四大核心能力

    隨著大模型能力叠代迅猛,AI 賦能軟件研發工具層出不窮,軟件開發在大模型時代將面臨哪些機會和挑戰? CSDN 高級副總裁、Boolan 首席技術專家李建忠在主題為【軟件開發智能化範式思考與探索】 的演講中,直擊語言模型的本質,表示語言對人類知識壓縮有著高度的抽象作用,它不僅蘊含人類知識,還包含思維過程。在心理學研究中,將大腦的運作方式分為系統 1 與系統 2。系統 1(System 1)是直覺系統,快速、無意識、自動化的,腦力耗費不多;而系統 2(System 2)是邏輯系統,遲緩、理性、規劃的,需要高度集中註意力。

    李建忠 CSDN 高級副總裁、Boolan 首席技術專家

    在我們的日常工作與生活中,95% 的決策由系統 1 主導,只有 5% 才會使用到系統 2。但在編程領域則不一樣,除了肌肉記憶之外,絕大部份都是系統 2 的思考。這就是為什麽我們能夠看到當前大模型在系統 1 方面表現良好,但在系統 2 上的表現則差強人意。這也從某種程度上反映了為什麽在嚴肅編程領域,大模型的效果並沒有想象中那麽好。李建忠也參照 Safe Superintelligence 創始人、OpenAI 前首席科學家 Ilya Sutskever 的著名論斷「ANN(數碼神經網絡)與 BNN(生物神經網絡)在數學原理上已基本等同」。

    緊接著,李建忠談到了大模型為計算產業帶來的三大範式轉換:計算範式、開發範式、互動範式。特別地,圍繞智能化軟件開發範式轉換,李建忠深入分享了自己對於大模型這項熱技術在軟件編程領域的冷思考。他認為,軟件系統具有復雜性、動態性、協作性、混沌性的四大特征,當前,業界對於大模型驅動軟件智能化具有四類典型的誤區,分別是:

  • 誤區一:只訓練結果數據,而不訓練過程數據;

  • 誤區二:基於軟件系統的靜態特征來訓練大模型;

  • 誤區三:追求一步到位、一勞永逸的智能;

  • 誤區四:追求一超多能的超級智能。

  • 李建忠指出:大模型正在重構軟件開發,但這並不意味著我們在上個時代積累的經驗(尤其是優秀的方法論和實踐)被廢棄,而是被 AI 壓縮和加速了 。接著,李建忠分別從軟件的」復雜性「、」動態性「、」協作性「、」混沌性「四個方面,結合傳統軟件開發領域積累的寶貴智慧,進行了大模型時代的新思考。

    李建忠表示,在大模型如何應對軟件復雜性方面,抽象仍然是一個高級手段,也是當前軟件研發大模型亟待提升的能力項。在軟件動態性方面, 演化是智能的本質 ,我們需要拋棄對於追求一步到位的智能軟件開發的幻想,不僅要訓練結果程式碼,也要訓練過程數據。軟件工程並非孤立的過程,而是在人類開發者、程式碼審查者、錯誤報告者、軟件架構師和工具(如編譯器、單元測試、程式碼檢查工具和靜態分析器)之間進行的對話。以 Google DIDACT 為例,使用軟件開發過程作為訓練數據來源,而不僅是最終結果(完成程式碼),透過讓模型接觸開發者在工作中看到的上下文,結合他們的響應行為,模型可以學習軟件開發的動態性。在協作方面,李建忠基於著名的「康威定律」, 提出智能時代的康威定律——「智能體的協作溝通架構決定系統設計架構」 。在混沌性方面,智能體的工具能力是橋接傳統」確定性計算「和大模型」概率性計算「的橋梁。

    基於以上探討,李建忠總結了大模型驅動智能軟件開發的四大核心能力:

    1. 抽象能力:抽象能力的提升是大模型思維能力的關鍵;

    2. 演化能力:智能的核心是演化、大模型加速軟件系統叠代;

    3. 協作能力:智能體的協作架構決定系統設計架構;

    4. 工具能力:使用工具解決確定性問題。

    在演講最後,李建忠對於軟件開發智能化範式進行了提綱挈領的總結與展望,帶來了十大關鍵詞。首先是模型能力的展望,包括:(1)擴充套件定律:Scaling Law 仍然在發揮著關鍵作用;(2)提高上下文視窗(3)長期記憶能力(4)System 2 的提升(5)降低模型幻覺。

    其次,在數據語料方面,也有很多值得探索的方向:(6)研發全流程數碼化:如何將當前研發全生命周期中各角色的行為活動數據實作數碼化、並成為訓練大模型的語料;(7)多模態數據訓練:軟件開發領域不止文本和程式碼,還有諸多圖表等形式;(8)將模型做「小」:不必追求所謂的大一統模型,而是基於多個模型,使用智能體協作起來;(9)模型合成數據:用大模型生成的程式碼和設計「餵給」下一個模型訓練;(10)最後是多智能體協同,未來在軟件開發領域一定是一個非常重要的方向。

    Chris Richardson:

    從頭塑造新架構,讓套用開發跟上需求的快速變化

    著名軟件架構大師、雲原生和微服務領域技術先驅 Chris Richardson 在演講中提出了「快速流動架構」 作為適應現代軟件開發需求的新興風格,其重要性在於它不僅加速了廣大開發者軟件交付的速率,還確保了質素的穩定性,這一切得益於其對 DevOps 和團隊拓撲的有力支持。

    Chris Richardson 著名軟件架構大師、雲原生和微服務領域技術先驅

    Chris 首先進行了介紹:DevOps 作為一種融合了開發與運維的原則和實踐體系,致力於推動軟件的快速、頻繁且穩定釋出,它要求構建高效的部署管道並借助 DORA 指標衡量系統效能,以實作對高頻率 Git 推播的敏捷響應。團隊拓撲與組織層面,小型且長期穩定的團隊在高度信任與心理安全的環境下運作,促進了需求、開發、測試及部署環節的無縫協作,顯著提升了團隊效能與靈活性。

    演講中,最精彩的莫過於 Chris 關於架構設計中「 暗能量 」與「 暗物質 」的比喻,前者象征著微服務、團隊自治以及快速部署管道所帶來的「排斥力」,推動系統邊界向外延伸;而後者則代表了簡化互動、高效交流與偏向 ACID 而非 BASE 事務處理的「吸重力」,促使系統內部緊密相連。微服務架構的核心目標在於設計松散耦合的服務,避免分布式單體的陷阱,確保服務間API的互操作性,同時,獨立部署能力保證了更新維護的便捷性。

    為了規避分布式單體架構的風險,快速流動架構應運而生。Chris 表示,快速流動架構能呈現出一種適應 VUCA(易變性、不確定性、復雜性、模糊性)環境的特質,它不僅加速了軟件交付過程,更在質素與效率之間找到了平衡點,完美契合了現代業務環境下的持續變化需求。

    馮新宇:

    做好當代、迎接未來,華為自研程式語言倉頡背後的思考

    華為程式語言首席專家、倉頡程式語言首席架構師、南京大學教授馮新宇帶來了備受期待的【倉頡:一款全場景智慧化套用程式語言】 主題演講,這也是倉頡歷經 5 年研發攻關以來,在 HDC 之外,首次在業界亮相。

    馮新宇 華為程式語言首席專家、倉頡程式語言首席架構師、南京大學教授

    在全球範圍內,程式語言的種類數不勝數,為什麽總是要有新的程式語言出來?為什麽華為會自研倉頡程式語言?

    馮新宇教授首先投擲了這兩個關鍵性的問題。他表示,從技術視角來看,可以總結為要解決特定的技術問題、實作特定的編程理念。產業/技術變革需要新的開發範式,由此聚焦在特定領域,或者是個人興趣或學術界會研究推廣特定的語言範式或特性。馮教授以大家所熟知的物件導向語言為例,其最早即起於仿真領域。

    而從開發者生態視角來看,無論是微軟對 C#,蘋果對 Swift,Google 對 Go、Dart 乃至 Kotlin 的大力投入與支持,其共性都在於,由平台型企業主導的繁榮開發者生態。

    基於這兩方面的考慮,倉頡希望能夠繁榮 HarmonyOS 套用生態,打造最適合 HarmonyOS 的套用開發語言,並將能力輻射到其他領域, 支持全場景套用開發,迎接智能化、空間化、一體化的產業與技術變革。 在這樣的前提下,馮新宇教授深入分享了倉頡語言「做好當代+迎接未來」的設計理念和技術特性。

    所謂做好當代,即倉頡作為一門通用的程式語言,倉頡覆蓋套用開發和框架/中介軟體層,希望在效率(表達力豐富、易學易用、高效並行)、安全(安全編碼)、效能(高效能 FFI、輕量化執行時、充分編譯最佳化)三者之間實作更好的平衡。

    在具體的技術路線上基於類別系統、記憶體管理維度對倉頡明確了研發重點—— 自動記憶體管理的靜態類別語言。在類別系統方面,支持函數式、命令式和物件導向等多種範式,語言特性包括值類別、類和介面、泛型、代數數據類別、模式匹配以及高階函數等。

    而為了「迎接未來」,倉頡團隊深入思考大模型下的套用開發將有大模型作為執行時服務和大模型輔助生成程式碼兩大方式,各有挑戰。對於前者,需求的精確描述(Prompt)、與大模型的互動、服務的編排、結果的校驗等是重點。基於此,馮新宇教授披露,倉頡正在基於基於倉頡的 eDSL 能力構建 Agent 原生智能套用開發。

    對於後者,馮新宇教授在現場投擲了非常關鍵的思考 —— 從生成程式碼的角度來說,程式語言能夠做什麽事情?程式碼生成需要和 IDE 配合良好,在設計程式語言時,更容易寫還是讀是關鍵。馮新宇教授表示,有了大模型之後,寫程式碼的負擔得到降低,但由於大模型的黑盒內容,程式碼的可讀性、評審測試驗證登能力變得更加重要。如何讓大模型生成更高質素的程式碼,就對程式語言提出了需要更加聲明式、抽象級別更高的要求。


    林詠華:

    讓整個產業沒有難用的算力,支撐大模型繼續奔跑

    輝達 p00 供不應求,顯卡租賃動輒數萬美元,在全球都面臨著算力緊缺的時候,國內開發者還剩下哪些選擇? 北京智源人工智能研究院副院長兼總工程師林詠華以「大模型及多元 AI 芯片時代的軟件開發」 為出發點,深入探討了這一問題。所謂「多元」,便是指除輝達以外的國產 AI 芯片,當前的軟件開發者被輝達這座高墻堵住,面臨著前所未有的機遇和挑戰。為了實作多元異構 AI 芯片 + 大模型開發,林詠華提出了兩大挑戰:「芯片異構」和「集群異構」。

    林詠華 北京智源人工智能研究院副院長兼總工程師

    大模型的興起為軟件開發提供了新的方向,包括編程助手、智能對話替代 GUI、基於語言模型的自動化互動等方向的發展。然而,林詠華強調了現實的「骨感」:現在許多模型廠商積極地在 HumanEval 等測評榜上「刷分」,如 GPT-4o 和 Claudu 3.5 Sonnet 等模型都取得了 90% 以上的好成績,但若選用更貼近開發者日常編碼情況的 TACO 測評,並限制刷榜,只取 pass@1(只測一次)的成績,會發現許多程式碼生成模型的能力「慘不忍睹」,當前程式碼生成模型的能力還存在局限,需要開發者編寫邏輯保護程式碼進行補充。

    隨著程式碼生成模型的發展,開發者對算力的需求也在飛速增長。模型尺寸的增加、訓練數據量的上升導致了計算需求的顯著增長。林詠華表示,國內先進算力的供應不足,導致算力價格並未遵循摩爾定律,面臨算力缺口的挑戰。這要求國內的 AI 芯片能夠補上這一缺口,支持大模型的訓練和推理工作。

    緊接著,林詠華提出了第一大挑戰「芯片異構」的核心命題:我們能否讓軟件開發者感受不到 AI 芯片的差異?在國內,存在多種不同架構的AI芯片,這些芯片來自不同的制造商,具有各自的編譯器和指令集。這種芯片的異構性給軟件開發帶來了遷移困難、軟件差異、架構差異等問題。為了解決這些問題,智源研究院牽頭打造了基於 Triton 前端程式語言實作通用算子庫的軟硬件生態體系。要克服芯片異構帶來的挑戰,建立一個開源的軟硬件生態體系顯得尤為重要。透過開源算子程式語言(Triton)及其編譯器,智源研究院聯合多家單位共同打造了一個覆蓋主流大模型算子的通用算子庫。這個生態體系得到了多家芯片廠商的支持,並且已經在多個硬件平台上得到套用。

    在分析 AI 芯片「集群異構」的挑戰時,林詠華指出了兩大難題:如何在不同的 AI 芯片集群完成大模型訓練?在資源異構、通訊差異的情況下,又該如何合池不同的 AI 芯片資源訓練一個大模型?為了解決這些挑戰,智源研究院釋出了面向多種 AI 芯片的高效並列訓練推理框架 FlagScale ,該框架能夠在不同 AI 芯片上完成大規模大模型的訓練和微調訓練,並支持不同並列模式的開發。這不僅解決了單一集群訓練的問題,也使得不同 AI 芯片集群可以合池訓練同一個大模型。最後,林詠華強調了自己的願景:「 讓產業沒有難用的 AI 算力,支撐大模型繼續奔跑,實作全面賦能軟件開發。


    高峰對話:軟件開發智能化新範式

    主會的精彩演講令人意猶未盡,而在上午最後的圓桌對話環節中,華為程式語言首席專家、倉頡首席架構師馮新宇,CSDN 高級副總裁、Boolan 首席技術專家李建忠,北京智源人工智能研究院副院長兼總工程師林詠華在 Athena labs CTO 王興明的主持下,圍繞「軟件開發智能化新範式」展開深度的探討與經驗分享,延伸了每位嘉賓的演講內容,為觀眾們答疑解惑。

    對於廣大開發者要如何更有效地利用大模型在軟件開發中的能力,李建忠分析說,「 程式設計師面對復雜問題時,初期傾向於使用分解的方式,但隨著軟件開發的深入,這種策略逐漸不夠用,需要轉向更高階的抽象思維。

    當前大模型在低抽象任務上表現出色,但在高抽象任務上能力不足,這要求開發者找到合適的策略來彌補大模型的這一不足。當前訓練大模型時,僅依靠靜態程式碼或結果導向的訓練方式可能不足以反映軟件復雜度的抽象,因此需要在訓練階段加入更多的高抽象理解。

    李建忠提出,為了更好地使能大模型在軟件開發中的運用,程式設計師需要掌握更多高抽象的技能,而將低抽象的任務交給大模型來完成。他建議在訓練階段增加對高抽象任務的理解,而不是僅僅依賴於靜態訓練 GitHub 上的程式碼。此外,他還強調了前人智慧的傳承重要性,包括敏捷開發和康威定律在內的寶貴經驗,都可以智能化,而不是被忽視。

    馮新宇在對話中提出了他對大模型在軟件開發中套用的看法和理解。他認為,大模型可以在較小的顆粒度上輔助軟件開發,這就像有一個非常高效且博學的同事一樣,盡管「黑盒」的存在會讓這個「同事」偶爾會犯一些低階錯誤。因此,他強調了人腦的配合作用,意味著我們可以將大模型視為工具,幫助我們在各個開發流程中發揮作用,即使大模型不如人類靠譜,但它仍然可以在一定程度上融入現有的工作流程,並處理不確定性過程中的問題。

    最後,馮新宇指出,人類更擅長進行抽象思考,大模型則可以處理具體的工作;既然大模型的全稱是「大型語言模型」,它們透過分析和生成自然語言來進行工作。因此,未來的訓練應該著重於提高人類的資訊結構化和抽象能力,以便更好地與大模型交流和合作。結合人類的抽象能力和大模型的處理能力,每個人都應該在自己擅長的領域內發展,可以更有效地完成軟件開發和其他技術領域中的挑戰性任務。

    針對主流模型的開發和使用問題,林詠華表示,為了適配流行的框架和大模型,例如千億級別的大模型,開發者可以透過稍微修改一些庫檔來快速實作所需功能。她還強調了這種框架和模型對國產化新芯片的支持,旨在降低企業成本並提高開發速度。林詠華最後為廣大開發者給出了一道建議:「聽得再多不如試一下子」,理論學習固然重要,但實際操作和嘗試更為關鍵。她建議每個人都應該親自嘗試使用大模型,以確定它們的實際邊界和適用場景。


    不焦慮純幹貨!

    四大專場同步並列,參會嘉賓熱情高漲

    一如許多與會開發者觀眾的高度評價,全球軟件研發技術大會非常接地氣,不宣揚 AI 無所不能,而是腳踏實地,分享實實在在的實踐幹貨經驗。在主會之後,四大專場同期舉行,聚焦軟件開發智能化、AI 智能套用開發、雲原生架構、可觀測性技術等 12 大備受開發者關註的主題方向,展開精彩分享,現場交流氛圍濃厚,歡迎大家持續關註。

    {現場照片集}

    精彩花絮,展位人頭攢動

    在會場之外的展廳中,基調聽雲、TYAN、京東雲、TDengine、快遞100 、Zoho卓豪、人民郵電出版社異步社區等展位吸引了眾多參會者的目光,現場熱鬧非凡!

    {現場照片集集錦 }

    立即掃碼預約全球軟件研發技術大會 PPT

    」,了解「2024 全球軟件研發技術大會」更多資訊!