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

英偉達最新技術分享:手把手教你用Llama 3.1合成數據改進模型!附代碼

人工智能 新聞
適逢Llama 3.1模型剛剛發布,英偉達就發表了一篇技術博客,手把手教你如何好好利用這個強大的開源模型,為領域模型或RAG系統的微調生成合成數據。

Epoch AI上個月剛剛發文預言「數據墻」迫近,結果英偉達轉頭就甩出了340B開源巨獸Nemotron。

真實數據稀缺可能不再是問題了,Nemotron 9T token的預訓練預料中,98%都是合成數據。

也許你還對合成數據存在顧慮,或者不知道如何應用LLM驅動數據生成。或許,英偉達的這篇博客可以提供答案。

圖片

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

首先我們需要理解,用LLM合成數據的本質究竟是什么?

合成數據并不是「從無到有」地創造新信息,而是對現有信息進行轉換,生成不同的變體。

實際上,合成數據在AI領域的應用已經有十多年的歷程,比如物體檢測或分類系統中曾經的數據增強技術。

圖片

那么,LLM帶來了什么新變化呢?

從「需求端」來看,由于模型需要大量訓練語料,合成數據的動機被大大增強。

而在「供給端」,生成式語言模型也為合成數據技術帶來了質的改變。

用合成數據微調基座模型,可以更好地應用于實際場景。例如,在金融領域改進風險評估、在零售領域優化供應鏈、在電信領域提升客戶服務,以及在醫療領域改善患者護理等等。

尤其是405B開源巨獸Llama 3.1最近正式上線,既可用于批處理和在線推理,也可以作為基座模型,進行特定領域的專門預訓練或微調。

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

這篇博客文章將介紹幾個合成數據的生成與應用案例,并就其中一個進行深入探討。

  • 合成數據的生成是推動GenAI在特定領域應用的關鍵工作流程
  • 將最新的Llama 3.1與英偉達Nemotron-4 340B獎勵模型配合使用,非常適用于生成合成數據
  • 要讓LLM生成基于最新信息的有根據的響應,構建RAG流程十分重要,而且模型響應的準確性取決于流程的質量。

LLM合成數據如何應用于GenAI

改進語言模型

要通過合成數據來微調模型,大致有兩種方法——知識蒸餾(knowledge distillation)和自我改進(self-improvement)。

知識蒸餾是將大模型的能力轉移到較小模型的過程,但不是簡單地在同一個數據集上訓練兩個模型,因為較小模型很難學習到底層數據的準確表征。

在這種情況下,我們可以先讓大模型完成任務,再使用這些數據指導小模型進行。

自我改進則是讓同一個模型評判自己的推理過程,常被用于進一步磨練模型的能力。

讓我們來看看如何實現這一目標。訓練語言模型通常包括三個步驟:預訓練、微調和對齊(alignment)。

預訓練

預訓練通常需要極其龐大的語料庫,使模型了解語言的一般結構。

Llama 3.1、GPT-4這種通用LLM,一般需要互聯網規模的數據。而特定領域的LLM(如幾何學、放射學、電信行業等)則需要注入相關的領域信息,這個過程被稱為領域自適應預訓練(Domain Adaptive Pretraining,DAPT)。

除了要貼近相關領域,另一種在預訓練階段使用合成數據的例子當屬Phi-1.5模型,目的是注入邏輯推理能力。

微調

掌握了語言的一般結構后,下一步就是微調,讓模型更好地遵循指令、完成特定任務。

比如,要讓模型提高邏輯推理能力、實現更好的代碼生成和函數調用,或者提升閱讀理解類任務的表現,都可以通過微調來實現。

Self-Instruct、WizardCoder、Alpaca等模型都通過創建特定領域的數據并進行微調,來定向提升模型能力。

對齊

最后,我們希望確保模型響應的風格和語氣與用戶期望一致,例如聽起來像對話、具有適當的詳細程度、復雜性、一致性等。

可以創建一個包含指令模型(instruct model)和獎勵模型(reward model)的流水線來實現這個需求。

先讓模型對同一問題創建多個響應,然后讓獎勵模型對這些相應的質量進行反饋。這種方法屬于從AI反饋中進行強化學習(Reinforcement Learning from AI Feedback, RLAIF)。

改進其他模型和系統

除了改善語言模型本身,合成數據還可以應用于LLM鄰接模型(LLM-adjacent model)以及LLM驅動的流水線。

最經典的例子就是檢索增強生成(Retrieval Augmented Generation,RAG),先用嵌入模型來檢索相關信息,再讓語言模型生成最終答案。

在這個過程中,我們可以使用LLM來解析底層文檔和合成數據,從而評估并微調嵌入模型。

類似于RAG,任何智能體(Agentic)流水線都可以被評估,其組件模型也可以被微調,實現方式就是用LLM驅動的智能體來構建模擬。

這些模擬還可以用于研究行為模式,此外,也可以在LLM中設定特定角色,以針對特定任務進行大規模數據生成。

使用合成數據評估RAG

為了更好地理解上述討論,我們來思考一個基本的流程,應用于一個具體的用例——為檢索過程生成評估數據。

下述流程的實現代碼已經上傳至GitHub。

圖片

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

要創建用于評估檢索流程的數據,主要面臨以下2個挑戰:

  • 多樣性:問題不應只關注信息的單一方面或僅包含提取性問題
  • 復雜性:生成的問題應需要一些推理或多個證據來回答

我們將重點關注多樣性,但為了探索復雜性角度——關鍵是找到具有重疊信息點的內容塊。找到重疊信息的幾種方法包括計算句子級語義的Jaccard相似度,并利用長上下文模型找到同一文檔的不同塊之間的關聯。

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

圖片

對于同一篇文檔,金融分析師可能對兩家公司合并前后的財務狀況感興趣,法律專家可能關注公司面臨的來自FTC、歐盟和其他方的法律審查,記者則希望了解事實要點。

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

因此,讓我們設計一個評估流程,該流程以文檔和用戶角色作為輸入,并以符合角色的語氣輸出問題。

圖片

圖1. 三步流程的概述:生成用于評估檢索過程的合成數據

如圖1所示,這個評估流程有三個主要步驟。

步驟1:生成所有可能的問題

這些問題都是用戶角色可能感興趣的。

步驟2:篩選出相關的問題

從生成的問題中篩選出最相關和有價值的問題。

步驟3:引入用戶角色的寫作風格

將篩選出的問題轉換為符合用戶角色寫作風格的形式。

通過這三個步驟,可以確保不同用戶角色獲得他們所需的信息,并以他們熟悉的方式呈現。

步驟1:生成問題

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

然后,讓LLM從給定的文本塊中,為每個用戶角色提取感興趣的點。

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

圖片

由于多個用戶角色可能有相似的興趣點,因此需要使用嵌入模型來進行語義去重,從而為每個角色映射出段落中不同的相關信息。

圖片

多樣性的另一個方面是問題類型。

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

最后,利用文本塊-興趣點-問題類型的三元組,生成所有可能的問題。通過用戶角色和問題類型,開發人員可以將生成的問題引導到用戶會問的類型上。

圖片

步驟2:過濾問題

生成問題之后,下一步就是過濾并提取最有用的子集。首先,我們需要對所有生成的問題進行去重,因為不同的興趣點可能會利用相鄰的信息點,導致問題重疊。

接下來,我們使用LLM來判斷問題與段落的相關性,確保這些問題能夠完全通過段落中的信息回答。然后,我們將所有相關問題重寫為對話語氣。最后,我們會進行另一次過濾,分類并剔除那些可能過于籠統的問題。

圖片

步驟3:注入用戶角色風格

在前兩步中,我們創建并篩選了多樣化的問題。最后一步是將用戶角色的寫作風格融入到問題中。

使用LLM,我們首先根據給定的用戶角色描述來制定寫作風格。然后,基于這些寫作風格重新改寫問題。

比如,可以這樣描述用戶角色的寫作風格:

圖片

圖片

在這個三步流程結束后,我們得到了如下問題:

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

可以看出,前兩個問題很像Padma的語氣,而第三個問題似乎是Aaron會問的。

這些問題各自包含了真實標簽,對應特定的文本塊,因此不僅限于這一個用例,可以用于評估各種檢索流程。

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

2022-10-19 14:30:59

2021-08-09 13:31:25

PythonExcel代碼

2020-03-08 22:06:16

Python數據IP

2021-05-10 06:48:11

Python騰訊招聘

2018-12-10 10:00:06

Python神經網絡編程語言

2017-10-29 21:43:25

人臉識別

2022-08-04 10:39:23

Jenkins集成CD

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2021-02-06 14:55:05

大數據pandas數據分析

2009-04-22 09:17:19

LINQSQL基礎

2017-06-23 19:08:23

大數據PyTorch自然語言

2012-01-11 13:40:35

移動應用云服務

2021-08-02 23:15:20

Pandas數據采集

2021-02-02 13:31:35

Pycharm系統技巧Python

2021-12-11 20:20:19

Python算法線性

2021-01-21 09:10:29

ECharts柱狀圖大數據

2021-01-08 10:32:24

Charts折線圖數據可視化

2017-10-18 09:48:13

深度學習TensorFlow入門篇

2020-12-17 09:40:01

Matplotlib數據可視化命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人av一区二区三区 | 国产日韩电影 | 美女露尿口视频 | 久久www免费人成看片高清 | 一区二区三区免费观看 | 欧美激情 一区 | 午夜一区| av网址在线 | 精品国产一区二区三区观看不卡 | 人人干人人干人人 | 久久久久成人精品免费播放动漫 | 欧美日韩福利视频 | 伊人网综合| 一区二区三区视频在线观看 | 成人亚洲一区 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 熟女毛片| 国产一区二区三区免费 | 综合精品久久久 | 日本网站免费观看 | 久久久天天 | 男女羞羞免费视频 | 成人超碰在线 | 91免费在线看 | 91不卡 | 成人精品一区二区三区四区 | 丝袜一区二区三区 | 日韩av在线中文字幕 | 国产福利视频在线观看 | 免费黄色av | 日韩综合一区 | 青青草视频免费观看 | 久久国产成人 | 日韩午夜精品 | 91短视频网址 | 国产精品福利网站 | 亚洲精品久久久一区二区三区 | 91看片网 | 久久国产精品视频 | 九九热精品在线视频 | 亚洲欧美日韩精品 |