RM新时代网站-首页

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

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

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

英特爾CPU部署Qwen 1.8B模型的過程

英特爾物聯(lián)網(wǎng) ? 來(lái)源:英特爾物聯(lián)網(wǎng) ? 2024-01-12 10:28 ? 次閱讀

作者:英特爾邊緣計(jì)算創(chuàng)新大使 盧雨畋

01概述

本文介紹了在英特爾 13 代酷睿 CPU i5 - 13490F 設(shè)備上部署 Qwen 1.8B 模型的過程,你需要至少 16GB 內(nèi)存的機(jī)器來(lái)完成這項(xiàng)任務(wù),我們將使用英特爾的大模型推理庫(kù) [BigDL] 來(lái)實(shí)現(xiàn)完整過程。

英特爾的大模型推理庫(kù) [BigDL]:

BigDL-llm 是一個(gè)在英特爾設(shè)備上運(yùn)行 LLM(大語(yǔ)言模型)的加速庫(kù),通過 INT4/FP4/INT8/FP8 精度量化和架構(gòu)針對(duì)性優(yōu)化以實(shí)現(xiàn)大模型在英特爾 CPU、GPU 上的低資源占用與高速推理能力(適用于任何 PyTorch 模型)。

本文演示為了通用性,只涉及 CPU 相關(guān)的代碼,如果你想學(xué)習(xí)如何在英特爾 GPU 上部署大模型。

60d232b0-b067-11ee-8b88-92fbcf53809c.gif

02環(huán)境配置

在開始之前,我們需要準(zhǔn)備好 bigdl-llm 以及之后部署的相關(guān)運(yùn)行環(huán)境,我們推薦你在 python 3.9 的環(huán)境中進(jìn)行之后的操作。

如果你發(fā)現(xiàn)下載速度過慢,可以嘗試更換默認(rèn)鏡像源:

pip config set global.index-url https://pypi.doubanio.com/simple`

%pip install --pre --upgrade bigdl-llm[all] 
%pip install gradio 
%pip install hf-transfer
%pip install transformers_stream_generator einops
%pip install tiktoken

左滑查看更多

03模型下載

首先,我們通過 huggingface-cli 獲取 qwen-1.8B 模型,耗時(shí)較長(zhǎng)需要稍作等待;這里增加了環(huán)境變量,使用鏡像源進(jìn)行下載加速。

import os


# 設(shè)置環(huán)境變量
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
# 下載模型
os.system('huggingface-cli download --resume-download qwen/Qwen-1_8B-Chat --local-dir qwen18chat_src')

左滑查看更多

04保存量化模型

為了實(shí)現(xiàn)大語(yǔ)言模型的低資源消耗推理,我們首先需要把模型量化到 int4 精度,隨后序列化保存在本地的相應(yīng)文件夾方便重復(fù)加載推理;利用 `save_low_bit` api 我們可以很容易實(shí)現(xiàn)這一步。

from bigdl.llm.transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
import os
if __name__ == '__main__':
  model_path = os.path.join(os.getcwd(),"qwen18chat_src")
  model = AutoModelForCausalLM.from_pretrained(model_path, load_in_low_bit='sym_int4', trust_remote_code=True)
  tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
  model.save_low_bit('qwen18chat_int4')
  tokenizer.save_pretrained('qwen18chat_int4')

左滑查看更多

05加載量化模型

保存 int4 模型文件后,我們便可以把他加載到內(nèi)存進(jìn)行進(jìn)一步推理;如果你在本機(jī)上無(wú)法導(dǎo)出量化模型,也可以在更大內(nèi)存的機(jī)器中保存模型再轉(zhuǎn)移到小內(nèi)存的端側(cè)設(shè)備中運(yùn)行,大部分常用家用 PC 即可滿足 int4 模型實(shí)際運(yùn)行的資源需求。

import torch
import time
from bigdl.llm.transformers import AutoModelForCausalLM
from transformers import AutoTokenizer


QWEN_PROMPT_FORMAT = "{prompt} "
load_path = "qwen18chat_int4"
model = AutoModelForCausalLM.load_low_bit(load_path, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(load_path, trust_remote_code=True)


input_str = "給我講一個(gè)年輕人奮斗創(chuàng)業(yè)最終取得成功的故事"
with torch.inference_mode():
  prompt = QWEN_PROMPT_FORMAT.format(prompt=input_str)
  input_ids = tokenizer.encode(prompt, return_tensors="pt")
  st = time.time()
  output = model.generate(input_ids,
              max_new_tokens=512)
  end = time.time()
  output_str = tokenizer.decode(output[0], skip_special_tokens=True)
  print(f'Inference time: {end-st} s')
  print('-'*20, 'Prompt', '-'*20)
  print(prompt)
  print('-'*20, 'Output', '-'*20)
  print(output_str)

左滑查看更多

06gradio-demo 體驗(yàn)

為了得到更好的多輪對(duì)話體驗(yàn),這里還提供了一個(gè)簡(jiǎn)單的 `gradio` demo界面方便調(diào)試使用,你可以修改內(nèi)置 `system` 信息甚至微調(diào)模型讓本地模型更接近你設(shè)想中的大模型需求。

import gradio as gr
import time
from bigdl.llm.transformers import AutoModelForCausalLM
from transformers import AutoTokenizer


QWEN_PROMPT_FORMAT = "{prompt} "


load_path = "qwen18chat_int4"
model = AutoModelForCausalLM.load_low_bit(load_path, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(load_path,trust_remote_code=True)


def add_text(history, text):
  _, history = model.chat(tokenizer, text, history=history)
  return history, gr.Textbox(value="", interactive=False)


def bot(history):
  response = history[-1][1]
  history[-1][1] = ""
  for character in response:
    history[-1][1] += character
    time.sleep(0.05)
    yield history


with gr.Blocks() as demo:
  chatbot = gr.Chatbot(
    [], 
    elem_id="chatbot",
    bubble_full_width=False,
  )


  with gr.Row():
    txt = gr.Textbox(
      scale=4,
      show_label=False,
      placeholder="Enter text and press enter",
      container=False,
    )


  txt_msg = txt.submit(add_text, [chatbot, txt], [chatbot, txt], queue=False).then(
    bot, chatbot, chatbot, api_name="bot_response"
  )
  txt_msg.then(lambda: gr.Textbox(interactive=True), None, [txt], queue=False)


demo.queue()
demo.launch()

左滑查看更多

利用英特爾的大語(yǔ)言模型推理框架,我們可以實(shí)現(xiàn)大模型在英特爾端側(cè)設(shè)備的高性能推理。只需要 2G 內(nèi)存占用就可以實(shí)現(xiàn)與本地大模型的流暢對(duì)話,一起來(lái)體驗(yàn)下吧。

審核編輯:湯梓紅

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

    關(guān)注

    61

    文章

    9949

    瀏覽量

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

    關(guān)注

    68

    文章

    10854

    瀏覽量

    211570
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3226

    瀏覽量

    48806

原文標(biāo)題:英特爾 CPU 實(shí)戰(zhàn)部署阿里大語(yǔ)言模型千問 Qwen-1_8B-chat | 開發(fā)者實(shí)戰(zhàn)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于C#和OpenVINO?在英特爾獨(dú)立顯卡上部署PP-TinyPose模型

    和 OpenVINO,將 PP-TinyPose 模型部署英特爾獨(dú)立顯卡上。 1.1 PP-TinyPose 模型簡(jiǎn)介 PP-TinyPose 是飛槳 PaddleDetecion
    的頭像 發(fā)表于 11-18 18:27 ?2518次閱讀

    #高通 #英特爾 #Elite 高通X Elite芯片或終結(jié)蘋果、英特爾的芯片王朝

    高通英特爾蘋果
    深圳市浮思特科技有限公司
    發(fā)布于 :2023年10月27日 16:46:07

    英特爾多款平板電腦CPU將于明年推出

    ` 中關(guān)村在線 據(jù)外媒Phone Arena報(bào)道,英特爾多款平板電腦CPU將于明年推出,達(dá)到擴(kuò)大產(chǎn)品的覆蓋范圍,同時(shí)也能擴(kuò)大產(chǎn)品的生產(chǎn)數(shù)量。相信在不久的明天,不管是在入門級(jí)還是旗艦級(jí)的平板電腦
    發(fā)表于 12-19 16:48

    啟用英特爾Optane被視為“1.8TB硬盤+英特爾Optane”是什么原因?

    你好。當(dāng)我在英特爾RST中啟用英特爾Optane,然后重新啟動(dòng)我的計(jì)算機(jī)時(shí),Defraggler將加速驅(qū)動(dòng)器看作只是一個(gè)硬盤驅(qū)動(dòng)器,在任務(wù)管理器中,它將其視為“1.8TB硬盤+英特爾O
    發(fā)表于 10-31 10:12

    英特爾愛迪生閃存失敗

    :0a2b英特爾公司總線001設(shè)備057:ID 0403:6001 Future Technology Devices International,Ltd FT232 USB串行(UART)IC總線
    發(fā)表于 11-02 10:57

    為什么選擇加入英特爾?

    近日,加入英特爾已有3個(gè)月的明星芯片架構(gòu)師Jim Keller接受了外媒VentureBeat的采訪,在采訪中談及了自己加入英特爾的始末和讓其為之興奮的新角色——英特爾公司技術(shù)、系統(tǒng)架構(gòu)和客戶端事業(yè)部高級(jí)副總裁兼芯片工程事業(yè)部總
    發(fā)表于 07-25 07:31

    英特爾重點(diǎn)發(fā)布o(jì)neAPI v1.0,異構(gòu)編程器到底是什么

    。oneAPI是什么?oneAPI是一個(gè)統(tǒng)一的、簡(jiǎn)化的編程模型,旨在簡(jiǎn)化跨多架構(gòu)的開發(fā)過程(如CPU、GPU、FPGA、加速器)。oneAPI包含兩個(gè)組成部分:一項(xiàng)產(chǎn)業(yè)計(jì)劃和一款英特爾
    發(fā)表于 10-26 13:51

    介紹英特爾?分布式OpenVINO?工具包

    介紹英特爾?分布式OpenVINO?工具包可快速部署模擬人類視覺的應(yīng)用程序和解決方案。 該工具包基于卷積神經(jīng)網(wǎng)絡(luò)(CNN),可擴(kuò)展英特爾?硬件的計(jì)算機(jī)視覺(CV)工作負(fù)載,從而最大限度地提高
    發(fā)表于 07-26 06:45

    英特爾重新思考解決芯片短缺的常用基板

    ”的假冒零部件泛濫因?yàn)?b class='flag-5'>英特爾是世界上最大的芯片制造商之一,該公司一直在幕后工作,以加快制造過程和振興整個(gè)半導(dǎo)體供應(yīng)鏈。本周,英特爾通過一項(xiàng)重新考慮味之素集成電影(ABF)的新舉措,認(rèn)識(shí)到其在越南的網(wǎng)站可以
    發(fā)表于 06-20 09:50

    英特爾CPU核心

    英特爾CPU核心          Tualatin  這也就是大名鼎
    發(fā)表于 12-17 16:57 ?341次閱讀

    英特爾移動(dòng)CPU

    英特爾移動(dòng)CPU Pentium 4-M:基于0.13微米銅互聯(lián)工藝Northwood核心的Pentium 4-M處理器,首批
    發(fā)表于 12-18 09:56 ?453次閱讀

    英特爾cpu爆驚天漏洞_英特爾cpu漏洞檢測(cè)_英特爾cpu檢測(cè)工具有哪些

    英特爾大事件cup出現(xiàn)重大漏洞引關(guān)注,本文主要介紹了英特爾處理器漏洞的原委以及檢測(cè)cpu的一些工具,具體的一起來(lái)了解一下。
    發(fā)表于 01-04 10:36 ?1235次閱讀
    <b class='flag-5'>英特爾</b><b class='flag-5'>cpu</b>爆驚天漏洞_<b class='flag-5'>英特爾</b><b class='flag-5'>cpu</b>漏洞檢測(cè)_<b class='flag-5'>英特爾</b><b class='flag-5'>cpu</b>檢測(cè)工具有哪些

    英特爾cpu命名規(guī)則_英特爾cpu分類有哪些_英特爾cpu性能排行榜

    英特爾CPU是一款CPU處理器,適用于臺(tái)式電腦。我們來(lái)看看英特爾CPU的命名規(guī)則、英特爾
    發(fā)表于 01-04 14:59 ?3.9w次閱讀

    英特爾cpu型號(hào)及分類_cpu分類及介紹_英特爾最新cpu系列

    英特爾是美國(guó)一家主要以研制CPU處理器的公司,是全球最大的個(gè)人計(jì)算機(jī)零件和CPU制造商,它成立于1968年,具有48年產(chǎn)品創(chuàng)新和市場(chǎng)領(lǐng)導(dǎo)的歷史。英特爾
    發(fā)表于 01-04 15:52 ?17.6w次閱讀

    英特爾模型全適配,大語(yǔ)言模型已成功部署CPU

    他進(jìn)一步指出,英特爾作為芯片制造商,始終致力于對(duì)“合適尺寸”模型的全面適配。面對(duì)大模型領(lǐng)域激烈的市場(chǎng)競(jìng)爭(zhēng),每個(gè)季度大約有4-5款新模型上市,一旦發(fā)現(xiàn)任何新的
    的頭像 發(fā)表于 12-11 15:41 ?1133次閱讀
    RM新时代网站-首页