DeepSeek R1大模型微調實戰-llama-factory的模型下載與訓練

文章目錄

    • 概要
    • 1.下載模型
    • 2.llama factory 訓練模型
      • 2.1 模型微調
      • 2.2 模型評估
      • 2.3 模型對話
      • 2.4 導出模型
    • 3.硬件選擇

概要

LLaMA Factory 是一個簡單易用且高效的大型語言模型訓練與微調平臺。通過它,用戶可以在無需編寫任何代碼的前提下,在本地完成上百種預訓練模型的微調。

1.下載模型

在LLaMA Factory頁面中,選擇了模型后,可能是因為網絡原因,會導致加載模型失敗,這種情況可以通過把模型自己下載后,然后把模型路徑改為本地模型的路徑,來解決。

在這里插入圖片描述

在模型平臺上下載模型,比如Hugging Face (https://huggingface.co)
或者采用modelscope,我這里采用modelscope。

pip install modelscopemodelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --local_dir /home/model/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
# 執行上述指令后,模型參數被下載至:/home/model/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B文件夾。[root@VM-0-9-tencentos DeepSeek-R1-Distill-Qwen-1.5B]# pwd
/home/model/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
[root@VM-0-9-tencentos DeepSeek-R1-Distill-Qwen-1.5B]# ls -hl
total 3.4G
-rw-r--r-- 1 root root  679 Sep  3 17:16 config.json
-rw-r--r-- 1 root root   73 Sep  3 17:16 configuration.json
drwxr-xr-x 2 root root   27 Sep  3 17:16 figures
-rw-r--r-- 1 root root  181 Sep  3 17:16 generation_config.json
-rw-r--r-- 1 root root 1.1K Sep  3 17:16 LICENSE
-rw-r--r-- 1 root root 3.4G Sep  3 17:20 model.safetensors
-rw-r--r-- 1 root root  16K Sep  3 17:16 README.md
-rw-r--r-- 1 root root 3.0K Sep  3 17:16 tokenizer_config.json
-rw-r--r-- 1 root root 6.8M Sep  3 17:16 tokenizer.json
[root@VM-0-9-tencentos DeepSeek-R1-Distill-Qwen-1.5B]# 

2.llama factory 訓練模型

2.1 模型微調

在圖形化UI界面設置模型名稱、模型路徑和數據集,這里我以LLama-Factory中自帶的多模態數據集“mllm_demo”數據集為例:
在這里插入圖片描述

可以選擇預覽數據集,預覽數據結構:

在這里插入圖片描述
可以選擇預覽命令查看模型訓練的實際指令,輸出目錄可以選擇默認以時間戳命名的路徑,確認沒問題后點“開始”即可開始訓練.訓練時,在右下角可以實時查看loss下降的曲線,非常直觀和方便.
在這里插入圖片描述

2.2 模型評估

在這里插入圖片描述

  • 模型微調完成后,檢查點路徑下拉選擇train_2025-09-04-15-43-59。

  • 在Evaluate&Predict頁簽中,數據集選擇mllm_demo(驗證集)評估模型,并將輸出目錄修改為eval_2025-09-04-15-43-59,模型評估結果將會保存在該目錄中。

  • 單擊開始,啟動模型評估。模型評估大約需要5分鐘,評估完成后會在界面上顯示驗證集的分數。其中,ROUGE分數衡量了模型輸出答案(predict)和驗證集中的標準答案(label)的相似度,ROUGE分數越高代表模型學習得越好。
    在這里插入圖片描述

2.3 模型對話

訓練好以后可以設置檢查點路徑等參數:
在這里插入圖片描述

點擊加載模型,在頁面底部的對話框輸入想要和模型對話的內容,單擊提交,即可發送消息。發送后模型會逐字生成回答,從回答中可以發現模型學習到了數據集中的內容,能夠恰當地模仿目標角色的語氣進行對話。

單擊卸載模型和取消檢查點路徑,然后單擊加載模型,即可與微調前的原始模型聊天。你會發現提出同樣的問題,回答結果是不一樣的。

2.4 導出模型

訓練完成后,可以融合lora參數,導出作為一個新的模型。新的訓練好的模型參數結構和原來的模型(例如DeepSeek-R1-1.5B-Distill)結構一致。新的模型加載后,可以開始新的對話。
在這里插入圖片描述

3.硬件選擇

可以采用第三方平臺或者接口實現DeepSeek會話,這里采用本地部署開源大模型。下面列出了不同大小的DeepSeek模型對應的顯存和內存需求。請根據你的顯卡配置和MacOS系統的內存選擇合適的模型。
?

模型大小?顯存需求(FP16 推理)?顯存需求(INT8 推理)?推薦顯卡?MacOS 需要的 RAM?
1.5b?3GB?2GB?RTX 2060/MacGPU 可運行?8GB?
7b?14GB??10GB??RTX 3060 12GB/4070 Ti??16GB??
8b?16GB??12GB??RTX 4070/MacGPU 高效運行??16GB??
14b??28GB??20GB??RTX 4090/A100-40G??32GB?
32b??64GB??48GB?A100-80G/2xRTX4090??64GB??

如果電腦的顯存不夠用,可以通過量化來減少對顯存的需求。量化就是把模型的參數從較高的精度(比如32位)轉換為較低的精度(比如8位),這樣可以節省顯存空間,讓你的電腦能夠運行更大的模型。舉個例子,如果你的電腦顯存是8GB,而你想使用7b參數的模型,但顯存不足,那么通過量化處理后,你就可以在不增加硬件的情況下,使用這個大模型。

如果你不確定自己是否需要量化,可以參考下面的顯卡顯存列表來判斷自己電腦的顯存是否足夠運行所需的模型。

顯存大小顯卡型號
3GBGTX 1060 3GB
4GBGTX 1050 Ti
6GBGTX 1060 6GB, RTX 2060 6GB, RTX 3050 (6GB)
8GBGTX 1080, GTX 1070 Ti, RTX 2080 SUPER, RTX 2080, RTX 2070 SUPER, RTX 2070, RTX 2060, RTX 2060 SUPER, RTX 3070, RTX 3070 Ti, RTX 3060 Ti, RTX 3060 (8GB), RTX 3050 (8GB), RTX 4080, RTX 4060 Ti, RTX 4060, RTX 5070
11GBGTX 1080 Ti, RTX 2080 Ti
12GBGRTX 2060 12GB, RTX 3060 (12GB), RTX 4070 Ti SUPER, RTX 4070, RTX 5070 Ti
16GBRTX 4060 Ti 16GB, RTX 5080
24GBRTX 3090 Ti, RTX 3090, RTX 4080, RTX 4090
32GBRTX 5090

以上就是在 CentOS 上模型下載與訓練的基本步驟。如果你遇到任何問題,可以查看 LLaMA Factory 的 GitHub 倉庫中的文檔或尋求社區的幫助。

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

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

相關文章

C++ map和set

C參考文獻:cplusplus.com - The C Resources Network 目錄 一、序列式容器和關聯式容器 二、set系列 (1)set類的介紹 (2)set的構造和迭代器 (3)set的接口 1.insert?編輯 2.find和erase 3…

頭一次見問這么多kafka的問題

分享一篇粉絲朋友整理的面經,第一次遇見問那么多kafka的問題,看看他是怎么回答的。 先來看看 職位描述: 崗位職責: 負責基于 Go 的后端服務的設計、開發和維護;參與系統架構設計,確保系統的高可用性、高性能…

自底向上了解CPU的運算

文章目錄 引言 CPU如何實現邏輯運算 NMOS和PMOS 基于MOS管組合下的邏輯門運算 邏輯運算下運算的實現 ALU的誕生 CPU的誕生 關于二進制運算的研究 十進制轉二進制基礎換算 為什么負數要使用補碼進行表示 為什么反碼就能解決正負數相加問題,我們還需要用補碼來表示負數呢? 小數…

apache poi與Office Open XML關系

以下內容來自AI https://ecma-international.org/publications-and-standards/standards/ecma-376/ 官方規范 https://poi.apache.org/components/oxml4j/index.html java中針對Office Open XML的實現 Apache poi中各個組件 https://poi.apache.org/components/index.html …

S32K328上芯片內部RTC的使用和喚醒配置

1:RTC介紹 1.1 RTC基礎功能介紹 參考《S32K3xx Reference Manual》,S32K328芯片內部自帶RTC功能,并且支持從低功耗狀態下喚醒設備;1.2 RTC電源介紹 由以下三張圖可知 1:RTC由V11供電,V11依賴外部V15供電&am…

【Python】數據可視化之分類圖

目錄 條形圖 箱形圖 散點圖 分簇散點圖 小提琴 分簇小提琴 條形圖 條形圖是一種直觀的圖表形式,它通過不同長度的矩形條(即“條形”)來展示數值變量的中心趨勢估計值,其中每個矩形的高度直接對應于該組數據的某個中心量度&…

RabbitMQ模型詳解與常見問題

項目demo地址:https://github.com/tian-qingzhao/rabbitmq-demo 一、RabbitMQ組件概念 1.1 Server:接收客戶端的連接,實現AMQP實體服務。 1.2 Connection:連接 應用程序與Server的網絡連接,TCP連接。 1.3 Channel&…

網絡:相比于HTTP,HTTPS協議到底安全在哪?

網絡:相比于HTTP,HTTPS協議到底安全在哪? 我們知道HTTPS也是一種應用層協議,它在HTTP的基礎上有一層加密,因為HTTP的數據傳輸都是以明文方式傳輸的,所以加密主要是為了防止數據在傳輸的時候被篡改 今天我…

AI 基礎設施新范式,百度百舸 5.0 技術深度解析

本文整理自 2025 年 8 月 29 日百度云智大會 —— AI 算力平臺專題論壇,百度智能云 AI 計算首席科學家王雁鵬的同名主題演講。大家下午好!昨天在主論壇,我們正式發布了百度百舸 AI 計算平臺 5.0,并展示了多項亮眼的性能數據。今天…

IO進程線程;多線程;線程互斥同步;互斥鎖;無名信號量;條件變量;0905

思維導圖多線程打印ABC運用無名面量 實現進程同步#include<myhead.h> //定義 無名信號量 sem_t sem1; sem_t sem2; sem_t sem3; //線程1 void* task1(void *arg) {while(1){sem_wait(&sem1);printf("A");fflush(stdout);sleep(1);sem_post(&sem2);} } …

固高 GTS-800 運動控制卡完全使用指南:從硬件部署到高階應用

固高 GTS-800 系列運動控制卡作為中端工業控制領域的標桿產品,以其 8-16 軸同步控制能力、豐富的插補功能和穩定的性能,廣泛應用于激光加工、PCB 制造、精密裝配等自動化設備中。本文將系統講解 GTS-800 的硬件架構、開發環境搭建、核心功能實現及工程實踐技巧,幫助工程師快…

STM32F103_Bootloader程序開發15 - 從Keil到vscode + EIDE + GCC的遷移實踐

導言 STM32 - Embedded IDE - GCC - 如何在工程中生成.bin格式固件 STM32 - Embedded IDE - GCC - 使用 GCC 鏈接腳本限制 Flash 區域 STM32 - Embedded IDE - GCC - 如何在工程中定義一段 NoInit RAM 內存 STM32 - Embedded IDE - GCC - 如何將編譯得到的.bin固件添加CRC32校驗…

HTTP協議——理解相關概念、模擬實現瀏覽器訪問自定義服務器

文章目錄HTTP協議理解相關概念HTTP相關背景知識認識URLHTTP協議在網絡通信的宏觀認識urlencode & urldecodeHTTP請求和應答的格式模擬實現瀏覽器訪問自定義服務器關于http requesthttp request的請求行——URI使用瀏覽器完成靜態資源的訪問常用的報頭屬性http response狀態…

【服務器】英偉達M40顯卡風冷方案心得

在之前的博文中&#xff0c;博主說到最近準備自己組裝一臺服務器&#xff0c;主要用于有限元仿真&#xff0c;其次兼顧一部分AI機器學習的工作&#xff0c;于是博主就入手了一張英偉達Tesla M40的12G顯卡GPU。本來博主也糾結過是買M40還是M60&#xff0c;后來在網上看到說M60看…

Java中的鎖升級機制

目錄 核心思想 Java對象頭&#xff08;Object Header&#xff09;與Mark Word 鎖升級的詳細步驟 1. 無鎖&#xff08;No Lock&#xff09; 2. 偏向鎖&#xff08;Biased Locking&#xff09; 3. 輕量級鎖&#xff08;Lightweight Lock&#xff09; 4. 重量級鎖&#xff…

Scikit-learn Python機器學習 - 特征預處理 - 標準化 (Standardization):StandardScaler

鋒哥原創的Scikit-learn Python機器學習視頻教程&#xff1a; 2026版 Scikit-learn Python機器學習 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程主要講解基于Scikit-learn的Python機器學習知識&#xff0c;包括機器學習概述&#xff0c;特征工程(數據…

windows下wsl2 ubuntu開發配置

配置環境變量# 設置方式 命令/文件 生效范圍 適用場景 # 臨時 export FORCE_UNSAFE_CONFIGURE1 當前終端 臨時編譯軟件 # 用戶級永久 ~/.bashrc或~/.profile 當前用戶 長期使用&#xff08;單用戶&#xff09; # 系統級永久 /etc/environment或/…

網絡編程 05:UDP 連接,UDP 與 TCP 的區別,實現 UDP 消息發送和接收,通過 URL 下載資源

一、概述 記錄時間 [2025-09-02] 前置文章&#xff1a; 網絡編程 01&#xff1a;計算機網絡概述&#xff0c;網絡的作用&#xff0c;網絡通信的要素&#xff0c;以及網絡通信協議與分層模型 網絡編程 02&#xff1a;IP 地址&#xff0c;IP 地址的作用、分類&#xff0c;通過 …

告別線纜束縛!AirDroid Cast 多端投屏,讓分享更自由

AirDroid Cast 是一款功能強大的跨平臺投屏應用&#xff0c;能夠輕松實現手機、電腦之間以及手機之間的屏幕共享與控制。無論是工作演示、在線教學還是游戲直播&#xff0c;AirDroid Cast 都能提供流暢穩定的投屏體驗。 1. 下載與安裝 您可以通過以下鏈接下載 AirDroid Cast&…

從零開始學大模型之大模型訓練流程實踐

大模型訓練流程實踐 本文較長&#xff0c;建議點贊收藏&#xff0c;以免遺失。更多AI大模型開發 學習視頻/籽料/面試題 都在這>>Github<< >>Gitee<< 6.1 模型預訓練 在上一章&#xff0c;我們逐步拆解了 LLM 的模型結構及訓練過程&#xff0c;從零手…