據(jù)集獲取與構(gòu)建指南:AirDialogue 合成 / 自玩 / 人類評估及 Convai2 數(shù)據(jù)全流程)
人工智能深度學(xué)習(xí)NLP計算機視覺強化學(xué)習(xí)【免費下載鏈接】google-researchGoogle Research項目地址https://gitcode.com/gh_mirrors/go/google-research點擊查看免費下載本指南基于 dialogue_ope/airdialogue_ope/data/README.md系統(tǒng)講解對話離線策略評估Offline Policy Evaluation, OPE研究所用的四類數(shù)據(jù)集——AirDialogue 合成數(shù)據(jù)、神經(jīng)自玩Neural Selfplay數(shù)據(jù)、人類評估Human Eval數(shù)據(jù)與 Convai2 人類評估數(shù)據(jù)的獲取方式既支持從零生成原始數(shù)據(jù)也支持直接下載預(yù)處理好的成品數(shù)據(jù)。讀完本文你將掌握每條數(shù)據(jù)流水線的腳本調(diào)用關(guān)系、產(chǎn)出目錄結(jié)構(gòu)與數(shù)據(jù)格式并能將其與后續(xù) OPE 模型訓(xùn)練main.py與各實驗?zāi)_本正確銜接。一、數(shù)據(jù)體系總覽四類 OPE 數(shù)據(jù)集與兩種獲取路線dialogue_ope項目用于評估對話策略的離線價值其訓(xùn)練數(shù)據(jù)統(tǒng)一存放在 data 目錄下。根據(jù)對話參與雙方身份的不同數(shù)據(jù)集分為四類數(shù)據(jù)集參與者構(gòu)成產(chǎn)出目錄獲取方式AirDialogue 合成數(shù)據(jù)Synthetic規(guī)則 Agent vs 規(guī)則 Customersyn_opedata/自行生成 或 下載預(yù)處理版AirDialogue 神經(jīng)自玩數(shù)據(jù)Neural SelfplayTransformer Agent vs Transformer Customerselfplay_opedata/下載腳本AirDialogue 人類評估數(shù)據(jù)Human EvalTransformer Agent vs Humanhuman_opedata/下載腳本Convai2 人類評估數(shù)據(jù)NN Agent vs Humanconvai2/opedata/下載腳本從獲取路徑上看合成數(shù)據(jù)提供了自己造與直接下兩條路線下文第二、三節(jié)其余三類則統(tǒng)一通過 GCS 下載腳本獲取。所有腳本均位于 data 目錄下載類腳本在文件頭明確標(biāo)注了Internal Use Download Data from GCS——即依賴gcloud storage命令行工具與相應(yīng)的存儲桶訪問權(quán)限這是使用下載路線的前置條件。二、AirDialogue 合成數(shù)據(jù)Option 1 自行生成如果希望完全掌控數(shù)據(jù)生成過程例如調(diào)整對話樣本數(shù)量、驗證生成器行為可以按以下三步在本地構(gòu)建合成數(shù)據(jù)。步驟 1安裝 AirDialogue 工具包合成數(shù)據(jù)生成依賴 AirDialogue 工具包提供的三個核心能力知識庫分詞tokenize_kb、獎勵計算compute_reward與動作序列化action_obj_to_str。工具包的具體安裝方式參見 AirDialogue 官方倉庫說明安裝完成后需保證airdialogue命令與 Python 庫均可被當(dāng)前環(huán)境調(diào)用。步驟 2下載原始 AirDialogue 數(shù)據(jù)在 data 目錄下執(zhí)行sh download_air.sh該腳本download_air.sh做了三件事通過wget從https://storage.googleapis.com/airdialogue/airdialogue_data.tar.gz下載原始數(shù)據(jù)包解壓并把airdialogue_data/airdialogue/*移動到./data/airdialogue/json/把airdialogue_data/resources/*移動到./data/resources/清理臨時文件后退出腳本頂部set -e保證任一步出錯即終止避免產(chǎn)生殘缺目錄。最終在orig/下得到規(guī)整的原始數(shù)據(jù)目錄作為下一步模擬的輸入。步驟 3模擬生成 OPE 樣本并轉(zhuǎn)換為訓(xùn)練格式cd orig airdialogue sim_ope --output_dir ../syn_opedata/orig/syn_ope_data_500 --num_samples 500 --verbose sh make_syn_opedata.shairdialogue sim_ope是工具包自帶的 OPE 模擬命令以規(guī)則 Agent 與規(guī)則 Customer 對弈的方式生成指定數(shù)量--num_samples 500的參考軌跡 目標(biāo)策略軌跡樣本輸出到../syn_opedata/orig/syn_ope_data_500/--verbose會在終端打印模擬進(jìn)度便于確認(rèn)生成過程正常隨后執(zhí)行的sh make_syn_opedata.shmake_syn_opedata.sh負(fù)責(zé)把原始樣本整理為 OPE 訓(xùn)練可讀的成品格式詳見第三節(jié)。注意若想生成其他規(guī)模的合成數(shù)據(jù)可調(diào)整--output_dir與--num_samples但需與make_syn_opedata.sh內(nèi)置的規(guī)模列表保持一致見下文。三、合成數(shù)據(jù)轉(zhuǎn)換流水線make_syn_opedata.sh 與 make_data_syn.py 深度解析3.1 多規(guī)模批處理邏輯make_syn_opedata.sh 內(nèi)置了五種規(guī)模10、50、100、500、5K。對每一種規(guī)模size腳本執(zhí)行如下流程以syn_opedata/orig/syn_ope_data_$size為原始目錄對應(yīng)上一步sim_ope的輸出以syn_opedata/syn_ope_data_$size為目標(biāo)目錄遍歷原始目錄下的每個子目錄每個子目錄對應(yīng)一個候選目標(biāo)策略模型在子目錄內(nèi)將分片文件合并為全集cat data_ref_*.json data_all.json、cat kb_ref_*.json kb_all.json并用wc -l打印合并后的行數(shù)調(diào)用python make_data_syn.py --ref_file ... --ref_kb ... --output_dir ...完成格式轉(zhuǎn)換。3.2 樣本級轉(zhuǎn)換邏輯make_data_syn.py 是合成數(shù)據(jù)轉(zhuǎn)換的核心實現(xiàn)其輸入為合并后的data_all.json參考軌跡與kb_all.json知識庫輸出為每個子目錄下統(tǒng)一的data.json。關(guān)鍵步驟包括獎勵回填逐行讀取參考軌跡與知識庫若樣本中缺失reward字段則調(diào)用compute_reward(action, expected_action, kb)實時計算并累計打印平均參考獎勵avg ref reward軌跡規(guī)整對每條對話做三處規(guī)范化——若首行不是customer:開頭則補齊若末行是customer:結(jié)尾則裁掉隨后斷言customer agent agent_tgt三類行數(shù)之和等于總行數(shù)且總行數(shù)能被 3 整除三元組拆解每 3 行構(gòu)成一個回合turn按固定間隔拆出三個列表ref_customer_response第 0、3、6…行參考 Customer 回復(fù)ref_agent_response第 1、4、7…行參考 Agent 回復(fù)gen_agent_response第 2、5、8…行目標(biāo)策略生成的 Agent 回復(fù)即需要被評估的策略行為成品輸出在output_dir下以 JSON Lines 格式寫出data.json每行一個完整樣本。該data.json即 OPE 模型的直接輸入評估的目標(biāo)就是讓模型學(xué)會僅憑離線軌跡含gen_agent_response與獎勵估計目標(biāo)策略的價值而不需要在線交互。四、AirDialogue 合成數(shù)據(jù)Option 2 下載預(yù)處理成品若跳過生成環(huán)節(jié)直接使用已預(yù)處理好的合成數(shù)據(jù)在 data 目錄下執(zhí)行sh download_syn_opedata.shdownload_syn_opedata.sh 的行為如下創(chuàng)建syn_opedata/目錄用gcloud storage cp gs://airdialogue_share/syn_opedata.tar.gz ./從 GCS 拉取壓縮包解壓后刪除壓縮包最后再次調(diào)用sh make_syn_opedata.sh做一次標(biāo)準(zhǔn)化整理。也就是說即使走下載路線腳本仍會復(fù)用第三節(jié)的轉(zhuǎn)換流水線確保目錄結(jié)構(gòu)與自行生成的結(jié)果完全一致。需要提醒的是該腳本依賴gcloud工具及對airdialogue_share存儲桶的訪問權(quán)限腳本注釋明確標(biāo)注為內(nèi)部使用場景。五、AirDialogue 神經(jīng)自玩數(shù)據(jù)Neural Selfplay神經(jīng)自玩數(shù)據(jù)由 Transformer 架構(gòu)的 Agent 與 Customer 通過自我對弈self-play產(chǎn)生用于評估神經(jīng)網(wǎng)絡(luò)策略 vs 神經(jīng)網(wǎng)絡(luò)策略場景下的離線價值估計。sh download_selfplay_opedata.shdownload_selfplay_opedata.sh 的處理要點從gs://airdialogue_share/air_selfchat_ope_data.tar.gz下載自玩 OPE 數(shù)據(jù)包解壓后把selfchat_ope_data重命名為orig/遍歷orig/下每個模型子目錄以目錄名作為model_name這就是該數(shù)據(jù)對應(yīng)的目標(biāo)策略名例如tgt_L1一類表示不同強度/風(fēng)格的 Transformer 策略先刪除原始自玩日志$model_name.jsonl再把子目錄內(nèi)其余*.jsonl拼接為opedata/$model_name/data.json并打印行數(shù)作為質(zhì)量核對。產(chǎn)出結(jié)構(gòu)selfplay_opedata/opedata/model_name/data.json與合成數(shù)據(jù)的syn_opedata/syn_ope_data_500/model/data.json保持同構(gòu)方便同一套訓(xùn)練入口無縫切換數(shù)據(jù)源。六、AirDialogue 人類評估數(shù)據(jù)Human Eval人類評估數(shù)據(jù)記錄的是 Transformer Agent 與真人交互Human Eval的對話日志用于評估神經(jīng)網(wǎng)絡(luò)策略 vs 人類場景。sh download_human_opedata.shdownload_human_opedata.sh 與自玩腳本結(jié)構(gòu)一致下載air_human_ope_data.tar.gz→ 解壓重命名為orig/→ 按模型子目錄把*.jsonl拼接為human_opedata/opedata/model_name/data.json。同樣以目錄名標(biāo)識目標(biāo)模型便于后續(xù)按模型逐個評估。需要說明的是此類日志來源于 airdialogue_model_transformer/README.md 中描述的 Command Line Human Evaluation 流程——通過selfplay.py --tgt human與真人半自動對話、再由generate_ope_data.py --eval-dir outputs/human_eval/等命令產(chǎn)出 OPE 日志最終打包上傳至 GCS 供本腳本分發(fā)。七、Convai2 人類評估數(shù)據(jù)Convai2對話式 AI 挑戰(zhàn)數(shù)據(jù)集上的人類評估數(shù)據(jù)單獨存放在 convai2 子目錄用于評估 NN Agent 與人類在開放域閑聊場景中的交互表現(xiàn)cd convai2 sh download_convai2_opedata.shdownload_convai2_opedata.sh 流程與上述腳本類似從gs://airdialogue_share/convai2_opedata.tar.gz下載 → 解壓并把cleaned_logs重命名為orig/→ 按模型子目錄拼接為opedata/model_name/data.json。此外convai2 目錄還提供了三個配套工具腳本方便在評估前后做數(shù)據(jù)分析與實驗配置stats.py對下載后的對話數(shù)據(jù)進(jìn)行統(tǒng)計model_configs.py定義各目標(biāo)模型對應(yīng)的配置eval.py執(zhí)行具體的評估計算。同時該目錄還包含download_convai2_opedata_small.sh、download_convai2_opedata_half.sh、download_convai2_opedata_hard.sh等變體腳本以及download_raw.sh拉取原始日志可按實驗規(guī)模與難度需求選用。八、數(shù)據(jù)集與 OPE 訓(xùn)練入口的銜接數(shù)據(jù)準(zhǔn)備完成后如何被 OPE 模型消費以合成數(shù)據(jù)為例script/syn_air_ope.sh 展示了完整的銜接方式PROJECT_ROOT$(dirname $(readlink -f $0))/.. DATAsyn_ope_data_500/tgt_L1 DATA_ROOT$PROJECT_ROOT/data/syn_opedata/$DATA/ TASK_NAMEsyn_air_ope關(guān)鍵點DATA即OPE 數(shù)據(jù)文件夾中的子文件夾名通常對應(yīng)目標(biāo)模型名README 原文亦如此定義——比如syn_ope_data_500/tgt_L1就是第五節(jié)make_syn_opedata.sh產(chǎn)出目錄下名為tgt_L1的模型子目錄DATA_ROOT通過$PROJECT_ROOT/data/syn_opedata/$DATA/拼出完整數(shù)據(jù)路徑最終以--data_dir $DATA_ROOT傳給訓(xùn)練腳本腳本隨后調(diào)用 main.py后者在 main.py 中用HfArgumentParser解析模型參數(shù)ModelArguments、數(shù)據(jù)參數(shù)AirOPETrainingArguments其中data_dir指明數(shù)據(jù)目錄與訓(xùn)練參數(shù)三組配置并通過 utils.py 中的AirOPEDataset加載data.json、airope_data_collator完成批處理支持標(biāo)量獎勵與字典獎勵兩種形態(tài)最終由AirOPETrainer執(zhí)行訓(xùn)練。同理自玩、人類評估與 Convai2 數(shù)據(jù)分別對應(yīng) script/selfplay_air_ope.sh、script/human_air_ope.sh 與 script/convai2_ope.sh只需把DATA換成各自opedata/下的模型目錄名即可。若需批量跑多個模型可使用 keepruning_syn.py、keepruning_selfplay.py、keepruning_human.py、keepruning_convai2.py 逐個執(zhí)行實驗。九、實踐建議與注意事項優(yōu)先下載預(yù)處理數(shù)據(jù)除非需要自定義樣本數(shù)量或研究數(shù)據(jù)生成本身否則建議直接走各download_*_opedata.sh腳本省去工具包安裝、sim_ope模擬與轉(zhuǎn)換三個環(huán)節(jié)但請先確認(rèn)本機已安裝gcloud且具備airdialogue_share存儲桶讀取權(quán)限自行生成時保持規(guī)模一致make_syn_opedata.sh只認(rèn)10/50/100/500/5K五種規(guī)模目錄名自定義--num_samples后需確保sim_ope的輸出目錄名落入該集合否則不會被轉(zhuǎn)換獎勵字段合成數(shù)據(jù)轉(zhuǎn)換時若樣本自帶reward則保留原值否則由compute_reward實時計算訓(xùn)練前可通過腳本打印的平均獎勵快速排查數(shù)據(jù)異常目錄命名即模型標(biāo)識四類數(shù)據(jù)流水線都以子目錄名承載目標(biāo)模型身份訓(xùn)練腳本的DATA參數(shù)與之嚴(yán)格對應(yīng)新增數(shù)據(jù)時保持一模型一子目錄的組織方式即可無縫接入現(xiàn)有訓(xùn)練流程。贊分享人工智能深度學(xué)習(xí)NLP計算機視覺強化學(xué)習(xí)【免費下載鏈接】google-researchGoogle Research項目地址https://gitcode.com/gh_mirrors/go/google-research點擊查看免費下載相關(guān)推薦AirDialogue 端到端 Transformer 對話模型安裝、訓(xùn)練、評估與 OPE 數(shù)據(jù)生成實戰(zhàn)指南AirDialogue 端到端 Transformer 對話模型安裝、訓(xùn)練、評估與 OPE 數(shù)據(jù)生成實戰(zhàn)指南 導(dǎo)讀 本文以 dialogue_ope/aird人工智能深度學(xué)習(xí)NLP計算機視覺強化學(xué)習(xí)多模態(tài)數(shù)據(jù)集構(gòu)建實戰(zhàn)從數(shù)據(jù)采集到質(zhì)量評估的全流程指南多模態(tài)數(shù)據(jù)集構(gòu)建實戰(zhàn)從數(shù)據(jù)采集到質(zhì)量評估的全流程指南 引言突破多模態(tài)數(shù)據(jù)困境 你是否在多模態(tài)項目中遭遇過這些挑戰(zhàn)醫(yī)學(xué)影像數(shù)據(jù)集標(biāo)注成本高達(dá)數(shù)千美元/例跨知識庫多模態(tài)人工智能Open-Assistant 數(shù)據(jù)集工程實踐SODA Synthetic Dialogue 合成對話數(shù)據(jù)集的構(gòu)建、加載與訓(xùn)練接入指南Open Assistant 數(shù)據(jù)集工程實踐SODA Synthetic Dialogue 合成對話數(shù)據(jù)集的構(gòu)建、加載與訓(xùn)練接入指南 SODA Synth人工智能大模型強化學(xué)習(xí)微調(diào)數(shù)據(jù)標(biāo)注后端前端上一篇Prometheus Operator監(jiān)控共享金屬加工設(shè)備設(shè)備狀態(tài)與生產(chǎn)效率下一篇終極Laravel日志查看器如何快速優(yōu)雅地管理你的應(yīng)用日志創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考