女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

視覺模型weak-to-strong的實現(xiàn)

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 2024-01-08 11:07 ? 次閱讀

深度學習自然語言處理 原創(chuàng)
作者:pp

幾天前,OpenAI「超級對齊」(Superalignment)團隊發(fā)布了成立以來的首篇論文,聲稱開辟了對超人類模型進行實證對齊的新研究方向。GPT-2能監(jiān)督GPT-4,Ilya帶頭OpenAI超級對齊首篇論文來了:AI對齊AI取得實證結(jié)果

可能是為了讓大家更容易實現(xiàn)論文中的思路,也可能是為了讓自己的研究更加接地氣,不再被調(diào)侃為“CloseAI”。在公布這篇論文的同時,OpenAI也在GitHub開源了論文提出的"weak-to-strong"框架的代碼[1]

在觀察了倉庫中的代碼之后我們有了如下發(fā)現(xiàn):

既有NLP版本也有CV版本

主代碼倉庫是一個對二元分類(binary classification)任務(wù)的“weak-to-strong”方法的實現(xiàn)。包含用于微調(diào)預訓練語言模型的代碼(訓練弱模型,生成若標簽),以及針對來自另一種語言模型的標簽進行訓練的代碼(使用弱標簽,訓練強學生)。

Vision目錄中則包含視覺模型"weak-to-strong"的實現(xiàn)(AlexNet -> DINO)。

a3897d4e-9e46-11ee-8b88-92fbcf53809c.png

支持論文中描述的各種損失函數(shù),如置信度輔助損失函數(shù),也可以自己定義損失函數(shù),見weak_to_strong/loss.py。

#Customlossfunction
classxent_loss(LossFnBase):
def__call__(
self,logits:torch.Tensor,labels:torch.Tensor,step_frac:float
)->torch.Tensor:
"""
Thisfunctioncalculatesthecrossentropylossbetweenlogitsandlabels.

Parameters:
logits:Thepredictedvalues.
labels:Theactualvalues.
step_frac:Thefractionoftotaltrainingstepscompleted.

Returns:
Themeanofthecrossentropyloss.
"""
loss=torch.nn.functional.cross_entropy(logits,labels)
returnloss.mean()


classproduct_loss_fn(LossFnBase):
...
returnloss.mean()


classlogconf_loss_fn(LossFnBase):
...
returnloss.mean()

Qwen(千問)模型出現(xiàn)在代碼中

在主文件train_weak_to_strong.py中,OpenAI以自己的GPT2模型,和國產(chǎn)的Qwen(千問)模型為例

ModelConfig(
name="gpt2",
default_lr=5e-5,
eval_batch_size=32,
custom_kwargs={
"bf16":torch.cuda.is_bf16_supported(),
"fp32":nottorch.cuda.is_bf16_supported(),
},
),
ModelConfig(
name="gpt2-medium",
default_lr=5e-5,
eval_batch_size=32,
custom_kwargs={
"bf16":torch.cuda.is_bf16_supported(),
"fp32":nottorch.cuda.is_bf16_supported(),
},
),
...
ModelConfig(
name="Qwen/Qwen-7B",
default_lr=1e-5,
eval_batch_size=2,
gradient_checkpointing=True,
model_parallel=True,
#note:youwillprobablynotbeabletorunthiswithoutmanygpus
custom_kwargs={
"trust_remote_code":True,
"bf16":torch.cuda.is_bf16_supported(),
"fp32":nottorch.cuda.is_bf16_supported(),
},
),
ModelConfig(
name="Qwen/Qwen-14B",
default_lr=1e-5,
eval_batch_size=2,
gradient_checkpointing=True,
model_parallel=True,
#note:youwillprobablynotbeabletorunthiswithoutbf16supportandmanygpus
custom_kwargs={
"trust_remote_code":True,
"bf16":torch.cuda.is_bf16_supported(),
"fp32":nottorch.cuda.is_bf16_supported(),
},
),
...

兩階段訓練

Weak-to-strong關(guān)注的重點是:一個弱監(jiān)督者如何監(jiān)督一個比它聰明得多的模型?為此,OpenAI提出了一個兩階段的訓練方法:

對于一個給定的任務(wù):

構(gòu)建弱監(jiān)督者。通過在一半訓練數(shù)據(jù)上微調(diào)較小的預訓練模型來構(gòu)造弱監(jiān)督者,他們把弱監(jiān)督者的表現(xiàn)稱為弱表現(xiàn),并通過弱模型的預測來生成弱標簽。(Stage 1)

#Traintheweakmodelonthefirsthalfofthetrainingdata
print(f"Trainingweakmodel,size{weak_model_size}")
weak_test_results,weak_ds=train_model(
weak_model_config,
train1_ds,
test_ds,
loss_type="xent",
label="weak",
subpath=os.path.join("weak_model_gt",weak_model_size.replace("/","_")),
lr=weak_lr,
eval_batch_size=weak_eval_batch_size,
inference_ds=train2_ds,
epochs=gt_epochs,
linear_probe=linear_probe,
optimizer_name=weak_optim,
)

訓練一個用于比較的性能上限的強模型。在另一半訓練數(shù)據(jù)上以Ground Truth作為標簽訓練一個較大的模型作為比較的上限。(Upper bound)

#Trainthestrongmodelonthesecondhalfofthetrainingdata
print(f"Trainingstrongmodel,size{strong_model_size}")
strong_test_results,_=train_model(
strong_model_config,
train2_ds,
test_ds,
loss_type="xent",
label="strong",
subpath=os.path.join("strong_model_gt",strong_model_size.replace("/","_")),
lr=strong_lr,
eval_batch_size=strong_eval_batch_size,
epochs=gt_epochs,
linear_probe=linear_probe,
optimizer_name=strong_optim,
)

通過第一步中的弱監(jiān)督訓練強學生模型。本文使用生成的弱標簽微調(diào)強模型,并將該模型稱為強學生模型將其產(chǎn)生的性能稱為從弱到強(weak-to-strong)的性能。(Stage 2)

#Trainthestrongmodelonthesecondhalfofthetrainingdatawithlabelsgeneratedbytheweakmodel
all_transfer_test_results={}
fortlossintransfer_losses:
print(
f"Trainingtransfermodel,size{strong_model_size}onlabelsfrom{weak_model_size},withloss{tloss}"
)
transfer_test_results,_=train_model(
strong_model_config,
weak_ds,
test_ds,
loss_type=tloss,
label="weak2strong",
subpath=os.path.join(
"strong_model_transfer",
f"{weak_model_size.replace('/','_')}_{strong_model_size.replace('/','_')}_{tloss}",
),
lr=transfer_lr,
eval_batch_size=strong_eval_batch_size,
epochs=transfer_epochs,
linear_probe=linear_probe,
optimizer_name=transfer_optim,
)
all_transfer_test_results[tloss]=transfer_test_results
deltransfer_test_results

復刻版本,并非源碼

OpenAI在倉庫中提到,目前開源的代碼并非與論文實驗部分完全一致,不過是結(jié)果相近的。

"STATUS: This codebase is not well tested and does not use the exact same settings we used in the paper, but in our experience gives qualitatively similar results when using large model size gaps and multiple seeds. Expected results can be found for two datasets below. We may update the code significantly in the coming week."

這次開源的weak-to-strong實現(xiàn)代碼較為簡單,感興趣的朋友可以去嘗試一下,結(jié)合論文也許會有不一樣的感受。OpenAI正在大力研究超級對齊(Superalignment),不僅僅放出論文,開源代碼,同時也宣布了一項高達1000萬美金的資助計劃,我們將在之后的文章中為您帶來詳細解讀,敬請期待!

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

    關(guān)注

    3

    文章

    3586

    瀏覽量

    43471
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3485

    瀏覽量

    49987
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    1201

    瀏覽量

    8635

原文標題:OpenAI開源"weak-to-strong"方法代碼框架!我們帶你一探究竟

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

收藏 人收藏

    評論

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

    如何利用Transformers了解視覺語言模型

    模型稱為 “視覺語言” 模型是什么意思?一個結(jié)合了視覺和語言模態(tài)的模型?但這到底是什么意思呢?
    發(fā)表于 03-03 09:49 ?1257次閱讀
    如何利用Transformers了解<b class='flag-5'>視覺</b>語言<b class='flag-5'>模型</b>

    __attribute__((weak)) __weak_symbol在idf4.4庫中無效的原因?

    請教下,在編譯時,遇到幾個問題: 1.同一個工程中,在不同的C文件寫相同的函數(shù),編譯時不報錯,函數(shù)生效隨機; 2.使用__attribute__((weak)) __weak_symbol無效。 請教下,__attribute__((w
    發(fā)表于 06-17 08:31

    在Fast-Strong情況下是否會出現(xiàn)過多的過沖

    ODT和CKE驅(qū)動程序的正確配置時遇到問題:SSTL18_II,有或沒有outerm = 25,50和SSTL18_I。他們都不滿意。根據(jù)配置的不同,在Fast-Strong情況下是否會出現(xiàn)過多的過沖
    發(fā)表于 06-11 14:54

    keil中__weak的功能和應用是什么

    __weak可以應用于函數(shù)的聲明和實現(xiàn).若使用__weak修飾聲明 __weak void function(void);執(zhí)行 function(); 語句時,當前文件中
    發(fā)表于 11-30 06:41

    __attribute__((weak)) __weak_symbol在idf4.4庫中無效,要怎么操作才能起作用呢?

    請教下,在編譯時,遇到幾個問題:1.同一個工程中,在不同的C文件寫相同的函數(shù),編譯時不報錯,函數(shù)生效隨機;2.使用__attribute__((weak)) __weak_symbol無效。請教下,__attribute__((weak
    發(fā)表于 02-14 06:43

    目標跟蹤的視覺注意計算模型

    目標跟蹤的視覺注意計算模型:借鑒心理學中有關(guān)視覺注意的研究成果,提出一種應用于視頻圖像序列的注意焦點計算模型。針對Itti 模型算法計算復雜
    發(fā)表于 01-04 12:20 ?14次下載

    【MCU】Keil編譯無法識別__WEAK問題

    文章目錄1. Keil編譯無法識別__WEAK問題2. ARM系列編譯工具鏈:`__CC_ARM、__ICCARM__、__GNUC__、__TASKING__`__CC_ARM對應的平臺是:ARM
    發(fā)表于 11-05 16:05 ?53次下載
    【MCU】Keil編譯無法識別__<b class='flag-5'>WEAK</b>問題

    keil中__weak的功能和應用

    __weak可以應用于函數(shù)的聲明和實現(xiàn).若使用__weak修飾聲明 __weak void function(void);執(zhí)行 function(); 語句時,當前文件中
    發(fā)表于 11-21 15:51 ?6次下載
    keil中__<b class='flag-5'>weak</b>的功能和應用

    strong-password-generator密碼生成器

    strong-password-generator.zip
    發(fā)表于 05-07 10:40 ?0次下載
    <b class='flag-5'>strong</b>-password-generator密碼生成器

    OpenCV中支持的非分類與檢測視覺模型

    前面給大家分別匯總了OpenCV中支持的圖像分類與對象檢測模型,視覺視覺任務(wù)除了分類與檢測還有很多其他任務(wù),這里我們就來OpenCV中支持的非分類與檢測的視覺
    的頭像 發(fā)表于 08-19 09:10 ?1559次閱讀

    基于可變形卷積的大規(guī)模視覺基礎(chǔ)模型

    擴大模型的規(guī)模是提高特征表示質(zhì)量的重要策略,在計算機視覺領(lǐng)域,模型參數(shù)量的擴大不僅能夠有效加強深度模型的表征學習能力,而且能夠實現(xiàn)從海量數(shù)據(jù)
    的頭像 發(fā)表于 11-21 11:28 ?1221次閱讀

    梳理一下DPHY的集成驗證

    用于表示0的強度:highz0、supply0、strong0、pull0、weak0。
    的頭像 發(fā)表于 04-10 10:56 ?1989次閱讀

    Strong ARM比較器電路的工作原理

    “比較器是模數(shù)轉(zhuǎn)換器ADC中的核心電路之一。研究比較器失調(diào)等非理想因素的產(chǎn)生機制對提高ADC性能具有重要意義。鑒于此,本文以Strong ARM比較器為例,從工作原理和失調(diào)兩個方面對Strong ARM進行介紹。”
    的頭像 發(fā)表于 07-17 16:19 ?1w次閱讀
    <b class='flag-5'>Strong</b> ARM比較器電路的工作原理

    一文詳解視覺語言模型

    視覺語言模型(VLM)是一種多模態(tài)、生成式 AI 模型,能夠理解和處理視頻、圖像和文本。
    的頭像 發(fā)表于 02-12 11:13 ?1483次閱讀
    一文詳解<b class='flag-5'>視覺</b>語言<b class='flag-5'>模型</b>

    ?VLM(視覺語言模型)?詳細解析

    視覺語言模型(Visual Language Model, VLM)是一種結(jié)合視覺(圖像/視頻)和語言(文本)處理能力的多模態(tài)人工智能模型,能夠理解并生成與
    的頭像 發(fā)表于 03-17 15:32 ?2686次閱讀
    ?VLM(<b class='flag-5'>視覺</b>語言<b class='flag-5'>模型</b>)?詳細解析