91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大模型微調(diào)樣本構(gòu)造的trick

深度學(xué)習(xí)自然語言處理 ? 來源:包包算法筆記 ? 2023-07-10 11:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開局一道面試題。

面試官:大模型微調(diào)如何組織訓(xùn)練樣本?

你:大模型訓(xùn)練一問一答,一指令一輸出,問題和指令可以作為prompt輸入,答案作為輸出,計(jì)算loss的部分要屏蔽掉pad token。

面試官:多輪對話如何組織訓(xùn)練樣本呢?

你:假設(shè)多輪為Q1A1/Q2A2/Q3A3,那么可以轉(zhuǎn)化成 Q1—>A1, Q1A1Q2->A2, Q1A1Q2A2Q3->A3三條訓(xùn)練樣本。

面試官:這樣的話一個session變成了三條數(shù)據(jù),并且上文有依次重復(fù)的情況,這樣會不會有啥問題?

你:數(shù)據(jù)中大部分都是pad token,訓(xùn)練數(shù)據(jù)利用效率低下。另外會有數(shù)據(jù)重復(fù)膨脹的問題,訓(xùn)練數(shù)據(jù)重復(fù)膨脹為 session數(shù)量*平均輪次數(shù),且上文有重復(fù)部分,訓(xùn)練效率也會低下。

面試官:你也意識到了,有什么改進(jìn)的方法嗎?

你:有沒有辦法能一次性構(gòu)造一個session作為訓(xùn)練樣本呢?(思索)

面試官:提示你下,限制在decoder-only系列的模型上,利用模型特性,改進(jìn)樣本組織形式。

對于這個問題,我們思考下decoder-only模型有啥特點(diǎn),第一點(diǎn)很關(guān)鍵的是其attention形式是casual的,casual簡單理解就是三角陣,單個token只能看到其上文的信息。

如圖所示:

c57439aa-1ece-11ee-962d-dac502259ad0.png

其二是postion_id是只有token次序含義而無需特定指代信息,(區(qū)別于GLM模型需要postion_id來標(biāo)識生成span的位置等特殊的要求)。

有了這兩點(diǎn)我們就可以設(shè)想,如果構(gòu)造多輪對話樣本的input為 Q1 A1 Q2 A2 Q3 A3 ,在計(jì)算loss的時候,只需要計(jì)算 A1 A2 和 A3 部分,豈不是就可以進(jìn)行session級別的訓(xùn)練了?

嗯為什么原來的chatglm不能用這種形式呢,雖然prefix attention可以推廣為適應(yīng)多輪訓(xùn)練的prefix attention形式,如圖:

c58d526e-1ece-11ee-962d-dac502259ad0.jpg

但是由于其postition id 無法簡單按次序推廣,故不能高效訓(xùn)練,這也是chatglm初代的很大的一個問題,導(dǎo)致后續(xù)微調(diào)的效果都比較一般。

現(xiàn)在chatglm2的代碼針對這兩個問題已經(jīng)進(jìn)行了改善,可以認(rèn)為他就是典型的decoder-only模型了,具體表現(xiàn)為推斷時候attention 是casual attention的形式,position id也退化為token次序增長。

那么好了,萬事具備,只欠東風(fēng)。我們據(jù)此實(shí)現(xiàn)了chatglm2-6b的代碼微調(diào)。其核心代碼邏輯為處理樣本組織的邏輯,其他的就是大模型微調(diào),大同小異了。

conversation=''
input_ids = []
labels = []
eos_id = tokenizer.eos_token_id
turn_idx = 0
for sentence in examples[prompt_column][i]:
    sentence_from = sentence["from"].lower()
    sentence_value = '[Round {}]

問:'.format(turn_idx) + sentence["value"] + '

答:' if sentence_from == 'human' else sentence["value"]+'

'
    conversation += sentence_value
    sentence_ids = tokenizer.encode(sentence_value, add_special_tokens=False)  
    label = copy.deepcopy(sentence_ids) if sentence_from != 'human' else [-100] * len(sentence_ids)               
    input_ids += sentence_ids 
    labels += label
    if sentence_from != 'human':
        input_ids += [eos_id]
        labels += [eos_id]
        turn_idx += 1
input_ids=tokenizer.encode('')+input_ids#addgmaskbos
labels =  [-100] * 2 + labels# #add padding
pad_len = max_seq_length - len(input_ids)
input_ids = input_ids + [eos_id] * pad_len 
labels = labels + [-100] * pad_len

其中有幾個關(guān)鍵的地方,就是在開頭要加上 bos和gmask,遵循模型原來的邏輯。問答提示詞和輪次prompt,還有兩個 保持和原模型保持一致,最后屏蔽掉pad部分的loss計(jì)算。

實(shí)測訓(xùn)練效果如下:

c5c0e598-1ece-11ee-962d-dac502259ad0.jpg

同樣的數(shù)據(jù)在chatglm1上 train loss只能降到2.x左右,同時評估測試集結(jié)果,在同樣的數(shù)據(jù)上rouge等指標(biāo)都有不小的提升。

我們再仔細(xì)回顧下,對話session級別訓(xùn)練和拆開訓(xùn)練從原理上有啥區(qū)別?

1.session級別訓(xùn)練,效果之一為等價batchsize變大(1個batch可以塞下更多樣本),且同一通對話產(chǎn)生的樣本在一個bs內(nèi)。

2. session級別的不同輪次產(chǎn)生的梯度是求平均的,拆開輪次構(gòu)造訓(xùn)練是求和的,這樣除了等價于lr會變大,還會影響不同輪次token權(quán)重的分配,另外還會影響norm的計(jì)算。

我們用一個簡化地例子定量分析下,我們假設(shè)兩條訓(xùn)練樣本分為 1.問:A 答:xx 2.問: A答:xx 問: B答:xx問: C答:xx 則session級別訓(xùn)練影響梯度為 (Ga+(Ga +Gb + Gc)/3)/2。對 A,B,C影響的權(quán)重分別為,2/3 1/6 1/6。 拆開訓(xùn)練為(Ga+Ga+ (Ga+Gb)/2+(Ga+Gb+ Gc)/3)/4。對 A,B,C影響的權(quán)重分別為,17/24 5/24 1/12。 從上面的權(quán)重分布來看,session級別靠后的輪次影響權(quán)重要比拆開更大。這也是更合理的,因?yàn)榇蟛糠謭鼍跋?,開場白都是趨同和重復(fù)的。 一點(diǎn)小福利,以上面試題對應(yīng)的ChatGLM2-6B微調(diào)完整的代碼地址為: https://github.com/SpongebBob/Finetune-ChatGLM2-6B

實(shí)現(xiàn)了對于 ChatGLM2-6B 模型的全參數(shù)微調(diào),主要改進(jìn)點(diǎn)在多輪對話的交互組織方面,使用了更高效的session級別高效訓(xùn)練,訓(xùn)練效果相比原版ChatGLM-6B有較大提升。

這可能是目前全網(wǎng)效果最好的ChatGLM2-6B全參數(shù)微調(diào)代碼。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7335

    瀏覽量

    94779
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73990
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    3650

    瀏覽量

    5189

原文標(biāo)題:大模型微調(diào)樣本構(gòu)造的trick

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    經(jīng)世智能復(fù)合機(jī)器人,助力實(shí)驗(yàn)室檢測樣本上下料,提升實(shí)驗(yàn)效率

    在生命科學(xué)、醫(yī)藥研發(fā)、環(huán)境監(jiān)測等前沿領(lǐng)域的實(shí)驗(yàn)室中,樣本檢測的準(zhǔn)確性與時效性直接關(guān)系到實(shí)驗(yàn)成果的產(chǎn)出效率。然而,傳統(tǒng)人工進(jìn)行檢測樣本上下料時,常面臨“樣本種類繁雜易混淆、微量樣本操作誤
    的頭像 發(fā)表于 11-18 13:43 ?1806次閱讀
    經(jīng)世智能復(fù)合機(jī)器人,助力實(shí)驗(yàn)室檢測<b class='flag-5'>樣本</b>上下料,提升實(shí)驗(yàn)效率

    Vishay TSM3微調(diào)電阻器技術(shù)解析與應(yīng)用指南

    Vishay/Sfernice TSM3微調(diào)電阻器設(shè)計(jì)用于表面貼裝微型微調(diào)電位器,采用多圈金屬陶瓷密封,性能和穩(wěn)定性卓越。 此系列微調(diào)電阻器設(shè)計(jì)緊湊,可節(jié)省電路板空間,經(jīng)密封可耐受標(biāo)準(zhǔn)電路板沖洗處理
    的頭像 發(fā)表于 11-12 11:00 ?574次閱讀
    Vishay TSM3<b class='flag-5'>微調(diào)</b>電阻器技術(shù)解析與應(yīng)用指南

    Vishay Sfernice M61系列金屬陶瓷微調(diào)電位器技術(shù)解析

    Vishay/Sfernice M61 3/8”方形單匝金屬陶瓷微調(diào)電位器有多種引腳配置可供選擇,用于手指設(shè)置。這些微調(diào)電位器通過物理操作輕松調(diào)整電阻值,組裝在PCB上后可提供穩(wěn)定性。M61系列采用
    的頭像 發(fā)表于 11-10 11:44 ?640次閱讀
    Vishay Sfernice M61系列金屬陶瓷<b class='flag-5'>微調(diào)</b>電位器技術(shù)解析

    ?基于Vishay TSM41微調(diào)電位器的精密電路設(shè)計(jì)與應(yīng)用解析

    Vishay/Sfernice TSM41 4mm方形SMT微型微調(diào)電位器設(shè)計(jì)用于表面貼裝應(yīng)用,采用符合EIA SMD標(biāo)準(zhǔn)微調(diào)電位器占位的4mm設(shè)計(jì)。這些微調(diào)電位器具有容積效率、高性能和穩(wěn)定性,以及
    的頭像 發(fā)表于 11-10 11:25 ?631次閱讀
    ?基于Vishay TSM41<b class='flag-5'>微調(diào)</b>電位器的精密電路設(shè)計(jì)與應(yīng)用解析

    LLM安全新威脅:為什么幾百個毒樣本就能破壞整個模型

    本文轉(zhuǎn)自:DeepHubIMBA作者:DhanushKumar數(shù)據(jù)投毒,也叫模型投毒或訓(xùn)練數(shù)據(jù)后門攻擊,本質(zhì)上是在LLM的訓(xùn)練、微調(diào)或檢索階段偷偷塞入精心構(gòu)造的惡意數(shù)據(jù)。一旦模型遇到特
    的頭像 發(fā)表于 10-29 11:06 ?591次閱讀
    LLM安全新威脅:為什么幾百個毒<b class='flag-5'>樣本</b>就能破壞整個<b class='flag-5'>模型</b>

    NVIDIA開源Audio2Face模型及SDK

    NVIDIA 現(xiàn)已開源 Audio2Face 模型與 SDK,讓所有游戲和 3D 應(yīng)用開發(fā)者都可以構(gòu)建并部署帶有先進(jìn)動畫的高精度角色。NVIDIA 開源 Audio2Face 的訓(xùn)練框架,任何人都可以針對特定用例對現(xiàn)有模型進(jìn)行微調(diào)
    的頭像 發(fā)表于 10-21 11:11 ?828次閱讀
    NVIDIA開源Audio2Face<b class='flag-5'>模型</b>及SDK

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)27:NVMe橋設(shè)備模型設(shè)計(jì)

    橋設(shè)備模型模擬虛擬 PCI 橋設(shè)備的配置空間和路由功能。 橋設(shè)備是拓展 PCIe 鏈路的關(guān)鍵設(shè)備, 在 NVMe 子系統(tǒng)模型中, 橋設(shè)備模型一方面負(fù)責(zé)模擬 PCIE 集成塊的配置空間, 另一方面用于
    的頭像 發(fā)表于 09-18 09:16 ?549次閱讀
    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)27:NVMe橋設(shè)備<b class='flag-5'>模型</b>設(shè)計(jì)

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)27: 橋設(shè)備模型設(shè)計(jì)

    構(gòu)造 PCIe Switch 模型。 最小橋設(shè)備模型結(jié)構(gòu)如圖 1所示。圖1 最小橋設(shè)備模型結(jié)構(gòu)圖 最小橋設(shè)備模型只包含一個唯一的上游端口和一
    發(fā)表于 09-18 09:11

    模板驅(qū)動 無需訓(xùn)練數(shù)據(jù) SmartDP解決小樣本AI算法模型開發(fā)難題

    。但是這個平臺不適用于小樣本AI模型開發(fā),特別是一些特殊行業(yè),數(shù)據(jù)本來就不多,但又有著需求,因此陷于兩難。面臨這種市場困境,慧視光電推出了一個全新的AI平臺Sma
    的頭像 發(fā)表于 09-09 17:57 ?1406次閱讀
    模板驅(qū)動  無需訓(xùn)練數(shù)據(jù)  SmartDP解決小<b class='flag-5'>樣本</b>AI算法<b class='flag-5'>模型</b>開發(fā)難題

    北成供應(yīng)哈默納科減速機(jī)HPG斷面模型使用的內(nèi)部構(gòu)造演示

    模型
    北京北成新控
    發(fā)布于 :2025年08月28日 11:26:27

    Cognizant加速AI模型企業(yè)級開發(fā)

    全新解決方案旨在幫助企業(yè)快速且大規(guī)模地構(gòu)建、微調(diào)和實(shí)施AI模型。 Cognizant 憑借其作為數(shù)據(jù)與AI模型訓(xùn)練合作伙伴的深厚經(jīng)驗(yàn),繼服務(wù)于部分領(lǐng)先的數(shù)字原生企業(yè)后
    的頭像 發(fā)表于 07-31 17:25 ?714次閱讀

    千方科技推出AI大模型公路構(gòu)造物評定系統(tǒng)

    公路構(gòu)造物(橋梁、隧道、涵洞等)檢測評定是養(yǎng)護(hù)管理的核心環(huán)節(jié),通過量化構(gòu)造物的技術(shù)狀況評定等級,可為養(yǎng)護(hù)資源分配決策提供技術(shù)支持。傳統(tǒng)公路構(gòu)造物技術(shù)狀況評定面臨“三座大山”:一是評定結(jié)果易受人
    的頭像 發(fā)表于 07-09 15:54 ?992次閱讀

    嵌入式AI技術(shù)漫談:怎么為訓(xùn)練AI模型采集樣本數(shù)據(jù)

    Q 需要為嵌入式AI模型提供多少樣本數(shù)據(jù)? 我在向客戶介紹如何使用AI方法設(shè)計(jì)一款客戶產(chǎn)品時,客戶理解,AI嵌入式項(xiàng)目的開發(fā)都是圍繞數(shù)據(jù)展開的,如此,我經(jīng)常會被問到這樣的問題:客戶的工程師需要采集
    的頭像 發(fā)表于 06-11 16:30 ?1388次閱讀

    海思SD3403邊緣計(jì)算AI數(shù)據(jù)訓(xùn)練概述

    模型,將模型轉(zhuǎn)化為嵌入式AI模型,模型升級AI攝像機(jī),進(jìn)行AI識別應(yīng)用。 AI訓(xùn)練模型是不斷迭代優(yōu)化過程,譬如,100個數(shù)據(jù)
    發(fā)表于 04-28 11:11

    西門子伺服電機(jī)簡明樣本

    西門子伺服電機(jī)簡明樣本
    發(fā)表于 04-14 15:36 ?2次下載