阿里云部署微調chatglm3

git Ifs install
Git lfs 主要用于管理大型文件。在傳統的Git倉庫中,所有文件內容都會被完整記錄在每一次提交中,這會導致倉庫體積增大,克隆、拉取和推送操作變慢,甚至可能超出存儲限額。Git LFS通過將大文件替換成文本指針,這些指針存儲在Git倉庫中,而實際的大文件則存儲在遠程的LFS服務器上,從而有效解決這些問題。

拉取模型(分兩步拉取)
git clone https://huggingface.co/minlik/chinese-alpaca-plus-7b-merged
git clone https://huggingface.co/entity303/lawgpt-lora-7b-v2

cd chinese-alpaca-plus-7b-mergedcd lawgpt-lora-7b-v2 到對應模型的目錄下去再執行

git Ifs pull 拉取大文件
git Ifs Is-files 檢查文件完整性

langchain +大模型
bisheng大模型框架

提示詞工程:
你是一個友好型的客服助理,請你回答用戶的問題{input)},這是你和用戶的聊天記錄{chat_history},讀取文件內容{context}
工作鏈:
是一個按照指定順序調用不同組件的過程,這里的組件除了大模型,還包括各類獲取數據 或者處理數據的API、代碼等,同時[工作鏈/Chains]還可以嵌套詞用其做[工作鏈/Chains].

大模型微調(新數據對模型進行訓練)
登錄阿里云平臺,選擇菜單欄文檔與社區,選擇機器學習平臺PAI,免費試用 選擇交互式建模DSW ,授權進入到控制臺,,
創建實例,官方鏡像選擇pytorch1.12
AI資產管理的DSW gallery—>輕量微調和推理

部署chatglm3-6b
git clone https://github.com/THUDM/ChatGLM3.git
source /etc/network_turbo 啟動學術加速
創建虛擬環境 conda create --name myenv python=3.10
conda init
conda activate myenv 激活虛擬環境
cd ChatGLM3
pip install–upgrade pip
下載相關依賴
下載相應依賴包(可選source /etc/network_turbo)
pip install-r requirements.txt
pip install jupyter_client

下載模型(三種方式)
第一種(huggingface直接拉取)(最推薦這種切換目錄cd /root/autodl-tmp)
其他方法:就是先上傳到阿里云盤,再從阿里云盤拉取
切換目錄 cd /root/autodl-tmp
更新軟件包 sudo apt update
安裝git-Ifs
sudo apt-get install git-Ifs
初始化git-Ifs
git lfs install
克隆項目中的小文件
git clone https://huggingface.co/THUDM/chatglm3-6b (選這個命令)
git clone https://www.modelscope.cn/ZhipuAl/chatglm3-6b.git (備選)
當看到這句話:Unpacking objects: 100% (84/84), 39.16 KiB | 1.30 MiB/s, done. Ctrl鍵+c退出

進入項目目錄 cd chatglm3-6b
拉取大文件 git Ifs pull
驗證文件完整性 git Ifs Is-files 帶星號的是完整下載的
4d5567466e * pytorch_model-00001-of-00007. bin
4ad4153401 * pytorch_model-00002-of-00007. bin
a2be9b17c3 * pytorch_model-00003-of-00007. bin
b5526891el * pytorch_model-00004-of-00007. bin
84bb18a476 * pytorch_model-00005-of-00007. bin
1181875a2d * pytorch_model-00006-of-00007. bin
1271b638dc * pytorch_model-00007-of-00007. bin

cd chatGlm3/basic_demo 切換目錄
vi cli_demo.py 修改到本地模型文件路徑
python cli_demo.py 就可以在終端和模型對話

(網頁啟動)
python web_demo.py
從申請云主機的平臺上粘貼來的命令:
ssh-p 21133 root@connect.westb.seetacloud.com (將root@connect.westb.seetacloud.com替換下面的對應位置1)
修改后的命令: 輸入到win power shell中
ssh-CNg-L 6006:127.0.0.1:7860 root@connect.westc.gpuhub.com -p 21133
密碼:Ap/u32aKvCAY
瀏覽器打開 http://127.0.0.1:6006
到這里模型部署完畢

微調類型

  • 原理:LoRA(Low-Rank Adaptation)是一種參數高效的微調方法,通過在模型的權重矩陣中添加低秩矩陣來調整模型參數,從而在不改變原始模型結構的情況下,實現對模型的微調。
    Freeze-tuning 微調
  • 原理:Freeze-tuning 是一種凍結部分模型參數的微調方法。在微調過程中,只更新模型的部分參數,而保持其他參數不變。這種方法可以減少計算量和顯存占用,同時避免對模型的過度調整。
    P-Tuning 微調
  • 原理:P-Tuning 是一種通過調整模型的輸入提示(prompt)來進行微調的方法。通過對輸入文本的提示進行設計和優化,引導模型生成更符合任務需求的輸出。
    全參數微調
  • 原理:全參數微調是對模型的所有參數進行調整的微調方法。這種方法會更新模型的每一個參數,以使模型更好地適應特定任務的數據集。

多輪對話微調

基于AutoDL的ChatGLM3-6b部署微調實踐(全流程) - 知乎
(先激活虛擬環境)
安裝依賴
pip install transformers==4.30.2 accelerate sentencepiece astunparse deepspeed
克隆項目
cd ~
git clone https://github.com/tangqiaoyu/ToolAlpaca.git
調整數據格式
/root/ChatGLM3/finetune_demo/scripts/format_tool_alpaca.py --path “/root/ToolAlpaca/data/train_data.json”
進入修改參數
cd /root/ChatGLM3/finetune_demo/scripts
找到這個文件
finetune_pt_multiturn.sh
進入修改訓練數據路徑
BASE_MODEL_PATH=/root/autodl-tmp/chatglm3-6b
DATASET_PATH=(一般是: /root/formatted_data/tool_alpaca.jsonl)
注意:這里的數據集一般是jsonl文件,不是傳統神經網絡那種格式
微調開始
cd /root/ChatGLM3/finetune_chatmodel_demo
/root/ChatGLM3/finetune_demo/scripts/finetune_pt_multiturn.sh
微調結束(大概3個小時) (微調顯示)
(train_runtime: 12381.253, train_samples_per_second’: 1.292, train_steps_per_second: 0.081, train_loss’: 0.26453141117095946, epoch’: 3.95) 100%
Saving PrefixEncoder
[INFOlconfiguration_utils.py:458] 2023-11-11 00:32:07,299 >>Configuration saved in output/tool_alpaca_pt-20231110-210524-128-2e-2/config.json I 1000/1000 [3:26:21<00:00, 12.38s/it]
上述表示微調完成

調用微調模型
進入對應目錄cd /root/ChatGLM3/composite_demo
測試模型
python inference.py --pt-checkpoint “/root/ChatGLM3/finetune_demo/output/advertise_gen_pt-20231111-212157-128-2e-2” --model /root/autodl-tmp/chatglm3-6b

啟動微調好的模型
MODEL_PATH=“/root/autodl-tmp/chatglm3-6b” PT_PATH=“/root/ChatGLM3/finetune_demo/output/tool_alpaca_pt-20231110-210524-128 -2e-2” streamlit run main. py

train_data.json內容大概如下:

輸入輸出格式微調

cd ~
wget-O AdvertiseGen.tar.gz https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1
tar -xzvf AdvertiseGen.tar.gz /root/ChatGLM3/finetune_demo/scripts/format_advertise_gen.py --path “/root/AdvertiseGen/train.json”
進入修改參數
cd /root/ChatGLM3/finetune_demo/scripts
找到這個文件 finetune_pt.sh
進入修改訓練數據路徑
BASE MODEL PATH=/root/autodl-tmp/chatglm3-6b DATASET_PATH=看自己情況(一般是:/root/formatted data/advertise gen.jsonl
微調開始
cd /root/ChatGLM3/finetune demo /root/ChatGLM3/finetune_demo/scripts/finetune_pt.sh

微調完成

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

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

相關文章

Linux網絡編程 ---五種IO模型

五種IO模型一、IO慢的原因二、五種IO模型三、如何設置非阻塞式IO&#xff1f;一、IO慢的原因 二、五種IO模型 阻塞式IO 非阻塞式IO 信號驅動IO 多路轉接 異步IO 三、如何設置非阻塞式IO&#xff1f; &#xff08;一&#xff09;用法說明 &#xff08;二&#xff0…

Obsidian結合CI/CD實現自動發布

CI/CDQuickAddJS腳本bat腳本sh腳本實現自動發版Hugo文章 需求來源 每次手動執行Hugo的命令&#xff0c;手動把public文件夾上傳到自己的服務器可以完成發版需求。 但是&#xff0c;作為一個內容創作者&#xff0c;我更希望的關注于自己的內容&#xff0c;而不是關注整個發版…

[硬件電路-141]:模擬電路 - 源電路,信號源與電源,能自己產生確定性波形的電路。

源電路&#xff08;Source Circuit&#xff09;是電子系統中為其他電路或負載提供特定信號或能量的基礎電路模塊&#xff0c;其核心功能是生成、調節或轉換所需的物理量&#xff08;如電壓、電流、波形、頻率等&#xff09;。以下是源電路的詳細解析&#xff1a;一、源電路的核…

Unity_數據持久化_PlayerPrefs基礎

Unity數據持久化 一、數據持久化基礎概念 1.1 什么是數據持久化 定義&#xff1a; 數據持久化就是將內存中的數據模型轉換為存儲模型&#xff0c;以及將存儲模型轉換為內存中的數據模型的統稱。 通俗解釋&#xff1a; 將游戲數據存儲到硬盤&#xff0c;硬盤中數據讀取到游戲中&…

什么是列存儲(Columnar Storage)?深度解析其原理與應用場景

列存儲的基本概念&#xff1a;顛覆傳統的數據組織方式列存儲&#xff08;Column Storage&#xff09;是一種革命性的數據庫存儲技術&#xff0c;它通過按列而非按行組織數據&#xff0c;從根本上改變了數據的物理存儲結構。與傳統行存儲數據庫不同&#xff0c;列式數據庫將每一…

機器人抓取流程介紹與實現——機器人抓取系統基礎系列(七)

機器人抓取系統基礎系列文章目錄 1. UR機械臂的ROS驅動安裝官方教程詳解——機器人抓取系統基礎系列&#xff08;一&#xff09; 2. MoveIt控制機械臂的運動實現——機器人抓取系統基礎系列&#xff08;二&#xff09; 3. 機器人&#xff08;機械臂&#xff09;的相機選型與安裝…

【Qt】QObject::startTimer: Timers cannot be started from another thread

QTimer對象的 start 函數調用必須和創建QTimer對象是同一個線程。 #include "QtTimerTest.h" #include <QDebug>QtTimerTest::QtTimerTest(QWidget *parent): QMainWindow(parent),m_timer(nullptr),m_timerThread(nullptr), m_workingThread(nullptr) {ui.set…

社會治安滿意度調查:為城市安全治理提供精準參考(滿意度調查公司)

在社會治理不斷深化的背景下&#xff0c;公眾對社會治安的感知與評價已成為衡量城市治理水平的重要維度&#xff08;社會治安滿意度調查&#xff09;&#xff08;公眾滿意度調查&#xff09;&#xff08;滿意度調查&#xff09;。為全面掌握市民對治安狀況的真實反饋&#xff0…

Python篇--- Python 的加載、緩存、覆蓋機制

要理解 import 與 if __name__ "__main__": 的關系&#xff0c;以及 Python 的加載、緩存、覆蓋機制&#xff0c;我們可以從 “模塊的兩種身份” 和 “導入的全過程” 入手&#xff0c;用通俗的例子一步步拆解。一、核心&#xff1a;模塊的 “雙重身份” 與 __name_…

Java設計模式之行為型模式(訪問者模式)應用場景分析

訪問者模式&#xff08;Visitor Pattern&#xff09;作為Java設計模式中的“隱形冠軍”&#xff0c;常被開發者低估其價值。這一模式通過“雙分派”機制巧妙解耦數據結構與操作&#xff0c;為復雜系統的擴展提供了強大武器。在大廠項目中&#xff0c;訪問者模式往往出現在業務邏…

【IDEA】JavaWeb自定義servlet模板

方法一&#xff1a;&#xff08;推薦去使用方法二&#xff0c;還能創建其它代碼模板&#xff09;使用servlet模板創建Servlet類如果創建時找不到servlet模板&#xff1a;File -> Project Structure然后應用 -> OK&#xff0c;如果還是找不到Servlet模板&#xff0c;看看項…

Linux選擇

在內存中運行著的進程稱為&#xff08; 服務 &#xff09;。負責控制systemd系統和服務管理器的工具為&#xff08; systemctl &#xff09;命令。systemd管理系統服務的基本單位是&#xff08; unit &#xff09;。分配和管理資源的基本單位是&#xff08; 進程 &#xf…

【Redis學習路|第一篇】初步認識Redis

概要: 深入探討NoSQL數據庫的核心特性&#xff0c;對比傳統關系型數據庫的差異&#xff0c;重點介紹Redis作為內存數據庫的優勢與應用場景。 文章目錄認識 NoSQLNoSQL vs SQL 對比1?? 結構化 vs 非結構化2?? 關聯 vs 非關聯3?? 查詢方式對比4?? 事務特性5?? 存儲方式…

java局域網聊天室小項目架構思路

java局域網聊天室小項目架構思路 項目需求 創建一個局域網聊天系統&#xff0c;要求&#xff1a;用戶在登錄界面登錄后進入聊天窗口界面&#xff0c;能實現多用戶同時在線聊天&#xff0c;并且用戶之間可以進行私聊 項目用到的技術棧 java網絡編程java多線程java面向對象編…

vulhub-corrosion2靶機

1.安裝靶機 https://download.vulnhub.com/corrosion/Corrosion2.ovahttps://download.vulnhub.com/corrosion/Corrosion2.ova 2.掃描IP 3.掃描端口 4.訪問端口 首先訪問一下80端口 訪問一個8080端口發現是一個apache的頁面 5.掃描目錄與漏洞探測 那么我們掃描一下目錄 80…

Mysql深入學習:慢sql執行

目錄 慢查詢日志 慢查詢主要步驟 11種慢查詢的場景分析 場景一&#xff1a;SQL 沒有建立索引 場景二&#xff1a;索引未生效的典型原因 場景三&#xff1a;LIMIT 深分頁導致性能下降 場景四&#xff1a;單表數據量過大導致 SQL 性能下降 場景五&#xff1a;ORDER BY 出現…

李宏毅深度學習教程 第8-9章 生成模型+擴散模型

【2025版】12 生成式對抗網絡GAN 一 – 基本概念介紹_嗶哩嗶哩_bilibili 目錄 1. GAN生成式對抗網絡 2. GAN的訓練 散度差異 3.WGAN 4.訓練GAN 5. 如何客觀評估GAN 6. 條件型生成&#xff08;按照要求&#xff09; 7. Cycle GAN&#xff08;互轉配對&#xff09; 8. d…

1.8 axios詳解

Axios的定義與核心特性Axios是一個基于Promise的現代化HTTP客戶端庫&#xff0c;主要用于在瀏覽器和Node.js 環境中發送HTTP請求&#xff0c;旨在簡化異步數據交互流程。其核心特性如下&#xff1a;跨平臺支持&#xff1a;在瀏覽器中通過XMLHttpRequest對象發送請求&#xff0c…

41.安卓逆向2-frida hook技術-過firda檢測(五)-利用ida分析app的so文件中frida檢測函數過檢測

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 內容參考于&#xff1a;圖靈Python學院 工具下載&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取碼&#xff1…

安卓調javaScript Not find method “forceLogout“ implementatidsignature or namesp

核對一下是否實現對應的javaScript或者javaScript的方法參數對不對&#xff0c; 在這里插入圖片描述我這里一開始實現了這個方法但是沒有給參數&#xff0c;一直報異常&#xff0c;后臺說token沒給就查token的問題&#xff0c;最后發現是搞偏了&#xff0c;兩個原因&#xff0c…