女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

    文章

    10189

    瀏覽量

    174315
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11063

    瀏覽量

    216515

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    關鍵舉措,推動大模型技術的研究與創新發展,加速推進人工智能在千百業的應用與價值創造。 盤古Pro MoE 72B模型權重、基礎推理代碼,已
    的頭像 發表于 06-30 11:19 ?201次閱讀

    請問如何在C++中使用NPU模型緩存?

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

    Energy Absolute一行參訪蘑菇車聯

    近日,東南亞最大電動商用車制造商Energy Absolute一行參訪蘑菇車聯(MOGO.AI),深入了解蘑菇車聯在AI大模型、AI網絡與自動駕駛領域的融合應用實踐。圍繞自動駕駛巴士業務
    的頭像 發表于 06-16 17:36 ?484次閱讀

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

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

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

    近日,中汽中心副總經理周華一行赴理想汽車走訪交流,受到理想汽車總裁馬東輝等領導的熱情接待。
    的頭像 發表于 06-11 13:45 ?289次閱讀

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

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

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

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

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

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

    中關村泛聯院一行來訪中科馭數

    中關村泛聯移動通信技術創新應用研究院(以下簡稱“中關村泛聯院”)專職副院長金毅敦一行來訪中科馭數,雙方探討了6G技術發展現狀,以及DPU在6G場景的應用機會。
    的頭像 發表于 04-14 10:26 ?489次閱讀

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

    近日,越南副總理阮志勇率代表團一行到訪商湯。深圳商湯總經理李廷波主介紹、商湯科技首席人力資源官張春娟及商湯科技聯合創始人、元蘿卜智能科技有限公司總裁馬堃等陪同熱情接待考察團一行
    的頭像 發表于 03-24 10:01 ?538次閱讀

    TFP401AMP第一行丟失4個像素是什么原因導致的?

    PC送出來的HDMI信號通過TFP401AMP轉RGB后送到LCD,發現圖片第一行會有4個像素丟失,經過邏輯分析儀抓取HS信號發現:HS在DE信號low的時間段里周期為31.774
    發表于 12-30 08:39

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

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

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

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

    chatglm2-6b在P40做LORA微調

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

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

    日前,PE產投匯一行赴國家級專精特新小巨人校友企業——谷東科技北京公司進行考察與交流。
    的頭像 發表于 08-13 09:45 ?922次閱讀
    主站蜘蛛池模板: 科技| 喀喇沁旗| 清新县| 通榆县| 额济纳旗| 繁昌县| 易门县| 海盐县| 炉霍县| 松桃| 马尔康县| 澄迈县| 紫阳县| 广河县| 乡宁县| 喀喇沁旗| 阳泉市| 肥乡县| 花莲县| 静乐县| 榆社县| 财经| 和田县| 孟连| 新平| 凉山| 芦山县| 巧家县| 临沭县| 上饶县| 康保县| 射洪县| 无锡市| 朝阳市| 太白县| 平原县| 原平市| 乐业县| 牙克石市| 景洪市| 当涂县|