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

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

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

3天內不再提示

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

英特爾物聯網 ? 來源:英特爾物聯網 ? 2024-01-12 10:28 ? 次閱讀

作者:英特爾邊緣計算創新大使 盧雨畋

01概述

本文介紹了在英特爾 13 代酷睿 CPU i5 - 13490F 設備上部署 Qwen 1.8B 模型的過程,你需要至少 16GB 內存的機器來完成這項任務,我們將使用英特爾的大模型推理庫 [BigDL] 來實現完整過程。

英特爾的大模型推理庫 [BigDL]:

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

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

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

02環境配置

在開始之前,我們需要準備好 bigdl-llm 以及之后部署的相關運行環境,我們推薦你在 python 3.9 的環境中進行之后的操作。

如果你發現下載速度過慢,可以嘗試更換默認鏡像源:

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 模型,耗時較長需要稍作等待;這里增加了環境變量,使用鏡像源進行下載加速。

import os


# 設置環境變量
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保存量化模型

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

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 模型文件后,我們便可以把他加載到內存進行進一步推理;如果你在本機上無法導出量化模型,也可以在更大內存的機器中保存模型再轉移到小內存的端側設備中運行,大部分常用家用 PC 即可滿足 int4 模型實際運行的資源需求。

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 = "給我講一個年輕人奮斗創業最終取得成功的故事"
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 體驗

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

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()

左滑查看更多

利用英特爾的大語言模型推理框架,我們可以實現大模型在英特爾端側設備的高性能推理。只需要 2G 內存占用就可以實現與本地大模型的流暢對話,一起來體驗下吧。

審核編輯:湯梓紅

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

    關注

    61

    文章

    9949

    瀏覽量

    171692
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10854

    瀏覽量

    211576
  • 模型
    +關注

    關注

    1

    文章

    3226

    瀏覽量

    48807

原文標題:英特爾 CPU 實戰部署阿里大語言模型千問 Qwen-1_8B-chat | 開發者實戰

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

    ` 中關村在線 據外媒Phone Arena報道,英特爾多款平板電腦CPU將于明年推出,達到擴大產品的覆蓋范圍,同時也能擴大產品的生產數量。相信在不久的明天,不管是在入門級還是旗艦級的平板電腦
    發表于 12-19 16:48

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

    你好。當我在英特爾RST中啟用英特爾Optane,然后重新啟動我的計算機時,Defraggler將加速驅動器看作只是一個硬盤驅動器,在任務管理器中,它將其視為“1.8TB硬盤+英特爾O
    發表于 10-31 10:12

    英特爾愛迪生閃存失敗

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

    為什么選擇加入英特爾

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

    英特爾重點發布oneAPI v1.0,異構編程器到底是什么

    。oneAPI是什么?oneAPI是一個統一的、簡化的編程模型,旨在簡化跨多架構的開發過程(如CPU、GPU、FPGA、加速器)。oneAPI包含兩個組成部分:一項產業計劃和一款英特爾
    發表于 10-26 13:51

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

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

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

    ”的假冒零部件泛濫因為英特爾是世界上最大的芯片制造商之一,該公司一直在幕后工作,以加快制造過程和振興整個半導體供應鏈。本周,英特爾通過一項重新考慮味之素集成電影(ABF)的新舉措,認識到其在越南的網站可以
    發表于 06-20 09:50

    英特爾CPU核心

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

    英特爾移動CPU

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

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

    英特爾大事件cup出現重大漏洞引關注,本文主要介紹了英特爾處理器漏洞的原委以及檢測cpu的一些工具,具體的一起來了解一下。
    發表于 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>漏洞檢測_<b class='flag-5'>英特爾</b><b class='flag-5'>cpu</b>檢測工具有哪些

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

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

    英特爾cpu型號及分類_cpu分類及介紹_英特爾最新cpu系列

    英特爾是美國一家主要以研制CPU處理器的公司,是全球最大的個人計算機零件和CPU制造商,它成立于1968年,具有48年產品創新和市場領導的歷史。英特爾
    發表于 01-04 15:52 ?17.6w次閱讀

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

    他進一步指出,英特爾作為芯片制造商,始終致力于對“合適尺寸”模型的全面適配。面對大模型領域激烈的市場競爭,每個季度大約有4-5款新模型上市,一旦發現任何新的
    的頭像 發表于 12-11 15:41 ?1133次閱讀
    主站蜘蛛池模板: 亚洲色无码播放| 丝袜美女被艹| 女教师公车痴汉在线播放| 免费在线伦理片| 欧美一区二区激情视频| 日本乱hd高清videos| 日韩在线中文字幕无码| 外女思春台湾三级| 亚洲人成电影网站色2017| 中文字幕亚洲无线码一区| chinese国语露脸videos| 丰满艳妇亲伦| 狠狠狠狠狠狠干| 蜜桃传媒在线观看| 神马电影院午 夜理论| 亚洲精品久久久久中文字幕二区| 在教室轮流被澡高H林萌| 99热久久精品国产一区二区| 高h肉肉乳共妻| 久久免费精彩视频| 日本午夜福利无码高清| 亚洲欧美国产旡码专区| fryee性欧美18 19| 健身房被教练啪到腿软H| 漂亮的保姆6在线观看中文 | 浴室里强摁做开腿呻吟的漫画男男 | 国产av在线看的| 老奶奶50p| 亚洲精品久久久992KVTV| 99视频精品全部免费 在线| 国产亚洲精品AV麻豆狂野| 欧美黑人巨大性极品hd欧| 亚洲欧美一区二区三区导航| a一级一片免费观看视频| 黄页免费观看| 无码人妻丰满熟妇啪啪网不卡| 3d在线看小舞被躁视频| 果冻传媒视频在线观看完整版免费| 欧美极限扩肛| 中文免费视频| 久久免费精品视频|