LLM大模型本地部署與預訓練微調

以通義千問-1_8B-Chat為例,按照官方教程,簡單介紹如何將模型進行本地CPU部署以及預訓練微調:
1、環境條件:Linux 24G內存左右
2、本地部署:
提前安裝好git跟git lfs,否則可能拉取不到模型文件,git lfs主要用于大文件拉取。
拉取項目文件:

git clone https://github.com/QwenLM/Qwen.git

創建環境,建議單獨創建一個新環境,避免與現有環境沖突,創建后要先安裝pytorch,再安裝項目依賴模塊。

# 創建環境
conda create -n llm python==3.10.4
# 激活環境
conda activate llm 
# 安裝pytorch 因為沒有GPU 安裝CPU版本即可
conda install pytorch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 cpuonly -c pytorch
# 再安裝項目依賴
pip install -r requirements.txt 

項目文件以及環境安裝好后,繼續拉取模型文件,由于內存有限,拉取1.8B即可
拉取模型:

git clone https://www.modelscope.cn/qwen/Qwen-1_8B-Chat.git qwen_model

調用官方給的web_demo.py 進行本地推理,由于沒有GPU使用CPU即可:

python web_demo.py --server-name 0.0.0.0 -c qwen_model --cpu-only

運行成功后出現模型對話地址:
在這里插入圖片描述
打開地址,如果0.0.0.0無法打開,更換為主機的地址或者自定義的域名,比如我的主機域名為:node1,在瀏覽器輸入:node1:8000即可:
在這里插入圖片描述
至此本地化簡單部署結束,此時我們使用還是官方訓練好的模型,接下來,我們使用自定義數據,對模型進行微調,使其變為我們自己想要訓練的模型:
參照官方文檔:https://github.com/QwenLM/Qwen/blob/main/README_CN.md
Qwen模型的訓練數據格式為:

[{"id": "identity_0","conversations": [{"from": "user","value": "你好"},{"from": "assistant","value": "我是一個語言模型,我叫通義千問。"}]}
]

按照模型的數據格式構建好自己的數據集,這里,我們將回答替換為是我們創造了Qwen模型,讓它按照預設輸出回答:
在這里插入圖片描述
數據集構建后,使用項目文件:finetune/finetune_lora_single_gpu.sh 進行lora微調:
在這里插入圖片描述

# 使用自定義數據集對模型進行微調bash finetune/finetune_lora_single_gpu.sh -m qwen_model/ -d train_data_law.json

模型微調過程會使用CPU,且占用內存大概22G左右;如果遇到內存不足,重啟主機釋放內存后再嘗試訓練,模型訓練完會在當前路徑生成一個 output_qwen文件夾,直接運行可能會報錯,需要把原來模型里面的generation_config.json文件復制到output_qwen文件夾下面:在這里插入圖片描述
調用微調好的模型:

python web_demo.py --server-name 0.0.0.0 -c output_qwen/ --cpu-only

再次跟它對話,可以正常返回微調結果:
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

SQL面試題練習 —— 求連續段的起始位置和結束位置

目錄 1 題目2 建表語句3 題解 題目來源:拼多多。 1 題目 有一張表t_id記錄了id,id不重復,但是會存在間斷,求出連續段的起始位置和結束位置。 樣例數據 ----- | id | ----- | 1 | | 2 | | 3 | | 5 | | 6 | | 8 | | …

【教程】DPW 325T FPGA板卡程序下載與固化全攻略

到底什么是固化??? 在開發板領域,"固化"通常指的是將軟件或操作系統的鏡像文件燒錄(Flash)到開發板的存儲介質上,使其成為開發板啟動時加載的系統。這個過程可以確保開發板在啟動時能…

從單點到全景:視頻匯聚/安防監控EasyCVR全景視頻監控技術的演進之路

在當今日新月異的科技浪潮中,安防監控領域的技術發展日新月異,全景攝像機便是這一領域的杰出代表。它以其獨特的360度無死角監控能力,為各行各業提供了前所未有的安全保障,成為現代安防體系中的重要組成部分。 一、全景攝像機的技…

【SpringMVC】第1-7章

第1章 初始SpringMVC 1.1 學習本套教程前的知識儲備 JavaSEHTMLCSSJavaScriptVueAJAX axiosThymeleafServletMavenSpring 1.2 什么是MVC MVC架構模式相關課程,在老杜的JavaWeb課程中已經詳細的講解了,如果沒有學過的,可以看這個視頻&…

抖音微短劇小程序平臺:源碼搭建與廣告回傳技術詳解

抖音微短劇小程序平臺:源碼搭建與廣告回傳技術詳解 在數字化時代,短視頻已成為大眾娛樂生活的重要組成部分。抖音微短劇小程序平臺,作為這一趨勢的佼佼者,不僅為用戶提供了豐富多樣的短視頻內容,還為創作者和廣告主提…

當下為什么越來越多的企業選擇產業園區,而不是寫字樓?

隨著經濟形勢的變化和各行業的升級轉型,我們發現越來越多的企業選擇扎根產業園而非傳統的寫字樓,這一現象背后真正的原因是什么呢?今天我們就站在企業自身發展的角度,全維度對比一下產業園與傳統寫字樓的區別,看是否能…

參加六西格瑪綠帶培訓是投資未來,還是花冤枉錢?

是否值得花費資金參加六西格瑪綠帶培訓,取決于多個因素。 從積極的方面來看,參加六西格瑪綠帶培訓具有以下潛在價值: 1. 提升專業技能:使您掌握一套系統的問題解決方法和流程改進工具,有助于在工作中更高效地解決復雜…

代碼隨想錄算法訓練營:14/60

非科班學習算法day14 | LeetCode266:翻轉二叉樹 ,Leetcode101: 對稱二叉樹,Leetcode100:相同的的樹 ,LeetCode572:另一顆樹的子樹,LeetCode104:二叉樹的最大深度,LeetCode559:N叉樹的最大深度 目…

CesiumJS【Basic】- #017 精靈動畫的渲染

文章目錄 精靈動畫的渲染1 目標2 實現3 資源文件精靈動畫的渲染 1 目標 完成動畫精靈圖(Animated Sprite Sheet)的渲染 2 實現 import * as Cesium from "cesium";const viewer = new Cesium.

SDK 程序卡在 AXI DMA 配置 (XAxiDma_CfgInitialize)的解決方法

在進行 AXI DMA 配置 時候代碼一直卡在XAxiDma_CfgInitialize函數出不來,也沒有打印報錯。 /* Initialize the XAxiDma device.*/CfgPtr XAxiDma_LookupConfig(DeviceId);if (!CfgPtr) {xil_printf("No config found for %d\r\n", DeviceId);return XST_…

Ubuntu安裝指定內核版本教程

Ubuntu安裝內核 1.查看當前os已安裝的內核 $sudo dpkg --get-selections |grep linux-image linux-image-5.10.0-1013-oem install linux-image-5.11.0-27-generic install linux-image-5.11.0-41-generic install …

ResNet-50算法

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 一、理論知識儲備 1.CNN算法發展 AlexNet是2012年ImageNet競賽中,由Alex Krizhevsky和Ilya Sutskever提出,在2012年ImageNet競賽中&a…

頭歌——機器學習——支持向量機案例

第1關:基于支持向量機模型的應用案例 任務描述 本關任務:編寫一個基于支持向量機模型的應用案例。 相關知識 在本應用案例中,我們借助一個具體的實際問題,來完整地實現基于支持向量機模型的開發應用。在此訓練中,我…

運籌系列93:VRP精確算法

1. MTZ模型 MTZ是Miller-Tucker-Zemlin inequalities的縮寫。除了定義是否用到邊 x i j x_{ij} xij?外,還需要定義一個 u i u_i ui?用來表示此時車輛的當前載貨量。注意這里x變量需要定義為有向。 這里定義為pickup問題,代碼為: using Ju…

數據庫系統概論-第11章并發控制

允許多個用戶同時使用同一個數據庫的數據庫系統稱為多用戶數據庫系統。 事務可以一個一個地中行執行,即每個時刻只有一個事務運行,其他事務必須等到這個事務結束以后方能運行。 單處理機系統中,事務的并行執行實際上是這些并行事務的并行操…

windows下載jdk并安裝步驟(保姆級教程)

一、下載jdk 下載地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、雙擊下載好的jdk 更改安裝目錄然后點擊下一步 然后會彈出jre的安裝,需要選擇路徑(注意:這里的路徑必須跟前面的jdk在…

ocr數據不夠,怎么造數據

1.確定特定字體類型; 2.收集合適的圖片作為背景 3.在背景圖上填寫特定字體的字符內容 1)字體無法確認時怎么辦? 方法一:可以將文本行裁剪出來去網站上確認,網站鏈接:字體識別-在線掃一掃圖片找字體-搜字…

將huggingface的大模型轉換為safetensor格式

很多huggingface的大語言模型都是pytorch的格式,但是mindie需要safetensor格式,另外mindieservice加載原始的baichuan2-13b的模型出錯,后來排查是bfloat16數據格式的問題,所以這次轉換要一次性轉為float16的格式。 上代碼&#x…

計算機網絡:如何隱藏真實的IP和MAC地址?

目錄 一、什么是MAC地址二、什么是IP地址三、如何隱藏真實的MAC地址四、如何隱藏真實的IP地址 一、什么是MAC地址 MAC地址,全稱為媒體訪問控制地址(Media Access Control Address),是一種用于網絡通信的唯一標識符。它是由IEEE 8…

PLC網關如何選擇?plc網關作用-天拓四方

一、PLC網關在工業自動化領域的重要性和作用 PLC網關在工業自動化領域的重要性和作用不言而喻。作為工業自動化系統的重要組成部分,PLC網關起到了關鍵的橋梁作用,實現了PLC與其他設備、系統之間的數據傳輸和通信。 首先,PLC網關的重要性體現…