AI基礎軟體:如何自主構建大+小模型?
導讀:AI基礎軟體作為大型AI模型的底座,承載著頂層大模型的建設,也是大模型應用落地的關鍵。為了更好地支援大模型的訓練和演進,設計與開發基礎軟體便顯得尤為重要。本文分享了九章雲極DataCanvas如何自主構建大 + 小模型的經驗與心得。
01 介紹
九章雲極DataCanvas以創造智慧探索平臺為使命,懷揣著助力全球企業智慧升級的願景,是中國人工智慧基礎軟體領域的佼佼者。公司專注於自主研發的人工智慧基礎軟體產品系列和解決方案,為使用者提供全面的人工智慧基礎服務,旨在幫助使用者在數智化轉型過程中輕鬆實現模型和資料的雙向賦能,以低成本高效率的方式提升企業決策能力,從而實現企業級 AI 的規模化應用。
02 AIFS(AI Foundation Software)
在大模型時代,我們需要更高效的算力基礎設施,並對其他基礎設施和資源進行管理。為了應對這些挑戰,九章雲極DataCanvas搭建了一個完整的軟體體系AIFS(AI Foundation Software),包括模型工具、大模型能力、人工智慧基礎平臺、算力管理四層。
第一層是算力層。當前國產 GPU 也正在迅速崛起,華為等廠商在大模型領域,以及 GPU 領域取得巨大進展。在算力基礎設施之上,我們構建 GPU Cloud,可以統一管理異構的 GPU 資源,包括英偉達和國產 GPU。透過這種方式降低工程化成本,並提高資源利用率。
第二層以公司自研的DingoDB多模向量資料庫和人工智慧開發工具為主。DingoDB是大模型時代的必備軟體,作為一個分散式向量資料庫,儲存多模態的任意大小的資料,具備高併發、低延遲的實時分析能力,處理多模資料,透過 SQL 實現結構化和非結構化資料的 ETL。在DingoDB之上,產品提供了APS Fast Label、APS LMB、 APS Lab、APS Inference人工智慧開發工具。
透過這個完整的人工智慧技術平臺,使用者可以高效地應對大模型時代的挑戰,快速實現 AI 應用的落地。
第三層包括九章雲極DataCanvas釋出的DataCanvas Alaya九章元識大模型,其支援影片、圖片、文字等多種資料格式。此外,還具備構建小模型的能力,提供包括演算法庫、場景庫、特徵庫和指標庫的“四庫全書”。
最後,構建大模型,我們提供了一整套模型構建工具——LMOPS,包括 Prompt Manager(提示管理器)、Large Model Training(大模型訓練)和 Large Model Serving(大模型服務)。
AIFS是一款行業領先的人工智慧應用構建基礎設施平臺,可以支援大模型和小模型的構建。AIFS 涵蓋了大模型的訓練、精調、壓縮、部署、推理和監控,以及小模型的全生命週期過程。它支援多種模式的建模,可以滿足資料科學家、開發人員以及業務專家不同的建模需求。例如,資料科學家可以按照自己的建模習慣進行建模,開發人員可以從工程的角度去構建大模型,而業務專家則可以從業務的角度出發,在平臺上構建自己的大模型和小模型。
此外,AIFS 平臺上的不同角色人員可以相互協作,輕鬆處理資料,並使用這些資料來開發、訓練和部署任何規模的模型。這意味著,無論是資料科學家、應用程式開發人員還是業務專家,都可以在 AIFS 平臺上找到適合自己的建模方式,並與其他角色人員協作,共同構建人工智慧應用。
03 模型構建工具鏈
在 AIFS 中,有一套完整的工具鏈,旨在賦能大模型和小模型的構建。首先,從資料準備的角度來看,資料可能包括通用資料、行業資料、私域資料以及指令資料等。在資料接入後,需要進行資料處理,如資料清洗、資料變換和資料增強,針對不同型別的資料採取不同型別的處理方式。資料處理完成後,可以進行資料標註,包括人工標註和智慧標註。
資料準備完成後,進入模型開發階段。在模型開發中,首先需要進行模型選型,如常見的 LLAMA 模型,最近開源的 LLAMA2,以及 Falcon 和 Bloom 等。選定模型後,可以使用前期準備的資料進行訓練,以及使用預訓練權重進行繼續訓練等。
訓練完成後,可以進行模型微調,如對齊操作。對於中小企業,可能會面臨 CPU 資源有限的問題,此時可以利用開源的 PEFT 工具進行高效微調。模型微調對齊完成後,需要對模型進行評估,可以使用如LMS評估工具進行評估。常見的評估指標包括 Ceval 和 MMLU 等。
如果現有的 Benchmark 無法涵蓋模型的能力,可以基於 AIFS 構建自己的任務或 Benchmark 進行自定義評估。評估完成後,將模型部署到 LMS 中,進行模型的部署和推理。首先,可能需要對模型進行壓縮,如量化剪枝、蒸餾轉換等操作。模型壓縮完成後,進行部署,支援單機單卡和單機多卡的部署方式。
模型上線後,需要進行模型服務的上線,使用 Prompt Manager 進行模型應用。
1. LMB(Large Model Builder)
LMB(Large Model Builder)是一款專為 AI 工程師打造的大規模預訓練模型訓練工具,旨在幫助他們快速構建訓練流程並實現高效穩定的大模型訓練。該工具包括資料準備、分散式訓練、斷點重訓、任務監控、模型評估幾個主要模組。
透過這些模組,LMB可以有效地幫助 AI 工程師在大規模預訓練過程中快速構建訓練流程,並實現高效穩定的大模型訓練。
LMB的功能架構從下到上分為幾個層次。首先是 GPU Cloud,這是 AIFS 人工智慧平臺的最後一層,也是抹平基礎設施的關鍵元件。在 GPU Cloud 之上,實現了一層分散式任務排程,包括異構算力的統一管理和排程、資源編排、環境分發、任務分發以及任務監控等功能。再往上,有一鍵式分散式訓練環境,支援多種流行的分散式訓練環境預置,如 DeepSpeed、Megatron 和 FSDP 等。
此外,LMB還提供了多種並行方式、梯度累積、混合精度等高效策略,涵蓋了包括斷點、重新啟動等功能。視覺化的 FromScratch 介面,讓使用者能夠輕鬆構建自己的大模型。無論是業務人員還是工程開發人員,都可以透過這個介面選擇所需的模型、資料,以及高階或簡潔模式等引數,進行訓練。訓練成功後,使用者還可以透過視覺化評估功能對模型進行評估。
2. LMT(Large Model Tuning)
LMT,即Large Model Tuning,大模型微調工具,主要幫助 AI 工程師在預訓練模型的基礎上進行模型的繼續訓練、微調和評估等工作。透過視覺化介面,使用者可以設定私域資料、預訓練模型以及相應的訓練引數,進行記憶訓練,並且可以選擇性擴充詞表,避免災難性遺忘,提高模型推理精度。
在模型微調方面,LMT 支援專家模式進行設計,同時也提供簡潔模式。透過專家模式,使用者可以實現一鍵式的高效 PEF指令微調,包括 LoRA 等多種PEFF 方法以及視覺化的 RLHF 訓練。
對於模型評估,LMT 支援開源的 Benchmark 自動評估,使用者也可以進行自定義評估。使用者按照平臺規範構建資料集,設定評估方法,就可以進行一些自定義評估。同時,使用者也可以手動進行專家評估。最後,LMT 可以將自定義模型和開源模型進行對比,生成一個評估效果的 LeaderBoard。
簡而言之,LMT可以為整個大模型調整流程提供支援,從資料準備到繼續訓練,到指令精調,再到人工對齊、RLHF,最終生成一個 final model。
LMT與LMB 有相似的底層架構,比如 GPU Cloud。與 LMB相比,PEFT 在進行指令微調時的資源需求沒有那麼高,但它仍然需要一些強大的硬體設施,因此在底層也需要有一個 GPU Cloud 這樣的算力支援,來平衡技術設施的投入成本。
再往上的架構與 LMB 相似,提供了一個一鍵式分散式訓練環境,包括DeepSpeed、Megatron、MosaicML等多種分散式訓練環境,以及圖最佳化、梯度累積等關鍵要素。
在這個架構中,入口是資料管理,包括資料標註和 SFT 資料增強。例如,企業客戶安裝了 LMT 後,可以管理私域資料,並基於這些資料進行 SFT 資料增強。SFT 資料增強有很多方式,比如使用我們的 self instruct 工具進行資料蒸餾,以獲得更好的模型。
現在,許多開源的大型模型都是基於英文的,有些可能會支援多語言,但中文的支援相對較少,因此需要對這些模型進行詞表擴充。我們的詞表擴充有兩種方式:一種是在改變 embedding 層後再進行 PFT訓練,第二種是使用中英平衡資料進行全量微調。
在完成訓練後,可以進行 SFT,可以透過全量微調或 PEFT 微調來實現。在進行人工對齊(如 RLHF)之前,需要先訓練出獎勵模型,再透過獎勵模型訓練 SFT 模型,以獲得最終的模型。在整個訓練過程中,會輸出一個 train revert 報告,以幫助大家瞭解獎勵模型在訓練 SFT 過程中的表現。
最後,LMT的架構還包括一個任務管理系統,可以監控和排程所有的任務,包括評估任務和三個階段的訓練任務。
3. LMS(Large Model Serving)
LMS(Large Model Serving),即大模型執行工具。所謂執行工具,就是在模型訓練和對齊(如人工對齊)完成後,要透過Prompt Manager 消費模型,因此需要將模型提供為一項服務,並透過 HTTP API 或 SDK 進行訪問。LMS 主要面向工程技術人員,旨在幫助他們快速、高質量地交付大模型,同時降低運維和運營成本。
在 LMS 的功能流程中,首先涉及到模型管理。啟動後,使用者可以匯入模型,支援透過介面操作和命令操作完成匯入。成功匯入模型後,可以進行模型壓縮,如量化和剪枝操作。接著進行模型評估,評估完成後進行部署,將模型上線為一個服務。
在服務上線後,可以對服務進行監控,包括服務呼叫次數、呼叫成功率,以及呼叫消耗的總時長和平均時長等指標。同時,還需要監控資源消耗情況,例如 CPU 資源、GPU 資源(尤其是GPU 資源的利用率、視訊記憶體佔用率)以及記憶體佔用率等資源指標。透過這些監控,確保大模型服務的穩定性和效能。
接下來,將深入探討 LMS 的架構。參見上圖,左側是模型管理 Model Store 模組。在 Model Store 中,可以對已匯入的模型進行全方位管理,如編輯元資訊、評估模型效能等。模型評估涵蓋了自動評估和自定義評估等多個方面。在對模型進行壓縮之後,可以將其部署並上線。當然,也可以在匯入模型後直接在 Model Service 中上線,跳過評估環節。
在 Model Service 中,搭建一個複雜且完善的對外模型服務架構,包括 REST API、gRPC 及其它 API。這些 API 可供 Prompt Manager 呼叫,同時也支援客戶第三方業務系統直接訪問。在 Model Service 中,首層為 Server 的 Gateway,主要負責路由不同模型。當某個模型例項面臨壓力較大或延遲較高時,會根據業務需求進行例項伸縮。
在每個模型例項中,有兩個關鍵要素:互動式推理記憶和 kernel 級加速。互動式推理記憶用於處理與大型模型的多輪互動。例如,向大模型詢問推薦食譜,使用者可能需要與模型進行多輪對話,而大模型需要儲存歷史會話,以保持上下文。互動式推理記憶就是用來快取歷史問話,以便在第二次對話時減少 GPU 推理延遲,提高模型服務速度。
另一個關鍵要素是 kernel 級加速。熟悉底層開發的人員應該都知道,在呼叫模型底層 API 時,可能會多次呼叫 kernel。透過 kernel 級加速,可以對 kernel 進行合併操作(把幾次請求組成一個tensor),以及操作合併(把兩次kernel操作合併成一次操作),從而提高效能。
在消費模型時,可以藉助 Prompt Manager 訪問知識庫,獲取相關上下文資訊,再訪問大模型。
4. Prompt Manager
Prompt Manager是一個提示詞設計和構建工具,旨在幫助使用者建立更優秀的提示詞,引導大模型生成更加準確、可靠且符合預期的輸出內容。該工具可以同時面向技術人員和非技術人員,為技術人員提供開發工具包,同時也為非技術人員提供直觀易用的人機互動操作模式。
在 Prompt Manager 中,包含了幾個核心要素:場景管理、模板管理、提示詞開發以及提示詞應用。這些要素共同構成了 Prompt Manager 的功能體系,為使用者提供了全方位的支援,使其能夠更好地利用大模型生成所需的輸出內容。
上圖展示了 Prompt Manager 的功能架構。自下而上來介紹,首先,在底層,Prompt Manager可以管理大模型服務。透過 LMS 部署的模型對外提供的介面可以配置到 Prompt Manager 中,供提示工程使用。此外,還可以與其它工具(如DingoDB、搜尋引擎等)進行整合。
在提示工程方面,包括 single prompt、multiple prompt 和 prompt flow 等開發方式。假設企業內部有一個業務需要多次訪問大模型,可以採用兩種方式:第一種是在業務系統中將整個流程串起來,每次與大模型的互動後,再進行業務處理;第二種方式是將整個流程封裝成一個 prompt flow,這樣在第一次訪問大模型並獲取結果後,可以進行相應處理,然後將結果傳遞給第二次訪問大模型,以 flow 的形式展現整個過程。
此外,Prompt Manager還提供了模板場景、角色定義(如協作作家、程式設計師等)、prompt開發(包括單個 prompt 和多個 prompt 開發方式)等功能。
最終,可以將 prompt(無論是 prompt flow、single prompt 還是 multiple prompt)提供為一個 prompt 服務,供模型消費。這樣,使用者可以透過對外開放介面或 SDK 直接訪問 prompt 服務。
04 DataCanvas APS 機器學習平臺
DataCanvas APS機器學習平臺,為資料科學家、應用程式開發人員和業務專家提供一整套工具,以便自主輕鬆地處理多源異構資料,並快速、高效地開發、訓練和部署任何規模的機器學習模型,打通企業級大模型和小模型應用的最後一公里。
此外,DataCanvas APS機器學習平臺還具備模型管理功能,構建了智慧應用工具包,以便更好地為企業提供模型服務。
DataCanvas APS機器學習平臺的關鍵特性包括:異構多引擎融合架構;支援大資料分析;全分位的開放式;高效能分散式訓練解決方案;模型全生命週期管理;領先的自動化機器學習(AutoML)技術。
該平臺實現了資料科學家、開發人員和業務專家三位一體的融合建模方式,為資料科學家提供了友好的編碼建模環境,為資料工程師提供視覺化的拖拽建模工具,而對於業務分析師,即使他們對程式碼不甚瞭解,也可以透過自動建模工具進行模型構建。三個角色可以跨團隊、跨專案進行合作,實現高效的模型開發。
來自 “ DataFunTalk ”, 原文作者:路明奎;原文連結:https://server.it168.com/a2023/1026/6826/000006826490.shtml,如有侵權,請聯絡管理員刪除。
相關文章
- 微軟釋出首個大氣AI基礎模型Aurora微軟AI模型
- MiniMax:如何基於 JuiceFS 構建高效能、低成本的大模型 AI 平臺UI大模型AI
- 專注自主研發,加速大資料基礎軟體國產化程式大資料
- 當「軟體研發」遇上 AI 大模型AI大模型
- 擺脫 AI 生產“小作坊”:如何基於 Kubernetes 構建雲原生 AI 平臺AI
- 0編碼構建AI模型AI模型
- https構建(基礎)HTTP
- 軟體測試基礎大總結
- DTCC 2022 | 聚焦湖倉一體資料智慧新趨勢,助推大資料基礎軟體自主發展大資料
- 星環科技平滑遷移方案加速國產化替代,助力大資料基礎軟體自主可控大資料
- 大模型的發展,正在加速企業構建AI中臺大模型AI
- 如何構建高效自主的容器雲交付平臺?
- 中國發布自主開發的域名系統基礎軟體 “紅楓”
- 微服務架構設計基礎之立方體模型微服務架構模型
- 區塊鏈基礎建設見成效,國產自主生態正發展壯大區塊鏈
- 微軟微服務構建框架Dapr基礎入門教程微軟微服務框架
- AI應用體驗-QiWen-Plus大模型之聊天小助手AI大模型
- 鵝廠如何構建大型基礎網路平臺
- 從智慧城市建設,看如何構建智慧安全基礎設施?
- 構建信創基礎軟硬體共同體,DataPipeline與中科曙光完成產品相容互認證API
- nlp基礎之-詞彙表構建的具體做法
- 如何做到 IT 基礎架構軟硬體升級簡單又不停機?架構
- 軟體架構方面基礎-ESB \SOA \GEO-ESB架構
- 基於大模型的智慧體徹底顛覆AI應用大模型智慧體AI
- 如何構建AI文化:AI的啟蒙之路AI
- 如何構建資料倉儲模型?模型
- 零基礎如何學習軟體測試
- 軟體構造第一部分——軟體構造基礎內容梳理
- FD.io VPP軟體架構(一):vppinfra(基礎結構層)架構
- 大模型狂歡背後:AI基礎設施的“老化”與改造工程大模型AI
- 軟體測試學習教程——【大蟒蛇】python基礎Python
- 軟體測試基礎
- 從預測風暴到設計分子,微軟的 AI 基礎模型如何加速科學發現微軟AI模型
- 《大前端 基礎元件》系列 CSS基礎架構前端元件CSS架構
- Java記憶體模型的基礎Java記憶體模型
- 大模型重塑軟體開發,華為雲AI原生應用架構設計與實踐分享大模型AI應用架構
- 如何構建線上線下一體化 AI PaaS 平臺AI
- 如何構建線上線下一體化AI PaaS平臺AI