成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

訓練個中文版ChatGPT沒那么難:不用A100,開源Alpaca-LoRA+RTX 4090就能搞定

人工智能 新聞
Alpaca-LoRA 將微調類 ChatGPT 模型的算力需求降到了消費級,訓練個自己的中文對話模型真就沒那么難了。

2023 年,聊天機器人領域似乎只剩下兩個陣營:「OpenAI 的 ChatGPT」和「其他」。

ChatGPT 功能強大,但 OpenAI 幾乎不可能將其開源。「其他」陣營表現欠佳,但不少人都在做開源方面的努力,比如前段時間 Meta 開源的 LLaMA。

LLaMA 是一系列模型的總稱,參數量從 70 億到 650 億不等,其中,130 億參數的 LLaMA 模型「在大多數基準上」可以勝過參數量達 1750 億的 GPT-3。不過,該模型并沒有經過指令微調(instruct tuning),因此生成效果較差。

為了提高模型性能,來自斯坦福的研究者幫助其完成了指令微調的工作,訓練了一個名為 Alpaca(羊駝)的 70 億參數新模型(基于 LLaMA 7B)。具體來說,他們讓 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 指令遵循(instruction-following)樣本,以此作為 Alpaca 的訓練數據。實驗結果表明,Alpaca 的很多行為都與 text-davinci-003 類似。也就是說,只有 7B 參數的輕量級模型 Alpaca 性能可媲美 GPT-3.5 這樣的超大規模語言模型。

圖片

對于普通研究者來說,這是一種切實可行的廉價微調方式,不過需要的運算量仍然較大(作者表示他們在 8 個 80GB A100 上微調了 3 個小時)。而且,Alpaca 的種子任務都是英語,收集的數據也都是英文,因此訓練出來的模型未對中文優化。?

為了進一步降低微調成本,另一位來自斯坦福的研究者 ——Eric J. Wang 使用 LoRA(low-rank adaptation)技術復現了 Alpaca 的結果。具體來說,Eric J. Wang 使用一塊 RTX 4090 顯卡,只用 5 個小時就訓練了一個和 Alpaca 水平相當的模型,將這類模型對算力的需求降到了消費級。而且,該模型可以在樹莓派上運行(用于研究)。

圖片

LoRA 的技術原理。LoRA 的思想是在原始 PLM 旁邊增加一個旁路,做一個降維再升維的操作,來模擬所謂的 intrinsic rank。訓練的時候固定 PLM 的參數,只訓練降維矩陣 A 與升維矩陣 B。而模型的輸入輸出維度不變,輸出時將 BA 與 PLM 的參數疊加。用隨機高斯分布初始化 A,用 0 矩陣初始化 B,保證訓練的開始此旁路矩陣依然是 0 矩陣(引自:https://finisky.github.io/lora/)。LoRA 的最大優勢是速度更快,使用的內存更少,因此可以在消費級硬件上運行。

圖片

Eric J. Wang 發布的 Alpaca-LoRA 項目。

項目地址:https://github.com/tloen/alpaca-lora

對于想要訓練自己的類 ChatGPT 模型(包括中文版類 ChatGPT)但又沒有頂級算力資源配置的研究者來說,這無疑是一大驚喜。因此,在 Alpaca-LoRA 項目問世后,圍繞該項目的教程和訓練成果不斷涌現,本文將介紹其中的幾個。

如何使用 Alpaca-LoRA 微調 LLaMA

在 Alpaca-LoRA 項目中,作者提到,為了廉價高效地進行微調,他們使用了 Hugging Face 的 PEFT。PEFT 是一個庫(LoRA 是其支持的技術之一),可以讓你使用各種基于 Transformer 的語言模型并使用 LoRA 對其進行微調。好處在于,它允許你在一般的硬件上廉價而有效地微調模型,并有較小的(也許是可組合的)輸出。

在近期的一篇博客中,幾位研究者介紹了如何使用 Alpaca-LoRA 來微調 LLaMA。

使用 Alpaca-LoRA 之前,需要具備一些先決條件。首先是 GPU 的選擇,得益于 LoRA,現在你可以在 NVIDIA T4 這樣低規格 GPU 或 4090 消費級 GPU 上完成微調;此外,你還需要申請 LLaMA 權重,因為其權重并不對外公開。

先決條件具備了,接下來就是如何使用 Alpaca-LoRA。首選你需要克隆 Alpaca-LoRA 存儲庫,代碼如下:

git clone https://github.com/daanelson/alpaca-lora
cd alpaca-lora

其次,獲取 LLaMA 權重。將下載到的權重值存儲到名為 unconverted-weights 文件夾里,文件夾層次結構就像下面這樣:

unconverted-weights
├── 7B
├── checklist.chk
├── consolidated.00.pth
└── params.json
├── tokenizer.model
└── tokenizer_checklist.chk

權重存儲好后,接著使用以下命令將 PyTorch checkpoint 的權重轉換為 transformer 兼容的格式:

cog run python -m transformers.models.llama.convert_llama_weights_to_hf \
--input_dir unconverted-weights \
--model_size 7B \
--output_dir weights

得到最終的目錄結構應該是這樣的:

weights
├── llama-7b
└── tokenizermdki

處理好上述兩步,來到第三步,安裝 Cog:

sudo curl -o /usr/local/bin/cog -L "https://github.com/replicate/cog/releases/latest/download/cog_$(uname -s)_$(uname -m)"
sudo chmod +x /usr/local/bin/cog

第四步來到微調模型,默認情況下,微調腳本上配置的 GPU 功能較弱,但如果你有性能更好的 GPU,則可以在 finetune.py 中將 MICRO_BATCH_SIZE 增加到 32 或 64。此外,如果你有指令調優數據集,則可以在 finetune.py 中編輯 DATA_PATH 以指向自己的數據集。需要注意的是這一項操作應該確保數據格式與 alpaca_data_cleaned.json 相同。接下來運行微調腳本:

cog run python finetune.py

微調過程在 40GB A100 GPU 上花費 3.5 小時,對于處理能力較低的 GPU 則需要更多時間。

最后一步用 Cog 運行模型:

$ cog predict -i prompt="Tell me something about alpacas."
Alpacas are domesticated animals from South America. They are closely related to llamas and guanacos and have a long, dense, woolly fleece that is used to make textiles. They are herd animals and live in small groups in the Andes mountains. They have a wide variety of sounds, including whistles, snorts, and barks. They are intelligent and social animals and can be trained to perform certain tasks.

教程作者表示,在完成以上步驟之后,大家可以繼續嘗試各種玩法,包括但不限于:

  • 帶上你自己的數據集,微調你自己的 LoRA,比如微調 LLaMA,讓它像動漫角色一樣說話。參見:https://replicate.com/blog/fine-tune-llama-to-speak-like-homer-simpson
  • 將模型部署到云平臺上;
  • 結合其他 LoRA,比如 Stable Diffusion LoRA,把這些都用到圖像領域;
  • 使用 Alpaca 數據集(或其他數據集)微調更大的 LLaMA 模型,并查看它們的表現。這應該可以通過 PEFT 和 LoRA 實現,盡管它需要更大的 GPU。

Alpaca-LoRA 的衍生項目

盡管 Alpaca 性能可以媲美 GPT 3.5,但其種子任務都是英語,收集的數據也都是英文,因此訓練出來的模型對中文并不友好。為了提升對話模型在中文上的效果,我們看看都有哪些比較好的項目。

首先是來自華中師范大學等機構的三位個人開發者開源的中文語言模型駱駝 (Luotuo),該項目基于 LLaMA、Stanford Alpaca、Alpaca LoRA、Japanese-Alpaca-LoRA 等完成,單卡就能完成訓練部署。有意思的是,他們之所以將模型名字命名為駱駝,是因為 LLaMA(大羊駝)和 alpaca(羊駝)都屬于偶蹄目 - 駱駝科。這樣看來,起這個名字也在意料之中。

這個模型是在 Meta 開源的 LLaMA 基礎上,參考 Alpaca 和 Alpaca-LoRA 兩個項目,對中文進行了訓練。

圖片

項目地址:https://github.com/LC1332/Chinese-alpaca-lora

目前該項目釋放了兩個模型 luotuo-lora-7b-0.1、luotuo-lora-7b-0.3,還有一個模型在計劃中:

圖片

下面是效果展示:

圖片

圖片

不過 luotuo-lora-7b-0.1(0.1)、luotuo-lora-7b-0.3(0.3)還是有差距的,在用戶詢問華中師范大學地址時,0.1 回答錯誤:

圖片

除了進行簡單的對話外,還有人在保險相關領域進行了模型優化。據這位推特網友表示,借助 Alpaca-LoRA 項目,他輸入了一些中文保險問答數據,最后效果也不錯。

具體來說,作者訓練中文版 Alpaca LoRa 用了 3K 多條中文問答保險語料,實現過程使用了 LoRa 方法,并微調 Alpaca 7B 模型,耗時 240 分鐘,最終 Loss 0.87 。

圖片

圖源:https://twitter.com/nash_su/status/1639273900222586882

以下是訓練過程和結果:

圖片

圖片

圖片

測試結果表明:1. 訓練語料相關內容都能有大概合理的回復,但僅限于不胡說 2. 非語料相關內容則會強行回復某個語料內的數據 3. 邏輯推理數學計算則沒有這個能力。

圖片

看到這個結果后網友紛紛喊要失業了:

圖片

最后期待更多的中文對話模型加入進來。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2023-02-28 12:56:15

AIChatGPT

2023-12-22 09:32:13

引擎模型

2014-11-03 18:22:53

2012-12-21 09:31:52

Windows 8

2021-07-01 07:34:09

LinuxIO模型

2023-05-29 12:35:09

模型ChatGPT

2015-10-23 09:44:59

PaaS開源云應用

2023-10-26 18:22:16

前端CSSFlex 布局

2024-06-21 09:17:09

2020-02-13 10:05:24

開源技術 趨勢

2010-06-22 16:11:08

2016-07-04 08:01:46

2023-06-20 07:19:49

RTX 4090HWBOT顯卡

2024-11-25 10:30:00

AI視頻開源

2024-02-21 15:05:30

2023-04-12 07:18:38

ChatGPT語言模型AI

2023-03-22 07:51:11

2020-05-21 09:17:51

Vue 3Vue代碼

2015-08-24 14:36:53

2018-08-30 17:28:52

TCP三次握手HTTP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片一级片 | www.日本三级 | 亚洲精品av在线 | 九九精品在线 | 国产精品一区二区在线播放 | 中文字幕在线观看一区 | 91色在线 | 亚洲精品久 | 四虎影院欧美 | 欧美淫片| 免费一区 | 欧洲一级毛片 | 欧美在线精品一区 | 欧美 日韩 亚洲91麻豆精品 | 国内精品视频在线观看 | 日韩欧美中文字幕在线视频 | 国产精品精品久久久 | 亚洲免费三级 | 精久久久 | 国产一区亚洲二区三区 | 久久6| 久久久日韩精品一区二区三区 | av片网站 | 日本免费在线看 | 日韩在线欧美 | 中文日韩在线 | 欧美一级全黄 | 久久香蕉网 | 亚洲一区不卡在线 | 大香网伊人 | 伊人网91 | 欧美一区精品 | 一区二区三区影院 | 99久久99 | 欧美三区在线观看 | 少妇一区在线观看 | 国产成人在线一区二区 | 一久久久 | 亚洲狠狠丁香婷婷综合久久久 | 国产精品亚洲一区 | 成人免费精品视频 |