91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

英特爾中國(guó) ? 來(lái)源:未知 ? 2023-08-11 19:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大語(yǔ)言模型的應(yīng)用
與微調(diào)優(yōu)化必要性

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

為加速這些大模型與特定領(lǐng)域的深度融合,以及更好地適應(yīng)特定任務(wù),基于任務(wù)特性對(duì)這些模型進(jìn)行定制化微調(diào)至關(guān)重要。

然而,它們龐大的參數(shù)使得用傳統(tǒng)方式對(duì)大模型進(jìn)行調(diào)優(yōu)面臨諸多挑戰(zhàn),不僅要求相關(guān)人員熟練掌握微調(diào)技巧,還需要付出巨大的訓(xùn)練成本。

近年來(lái),出現(xiàn)了參數(shù)高效微調(diào) (Parameter-Efficient Fine-Tuning, PEFT)和提示微調(diào) (Prompt-tuning)技術(shù)。這些技術(shù)因其成本更低、應(yīng)用方式更簡(jiǎn)單便捷,正在逐漸取代大模型傳統(tǒng)調(diào)優(yōu)方法。

本文結(jié)合目前在中文應(yīng)用場(chǎng)景中具有出色表現(xiàn)的開(kāi)源預(yù)訓(xùn)練大模型 ChatGLM-6B,介紹如何通過(guò)對(duì)其開(kāi)源 Prompt-tuning 代碼進(jìn)行極少量的修改,并結(jié)合第四代英特爾至強(qiáng)可擴(kuò)展處理器[1]的全新內(nèi)置 AI加速引擎——英特爾高級(jí)矩陣擴(kuò)展 (IntelAdvancedMatrix Extension,簡(jiǎn)稱英特爾AMX)及配套的軟件工具,來(lái)實(shí)現(xiàn)高效、低成本的大模型微調(diào)。

基于英特爾 架構(gòu)硬件的
微調(diào)優(yōu)化方案

本文通過(guò)以下三個(gè)方面實(shí)現(xiàn)了基于第四代英特爾 至強(qiáng) 可擴(kuò)展處理器的 ChatGLM 高效微調(diào)優(yōu)化:

1.借助英特爾 AMX,大幅提升模型微調(diào)計(jì)算速度

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

wKgZomToQm2AAUh-AAHhLhHm8Uc236.png

圖 1. 英特爾 AMX 技術(shù)架構(gòu)

目前,現(xiàn)行的 PyTorch 框架中,已經(jīng)可以通過(guò)具備 BF16 自動(dòng)混合精度功能自動(dòng)實(shí)現(xiàn)對(duì) AMX 加速器的利用。

就ChatGLM-6B而言,其開(kāi)源微調(diào)代碼的 autocast_smart_context_manager() 函數(shù),也已具備對(duì) CPU 自動(dòng)混合精度的支持。

因此,只需在啟動(dòng)微調(diào)時(shí)加入 CPU 自動(dòng)混合精度的使能參數(shù)即可直接利用英特爾 AMX 帶來(lái)的優(yōu)勢(shì)。

wKgZomToQm2ANvIgAAM58vzYYPU986.png

圖 2. 通過(guò)trainer.py 中的 autocast_smart_context_manager() 函數(shù),在 ChatGLM-6B 開(kāi)源 prompt-tuning 目錄下實(shí)現(xiàn)對(duì) CPU 和 GPU 的自動(dòng)混合精度支持

具體方法是在啟動(dòng)微調(diào)的 train.sh 腳本時(shí)做如下修改:

wKgZomToQm2ATm5dAABREBIKUgc380.png

2.結(jié)合英特爾 MPI 庫(kù)充分利用處理器架構(gòu)特點(diǎn)和多核配置,發(fā)揮 CPU 的整體效率

第四代英特爾 至強(qiáng) 可擴(kuò)展處理器最多可擁有 60 個(gè)內(nèi)核。這些內(nèi)核通過(guò) 4 個(gè)集群 (cluster) 的方式進(jìn)行內(nèi)部組織。

理論上,當(dāng)多個(gè)處理器內(nèi)核并行處理一個(gè)計(jì)算任務(wù)并需要共享或交換數(shù)據(jù)時(shí),同一個(gè)集群內(nèi)的內(nèi)核之間的通信時(shí)延較低。

因此,在使用 PyTorch 框架進(jìn)行模型微調(diào)時(shí),我們可以將同一個(gè)集群上的內(nèi)核資源分配給同一個(gè) PyTorch 實(shí)例,從而為單個(gè)實(shí)例提供更理想的計(jì)算效率。

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

wKgZomToQm2ANbQ6AAs1kZxLKlM400.png

圖 3. 第四代英特爾 至強(qiáng) 可擴(kuò)展處理器的內(nèi)部集群 (cluster) 架構(gòu)

為實(shí)現(xiàn)從應(yīng)用程序代碼到數(shù)據(jù)通信的整體簡(jiǎn)化,PyTorch 框架支持多種分布式數(shù)據(jù)并行后端 (backend),其中 MPI 后端方式能夠很好地滿足我們的優(yōu)化需求。

wKgZomToQm6AeOJ3AABqgv42ix4368.png

圖 4. PyTorch 支持的多種分布式數(shù)據(jù)并行的后端(來(lái)源:PyTorch 官網(wǎng)[2]

但是,通過(guò) pip 或 conda 來(lái)安裝的預(yù)編譯PyTorch 二進(jìn)制包中并未將 MPI 的后端作為缺省功能編譯。因此,我們需要安裝 MPI 協(xié)議工具庫(kù)并通過(guò)手工編譯來(lái)獲得對(duì) MPI 后端的支持。

英特爾MPI庫(kù)[3]是一個(gè)實(shí)現(xiàn) MPICH 規(guī)范的多結(jié)構(gòu)消息傳遞庫(kù),使用該庫(kù)可創(chuàng)建、維護(hù)和測(cè)試能夠在英特爾 處理器上實(shí)現(xiàn)更優(yōu)性能的先進(jìn)和復(fù)雜的應(yīng)用。它采用 OFI 來(lái)處理所有通信,能夠提供更高的吞吐量、更低的時(shí)延和更簡(jiǎn)單的程序設(shè)計(jì)。

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

下載英特爾 MPI庫(kù)并安裝

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.利用至強(qiáng) CPU Max 系列集成的 HBM 滿足大模型微調(diào)所需的大內(nèi)存帶寬

基于 Transformer 的大模型,由于參數(shù)、訓(xùn)練數(shù)據(jù)和模型規(guī)模的復(fù)雜程度較高,因此內(nèi)存復(fù)雜度通常是 O(n2)。

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

英特爾 至強(qiáng) CPU Max 系列[4],配備 64 GB 的 HBM2e 高帶寬內(nèi)存,為在 CPU 上高效運(yùn)行大模型提供了高達(dá)~1TB/s的內(nèi)存帶寬支持[5]。

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

HBM-Only 模式——支持內(nèi)存容量需求不超過(guò) 64 GB 的工作負(fù)載,具備每核 1 至 2 GB 的內(nèi)存擴(kuò)展能力,無(wú)需更改代碼和另購(gòu) DDR,即可啟動(dòng)系統(tǒng)。 HBM Flat 模式——可為需要大內(nèi)存容量的應(yīng)用提供靈活性,通過(guò) HBM 和 DRAM 提供一個(gè)平面內(nèi)存區(qū)域 (flat memory region),適用于每核內(nèi)存需求 >2 GB 的工作負(fù)載??赡苄枰拇a。 HBM 高速緩存模式——為內(nèi)存容量 >64 GB或每核內(nèi)存需求 >2GB 的工作負(fù)載提供更優(yōu)性能。無(wú)需更改代碼,HBM 將用作 DDR 的高速緩存。

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

在英特爾 至強(qiáng) CPU Max 系列產(chǎn)品上,結(jié)合之前的兩項(xiàng)優(yōu)化,我們可以通過(guò)以下命令行啟動(dòng) ChatGLM-6B 微調(diào):

wKgZomToQm-AUmLlAAOaWcWD-Mo234.png

圖 7. 在擁有 32 個(gè)物理核的英特爾 至強(qiáng) CPU Max 9462 雙路服務(wù)器上啟動(dòng)微調(diào)

優(yōu)化結(jié)果

通過(guò)以上簡(jiǎn)單軟、硬件綜合優(yōu)化,無(wú)須采用昂貴的 GPU 硬件,即可實(shí)現(xiàn)對(duì) ChatGLM-6B 模型的高性能微調(diào)。

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

作者簡(jiǎn)介:

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


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

    關(guān)注

    61

    文章

    10301

    瀏覽量

    180503
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    225063

原文標(biāo)題:如何在CPU上優(yōu)化ChatGLM-6B?一行代碼就行 | 最“in”大模型

文章出處:【微信號(hào):英特爾中國(guó),微信公眾號(hào):英特爾中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    蘇州市委書記范波一行蒞臨思必馳調(diào)研

    調(diào)研期間,范波一行來(lái)到思必馳,了解人工智能大模型場(chǎng)景研發(fā)應(yīng)用情況。思必馳董事長(zhǎng)、CEO高始興,思必馳聯(lián)合創(chuàng)始人、首席科學(xué)家俞凱進(jìn)行熱情接待。
    的頭像 發(fā)表于 01-10 09:32 ?941次閱讀

    韓國(guó)交通部部長(zhǎng)一行參訪小馬智

    10月17日,韓國(guó)國(guó)土交通部部長(zhǎng)金潤(rùn)德一行抵達(dá)北京亦莊參觀小馬智,并試乘了無(wú)人駕駛Robotaxi。小馬智副總裁高天帶隊(duì)接待了代表團(tuán)一行。隨團(tuán)參訪成員包括韓國(guó)國(guó)土交通部移動(dòng)出行與汽
    的頭像 發(fā)表于 10-24 16:59 ?1465次閱讀

    請(qǐng)問(wèn)如何在keil μVision 5上進(jìn)行ARM編譯器的代碼優(yōu)化?

    何在keil μVision 5上進(jìn)行ARM編譯器的代碼優(yōu)化?
    發(fā)表于 08-20 07:37

    廣西政府領(lǐng)導(dǎo)一行到訪西井科技

    近日,廣西壯族自治區(qū)人民政府副秘書長(zhǎng),自治區(qū)大數(shù)據(jù)發(fā)展局黨組書記、局長(zhǎng)趙志剛一行到訪西井科技上海總部。
    的頭像 發(fā)表于 07-26 15:30 ?1188次閱讀

    無(wú)法在NPU推理OpenVINO?優(yōu)化的 TinyLlama 模型怎么解決?

    在 NPU 推斷 OpenVINO?優(yōu)化的 TinyLlama 模型。 遇到的錯(cuò)誤: get_shape was called on a descriptor::Tensor with dynamic shape
    發(fā)表于 07-11 06:58

    華為正式開(kāi)源盤古7B稠密和72B混合專家模型

    關(guān)鍵舉措,推動(dòng)大模型技術(shù)的研究與創(chuàng)新發(fā)展,加速推進(jìn)人工智能在千百業(yè)的應(yīng)用與價(jià)值創(chuàng)造。 盤古Pro MoE 72B模型權(quán)重、基礎(chǔ)推理代碼,已
    的頭像 發(fā)表于 06-30 11:19 ?1342次閱讀

    請(qǐng)問(wèn)如何在C++中使用NPU模型緩存?

    無(wú)法確定如何在 C++ 中的 NPU 使用模型緩存
    發(fā)表于 06-24 07:25

    Energy Absolute一行參訪蘑菇車聯(lián)

    近日,東南亞最大電動(dòng)商用車制造商Energy Absolute一行參訪蘑菇車聯(lián)(MOGO.AI),深入了解蘑菇車聯(lián)在AI大模型、AI網(wǎng)絡(luò)與自動(dòng)駕駛領(lǐng)域的融合應(yīng)用實(shí)踐。圍繞自動(dòng)駕駛巴士業(yè)務(wù)
    的頭像 發(fā)表于 06-16 17:36 ?1053次閱讀

    上海雷克薩斯一行到訪中汽中心

    近日,雷克薩斯(上海)新能源有限公司(以下簡(jiǎn)稱“上海雷克薩斯”)總經(jīng)理加藤武郎一行到訪中汽中心,與中汽中心黨委副書記王曉杉進(jìn)行了座談交流。
    的頭像 發(fā)表于 06-13 15:18 ?1048次閱讀

    中汽中心一行到訪理想汽車

    近日,中汽中心副總經(jīng)理周華一行赴理想汽車走訪交流,受到理想汽車總裁馬東輝等領(lǐng)導(dǎo)的熱情接待。
    的頭像 發(fā)表于 06-11 13:45 ?799次閱讀

    奇瑞汽車一行到訪中汽中心

    近日,奇瑞汽車股份有限公司(以下簡(jiǎn)稱“奇瑞汽車”)執(zhí)行副總裁、汽車工程技術(shù)研發(fā)總院院長(zhǎng)高新華一行到訪中汽中心,與中汽中心黨委委員、副總經(jīng)理李洧就下步深化合作進(jìn)行了深入交流。
    的頭像 發(fā)表于 05-29 17:31 ?927次閱讀

    代碼革命的先鋒:aiXcoder-7B模型介紹

    ? ? 國(guó)內(nèi)開(kāi)源代碼模型 4月9日aiXcoder宣布正式開(kāi)源其7B模型Base版,僅僅過(guò)去個(gè)禮拜,aiXcoder-7
    的頭像 發(fā)表于 05-20 14:41 ?812次閱讀
    <b class='flag-5'>代碼</b>革命的先鋒:aiXcoder-7<b class='flag-5'>B</b><b class='flag-5'>模型</b>介紹

    浙江大學(xué)師生一行蒞臨行芯科技參觀交流

    日前,浙江大學(xué)竺可楨學(xué)院師生一行來(lái)到杭州芯科技有限公司參觀交流。
    的頭像 發(fā)表于 05-06 10:28 ?1062次閱讀

    中關(guān)村泛聯(lián)院一行來(lái)訪中科馭數(shù)

    中關(guān)村泛聯(lián)移動(dòng)通信技術(shù)創(chuàng)新應(yīng)用研究院(以下簡(jiǎn)稱“中關(guān)村泛聯(lián)院”)專職副院長(zhǎng)金毅敦一行來(lái)訪中科馭數(shù),雙方探討了6G技術(shù)發(fā)展現(xiàn)狀,以及DPU在6G場(chǎng)景的應(yīng)用機(jī)會(huì)。
    的頭像 發(fā)表于 04-14 10:26 ?1327次閱讀

    越南副總理一行到訪商湯科技

    近日,越南副總理阮志勇率代表團(tuán)一行到訪商湯。深圳商湯總經(jīng)理李廷波主介紹、商湯科技首席人力資源官?gòu)埓壕昙吧虦萍悸?lián)合創(chuàng)始人、元蘿卜智能科技有限公司總裁馬堃等陪同熱情接待考察團(tuán)一行。
    的頭像 發(fā)表于 03-24 10:01 ?1050次閱讀