QLoRA論文概述

QLORA: Efficient Finetuning of Quantized LLMs

  • QLoRA論文概述
    • 前言(省流版本)
    • 摘要
    • 論文十問
    • 實驗
      • 實驗1
        • 數據集和模型
        • 實驗結論
      • 實驗2
        • 數據集和模型
        • 實驗結論
    • 局限性
      • 模型尺度
      • 數據集
      • 其他微調方法

QLoRA論文概述

前言(省流版本)

微調需要大量顯存資源。

之前工作的量化大都是在推理而非訓練。

實驗中發現數據的質量比數量重要。

評估采用人類和GPT-4相結合。

提出了三個技術方案實現單個GPU微調65B模型,達到和16位微調任務相同的性能

  • 4-bit NormalFloat(NF4)量化:QLORA使用一種新的數據類型NF4,它在信息理論上最適合正態分布的權重,并在實踐中優于4-bit整數和4-bit浮點數。
  • 雙量化:QLORA采用雙量化方法,對量化常數進行第二次量化,從而減少每個參數的內存占用。
  • 分頁優化器:QLORA引入了分頁優化器,在梯度檢查點時防止內存溢出錯誤。這個方法使用NVIDIA統一內存特性,在CPU和GPU之間自動進行頁面到頁面的傳輸,以便在GPU內存不足時進行無錯誤的GPU處理。優化器狀態分配分頁內存,然后在GPU運行內存不足時自動逐出到CPU RAM,并在優化器更新步驟中重新分頁到GPU內存。

摘要

我們提出了QLORA,這是一種有效的微調方法,它減少了內存使用,足以在單個48GB GPU上微調65B參數模型,同時保留完整的16位微調任務性能。

QLORA通過凍結的4位量化預訓練語言模型將梯度反向傳播到低秩適配器(Low Rank Adapters, LoRA)。我們最好的模型家族,我們命名為Guanaco,在Vicuna基準上優于之前所有公開發布的模型,達到ChatGPT性能水平的99.3%,而只需要在單個GPU上進行24小時的微調。

QLORA引入了許多創新來節省內存而不犧牲性能:(a) 4位NormalFloat (NF4),這是一種新的數據類型,理論上對正態分布權重是最優的;(b)雙量化,通過量化量化常量來減少平均內存占用;?分頁優化器來管理內存峰值。

我們使用QLORA對1000多個模型進行了微調,提供了8個指令數據集、多種模型類型(LLaMA、T5)和常規微調無法運行的模型規模(例如33B和65B參數模型)上的指令跟隨和聊天機器人性能的詳細分析。

我們的結果表明,即使使用比以前的SoTA更小的模型,在小的高質量數據集上進行QLoRA微調也可以得到最先進的結果。我們提供了基于人類和GPT-4評估的聊天機器人性能的詳細分析,表明GPT-4評估是人類評估的廉價和合理的替代方案。

此外,我們發現目前的聊天機器人基準并不值得信賴,無法準確評估聊天機器人的性能水平。一個檸檬分析顯示了與ChatGPT相比,Guanaco失敗的地方。我們發布了所有的模型和代碼,包括用于4位訓練的CUDA內核

論文十問

  1. 論文試圖解決什么問題?

這篇論文試圖解決大規模語言模型微調(finetuning)所需的巨大GPU內存問題,以使這類模型能在單GPU上進行微調。

  1. 這是否是一個新的問題?

是的,這是一個新的問題。以前的工作主要集中在推理時的量化,而沒有研究過訓練和微調過程中的量化。

  1. 這篇文章要驗證一個什么科學假設?

這篇論文的核心科學假設是4比特量化微調可以不損失性能地實現16比特完全微調的效果。

  1. 有哪些相關研究?如何歸類?誰是這一課題在領域內值得關注的研究員?

相關研究包括語言模型量化、低秩適配器微調等。值得關注的研究員有Tim Dettmers、Luke Zettlemoyer等。

  1. 論文中提到的解決方案之關鍵是什么?

關鍵的解決方案是提出了4比特NormalFloat數據類型,以及雙量化和分頁優化器等技術。這些技術協同工作,實現了高精度的4比特量化。

  1. 論文中的實驗是如何設計的?

設計了不同模型結構、數據集和模型規模的比較實驗,通過學術基準測試驗驗證了方法的有效性。

  1. 用于定量評估的數據集是什么?代碼有沒有開源?

使用的數據集包括GLUE、Super-Natural Instructions等,代碼已在GitHub上開源。

  1. 論文中的實驗及結果有沒有很好地支持需要驗證的科學假設?

是的,詳細的實驗結果充分驗證了4比特量化微調能夠不損失性能地實現16比特完全微調的效果這個核心科學假設。

  1. 這篇論文到底有什么貢獻?

這篇論文的主要貢獻是首次證明了4比特量化微調的有效性,并在此基礎上訓練出新狀態的聊天機器人模型。

  1. 下一步呢?有什么工作可以繼續深入?

后續可繼續研究不同bit精度下的量化微調效果、在更大模型尺寸下的驗證,以及在其他任務上的探索等。

實驗

實驗1

數據集和模型

GLUE、Super-Natural Instructions

RoBERTa-large 、T5

實驗結論

我們的結果一致表明,具有NF4數據類型的4位QLORA在學術基準測試中具有良好的評估設置,與16位全調優和16位LoRA調優性能相匹配。我們還表明NF4比FP4更有效,雙量化不會降低性能。綜合起來,這形成了令人信服的證據,證明4位QLORA調優可靠地產生與16位方法相匹配的結果。

在這里插入圖片描述

實驗2

數據集和模型

MMLU:這是一個選擇題基準,涵蓋57個任務,包括小學數學、美國歷史、計算機科學、法律等。

Alpaca、FLAN V2

實驗結論

在Alpaca和FLAN v2上對不同數據類型的適配器進行微調后,LLaMA 7-65B模型的平均5次MMLU測試精度。總體而言,具有雙量化(DQ)的NF4與BFloat16性能相當,而FP4始終比兩者落后一個百分點。

在這里插入圖片描述

局限性

模型尺度

在33B和65B模型尺度上,QLORA可能無法完全匹配16位全微調性能。這主要是由于資源成本巨大

數據集

雖然在MMLU、Vicuna基準和OA基準上進行了評估,但在BigBench、RAFT和HELM等其他基準上沒有進行評估,因此無法確保評估結果推廣到這些基準。

其他微調方法

除了LoRA之外,還有各種各樣的參數有效微調(PEFT)方法沒有參與到評估中。

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

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

相關文章

期末速成數據庫極簡版【查詢】(2)

目錄 select數據查詢----表 【1】篩選列 【2】where簡單查詢 【3】top-n/distinct/排序的查詢 【4】常用內置函數 常用日期函數 常用的字符串函數 【5】模糊查詢 【6】表數據操作——增/刪/改 插入 更新 刪除 【7】數據匯總 聚合 分類 ? 🙂&#…

人大金倉(kingbase)數據庫常用sql命令

一. 字段 1. 添加 alter table book add column book_id varchar not null, book_title varchar(10) default ;2. 刪除 alter table book drop book_id, book_title;// 外鍵時 alter table book drop book_id, book_title cascade;3. 修改類型 alter table book alter colu…

分享十幾個適合新手練習的軟件測試項目

說實話,在找項目的過程中,我下載過(甚至付費下載過)N多個項目、聯系過很多項目的作者,但是絕大部分項目,在我看來,并不適合你拿來練習,它們或多或少都存在著“問題”,比如…

12v轉48v升壓電源芯片:參數、特點及應用領域

12v轉48v升壓電源芯片:參數、特點及應用領域 隨著電子設備的日益普及,電源芯片的需求也在不斷增長。今天我們將介紹一款具有廣泛應用前景的升壓電源芯片——12v轉48v升壓電源芯片。該芯片具有寬輸入電壓范圍、高效率、固定工作頻率等特點,適…

android 13.0 系統屬性控制音量鍵功能是否可用開關(屏蔽音量加減功能)

1.概述 在13.0的系統定制化開發中,要求屏蔽掉音量+ 音量-的功能,根據系統屬性來判斷是否響應音量加減的功能,在系統上層中是由PhoneWindowManage來管理音量鍵的功能, 所以就要看是PhoneWindowManage.java中怎么處理的音量鍵的功能 首選看的源碼關于音量鍵的處理 2.系統屬…

mp3的播放

1.這段vue代碼會播放聲音&#xff0c;但是會有audio標簽 <template><div><audio id"myAudio" controls><source src"./test.mp3" type"audio/mp3" />Your browser does not support the audio tag.</audio></…

ubuntu22.04安裝過程記錄

安裝雙系統ubuntu22.04 【雙系統】如何安裝ubuntu22.04系統_ubuntu安裝教程-CSDN博客 更換清華源 打開清華源官網&#xff0c;搜索對應系統版本的鏡像源碼 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 原文件備份 sudo cp /etc/apt/sources.list /etc/apt/source…

庫卡LBR_iisy_3_R760協作機器人導入到coppeliasim

1.從庫卡官網xpert下載模型 一般載都是這個step文件格式&#xff0c;其他的好像不太好用。coppeliasim導入格式用的是stl,需要用freeCAD打開重新轉換一下。下載下來后&#xff0c;很多都是一個整體&#xff0c;在freeCAD導入中&#xff0c;導入選擇要不勾選合并。 下載完用CAD …

正則表達式詳細講解

目錄 一、正則表達式概念 二、八元素 1、普通字符&#xff1a; 2、元字符&#xff1a; 3、通配符 .&#xff1a; 4、字符類 []&#xff1a; 5、量詞&#xff1a; 6、錨點 ^ 和 $&#xff1a; 7、捕獲組 ()&#xff1a; 8、轉義字符 \&#xff1a; 三、日常使用的正則…

markdown記錄

文章目錄 基礎操作使用一級列表、二級列表 博文鏈接 基礎操作 使用一級列表、二級列表 博文鏈接 CSDN-Markdown語法集錦 CSDN-markdown語法之如何使用LaTeX語法編寫數學公式 CSDN Markdown簡明教程1-關于Markdown CSDN Markdown簡明教程2-基本使用 CSDN Markdown簡明教程3-表…

Bash腳本調用百度翻譯API進行中文到英文的翻譯

寫一個bash腳本調用百度翻譯API進行中文到英文的翻譯&#xff0c;首先需要進行相關的申請。看百度給出的文檔鏈接: 百度翻譯API文檔 需要先注冊一個百度賬號&#xff0c;然后申請APPID。腳本中會用到appid和key這兩個值。按照文檔給出的提示可以獲得。如下是腳本&#xff1a; #…

使用VBA創建Excel條件格式

實例需求&#xff1a;數據總行數不確定&#xff0c;現需要將Category區域&#xff08;即C列到J列&#xff09;中第3行開始的區域設置條件格式&#xff0c;規則如下&#xff1a; 只對部分指定單元格應用色階條件格式&#xff08;3色&#xff09;指定單元格應滿足條件&#xff1…

移動距離

//偶數行需要反轉&#xff0c;判斷行數時,最后一個需要特判,可以用向上取整 //也可以把傳入的值減一,下標從0開始 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main{static int w,m,n;static BufferedReader i…

大數據技術1:大數據發展簡史

前言&#xff1a;學習大數據技術&#xff0c;知道會用已經夠了&#xff0c;但是要想走得更遠&#xff0c;應該了解它發展的來龍去脈&#xff0c;為何會有新的技術/工具的出現&#xff0c;相比老的技術有什么樣的進步。 1、傳統數據處理系統存在的問題 隨著信息時代互聯網技術爆…

JDBC簡介及快速入門-黑馬(P1)

黑馬視頻b站鏈接&#xff1a; 01-JDBC簡介&快速入門_嗶哩嗶哩_bilibili &#x1f436;一、JDBC 簡介 JDBC 概念&#xff1a; JDBC 就是使用 Java 語言操作關系型數據庫的一套 API。 全稱&#xff08;Java DataBase Connectivity&#xff09; Java 數據庫連接 JDBC 本質…

React 筆記 jsx

嚴格約定&#xff1a;React 組件必須以大寫字母開頭&#xff0c;而 HTML 標簽則必須是小寫字母。 React JSX JSX 是由 React 推廣的 JavaScript 語法擴展。 用于表達組件的 特殊語法的 js 函數 要求標簽必須閉合&#xff1b;返回的組件必須包裹在一個父標簽內&#xff1b; …

鴻蒙4.0開發筆記之ArkTS語法基礎之數據傳遞與共享詳細講解(十八)

文章目錄 一、路由數據傳遞&#xff08;router&#xff09;1、路由數據傳遞定義2、路由數據傳遞使用方法3、數據傳遞兩個頁面的效果 二、頁面間數據共享&#xff08;EntryAbility&#xff09;1、定義2、實現案例3、避坑點 三、數據傳遞練習 一、路由數據傳遞&#xff08;router…

PaaS(平臺即服務)——云計算服務模型(特點,應用場景,優點和缺點,示例)

PaaS&#xff08;平臺即服務&#xff09;是云計算的一種服務模型&#xff0c;它提供了一個平臺&#xff0c;允許客戶開發、運行和管理應用程序&#xff0c;而無需建立和維護通常與這些過程相關的復雜基礎設施。PaaS 是作為服務交付的一種方式&#xff0c;它提供了一套工具和服務…

網卡學習資料整理

GMAC網卡相關介紹與分析 https://www.cnblogs.com/forwards/p/17101438.html https://www.eefocus.com/article/1635234.html Linux Phy 驅動解析_linux phy驅動-CSDN博客 GMAC接口五篇 https://blog.csdn.net/dkmknjk/category_11837422.html 以太網掃盲&#xff08;一&am…

麒麟V10服務器安裝Apache+PHP

安裝PHP yum install php yum install php-curl php-gd php-json php-mbstring php-exif php-mysqlnd php-pgsql php-pdo php-xml 配置文件 /etc/php.ini 修改參數 date.timezone Asia/Shanghai max_execution_time 60 memory_limit 1280M post_max_size 200M file_upload…