在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何在CPU上優化ChatGLM-6B?一行代碼就行 | 最“in”大模型

英特爾中國 ? 來源:未知 ? 2023-08-11 19:15 ? 次閱讀

大語言模型的應用
與微調優化必要性

ChatGPT 的橫空出世開啟了大語言模型 (LLM) 的普及元年,BERT、GPT-4、ChatGLM 等模型的非凡能力則展現出類似通用人工智能 (AI) 的巨大潛力,也因此得到了多行業、多領域的廣泛關注。

為加速這些大模型與特定領域的深度融合,以及更好地適應特定任務,基于任務特性對這些模型進行定制化微調至關重要。

然而,它們龐大的參數使得用傳統方式對大模型進行調優面臨諸多挑戰,不僅要求相關人員熟練掌握微調技巧,還需要付出巨大的訓練成本。

近年來,出現了參數高效微調 (Parameter-Efficient Fine-Tuning, PEFT)和提示微調 (Prompt-tuning)技術。這些技術因其成本更低、應用方式更簡單便捷,正在逐漸取代大模型傳統調優方法。

本文結合目前在中文應用場景中具有出色表現的開源預訓練大模型 ChatGLM-6B,介紹如何通過對其開源 Prompt-tuning 代碼進行極少量的修改,并結合第四代英特爾至強可擴展處理器[1]的全新內置 AI加速引擎——英特爾高級矩陣擴展 (IntelAdvancedMatrix Extension,簡稱英特爾AMX)及配套的軟件工具,來實現高效、低成本的大模型微調。

基于英特爾 架構硬件的
微調優化方案

本文通過以下三個方面實現了基于第四代英特爾 至強 可擴展處理器的 ChatGLM 高效微調優化:

1.借助英特爾 AMX,大幅提升模型微調計算速度

AMX 是內置于第四代英特爾 至強 可擴展處理器中的矩陣乘法加速器,能夠更快速地處理 BFloat16 (BF16) 或 INT8 數據類型的矩陣乘加運算,從而顯著提升模型訓練和推理的性能。

wKgZomToQm2AAUh-AAHhLhHm8Uc236.png

圖 1. 英特爾 AMX 技術架構

目前,現行的 PyTorch 框架中,已經可以通過具備 BF16 自動混合精度功能自動實現對 AMX 加速器的利用。

就ChatGLM-6B而言,其開源微調代碼的 autocast_smart_context_manager() 函數,也已具備對 CPU 自動混合精度的支持。

因此,只需在啟動微調時加入 CPU 自動混合精度的使能參數即可直接利用英特爾 AMX 帶來的優勢。

wKgZomToQm2ANvIgAAM58vzYYPU986.png

圖 2. 通過trainer.py 中的 autocast_smart_context_manager() 函數,在 ChatGLM-6B 開源 prompt-tuning 目錄下實現對 CPU 和 GPU 的自動混合精度支持

具體方法是在啟動微調的 train.sh 腳本時做如下修改:

wKgZomToQm2ATm5dAABREBIKUgc380.png

2.結合英特爾 MPI 庫充分利用處理器架構特點和多核配置,發揮 CPU 的整體效率

第四代英特爾 至強 可擴展處理器最多可擁有 60 個內核。這些內核通過 4 個集群 (cluster) 的方式進行內部組織。

理論上,當多個處理器內核并行處理一個計算任務并需要共享或交換數據時,同一個集群內的內核之間的通信時延較低。

因此,在使用 PyTorch 框架進行模型微調時,我們可以將同一個集群上的內核資源分配給同一個 PyTorch 實例,從而為單個實例提供更理想的計算效率。

此外,通過利用 PyTorch 的分布式數據并行 (Distributed Data Parallel,DDP) 功能,還可將兩個 CPU 上的 8 個集群的內核資源匯集在一起,充分發揮整體效率。

wKgZomToQm2ANbQ6AAs1kZxLKlM400.png

圖 3. 第四代英特爾 至強 可擴展處理器的內部集群 (cluster) 架構

為實現從應用程序代碼到數據通信的整體簡化,PyTorch 框架支持多種分布式數據并行后端 (backend),其中 MPI 后端方式能夠很好地滿足我們的優化需求。

wKgZomToQm6AeOJ3AABqgv42ix4368.png

圖 4. PyTorch 支持的多種分布式數據并行的后端(來源:PyTorch 官網[2]

但是,通過 pip 或 conda 來安裝的預編譯PyTorch 二進制包中并未將 MPI 的后端作為缺省功能編譯。因此,我們需要安裝 MPI 協議工具庫并通過手工編譯來獲得對 MPI 后端的支持。

英特爾MPI[3]是一個實現 MPICH 規范的多結構消息傳遞庫,使用該庫可創建、維護和測試能夠在英特爾 處理器上實現更優性能的先進和復雜的應用。它采用 OFI 來處理所有通信,能夠提供更高的吞吐量、更低的時延和更簡單的程序設計。

以下是基于英特爾MPI庫的 PyTorch 編譯步驟:

下載英特爾 MPI庫并安裝

wKgZomToQm6AFiXtAAEA1aykY1g455.png

安裝 PyTorch 編譯依賴包

wKgZomToQm6ACpszAAAlKepuiRQ309.png

下載 PyTorch 源碼并完成編譯、安裝

wKgZomToQm6AZzXdAABqzQ2JxYA827.png

在獲得了支持 MPI 后端的 PyTorch 后,只需按如下方法在 ChatGLM Prompt-tuning 目錄下的 main.py 修改一行代碼:

將dist.init_process_group(backend='gloo', world_size=1,rank=0) 改為:

dist.init_process_group(backend='mpi')

wKgZomToQm6ACsLBAAJ6J5WOECc618.png

圖 5. 修改前的main.py

wKgZomToQm6AUvVzAAKNZ56mNmg106.png

圖 6. 修改后的 main.py

3.利用至強 CPU Max 系列集成的 HBM 滿足大模型微調所需的大內存帶寬

基于 Transformer 的大模型,由于參數、訓練數據和模型規模的復雜程度較高,因此內存復雜度通常是 O(n2)

這意味著這些大模型需要足夠大的內存帶寬支持才能獲得更好的運行性能。

英特爾 至強 CPU Max 系列[4],配備 64 GB 的 HBM2e 高帶寬內存,為在 CPU 上高效運行大模型提供了高達~1TB/s的內存帶寬支持[5]

該 CPU 集成的 HBM,能夠在 3 種模式下靈活配置:

HBM-Only 模式——支持內存容量需求不超過 64 GB 的工作負載,具備每核 1 至 2 GB 的內存擴展能力,無需更改代碼和另購 DDR,即可啟動系統。 HBM Flat 模式——可為需要大內存容量的應用提供靈活性,通過 HBM 和 DRAM 提供一個平面內存區域 (flat memory region),適用于每核內存需求 >2 GB 的工作負載。可能需要更改代碼。 HBM 高速緩存模式——為內存容量 >64 GB或每核內存需求 >2GB 的工作負載提供更優性能。無需更改代碼,HBM 將用作 DDR 的高速緩存。

針對 ChatGLM-6B 微調,試驗結果顯示:與其他兩種模式相比, HBM 高速緩存模式在性能和使用方便性方面均更勝一籌。

在英特爾 至強 CPU Max 系列產品上,結合之前的兩項優化,我們可以通過以下命令行啟動 ChatGLM-6B 微調:

wKgZomToQm-AUmLlAAOaWcWD-Mo234.png

圖 7. 在擁有 32 個物理核的英特爾 至強 CPU Max 9462 雙路服務器上啟動微調

優化結果

通過以上簡單軟、硬件綜合優化,無須采用昂貴的 GPU 硬件,即可實現對 ChatGLM-6B 模型的高性能微調。

注:以上代碼修改需要配合 python 工具包 accelerate 0.18.0 和 transformers 4.28.0。

作者簡介:

夏磊,英特爾(中國)有限公司人工智能首席工程師,擁有近 20 年的人工智能從業經驗,在軟件算法、自動控制和工程管理等領域積累了豐富經驗。


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

    關注

    61

    文章

    9964

    瀏覽量

    171787
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10863

    瀏覽量

    211786

原文標題:如何在CPU上優化ChatGLM-6B?一行代碼就行 | 最“in”大模型

文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    阿里通義千問代碼模型全系列開源

    近日,阿里云通義大模型團隊宣布了項重大決策:將通義千問代碼模型全系列正式開源。此次開源的模型系列共包含
    的頭像 發表于 11-14 15:26 ?344次閱讀

    軟通動力領導一行訪問福州大學

    軟通動力高級副總裁王曉良、楊念農,軟通教育總裁林濤及福建新東湖集團有限公司董事長陳國平一行來訪福州大學。校黨委陳國龍書記在行政南樓會見了客人并座談交流,郭文忠副校長陪同會見。
    的頭像 發表于 10-10 10:43 ?448次閱讀

    RIMAC與IMD一行來訪聲揚科技,共話AI語音賦能產業升級

    科技聯合創始人、CTO陳東鵬博士等展開深入交流,共同探討AI語音技術在保險行業的創新應用。RIMAC與IMD一行來訪聲揚科技來訪中,RIMAC與IMD一行貴賓深入
    的頭像 發表于 09-30 10:56 ?712次閱讀
    RIMAC與IMD<b class='flag-5'>一行</b>來訪聲揚科技,共話AI語音賦能產業升級

    科大訊飛引領大模型應用新浪潮

    模型的發展浪潮,離不開開發者的推波助瀾。是一行行代碼,構筑起大模型的堅實基座,加速人工智能走進千百業,成為每個人的AI助手。
    的頭像 發表于 09-14 14:37 ?1472次閱讀

    chatglm2-6b在P40做LORA微調

    背景: 目前,大模型的技術應用已經遍地開花。最快的應用方式無非是利用自有垂直領域的數據進行模型微調。chatglm2-6b在國內開源的大模型
    的頭像 發表于 08-13 17:12 ?486次閱讀
    <b class='flag-5'>chatglm2-6b</b>在P40<b class='flag-5'>上</b>做LORA微調

    中國汽研董事長周玉林一行蒞臨國芯科技調研交流

    日前,中國汽車工程研究院股份有限公司(以下簡稱: 中國汽研 ,股票代碼: 601965 )董事長周玉林及副總經理王紅鋼一行蒞臨蘇州國芯科技股份有限公司(以下簡稱“ 國芯科技 ”,股票代碼
    的頭像 發表于 08-13 09:54 ?583次閱讀

    清華PE產投匯一行赴谷東科技考察與交流

    日前,PE產投匯一行赴國家級專精特新小巨人校友企業——谷東科技北京公司進行考察與交流。
    的頭像 發表于 08-13 09:45 ?608次閱讀

    在VSCODE終端make時遇到錯誤要一行一行看然后定位,可以直接跳轉點擊或者VSCODE定位錯誤嗎?

    每次在VSCODE終端make時遇到錯誤要一行一行看然后定位,可以直接跳轉點擊或者VSCODE直接定位錯誤嗎?能給個指引鏈接嗎?謝謝!
    發表于 06-25 07:37

    【AIBOX】裝在小盒子的AI足夠強嗎?

    Firefly推出大語言模型本地部署的產品:AIBOX-1684X,目前已適配主流的大語言模型,包括ChatGLM3-6B,以下是ChatGLM3在AIBOX-1684X
    的頭像 發表于 05-15 08:02 ?444次閱讀
    【AIBOX】裝在小盒子的AI足夠強嗎?

    在uCGUI的回調函數里加了代碼,stm32無法啟動怎么解決?

    我是個初學者。最近在寫個uCGUI的小應用的時候遇到了這樣的問題,我在MULTIEDIT控件的回調函數里加了一行代碼,運行我自己寫的
    發表于 04-24 07:06

    甘肅考察團一行蒞臨拓維信息參觀調研

    4月12至13日,甘肅考察團一行蒞臨拓維信息調研,深入
    的頭像 發表于 04-18 08:14 ?652次閱讀
    甘肅考察團<b class='flag-5'>一行</b>蒞臨拓維信息參觀調研

    貴州大數據產業發展有限公司總經理張雷一行蒞臨拓維信息考察交流

    4月12日,云貴州大數據產業發展有限公司總經理張雷一行蒞臨拓維信息考察交流。拓維信息高級副總裁胡曉棣、拓維信息副總裁汪卓、云鯤鵬總經理蔣真等陪同接待。圖/云貴州大數據產業發展有限
    的頭像 發表于 04-16 08:14 ?735次閱讀
    云<b class='flag-5'>上</b>貴州大數據產業發展有限公司總經理張雷<b class='flag-5'>一行</b>蒞臨拓維信息考察交流

    淺談代碼優化與過度設計

    本文記錄了作者從“代碼優化”到“過度設計”的典型思考過程,這過程中涉及了很多Java的語法糖及設計模式的東西,很典型,能啟發思考,遂記錄下來。 有天Review師妹的代碼,看到
    的頭像 發表于 01-19 10:05 ?549次閱讀
    淺談<b class='flag-5'>代碼</b><b class='flag-5'>優化</b>與過度設計

    三步完成在英特爾獨立顯卡量化和部署ChatGLM3-6B模型

    ChatGLM3 是智譜 AI 和清華大學 KEG 實驗室聯合發布的新代對話預訓練模型ChatGLM3-6BChatGLM3 系列
    的頭像 發表于 01-11 18:04 ?1634次閱讀
    三步完成在英特爾獨立顯卡<b class='flag-5'>上</b>量化和部署<b class='flag-5'>ChatGLM3-6B</b><b class='flag-5'>模型</b>

    ChatGLM3-6BCPU的INT4量化和部署

    ChatGLM3 是智譜 AI 和清華大學 KEG 實驗室聯合發布的新代對話預訓練模型ChatGLM3-6BChatGLM3 系列
    的頭像 發表于 01-05 09:36 ?922次閱讀
    <b class='flag-5'>ChatGLM3-6B</b>在<b class='flag-5'>CPU</b><b class='flag-5'>上</b>的INT4量化和部署
    主站蜘蛛池模板: 久久精品国产夜色| 91日韩精品天海翼在线观看| 午夜在线视频免费观看| 在线视频91| 性夜影院午夜看片| 狠狠色丁香久久婷婷| 免费国产成人午夜私人影视| 男人的午夜影院| 男人的天堂网在线| 人人爽天天爽夜夜爽曰| 国内精品99| 人人做人人爽人人爱秋霞影视| 在线观看不卡一区| 色色色色色色色色色色色色色色| 国产大乳孕妇喷奶水在线观看| 韩日精品| 国产福利99| 男男扒开后菊惩罚| 美女免费视频是黄的| 免费视频精品| 亚洲成人av| 在线播放免费| 日本视频一区二区| 久久精品人人做人人看| 嘿嘿午夜| 四虎在线精品免费高清在线| 夜夜爱视频| 黄网站视频在线观看| 好色成人网| 国产精品任我爽爆在线播放6080| 日韩免费一区| 免费看欧美一级特黄α大片| 亚洲美女激情视频| 一区二区不卡在线观看| 美女视频黄a全部免费看小说 | 四虎院影永久在线观看| 夜夜夜夜曰天天天天拍国产 | 三级五月天| 日本免费人成黄页网观看视频 | 亚洲福利视频网站| 久久第一页|