自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

英偉達(dá)最新技術(shù)分享:手把手教你用Llama 3.1合成數(shù)據(jù)改進(jìn)模型!附代碼

人工智能 新聞
適逢Llama 3.1模型剛剛發(fā)布,英偉達(dá)就發(fā)表了一篇技術(shù)博客,手把手教你如何好好利用這個(gè)強(qiáng)大的開源模型,為領(lǐng)域模型或RAG系統(tǒng)的微調(diào)生成合成數(shù)據(jù)。

Epoch AI上個(gè)月剛剛發(fā)文預(yù)言「數(shù)據(jù)墻」迫近,結(jié)果英偉達(dá)轉(zhuǎn)頭就甩出了340B開源巨獸Nemotron。

真實(shí)數(shù)據(jù)稀缺可能不再是問(wèn)題了,Nemotron 9T token的預(yù)訓(xùn)練預(yù)料中,98%都是合成數(shù)據(jù)。

也許你還對(duì)合成數(shù)據(jù)存在顧慮,或者不知道如何應(yīng)用LLM驅(qū)動(dòng)數(shù)據(jù)生成。或許,英偉達(dá)的這篇博客可以提供答案。

圖片

原文地址:https://developer.nvidia.com/blog/creating-synthetic-data-using-llama-3-1-405b/?linkId=100000275486093

首先我們需要理解,用LLM合成數(shù)據(jù)的本質(zhì)究竟是什么?

合成數(shù)據(jù)并不是「從無(wú)到有」地創(chuàng)造新信息,而是對(duì)現(xiàn)有信息進(jìn)行轉(zhuǎn)換,生成不同的變體。

實(shí)際上,合成數(shù)據(jù)在AI領(lǐng)域的應(yīng)用已經(jīng)有十多年的歷程,比如物體檢測(cè)或分類系統(tǒng)中曾經(jīng)的數(shù)據(jù)增強(qiáng)技術(shù)。

圖片

那么,LLM帶來(lái)了什么新變化呢?

從「需求端」來(lái)看,由于模型需要大量訓(xùn)練語(yǔ)料,合成數(shù)據(jù)的動(dòng)機(jī)被大大增強(qiáng)。

而在「供給端」,生成式語(yǔ)言模型也為合成數(shù)據(jù)技術(shù)帶來(lái)了質(zhì)的改變。

用合成數(shù)據(jù)微調(diào)基座模型,可以更好地應(yīng)用于實(shí)際場(chǎng)景。例如,在金融領(lǐng)域改進(jìn)風(fēng)險(xiǎn)評(píng)估、在零售領(lǐng)域優(yōu)化供應(yīng)鏈、在電信領(lǐng)域提升客戶服務(wù),以及在醫(yī)療領(lǐng)域改善患者護(hù)理等等。

尤其是405B開源巨獸Llama 3.1最近正式上線,既可用于批處理和在線推理,也可以作為基座模型,進(jìn)行特定領(lǐng)域的專門預(yù)訓(xùn)練或微調(diào)。

尤其是考慮到Llama 3.1有如此大的參數(shù)規(guī)模,加上豐富的15.6T token訓(xùn)練數(shù)據(jù),非常適合用于數(shù)據(jù)生成。

這篇博客文章將介紹幾個(gè)合成數(shù)據(jù)的生成與應(yīng)用案例,并就其中一個(gè)進(jìn)行深入探討。

  • 合成數(shù)據(jù)的生成是推動(dòng)GenAI在特定領(lǐng)域應(yīng)用的關(guān)鍵工作流程
  • 將最新的Llama 3.1與英偉達(dá)Nemotron-4 340B獎(jiǎng)勵(lì)模型配合使用,非常適用于生成合成數(shù)據(jù)
  • 要讓LLM生成基于最新信息的有根據(jù)的響應(yīng),構(gòu)建RAG流程十分重要,而且模型響應(yīng)的準(zhǔn)確性取決于流程的質(zhì)量。

LLM合成數(shù)據(jù)如何應(yīng)用于GenAI

改進(jìn)語(yǔ)言模型

要通過(guò)合成數(shù)據(jù)來(lái)微調(diào)模型,大致有兩種方法——知識(shí)蒸餾(knowledge distillation)和自我改進(jìn)(self-improvement)。

知識(shí)蒸餾是將大模型的能力轉(zhuǎn)移到較小模型的過(guò)程,但不是簡(jiǎn)單地在同一個(gè)數(shù)據(jù)集上訓(xùn)練兩個(gè)模型,因?yàn)檩^小模型很難學(xué)習(xí)到底層數(shù)據(jù)的準(zhǔn)確表征。

在這種情況下,我們可以先讓大模型完成任務(wù),再使用這些數(shù)據(jù)指導(dǎo)小模型進(jìn)行。

自我改進(jìn)則是讓同一個(gè)模型評(píng)判自己的推理過(guò)程,常被用于進(jìn)一步磨練模型的能力。

讓我們來(lái)看看如何實(shí)現(xiàn)這一目標(biāo)。訓(xùn)練語(yǔ)言模型通常包括三個(gè)步驟:預(yù)訓(xùn)練、微調(diào)和對(duì)齊(alignment)。

預(yù)訓(xùn)練

預(yù)訓(xùn)練通常需要極其龐大的語(yǔ)料庫(kù),使模型了解語(yǔ)言的一般結(jié)構(gòu)。

Llama 3.1、GPT-4這種通用LLM,一般需要互聯(lián)網(wǎng)規(guī)模的數(shù)據(jù)。而特定領(lǐng)域的LLM(如幾何學(xué)、放射學(xué)、電信行業(yè)等)則需要注入相關(guān)的領(lǐng)域信息,這個(gè)過(guò)程被稱為領(lǐng)域自適應(yīng)預(yù)訓(xùn)練(Domain Adaptive Pretraining,DAPT)。

除了要貼近相關(guān)領(lǐng)域,另一種在預(yù)訓(xùn)練階段使用合成數(shù)據(jù)的例子當(dāng)屬Phi-1.5模型,目的是注入邏輯推理能力。

微調(diào)

掌握了語(yǔ)言的一般結(jié)構(gòu)后,下一步就是微調(diào),讓模型更好地遵循指令、完成特定任務(wù)。

比如,要讓模型提高邏輯推理能力、實(shí)現(xiàn)更好的代碼生成和函數(shù)調(diào)用,或者提升閱讀理解類任務(wù)的表現(xiàn),都可以通過(guò)微調(diào)來(lái)實(shí)現(xiàn)。

Self-Instruct、WizardCoder、Alpaca等模型都通過(guò)創(chuàng)建特定領(lǐng)域的數(shù)據(jù)并進(jìn)行微調(diào),來(lái)定向提升模型能力。

對(duì)齊

最后,我們希望確保模型響應(yīng)的風(fēng)格和語(yǔ)氣與用戶期望一致,例如聽起來(lái)像對(duì)話、具有適當(dāng)?shù)脑敿?xì)程度、復(fù)雜性、一致性等。

可以創(chuàng)建一個(gè)包含指令模型(instruct model)和獎(jiǎng)勵(lì)模型(reward model)的流水線來(lái)實(shí)現(xiàn)這個(gè)需求。

先讓模型對(duì)同一問(wèn)題創(chuàng)建多個(gè)響應(yīng),然后讓獎(jiǎng)勵(lì)模型對(duì)這些相應(yīng)的質(zhì)量進(jìn)行反饋。這種方法屬于從AI反饋中進(jìn)行強(qiáng)化學(xué)習(xí)(Reinforcement Learning from AI Feedback, RLAIF)。

改進(jìn)其他模型和系統(tǒng)

除了改善語(yǔ)言模型本身,合成數(shù)據(jù)還可以應(yīng)用于LLM鄰接模型(LLM-adjacent model)以及LLM驅(qū)動(dòng)的流水線。

最經(jīng)典的例子就是檢索增強(qiáng)生成(Retrieval Augmented Generation,RAG),先用嵌入模型來(lái)檢索相關(guān)信息,再讓語(yǔ)言模型生成最終答案。

在這個(gè)過(guò)程中,我們可以使用LLM來(lái)解析底層文檔和合成數(shù)據(jù),從而評(píng)估并微調(diào)嵌入模型。

類似于RAG,任何智能體(Agentic)流水線都可以被評(píng)估,其組件模型也可以被微調(diào),實(shí)現(xiàn)方式就是用LLM驅(qū)動(dòng)的智能體來(lái)構(gòu)建模擬。

這些模擬還可以用于研究行為模式,此外,也可以在LLM中設(shè)定特定角色,以針對(duì)特定任務(wù)進(jìn)行大規(guī)模數(shù)據(jù)生成。

使用合成數(shù)據(jù)評(píng)估RAG

為了更好地理解上述討論,我們來(lái)思考一個(gè)基本的流程,應(yīng)用于一個(gè)具體的用例——為檢索過(guò)程生成評(píng)估數(shù)據(jù)。

下述流程的實(shí)現(xiàn)代碼已經(jīng)上傳至GitHub。

圖片

項(xiàng)目地址:https://github.com/NVIDIA/NeMo-Curator/tree/main/tutorials/synthetic-retrieval-evaluation

要?jiǎng)?chuàng)建用于評(píng)估檢索流程的數(shù)據(jù),主要面臨以下2個(gè)挑戰(zhàn):

  • 多樣性:?jiǎn)栴}不應(yīng)只關(guān)注信息的單一方面或僅包含提取性問(wèn)題
  • 復(fù)雜性:生成的問(wèn)題應(yīng)需要一些推理或多個(gè)證據(jù)來(lái)回答

我們將重點(diǎn)關(guān)注多樣性,但為了探索復(fù)雜性角度——關(guān)鍵是找到具有重疊信息點(diǎn)的內(nèi)容塊。找到重疊信息的幾種方法包括計(jì)算句子級(jí)語(yǔ)義的Jaccard相似度,并利用長(zhǎng)上下文模型找到同一文檔的不同塊之間的關(guān)聯(lián)。

多樣性源自不同的視角,比如考慮如下文本:

圖片

對(duì)于同一篇文檔,金融分析師可能對(duì)兩家公司合并前后的財(cái)務(wù)狀況感興趣,法律專家可能關(guān)注公司面臨的來(lái)自FTC、歐盟和其他方的法律審查,記者則希望了解事實(shí)要點(diǎn)。

所有這些都是有效的視角和用戶角色。由于他們以不同的視角看待相同的信息,因此評(píng)估流程也需要適應(yīng)這些視角。

因此,讓我們?cè)O(shè)計(jì)一個(gè)評(píng)估流程,該流程以文檔和用戶角色作為輸入,并以符合角色的語(yǔ)氣輸出問(wèn)題。

圖片

圖1. 三步流程的概述:生成用于評(píng)估檢索過(guò)程的合成數(shù)據(jù)

如圖1所示,這個(gè)評(píng)估流程有三個(gè)主要步驟。

步驟1:生成所有可能的問(wèn)題

這些問(wèn)題都是用戶角色可能感興趣的。

步驟2:篩選出相關(guān)的問(wèn)題

從生成的問(wèn)題中篩選出最相關(guān)和有價(jià)值的問(wèn)題。

步驟3:引入用戶角色的寫作風(fēng)格

將篩選出的問(wèn)題轉(zhuǎn)換為符合用戶角色寫作風(fēng)格的形式。

通過(guò)這三個(gè)步驟,可以確保不同用戶角色獲得他們所需的信息,并以他們熟悉的方式呈現(xiàn)。

步驟1:生成問(wèn)題

在生成問(wèn)題之前,我們需要先讀取文檔并將其分成若干塊(chunk)。

然后,讓LLM從給定的文本塊中,為每個(gè)用戶角色提取感興趣的點(diǎn)。

所謂的「用戶角色」(persona),實(shí)際上就是對(duì)潛在用戶的描述,比如:

圖片

由于多個(gè)用戶角色可能有相似的興趣點(diǎn),因此需要使用嵌入模型來(lái)進(jìn)行語(yǔ)義去重,從而為每個(gè)角色映射出段落中不同的相關(guān)信息。

圖片

多樣性的另一個(gè)方面是問(wèn)題類型。

我們需要提出各種類型的問(wèn)題,如提取性、抽象性、比較性的問(wèn)題,而不僅僅是簡(jiǎn)單的「如何/什么」問(wèn)題。因此,下一步是根據(jù)段落中的信息,確定每個(gè)興趣點(diǎn)適用的問(wèn)題類型。

最后,利用文本塊-興趣點(diǎn)-問(wèn)題類型的三元組,生成所有可能的問(wèn)題。通過(guò)用戶角色和問(wèn)題類型,開發(fā)人員可以將生成的問(wèn)題引導(dǎo)到用戶會(huì)問(wèn)的類型上。

圖片

步驟2:過(guò)濾問(wèn)題

生成問(wèn)題之后,下一步就是過(guò)濾并提取最有用的子集。首先,我們需要對(duì)所有生成的問(wèn)題進(jìn)行去重,因?yàn)椴煌呐d趣點(diǎn)可能會(huì)利用相鄰的信息點(diǎn),導(dǎo)致問(wèn)題重疊。

接下來(lái),我們使用LLM來(lái)判斷問(wèn)題與段落的相關(guān)性,確保這些問(wèn)題能夠完全通過(guò)段落中的信息回答。然后,我們將所有相關(guān)問(wèn)題重寫為對(duì)話語(yǔ)氣。最后,我們會(huì)進(jìn)行另一次過(guò)濾,分類并剔除那些可能過(guò)于籠統(tǒng)的問(wèn)題。

圖片

步驟3:注入用戶角色風(fēng)格

在前兩步中,我們創(chuàng)建并篩選了多樣化的問(wèn)題。最后一步是將用戶角色的寫作風(fēng)格融入到問(wèn)題中。

使用LLM,我們首先根據(jù)給定的用戶角色描述來(lái)制定寫作風(fēng)格。然后,基于這些寫作風(fēng)格重新改寫問(wèn)題。

比如,可以這樣描述用戶角色的寫作風(fēng)格:

圖片

圖片

在這個(gè)三步流程結(jié)束后,我們得到了如下問(wèn)題:

  • 鑒于現(xiàn)行的監(jiān)管框架,擬議的合并還需要遵守哪些額外的政策指令,才能獲得相關(guān)部門的批準(zhǔn)?
  • SolarPower和GreenTech合并的哪些具體方面目前正在接受相關(guān)監(jiān)管部門的審查?
  • 如果在大筆買斷之后,GreenTech的研發(fā)中心保持單飛狀態(tài),那些天才會(huì)被炒魷魚嗎?

可以看出,前兩個(gè)問(wèn)題很像Padma的語(yǔ)氣,而第三個(gè)問(wèn)題似乎是Aaron會(huì)問(wèn)的。

這些問(wèn)題各自包含了真實(shí)標(biāo)簽,對(duì)應(yīng)特定的文本塊,因此不僅限于這一個(gè)用例,可以用于評(píng)估各種檢索流程。

責(zé)任編輯:張燕妮 來(lái)源: 新智元
相關(guān)推薦

2021-08-09 13:31:25

PythonExcel代碼

2022-10-19 14:30:59

2018-12-10 10:00:06

Python神經(jīng)網(wǎng)絡(luò)編程語(yǔ)言

2021-05-10 06:48:11

Python騰訊招聘

2020-03-08 22:06:16

Python數(shù)據(jù)IP

2017-10-29 21:43:25

人臉識(shí)別

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2022-08-04 10:39:23

Jenkins集成CD

2017-06-23 19:08:23

大數(shù)據(jù)PyTorch自然語(yǔ)言

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2021-01-21 09:10:29

ECharts柱狀圖大數(shù)據(jù)

2021-01-08 10:32:24

Charts折線圖數(shù)據(jù)可視化

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2012-01-11 13:40:35

移動(dòng)應(yīng)用云服務(wù)

2021-08-02 23:15:20

Pandas數(shù)據(jù)采集

2021-12-11 20:20:19

Python算法線性

2018-06-23 07:38:10

2020-12-17 09:40:01

Matplotlib數(shù)據(jù)可視化命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)