大模型部署_書生浦語大模型 _作業2

本節課可以讓同學們實踐 4 個主要內容,分別是:

1、部署?InternLM2-Chat-1.8B?模型進行智能對話

1.1安裝依賴庫:

pip install huggingface-hub==0.17.3
pip install transformers==4.34 
pip install psutil==5.9.8
pip install accelerate==0.24.1
pip install streamlit==1.32.2 
pip install matplotlib==3.8.3 
pip install modelscope==1.9.5
pip install sentencepiece==0.1.99

?1.2下載?InternLM2-Chat-1.8B?模型

import os
from modelscope.hub.snapshot_download import snapshot_download# 創建保存模型目錄
os.system("mkdir /root/models")# save_dir是模型保存到本地的目錄
save_dir="/root/models"snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b", cache_dir=save_dir, revision='v1.1.0')

?

1.3運行 cli_demo?

import torch
from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()system_prompt = """You are an AI assistant whose name is InternLM (書生·浦語).
- InternLM (書生·浦語) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能實驗室). It is designed to be helpful, honest, and harmless.
- InternLM (書生·浦語) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""messages = [(system_prompt, '')]print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")while True:input_text = input("\nUser  >>> ")input_text = input_text.replace(' ', '')if input_text == "exit":breaklength = 0for response, _ in model.stream_chat(tokenizer, input_text, messages):if response is not None:print(response[length:], flush=True, end="")length = len(response)

2、部署實戰營優秀作品?八戒-Chat-1.8B?模型

  • 八戒-Chat-1.8B:魔搭社區
  • 聊天-嬛嬛-1.8B:OpenXLab浦源 - 模型中心
  • Mini-Horo-巧耳:OpenXLab浦源 - 模型中心
git clone https://gitee.com/InternLM/Tutorial -b camp2

?執行下載模型:

python /root/Tutorial/helloworld/bajie_download.py

?待程序下載完成后,輸入運行命令:

?

streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006

?

?

3、通過?InternLM2-Chat-7B?運行?Lagent?智能體?Demo

?

Lagent 的特性總結如下:

  • 流式輸出:提供 stream_chat 接口作流式輸出,本地就能演示酷炫的流式 Demo。
  • 接口統一,設計全面升級,提升拓展性,包括:
    • 型號 : 不論是 OpenAI API, Transformers 還是推理加速框架 LMDeploy 一網打盡,模型切換可以游刃有余;
    • Action: 簡單的繼承和裝飾,即可打造自己個人的工具集,不論 InternLM 還是 GPT 均可適配;
    • Agent:與 Model 的輸入接口保持一致,模型到智能體的蛻變只需一步,便捷各種 agent 的探索實現;
  • 文檔全面升級,API 文檔全覆蓋。

下載模型:

git clone https://gitee.com/internlm/lagent.git
# git clone https://github.com/internlm/lagent.git
cd /root/demo/lagent
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac
pip install -e . # 源碼安裝

在 terminal 中輸入指令,構造軟鏈接快捷訪問方式:

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b

打開?路徑下?文件,并修改對應位置 (71行左右) 代碼?:internlm2_agent_web_demo_hf.py

?

?修改模型地址:

運行前端代碼:

streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006

?

4、實踐部署?浦語·靈筆2?模型

補充環境包,選用?進行開發:50% A100
pip install timm==0.4.12 sentencepiece==0.1.99 markdown2==2.4.10 xlsxwriter==3.1.2 gradio==4.13.0 modelscope==1.9.5

下載?InternLM-XComposer 倉庫?相關的代碼資源:

cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
# git clone https://github.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626

?

?在?中輸入指令,構造軟鏈接快捷訪問方式:terminal

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /group_share/01/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /group_share/01/models/internlm-xcomposer2-vl-7b

??圖文寫作實戰(開啟 50% A100 權限后才可開啟此章節)

cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_composition.py  \
--code_path /root/models/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006

?

?

?

?

?圖片理解實戰(開啟 50% A100 權限后才可開啟此章節)

根據附錄 6.4 的方法,關閉并重新啟動一個新的?,繼續輸入指令,啟動?:terminalInternLM-XComposer2-vl

conda activate democd /root/demo/InternLM-XComposer
python gradio_demo_chat.py  \
--code_path /group_share/01/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18303.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18303.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18303.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Elasticsearch之文本分析

文本分析基本概念 官網:Text analysis | Elasticsearch Guide [7.17] | Elastic 官網稱為文本分析,這是對文本進行一直分析處理的方式,基本處理邏輯是為按照預先制定的分詞規則,把原本的文檔進行分割成多個小顆粒度的詞項&#x…

Python pands使用引擎實現excel條件格式

截至我的知識更新日期(2023年),Pandas 庫本身并不直接支持Excel條件格式。Pandas 是一個強大的Python數據分析庫,它主要用于數據分析和操作,而不是用于創建或編輯Excel文件的格式。 然而,你可以使用 openp…

如何給出好的“文言一心”指令?

一、文言一心是什么? 在現代技術背景下,“文言一心”還是百度公司創建的一款大語言模型。這款模型基于飛槳深度學習平臺和文心知識增強大模型,并擁有強大的中文語料庫,可以理解和生成富含文化內涵和哲理的文本內容。其核心技術架構…

社區醫院|基于SprinBoot+vue的社區醫院管理服務系統(源碼+數據庫+文檔)

社區醫院管理服務系統 目錄 基于SprinBootvue的社區醫院管理服務系統 一、前言 二、系統設計 三、系統功能設計 1系統功能模塊 2管理員功能模塊 3用戶功能模塊 4醫生功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取…

看花眼,眼花繚亂的主食凍干到底應該怎么選?靠譜的主食凍干分享

隨著科學養貓知識的普及,主食凍干喂養越來越受到養貓人的青睞。主食凍干不僅符合貓咪的飲食天性,還能提供均衡的營養,有助于維護貓咪的口腔和消化系統健康。許多貓主人認識到了主食凍干喂養的諸多益處,計劃嘗試這種喂養方式&#…

學英語材料:單口喜劇、講故事、短劇喜劇以及廣播劇和播客節目

學習英語節目 有名的單口喜劇、講故事、短劇喜劇以及廣播劇和播客節目: 單口喜劇(Stand-up Comedy) 描述:這是最接近相聲的形式,表演者獨自一人站在舞臺上,用幽默的方式講述個人經歷、觀察到的社會現象或…

C++面向對象程序設計 - 標準輸出流

在C中,標準輸出流通常指的是與標準輸出設備(通常是終端或控制臺)相關聯的流對象。這個流對象在C標準庫中被定義為std::cout、std::err、std::clog,它們是std::ostream類的一個實例。 一、cout,cerr和clog流 ostream類…

echarts(6大基礎圖表)的使用

目錄 一、vue2掛載 二、柱狀圖 2.1、基礎柱狀圖介紹 2.2、標記:最大值\最小值(markPoint)、平均值(markLine) 2.3、顯示:數值顯示(label)、柱子寬度(barWidth)、橫向柱狀圖 三、折線圖 3.1、標記:最大值\最小值(markPoint)、平均值(ma…

R可視化:組間點圖比較

散點組間比較 散點組間比較 介紹 ggplot2繪制散點組間比較加載R包 knitr::opts_chunk$set(message = FALSE, warning = FALSE)library(tidyverse) library(ggplot2) library(ggprism) library(ggbeeswarm) library(rstatix)rm(list = ls()) options(stringsAsFactors = F) o…

android11禁止進入屏保和自動休眠

應某些客戶要求,關閉了開機進入屏保,一段時間會休眠的問題。以下diff可供參考: diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/value…

Python3 筆記:repr() 函數

repr() 函數將對象轉化為供解釋器讀取的形式。 語法&#xff1a; repr(object) 返回一個對象的 string 格式。 tuple1 (1,2,3) print(type(repr((tuple1)))) # 運行結果&#xff1a;<class str> repr(str)與在字符串前加上“r”或“R”的原理有點相似&#xff0c;但…

node模塊的本質

對于一個模塊而言&#xff0c;有兩個關鍵的地方&#xff0c;一是有自己的作用域&#xff0c;二是有對外暴露的接口 不知道大家有沒有想過這樣一個問題&#xff0c;模塊是怎么實現上面兩個特性的呢&#xff1f;其實通過一個 立即執行函數 就可以了 實際上 Node 在編譯的時候&a…

常見5大開發進度盲點問題及解決方案

在軟件開發項目中&#xff0c;識別并解決常見的進度管理盲點問題&#xff0c;對于確保項目按時、按預算、高質量完成至關重要。它直接關系到項目能否順利進行&#xff0c;忽視任何一個問題&#xff0c;都可能導致項目延期、成本超支、質量下降&#xff0c;甚至項目失敗。 因此&…

IT技術培訓班:實用還是虛幻?

在學習IT技術的過程中&#xff0c;我經常被各種五花八門的技術培訓班所安利。這些培訓班以各種方式向我宣傳&#xff0c;聲稱可以快速提升技能、獲得認證、找到高薪工作等&#xff0c;讓我不禁懷疑&#xff1a;在培訓班里學技術真的有用嗎&#xff1f;我對此抱有怎樣的態度呢&a…

香橙派華為昇騰CANN架構編譯opencv4.9

香橙派華為升騰AI盒子 為啥要編譯opencv4.9.0&#xff0c; 因為在4.9.0 中增加了華為昇騰CANN的外接開發庫&#xff0c;下圖為盒子外觀&#xff0c;此次一接到這個盒子&#xff0c;立刻開始開箱操作&#xff0c;首先就是要編譯opencv4.9&#xff0c;以前在香橙派3588 的盒子中…

大模型應用:LLM基本原理及應用場景

1.背景 23年以來&#xff0c;隨著OpenAI公司的ChatGPT橫空出世&#xff0c;大模型一詞開始火爆全球。國內外以OpenAI、Google、百度、阿里、字節等大廠為代表&#xff0c;相繼推出一系列大模型及其應用&#xff0c;涉及社交、問答、代碼助手等多個方面。 目前主流的大模型及產…

Echarts - 多個頁面內有N個 echarts 圖表,封裝組件 CommonEcharts 快捷實現

目錄 子組件父組件使用注意 option 文件效果展示相關數據處理&#xff08;代碼備份 - 可不看&#xff09;數據處理后頁面展示 子組件 CommonEcharts.vue <template><div><div v-for"id in domId" :id"id" :key"id" class"…

代碼隨想錄算法訓練營Day53 | 1143.最長公共子序列、1035.不相交的線、53. 最大子序和 | Python | 個人記錄向

本文目錄 1143.最長公共子序列做題看文章 1035.不相交的線做題看文章 53. 最大子序和做題看文章 以往忽略的知識點小結個人體會 1143.最長公共子序列 代碼隨想錄&#xff1a;1143.最長公共子序列 Leetcode&#xff1a;1143.最長公共子序列 做題 無思路。 看文章 dp[i][j]&…

基于事件的架構工作機制和相關產品

基于事件的架構 基于事件的架構可否這樣理解&#xff0c;每個事件相當于傳統API的一次函數調用請求&#xff0c;比如Add(123,456)。區別在于&#xff0c;基于事件的架構只是把這個請求發出&#xff0c;并不急于得到結果&#xff0c;而是等合適的子系統處理完這個請求&#xff…

go select

select 是與 switch 相似的控制結構&#xff0c;與 switch 不同的是&#xff0c;select 中雖然也有多個 case&#xff0c;但是這些 case 中的表達式必須都是 channel 的收發操作。 select 能夠讓 goroutine 同時等待多個 channel 可讀或者可寫&#xff0c;在多個 channel 狀態改…