1 概述
怎么學(xué)習(xí)?——給定輸入和輸出:
但是這樣做不現(xiàn)實(shí),因?yàn)檫@樣輸入-輸出需要成對(duì)的資料,而chatgpt 成功解決了這一個(gè)難題。
chatgpt不需要成對(duì)的資料,只需要一段有用的資料,便可以自己學(xué)習(xí)內(nèi)容,如下:
1.1 發(fā)展歷程
初代和第二代gpt
第二代到第三代
gpt3還會(huì)寫代碼
其性能表現(xiàn)
但是gpt3也有缺點(diǎn)
1.2 預(yù)訓(xùn)練+監(jiān)督學(xué)習(xí)
想要實(shí)現(xiàn)chat的功能,就得經(jīng)過(guò)一個(gè)監(jiān)督式學(xué)習(xí)(問(wèn)答),就要在預(yù)訓(xùn)練后,增加一個(gè)監(jiān)督學(xué)習(xí)的流程,賦予模型問(wèn)答能力:
預(yù)訓(xùn)練的好處
在多種語(yǔ)言上做過(guò)多訓(xùn)練以后,某一語(yǔ)言的任務(wù)會(huì)幫助其他語(yǔ)言學(xué)會(huì)同樣的任務(wù)。
實(shí)驗(yàn)數(shù)據(jù)如下:
1.3 增強(qiáng)式學(xué)習(xí)
chatgpt還引入了增強(qiáng)式學(xué)習(xí),給好的回答更多獎(jiǎng)賞回饋。
1.4 對(duì)訓(xùn)練數(shù)據(jù)的記憶
其能夠記得訓(xùn)練數(shù)據(jù)的部分信息:
1.5 更新參數(shù)
可以通過(guò)對(duì)話改變其記憶:
1.6 AI內(nèi)容檢測(cè)
檢測(cè)某一段文字是否為AI生成的,最簡(jiǎn)單的做法是這樣:
1.7 保護(hù)隱私
有時(shí)候模型會(huì)泄漏訓(xùn)練數(shù)據(jù),需要遺忘學(xué)習(xí):
1.8 gpt和bert
一個(gè)是做文字接龍,一個(gè)是做文字填空:
窮人怎么用gpt
方法1 縮短輸入
把多個(gè)問(wèn)題一起丟進(jìn)去:
方法2 自建模型
方法3 LLM cascade
2 生成式模型
主要分為以下三種,注意英文的token指的不是單個(gè)完整的單詞,而是要把一個(gè)單詞拆分成前綴后綴的形式,拆解成更小的單位:
2.1 生成方式
生成式有兩種策略——各個(gè)擊破和一次到位,下面先介紹各個(gè)擊破
2.1.1 各個(gè)擊破 Autoregressive
每次生成一個(gè)(token),然后按照序列形式把全部完整的內(nèi)容生成:
這種方式生成效果好,但是所需要的時(shí)間長(zhǎng)。%
2.1.2 一次到位 Non-autoregressive
x需要先設(shè)定最大輸出長(zhǎng)度,由于不需要每次都保證輸出的內(nèi)容一樣長(zhǎng),需要一個(gè)end標(biāo)志符表示結(jié)束。
兩者比較:
2.1.3 兩者結(jié)合
2.2 預(yù)訓(xùn)練和微調(diào)
一般都是先訓(xùn)練一個(gè)通用模型,然后在某些任務(wù)上做微調(diào)(finetune)。
2.3 指示學(xué)習(xí) instruction learning 和 上下文學(xué)習(xí) in-context learning
和chatgpt進(jìn)行交互的時(shí)候,我們的promt可能包可以分為兩種情況:指示學(xué)習(xí) instruction learning 和 上下文學(xué)習(xí) in-context learning。所以在模型訓(xùn)練階段,我們需要制造一些成對(duì)的語(yǔ)料數(shù)據(jù)加強(qiáng)模型的這兩種學(xué)習(xí)的能力。
前者是給模型一些指示,當(dāng)模型進(jìn)行學(xué)習(xí)和回答,后者是通過(guò)一些例子,讓模型進(jìn)行學(xué)習(xí)和回答。
2.2.1 上下文學(xué)習(xí) in-context learning
即讓機(jī)器在例子中進(jìn)行學(xué)習(xí)。為got提供一些例子,比如情感分析中:
但是不同于傳統(tǒng)的模型更新(梯度下降),這里gpt的學(xué)習(xí),不會(huì)更改其模型參數(shù)。
通過(guò)例子,雖然不會(huì)提升多少情感分析的能力,而是為了喚醒gpt的情感分析能力,這個(gè)結(jié)果來(lái)自一篇文獻(xiàn)的實(shí)驗(yàn)結(jié)論。
2.2.2 指示學(xué)習(xí) instruction learning
讓gpt能夠看懂指令:
一個(gè)指示學(xué)習(xí)的例子:判斷這句話的情感:給女朋友買了這個(gè)項(xiàng)鏈,她很喜歡。選項(xiàng):A=好;B=一般;C=差。
訓(xùn)練階段和測(cè)試階段,可以是不同的任務(wù)的指示。
用人類的語(yǔ)言訓(xùn)練:
2.2.3 chain of thought (CoT) prompting
讓模型給出推理過(guò)程,這樣能夠讓模型做出更正確的答案。
讓模型具備這個(gè)能力,就得在模型訓(xùn)練階段給出這樣的“帶有推理過(guò)程”的語(yǔ)料。
讓模型自動(dòng)生成prompt
這里的promt也可以理解為指令。
1。 使用 soft prompt
之前我們講的都是hard prompt,但其實(shí)還有soft prompt,給一堆向量而不是人類語(yǔ)言。
2. 使用強(qiáng)化學(xué)習(xí)。
3. 讓模型自己尋找,下一些特殊指令:
最佳指令可以極大的提升模型的性能:
2.3 訓(xùn)練數(shù)據(jù)的預(yù)處理
數(shù)據(jù)的收集和處理需要用到以下內(nèi)容:
去掉重復(fù)資料的重要性:假設(shè)一段話在訓(xùn)練數(shù)據(jù)中出現(xiàn)了6w多次,會(huì)發(fā)現(xiàn)模型很容易說(shuō)出這些話,因此應(yīng)該避免這種情況。
在固定運(yùn)算資源的情況下,如何選擇模型規(guī)模和數(shù)據(jù)集規(guī)模?有人做了相關(guān)實(shí)驗(yàn),一條線表示固定的運(yùn)算資源情況下的結(jié)果,縱軸的越小越好:
所以要找到每個(gè)U型曲線的最低點(diǎn),把這些最低點(diǎn)串起來(lái)可以得到如下的圖:
模型規(guī)模和資料最佳適配比:
除此以外,指示學(xué)習(xí)(instruction-tuning)也可以大大提升模型的性能。
2.4 Human Teaching (強(qiáng)化學(xué)習(xí))
這也是一種輔助模型訓(xùn)練的技術(shù)(強(qiáng)化學(xué)習(xí)),可以有效提高模型的性能,讓小模型吊打大模型的性能。
KNN+LM
一般的LM是這樣的運(yùn)作方式:
而KNN+LM是這樣的,尋找embedding的相似度
這樣做會(huì)帶來(lái)什么神奇的效果?
但是這種語(yǔ)言模型非常的慢
2.5 信心越高,正確率越高
讓AI 解釋AI
來(lái)解讀一下這篇文章:
解釋什么?——知道每一個(gè)神經(jīng)元的作用、和哪些詞關(guān)聯(lián)度最大:
有工作發(fā)現(xiàn)了某一個(gè)神經(jīng)元遇到以下詞時(shí)輸出會(huì)很大,通過(guò)觀察發(fā)現(xiàn),下一個(gè)會(huì)出現(xiàn)“an”:
如何操作?輸入以下promt:
能得到以下結(jié)果:
其他結(jié)果:
如何判斷解釋的好不好?
然后去gpt2模型找到那個(gè)神經(jīng)元檢查一下:
完整的prompt
縱軸表示可解釋性的分?jǐn)?shù),分?jǐn)?shù)越高,可解釋性越好,結(jié)論是小模型更容易解釋、越底層的神經(jīng)元越容易解釋。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-483668.html
大致流程
讓模型扮演一個(gè)神經(jīng)元:
尋找神經(jīng)元在什么時(shí)候激活值較大:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-483668.html
到了這里,關(guān)于【LLM GPT】大型語(yǔ)言模型 理解和實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!