色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

Llama 7B大語(yǔ)言模型本地部署全攻略!一步步教你輕松上手

英碼科技 ? 來(lái)源:英碼科技 ? 作者:英碼科技 ? 2025-01-24 17:05 ? 次閱讀

隨著大模型技術(shù)不斷迭代,AI大模型的應(yīng)用與推理訓(xùn)練已從云端部署迅速向本地化、場(chǎng)景化發(fā)展,成為推動(dòng)產(chǎn)業(yè)升級(jí)的重要力量。LLaMA 7B作為一款輕量化的大規(guī)模語(yǔ)言模型,以其卓越的語(yǔ)言理解與生成能力,逐步成為智能化應(yīng)用的理想選擇,廣泛適用于智能客服、內(nèi)容審核、文本生成、翻譯等多個(gè)場(chǎng)景,為企業(yè)提供了經(jīng)濟(jì)高效的解決方案,推動(dòng)行業(yè)智能化轉(zhuǎn)型。

本期樣例使用英碼科技EA500I Mini部署meta-llama/Llama-2-7b-hf和TinyLlama/TinyLlama-1.1B-Chat-v1.0大語(yǔ)言模型,在本地實(shí)現(xiàn)多模態(tài)處理和自然語(yǔ)言處理功能,助力企業(yè)將大模型技術(shù)落地到垂直行業(yè)應(yīng)用中,加快智能化升級(jí)。

wKgZPGeTV2mACq9JAAiuq7j9E5I579.png

環(huán)境搭建 視頻演示版:https://www.bilibili.com/video/BV1MofEY9E69/?spm_id_from=333.1387.homepage.video_card.click)

參考鏈接:ascend-llm: 基于昇騰310芯片的大語(yǔ)言模型部署

硬件環(huán)境:英碼科技EA500I Mini

軟件環(huán)境:CANN-7.0.1.1

進(jìn)入EA500I Mini終端,下載源碼

cd $HOME 
tar -zxvf ascend-llm.tar.gz
cd $HOME/ascend-llm/inference
pip install -r requirements.txt
cd $HOME/ascend-llm/export_llama
pip install -r requirements.txt

算子適配

1. protoc 安裝

根據(jù)昇騰文檔選擇合適的protoc版本,protoc版本和CANN版本強(qiáng)相關(guān)。CANN7.0/7.2使用的protoc 1.13.0。

# 安裝protoc==1.13.0, 找一空閑目錄下載
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/tiny-llama/protobuf-all-3.13.0.tar.gz --no-check-certificate
tar -zxvf protobuf-all-3.13.0.tar.gz
cd protobuf-3.13.0
apt-get update
apt-get install autoconf automake libtool
./autogen.sh 
./configure
make -j4
make install
sudo ldconfig
protoc --version # 查看版本號(hào)

查看版本號(hào),如下圖即完成

wKgZPGeTU7eAFt12AAPFeraMUfg991.png

2. 算子編譯部署

# 將./custom_op/matmul_integer_plugin.cc 拷貝到指定路徑
cd ascend-llm
export ASCEND_PATH=/usr/local/Ascend/ascend-toolkit/latest
cp custom_op/matmul_integer_plugin.cc $ASCEND_PATH/tools/msopgen/template/custom_operator_sample/DSL/Onnx/framework/onnx_plugin/
cd $ASCEND_PATH/tools/msopgen/template/custom_operator_sample/DSL/Onnx

打開(kāi)build.sh,找到下面四個(gè)環(huán)境變量,解開(kāi)注釋并修改如下:

export ASCEND_TENSOR_COMPILER_INCLUDE=/usr/local/Ascend/ascend-toolkit/latest/include
export TOOLCHAIN_DIR=/usr
export AICPU_KERNEL_TARGET=cust_aicpu_kernels
export AICPU_SOC_VERSION=Ascend310B1

wKgZO2eTU_-ASbLIAAOoknvofro058.png

編譯運(yùn)行

./build.sh 
cd build_out/
./custom_opp_ubuntu_aarch64.run
# 生成文件到customize到默認(rèn)目錄 $ASCEND_PATH/opp/vendors/,刪除冗余文件
cd $ASCEND_PATH/opp/vendors/customize
rm -rf op_impl/ op_proto/

wKgZO2eTVB6AS61vAAUVg6aKJgM191.png

完成算子的編譯部署

模型量化與轉(zhuǎn)換

注意事項(xiàng):該步驟可以直接使用資料已經(jīng)量化轉(zhuǎn)換好的模型

1.導(dǎo)出onnx 模型

將transformer庫(kù)中的modeling_llama替換為export_llama文件下的modeling_llama。

可以通過(guò) pip show transformers 命令找到 transformers 的庫(kù)路徑,然后通過(guò)cp命令復(fù)制。

wKgZO2eTVDuAdGAcAAXZNVdQlZw320.png

通過(guò)一下命令將模型導(dǎo)出為onnx(相對(duì)路徑均為相對(duì)export_llama.py文件)

python export_llama.py   
--model    
--output    
--act-path   
--quant   

2.模型量化

量化需要引入quantize.py和config文件下的配置文件,詳情查看 export_llama 的readme文件。本樣例將直接使用已經(jīng)量化好的模型文件,對(duì)于TinyLlama-1.1B采用per-token的absmax量化(即w8x8.py);對(duì)于Llama-2-7b-hf,采用靜態(tài)混合精度分解(即sd.py)。

3.模型轉(zhuǎn)換

atc --framework=5 --model="xxx.onnx"  --output="xxx" --input_format=ND --input_shape="input_ids:batch,seq_len;attention_mask:batch,seq_len+kv_len;position_ids:batch,seq_len;past_key_values:n_layer,2,batch,n_head,kv_len,head_dim" --log=debug --soc_version=Ascend310B1 --precision_mode=must_keep_origin_dtype

上述的n_layer, n_head, head_dim變量由模型決定。對(duì)于Llama-2-7b,n_layer=32, n_head=32, head_dim=128;對(duì)于TinyLlama-1.1B,n_layer=22, n_head=4, head_dim=64

對(duì)于batch, seq_len, kv_len, 請(qǐng)根據(jù)需要填入,建議設(shè)置batch=1, seq_len=1, kv_len=1024。如對(duì)于TinyLlama-1.1B

atc --framework=5 --model="./tiny-llama.onnx"  --output="tiny-llama" --input_format=ND --input_shape="input_ids:1,1;attention_mask:1,1025;position_ids:1,1;past_key_values:22,2,1,4,1024,64" --log=debug --soc_version=Ascend310B1 --precision_mode=must_keep_origin_dtype

模型推理

從資料鏈接里已經(jīng)量化導(dǎo)出的模型

項(xiàng)目提供了兩種運(yùn)行方式:

1. cli模式:在終端運(yùn)行,每一次輸入一行,一次性返回所有的推理結(jié)果。

2. web模式:前端代碼在github或者gitee,打包出dist文件夾,放在inference文件夾下即可。

采取cli模式如下:

cd inference
python main.py   
--model    
--hf-dir   
 # 需要tokenizer和模型配置文件,權(quán)重不需要   
--engine    
--sampling  --sampling_value   --temperature   
#采樣相關(guān)配置  
--cli 
# 添加--cli表示在終端運(yùn)行

TinyLlama-1.1B-Chat-v1.0推理運(yùn)行

python main.py --model /root/ascend-llm/TinyLlama-1.1B-Chat-v1.0/tiny-llama-seq-1-key-256-int8.om --hf-dir /root/ascend-llm/TinyLlama-1.1B-Chat-v1.0 --engine acl --sampling top_k --cli

效果展示

wKgZPGeTVMGAVMApAAXgmPd3YYc879.png

Llama-2-7B推理運(yùn)行

 python main.py --model /root/ascend-llm/Llama-2-7B/llama-seq-1-key-256-int8.om --hf-dir /root/ascend-llm/Llama-2-7B --engine acl --sampling top_k --cli

效果展示

wKgZO2eTVWGAIncrAATKenS7Jyc027.png

安裝LLM_WEB

nodejs安裝 20.12.2

sudo apt update
sudo apt-get remove nodejs
sudo apt autoremove
sudo whereis node
sudo rm -rf /usr/local/bin/node
sudo apt-get update
sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
node -v
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

npm安裝10.5.0 (對(duì)應(yīng)nodejs==20.12.2)

sudo apt install npm
sudo npm install -g npm@10.5.0
npm -v 
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

npm安裝pnpm

# 如遇FATAL ERROR: NewSpace::EnsureCurrentCapacity Allocation failed - JavaScript heap out of memory 報(bào)錯(cuò)嘗試清下緩存,如下
npm cache clean --forcenpm config
set registry https://registry.npmjs.org/npm install -g pnpm 
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

打包步驟

clone本倉(cāng)到本地,進(jìn)入本地倉(cāng)目錄,執(zhí)行以下命令```pnpm install npm run build```
進(jìn)入/root/ascend-llm/inference目錄
執(zhí)行
python main.py --model /root/ascend-llm/TinyLlama-1.1B-Chat-v1.0/tiny-llama-seq-1-key-256-int8.om --hf-dir /root/ascend-llm/TinyLlama-1.1B-Chat-v1.0 --engine acl --sampling top_k

wKgZO2eTVyeAQ6eJAAP16_sH0Vo812.png

復(fù)制地址到瀏覽器開(kāi)始與模型對(duì)話

wKgZO2eTV0uAdlF-AAGOaEiH_1k018.png

結(jié)語(yǔ)

以上就是英碼科技昇騰產(chǎn)品系列EA500I Mini邊緣計(jì)算盒子適配大模型Llama 7B的完整部署流程。未來(lái),我們將持續(xù)推出更多基于昇騰AI芯片產(chǎn)品的技術(shù)干貨,歡迎大家留言告訴我們您希望了解哪些內(nèi)容,我們會(huì)根據(jù)需求整理并分享!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • AI芯片
    +關(guān)注

    關(guān)注

    17

    文章

    1904

    瀏覽量

    35159
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2541

    瀏覽量

    3012
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GPS 設(shè)計(jì)全攻略

    GPS 設(shè)計(jì)全攻略
    發(fā)表于 09-25 14:11

    GPS 設(shè)計(jì)全攻略

    GPS 設(shè)計(jì)全攻略
    發(fā)表于 12-05 12:08

    外國(guó)牛人教你一步步快速打造首臺(tái)機(jī)器人(超詳細(xì))

    外國(guó)牛人教你一步步快速打造首臺(tái)機(jī)器人(超詳細(xì))
    發(fā)表于 08-15 19:30

    一步步寫(xiě)嵌入式操作系統(tǒng)—ARM編程的方法與實(shí)踐ch02

    一步步寫(xiě)嵌入式操作系統(tǒng)—ARM編程的方法與實(shí)踐ch02
    發(fā)表于 08-20 20:54

    郭天祥 C語(yǔ)言教程-開(kāi)發(fā)擴(kuò)展全攻略

    `郭天祥 C語(yǔ)言教程-入門, 提高,開(kāi)發(fā)擴(kuò)展全攻略經(jīng)典制作, 51單片機(jī)必看.文件太大, 上傳例程大家先看下.`
    發(fā)表于 06-08 21:24

    CC2530一步步演示程序燒寫(xiě)

    CC2530一步步演示程序燒寫(xiě)第一步——先安裝IAR開(kāi)發(fā)環(huán)境第二歩——安裝CC2530燒寫(xiě)工具第三歩——CC2530串口配置軟件使用具體完整步驟看下面文檔
    發(fā)表于 03-03 14:33

    一步步建立_STM32_UCOS_模板

    一步步建立_STM32_UCOS_模板
    發(fā)表于 09-29 11:46

    一步步進(jìn)行調(diào)試GPRS模塊

    背景:在不知道硬件是否正確情況下,一步步進(jìn)行調(diào)試,最終完成調(diào)試。以下是自己調(diào)試步驟。1、從gprs模塊TX ,RX 單獨(dú)焊接兩個(gè)線出來(lái),通過(guò)上位機(jī)發(fā)送AT指令,是否能正常工作。
    發(fā)表于 01-25 07:33

    stm32是如何一步步實(shí)現(xiàn)設(shè)置地址匹配接收喚醒中斷功能的

    為什么要設(shè)置地址匹配接收喚醒中斷呢?stm32是如何一步步實(shí)現(xiàn)設(shè)置地址匹配接收喚醒中斷功能的?
    發(fā)表于 02-28 08:07

    MCU解密全攻略

    本內(nèi)容介紹了MCU解密的全攻略教程
    發(fā)表于 07-11 17:51 ?648次下載
    MCU解密<b class='flag-5'>全攻略</b>

    一步步寫(xiě)嵌入式操作系統(tǒng)

    一步步寫(xiě)嵌入式操作系統(tǒng)_ARM編程的方法與實(shí)踐
    發(fā)表于 07-14 11:32 ?0次下載

    LED調(diào)光技術(shù)全攻略

    LED調(diào)光技術(shù)全攻略
    發(fā)表于 02-08 00:50 ?42次下載

    一步步重新演繹汽車駕駛體驗(yàn)

    一步步重新演繹汽車駕駛體驗(yàn)
    發(fā)表于 11-04 09:52 ?0次下載
    <b class='flag-5'>一步步</b>重新演繹汽車駕駛體驗(yàn)

    基于一步步蒸餾(Distilling step-by-step)機(jī)制

    為優(yōu)化LLM為“小模型/少數(shù)據(jù)/好效果”,提供了種新思路:”一步步蒸餾”(Distilling step-by-step)
    的頭像 發(fā)表于 05-16 10:24 ?1289次閱讀
    基于<b class='flag-5'>一步步</b>蒸餾(Distilling step-by-step)機(jī)制

    用Ollama輕松搞定Llama 3.2 Vision模型本地部署

    Ollama 是個(gè)開(kāi)源的大語(yǔ)言模型服務(wù)工具,它的核心目的是簡(jiǎn)化大語(yǔ)言模型(LLMs)的本地
    的頭像 發(fā)表于 11-23 17:22 ?1446次閱讀
    用Ollama<b class='flag-5'>輕松</b>搞定<b class='flag-5'>Llama</b> 3.2 Vision<b class='flag-5'>模型</b><b class='flag-5'>本地</b><b class='flag-5'>部署</b>
    主站蜘蛛池模板: 夜夜狂射影院欧美极品 | 欧美精品做人一级爱免费 | 日韩亚洲不卡在线视频 | 亚洲AV久久无码高潮喷水 | 精品国产精品人妻久久无码五月天 | 晓雪老师我要进你里面好爽 | 欧洲精品不卡1卡2卡三卡四卡 | 久久99久久成人免费播放 | 国产乱人偷精品视频A人人澡 | 久久伦理影院 | 国产午夜在线观看视频播放 | 特级做A爰片毛片免费看108 | 看美女大腿中间的部分 | 韩国精品韩国专区久久 | 午夜国产理论 | yellow免费影视大全 | 色狠狠色综合吹潮 | 中文字幕在线观看国产 | 小箩莉奶水四溅小说 | 国产精品亚洲污污网站入口 | 国产av在线看的 | 果冻传媒在线观看进入窗口 | 超碰国产视频免费播放 | 久久精品亚洲牛牛影视 | WWW国产精品人妻一二三区 | 俄罗斯19girl video9 | 91综合久久久久婷婷 | 99久热精品免费观看 | 日日天干夜夜狠狠爱 | 西施打开双腿下面好紧 | 中文字幕久久久 | 亚洲欧美日韩精品自拍 | 久久久精品国产免费A片胖妇女 | 欧美激情一区二区三区四区 | 99精品国产免费观看视频 | 伊人久久大香线蕉综合bd高清 | 欧美成人性色生活18黑人 | 嗯啊…跟校草在教室里做h 嗯 用力啊 嗯 c我 啊哈老师 | 亚洲午夜精品A片久久不卡蜜桃 | 超碰v | 快播在线电影网站 |