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

ChatGPT平替「小羊駝」Mac可跑!2行代碼單GPU,UC伯克利再發70億參數開源模型

人工智能 新聞
130億參數模型權重公布不久,UC伯克利LMSys org再次發布了70億參數「小羊駝」。同在今天,Hugging Face也發布了70億參數模型StackLLaMA。

自從Meta發布「開源版ChatGPT」LLaMA之后,學界可謂是一片狂歡。

先是斯坦福提出了70億參數Alpaca,緊接著又是UC伯克利聯手CMU、斯坦福、UCSD和MBZUAI發布的130億參數Vicuna,在超過90%的情況下實現了與ChatGPT和Bard相匹敵的能力。

今天,「卷王」UC伯克利LMSys org又發布了70億參數的Vicuna——

不僅體積小、效率高、能力強,而且只需兩行命令就能在M1/M2芯片的Mac上運行,還能開啟GPU加速!

圖片

項目地址:https://github.com/lm-sys/FastChat/#fine-tuning

恰在今天,Hugging Face的研究人員也發布了一個70億參數的模型——StackLLaMA。這是一個通過人類反饋強化學習在LLaMA-7B微調而來的模型。

Vicuna-7B:真·單GPU,Mac就能跑

距離模型的發布不到一周,UC伯克利LMSys org便公布了Vicuna-13B的權重。

其中,單GPU運行需要大約28GB的顯存,而在僅用CPU的情況下需要大約60GB的內存。

而這次發布的70億參數版本,則要小巧得多——需求直接砍半。

也就是說,用單個GPU運行Vicuna-7B,只需14GB+顯存;而純CPU運行的話,則只需30GB+內存。

不僅如此,我們還可以通過Metal后端,在配備了蘋果自研芯片或者AMD GPU的Mac上啟用GPU加速。

圖片

之前在13B模型發布時,有不少網友吐槽道:

我以為的單個GPU:4090

實際上的單個GPU:28GB顯存及以上

圖片

圖片

現在,這個問題也有了新的解決方案——利用8位壓縮直接減少一半左右的內存用量,只不過模型的質量會略有下降。

13B模型28GB顯存瞬間變14GB;7B模型14GB顯存瞬間變7GB,有沒有!(但由于activation的緣故,實際占用會比這個高)

對此,LMSys org的研究人員表示,如果遇到內存或顯存不夠用的情況,可以通過在上述命令中加入--load-8bit來啟用8位壓縮。

而且,無論是CPU、GPU還是Metal,是7B模型還是13B模型,通通適用。

python3 -m fastchat.serve.cli --model-name /path/to/vicuna/weights --load-8bit

StackLLaMA:超全RLHF訓練教程

今天,Hugging Face研究人員發布了一篇博客StackLLaMA:用RLHF訓練LLaMA的實踐指南。

圖片

當前大型語言模型ChatGPT、GPT-4和Claude都使用了人類反饋強化學習(RLHF)來微調模型的行為,以產生更符合用戶意圖的響應。

在此,HF研究者通過以下方式組合使用,訓練了LlaMa模型使用RLHF回答Stack Exchange上的所有步驟:

· 監督微調 (SFT)

· 獎勵/偏好建模(RM)

· 人類反饋強化學習 (RLHF)

要注意了!

訓練StackLLaMA的主要目標是提供一個教程和指南,介紹如何使用RLHF來訓練模型,而不是主要關注模型的性能表現。

圖片

換句話說,該模型在生成答案方面非常滑稽,比如問它「我的花園里有一只駱駝,怎樣才能把它趕走?」

StackLLaMA最后給出的一個總括「如果以上方法都不奏效,就要召集增援了。如果有不止一個人想抓住這個奇特的小家伙,為什么不召集一個團隊呢?齊心協力,集中力量,這個問題應該很快就解決了」。

在進行RLHF時,最重要的是從一個強有力的模型開始。因為RLHF只是一個微調步驟,以便讓模型與我們期望的互動方式和響應方式相一致。

當前,Meta開源的LLaMA模型參數大小從7B到65B不等,并且在1T到1.4T的token上進行了訓練,是目前開源比較強大的模型。

因此,研究人員使用7B模型作為后續微調的基礎。

在數據集選用上,研究人員使用了StackExchange數據集,包括所有的問題和答案(還有StackOverflow和其他主題)。

選用該數據集的好處是,答案伴隨著點贊數和接受答案的標簽一起給出。

研究人員根據A General Language Assistant as a Laboratory for Alignment論文中描述的方法,給每個答案打分:

score = log2 (1 + upvotes) rounded to the nearest integer, plus 1 if the questioner accepted the answer (we assign a score of ?1 if the number of upvotes is negative).


對于獎勵模型,始終需要每個問題兩個答案來進行比較。

而有些問題有幾十個答案,導致可能存在許多的可選對。因此,研究者對每個問題最多采樣十個答案對,以限制每個問題的數據點數。

最后,通過將HTML轉換為Markdown來清除格式,使模型輸出更可讀。

訓練策略

即使訓練最小的LLaMA模型也需要大量的內存。通過計算7B 參數模型將使用(2+8)*7B=70GB 內存空間。當計算注意力分數等中間值時,可能需要更多。因此,即使在單個80GB的A100上也無法訓練該模型。

一種方法是使用更高效的優化器和半精度訓練,將更多信息壓縮到內存中,但內存仍舊不夠用。

另一種選擇是使用參數高效微調(PEFT)技術,例如PEFT庫,它可以在8位模型上執行低秩適應(LoRA)。

線性層的低秩適應: 在凍結層(藍色)旁邊添加額外參數(橙色),并將結果編碼的隱藏狀態與凍結層的隱藏狀態相加。

以8位加載模型大大減少了內存占用,因為每個參數只需要一個字節的權重。比如,7B LLaMA在內存中是7 GB。

LoRA不直接訓練原始權重,而是在一些特定的層 (通常是注意力層) 上添加小的適配器層,因此可訓練參數的數量大大減少。

在這種情況下,一個經驗法則是為每十億參數分配約1.2-1.4GB的內存(取決于批次大小和序列長度),以適應整個微調設置。

這可以以較低成本微調更大的模型(在NVIDIA A100 80GB上訓練高達50-60B規模的模型)。這些技術已經能夠在消費級設備,比如樹莓派、手機,和GoogleColab上對大型模型進行微調。

研究人員發現盡管現在可以把非常大的模型放入當個GPU中,但是訓練可能仍然非常緩慢。

在此,研究人員使用了數據并行策略:將相同的訓練設置復制到單個GPU中,并將不同的批次傳遞給每個GPU。

圖片

監督微調

在開始訓練獎勵模型并使用RL調整模型之前,若要模型在任何情況下遵循指令,便需要指令調優。

實現這一點最簡單的方法是,使用來自領域或任務的文本繼續訓練語言模型。

為了有效地使用數據,研究者使用一種稱為「packing」的技術:在文本之間使用一個EOS標記連接許多文本,并切割上下文大小的塊以填充批次,而無需任何填充。

通過這種方法,訓練效率更高,因為通過模型的每個token也進行了訓練。

獎勵建模和人類偏好

原則上,研究人員可以使用RLHF直接通過人工標注對模型進行微調。然而,這需要在每次優化迭代之后將一些樣本發送給人類進行評級。

由于需要大量的訓練樣本來實現收斂,人類閱讀和標注速度固有的延遲,不僅昂貴,還非常緩慢。

因此,研究人員在RL調整模型之前,在收集的人工標注上訓練一個獎勵模型。獎勵建模的目的是模仿人類對文本的評價,這一方法比直接反饋更有效。

在實踐中,最好的方法是預測兩個示例的排名,獎勵模型會根據提示X提供兩個候選項,并且必須預測哪一個會被人類標注員評價更高。

通過StackExchange 數據集,研究人員根據分數推斷出用戶更喜歡這兩個答案中的哪一個。有了這些信息和上面定義的損失,就可以修改transformers.Trainer 。通過添加一個自定義的損失函數進行訓練。

class RewardTrainer(Trainer):def compute_loss(self, model, inputs, return_outputs=False):
rewards_j = model(input_ids=inputs["input_ids_j"], attention_mask=inputs["attention_mask_j"])[0]
rewards_k = model(input_ids=inputs["input_ids_k"], attention_mask=inputs["attention_mask_k"])[0]
loss = -nn.functional.logsigmoid(rewards_j - rewards_k).mean()
if return_outputs:
return loss, {"rewards_j": rewards_j, "rewards_k": rewards_k}
return loss

研究人員利用100,000對候選子集,并在50,000對候選的支持集上進行評估。

訓練通過Weights & Biases進行記錄,在8-A100 GPU上花費了幾個小時,模型最終的準確率為67%。

雖然這聽起來分數不高,但是這個任務對于人類標注員來說也非常困難。

人類反饋強化學習

有了經過微調的語言模型和獎勵模型,現在可以運行RL循環,大致分為以下三個步驟:

· 根據提示生成響應

· 根據獎勵模型對回答進行評分

· 對評級進行強化學習策略優化

圖片

在對查詢和響應提示進行標記并傳遞給模型之前,模板如下。同樣的模版也適用于SFT,RM 和RLHF階段。

Question: <Query>
Answer: <Response>

使用RL訓練語言模型的一個常見問題是,模型可以通過生成完全胡言亂語來學習利用獎勵模型,從而導致獎勵模型得到不合實際的獎勵。

為了平衡這一點,研究人員在獎勵中增加了一個懲罰:保留一個沒有訓練的模型進行參考,并通過計算 KL散度將新模型的生成與參考模型的生成進行比較。

在訓練期間對每個步驟進行批次獎勵,模型的性能在大約1000個步驟后趨于穩定。

圖片


責任編輯:張燕妮 來源: 新智元
相關推薦

2023-04-04 13:17:00

GPUCMU開源

2023-03-31 13:55:00

模型智能

2023-04-07 09:28:31

模型訓練

2023-07-01 13:27:55

2024-12-02 08:20:00

2023-06-21 13:44:57

模型AI

2023-04-02 21:39:14

ChatGPT開源

2025-04-18 08:42:52

模型推理AI

2023-05-04 14:55:02

模型AI

2023-08-05 13:45:46

模型AI

2023-06-21 13:20:14

系統模型

2025-04-10 10:02:43

2025-01-22 15:21:00

2023-04-11 14:16:53

模型AI

2024-03-25 08:30:00

AI數據

2025-04-30 09:09:00

2023-05-22 09:28:30

模型AI

2025-02-11 16:17:42

2025-05-21 08:53:00

2023-03-14 13:45:14

模型AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色播放 | 欧美一区二区三区在线播放 | 中文字幕一区二区三区精彩视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 在线观看亚 | 999久久久 | 久久亚洲精品视频 | 精品无码三级在线观看视频 | 精品一区二区在线观看 | 午夜电影日韩 | 久久精品视频亚洲 | 亚洲综合在线播放 | 国产精品久久久久久久久久久免费看 | 久草在线中文888 | 免费网站国产 | 亚洲精品在线免费观看视频 | 在线 丝袜 欧美 日韩 制服 | 免费的网站www | 国产精品无码久久久久 | 国产高潮好爽受不了了夜色 | 久久国产亚洲 | 亚洲精品一区二区三区中文字幕 | 国产精品国产精品国产专区不片 | 成人性视频在线播放 | 欧美精品一区二区三区四区五区 | 国产精品夜夜春夜夜爽久久电影 | av国产精品毛片一区二区小说 | 精品一区在线看 | 特级一级黄色片 | 精品91久久| v片网站| 免费观看成人鲁鲁鲁鲁鲁视频 | 国产乱码高清区二区三区在线 | 亚洲成人黄色 | 久久久久国产一区二区三区 | 久久久久久国产精品免费免费狐狸 | 久久久一区二区三区四区 | 免费九九视频 | 欧美精品1区2区3区 精品国产欧美一区二区 | 国产美女黄色 | 日韩av成人|