国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing

這篇具有很好參考價值的文章主要介紹了提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、前言

在高質(zhì)量標(biāo)注數(shù)據(jù)稀缺的工業(yè)界來說,少樣本學(xué)習(xí)或者零樣本學(xué)習(xí)的方法特別受歡迎,后面出現(xiàn)過一些少樣本和零樣本的方法,例如對比學(xué)習(xí)和prompt等,主流prompt的工作分為離散型和連續(xù)型模板。離散型主要還是插入bert特殊的token為主,連續(xù)型則是插入數(shù)字token。離散型可解釋性強于連續(xù)型,我這里講的soft prompt則是連續(xù)型的。

大型預(yù)訓(xùn)練語言模型的規(guī)模不斷擴大,在許多自然語言處理 (NLP) 基準(zhǔn)測試中取得了最先進的結(jié)果。自GPT和BERT開發(fā)以來,標(biāo)準(zhǔn)做法一直是在下游任務(wù)上微調(diào)模型,這涉及調(diào)整網(wǎng)絡(luò)中的每個權(quán)重(即模型調(diào)整)。然而,隨著模型變得越來越大,為每個下游任務(wù)存儲和提供模型的微調(diào)變得不切實際。

一個吸引人的替代方案是在所有下游任務(wù)中共享一個單一的凍結(jié)預(yù)訓(xùn)練語言模型,其中所有權(quán)重都是固定的。在一個令人興奮的發(fā)展中,GPT-3令人信服地表明,可以通過“上下文”學(xué)習(xí)來調(diào)節(jié)凍結(jié)模型以執(zhí)行不同的任務(wù)。使用這種方法,用戶通過提示設(shè)計為給定任務(wù)準(zhǔn)備模型,即手工制作帶有手頭任務(wù)描述或示例的文本提示。例如,要為情感分析設(shè)置模型,可以附加提示“以下電影評論是正面的還是負面的?”?在輸入序列之前,“這部電影太棒了!

二、soft prompt

跨任務(wù)共享相同的凍結(jié)模型極大地簡化了服務(wù)并允許有效的混合任務(wù)推理,但不幸的是,這是以犧牲任務(wù)性能為代價的。文本提示需要人工設(shè)計,即使是精心設(shè)計的提示與模型調(diào)優(yōu)相比仍然表現(xiàn)不佳。例如,在SuperGLUE基準(zhǔn)測試中凍結(jié)的 GPT-3 175B 參數(shù)模型的性能比使用少 800 倍參數(shù) 的微調(diào)T5 模型低 5 個點。

在EMNLP 2021上發(fā)表的“參數(shù)高效提示調(diào)整的規(guī)模力量”中,我們探索了提示調(diào)整,一種使用可調(diào)軟提示調(diào)節(jié)凍結(jié)模型的更有效方法。就像工程文本提示一樣,軟提示連接到輸入文本。但不是從現(xiàn)有的詞匯項目中選擇,軟提示的“標(biāo)記”是可學(xué)習(xí)的向量。這意味著可以在訓(xùn)練數(shù)據(jù)集上端到端優(yōu)化軟提示。除了消除手動設(shè)計的需要之外,這還允許提示從包含數(shù)千或數(shù)百萬個示例的數(shù)據(jù)集中壓縮信息。相比之下,由于模型輸入長度的限制,離散文本提示通常限制在 50 個以下示例。

提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing

要為給定任務(wù)創(chuàng)建軟提示,我們首先將提示初始化為固定長度的向量序列(例如,20 個token長)。我們將這些向量附加到每個嵌入輸入的開頭,并將組合序列輸入模型。將模型的預(yù)測與目標(biāo)進行比較以計算損失,并將誤差反向傳播以計算梯度,但是我們僅將這些梯度更新應(yīng)用于我們的新可學(xué)習(xí)向量——保持核心模型凍結(jié)。雖然以這種方式學(xué)習(xí)的軟提示不能立即解釋,但在直觀的層面上,軟提示正在從標(biāo)記的數(shù)據(jù)集中提取有關(guān)如何執(zhí)行任務(wù)的證據(jù),其作用與手動編寫的文本提示相同,但??不需要限于離散的語言。

提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing

soft prompt是參數(shù)越多效果越好,引自Google發(fā)表原文。

提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing

三、soft prompt實現(xiàn)

import torch
import torch.nn as nn

class SoftEmbedding(nn.Module):
    def __init__(self, 
                wte: nn.Embedding,
                n_tokens: int = 10, 
                random_range: float = 0.5,
                initialize_from_vocab: bool = True):
        """appends learned embedding to 
        Args:
            wte (nn.Embedding): original transformer word embedding
            n_tokens (int, optional): number of tokens for task. Defaults to 10.
            random_range (float, optional): range to init embedding (if not initialize from vocab). Defaults to 0.5.
            initialize_from_vocab (bool, optional): initalizes from default vocab. Defaults to True.
        """
        super(SoftEmbedding, self).__init__()
        self.wte = wte
        self.n_tokens = n_tokens
        self.learned_embedding = nn.parameter.Parameter(self.initialize_embedding(wte,
                                                                               n_tokens, 
                                                                               random_range, 
                                                                               initialize_from_vocab))
            
    def initialize_embedding(self, 
                             wte: nn.Embedding,
                             n_tokens: int = 10, 
                             random_range: float = 0.5, 
                             initialize_from_vocab: bool = True):
        """initializes learned embedding
        Args:
            same as __init__
        Returns:
            torch.float: initialized using original schemes
        """
        if initialize_from_vocab:
            return self.wte.weight[:n_tokens].clone().detach()
        return torch.FloatTensor(n_tokens, wte.weight.size(1)).uniform_(-random_range, random_range)
            
    def forward(self, tokens):
        """run forward pass
        Args:
            tokens (torch.long): input tokens before encoding
        Returns:
            torch.float: encoding of text concatenated with learned task specifc embedding
        """
        input_embedding = self.wte(tokens[:, self.n_tokens:])
        learned_embedding = self.learned_embedding.repeat(input_embedding.size(0), 1, 1)
        return torch.cat([learned_embedding, input_embedding], 1)
from transformers import AutoConfig, AdamW, AutoTokenizer, AutoModel
import torch
import torch.nn as nn
from soft_embedding import SoftEmbedding

n_tokens = 20
initialize_from_vocab = True
tokenizer = AutoTokenizer.from_pretrained("nezha-base-wwm")
config = AutoConfig.from_pretrained("nezha-base-wwm", num_labels=num_class)
config.output_hidden_states = True  # 需要設(shè)置為true才輸出
model = AutoModel.from_pretrained(self.model_path, config=config)
s_wte = SoftEmbedding(model.get_input_embeddings(), 
                      n_tokens=n_tokens, 
                      initialize_from_vocab=initialize_from_vocab)
model.set_input_embeddings(s_wte)
inputs = tokenizer("May the force be", return_tensors="pt")

# need to pad attention_mask and input_ids to be full seq_len + n_learned_tokens
# even though it does not matter what you pad input_ids with, it's just to make HF happy
inputs['input_ids'] = torch.cat([torch.full((1,n_tokens), 50256), inputs['input_ids']], 1)
inputs['attention_mask'] = torch.cat([torch.full((1,n_tokens), 1), inputs['attention_mask']], 1)

outputs = model(**inputs)

四、總結(jié)

soft prompt比較依賴于模型參數(shù)大小,更加適合零樣本和小樣本,如果用來大數(shù)據(jù)量下微調(diào)模型,效果可能會比普通微調(diào)差不多或者更差點。文章來源地址http://www.zghlxwxcb.cn/news/detail-487999.html

到了這里,關(guān)于提示學(xué)習(xí)soft prompt淺嘗,啟發(fā)了p-tuing的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 淺嘗prompt咒語設(shè)計:one-shot微調(diào)chatglm-6b實踐信息抽取

    近期以chatgpt等文生成LLMS爆火,國內(nèi)也逐漸開源了中文版的chatgpt,本文以清華大學(xué)開源的6b的chatglm為例,實踐one-shot微調(diào),設(shè)計prompt咒語在信息抽取領(lǐng)域的實驗效果。 給定一個JD的職位要求,需要從描述中抽取出相應(yīng)的實體。 例如: 相應(yīng)的schema的實體為: prompt設(shè)計主要點:

    2024年02月11日
    瀏覽(29)
  • 【提示學(xué)習(xí)論文七】Visual Prompt Tuning論文原理

    【提示學(xué)習(xí)論文七】Visual Prompt Tuning論文原理

    這篇文章于2022年發(fā)表在ECCV(European Conference on Computer Vision),作者是Menglin Jia, Luming Tang,Bor-Chun Chen, Claire Cardie, Serge Belongie,Bharath Hariharan, Ser-Nam Lim。 VPT是一種有效的用于大規(guī)模Transformer的視覺微調(diào),只需要在輸入空間引入少量可訓(xùn)練參數(shù),同時凍結(jié)backbone。 目前適應(yīng)預(yù)訓(xùn)練模

    2024年01月17日
    瀏覽(28)
  • 【提示學(xué)習(xí)論文六】MaPLe: Multi-modal Prompt Learning論文原理

    【提示學(xué)習(xí)論文六】MaPLe: Multi-modal Prompt Learning論文原理

    這篇文章于2023年發(fā)表在CVPR(Conference on Computer Vision and Pattern Recognition),作者是Muhammad Uzair Khattak,Hanoona Rasheed,Muhammad Maaz,Salman Khan,F(xiàn)ahad Shahbaz Khan。 研究發(fā)現(xiàn)Clip的問題:在單個分支(語言或視覺)中使用prompt來調(diào)整表示是次優(yōu)的,它不能在下游任務(wù)上靈活地動態(tài)調(diào)整兩個

    2024年01月22日
    瀏覽(45)
  • Element淺嘗輒止8:Tooltip 文字提示組件

    常用于展示鼠標(biāo) hover 時的提示信息。? ?展示多行文本或者是設(shè)置文本內(nèi)容的格式 除了這些基本設(shè)置外,還有一些屬性可以讓使用者更好的定制自己的效果: transition ?屬性可以定制顯隱的動畫效果,默認為 fade-in-linear 。 如果需要關(guān)閉? tooltip ?功能, disabled ?屬性可以滿足

    2024年02月11日
    瀏覽(20)
  • AI提示詞工程師/AIGC提示詞工程師/prompt工程師/AI訓(xùn)練師學(xué)習(xí)路線圖(元壤教育)

    系統(tǒng)學(xué)習(xí),公眾號搜索【元壤教育】開始學(xué)習(xí)吧 先窺全貌:Prompt工程師課程概述介紹 Prompt 工程師 優(yōu)化工作流程 在 GPT 中編寫提示詞 文本到視覺 Midjourney prompts GPT-3.5/4 概述 GPT的未來 專家訪談 從概念開始:簡單理解AIGC發(fā)展和產(chǎn)業(yè)機遇 AIGC的概念與起源 AIGC的發(fā)展三階段 AIGC的

    2024年02月09日
    瀏覽(19)
  • 【AIGC提示詞工程師、AI提示詞工程師、Prompts工程師、Midjourney培訓(xùn)】電商行業(yè)AIGC圖像生成與內(nèi)容創(chuàng)作學(xué)習(xí)路線圖

    導(dǎo)言 關(guān)注【元壤教育】公眾號進入平臺開始系統(tǒng)學(xué)習(xí)之路。 AIGC(Stable Diffusion、DALL-E 和 Midjourney)助力電商行業(yè)降本增效、提升10倍生產(chǎn)力 一門深入全面的課程,專為對AI圖像生成在電商行業(yè)應(yīng)用感興趣的人士打造,旨在幫助他們從零基礎(chǔ)邁向?qū)<壹墑e。無需擁有任何相關(guān)經(jīng)

    2024年02月10日
    瀏覽(20)
  • LLM提示詞工程和提示詞工程師Prompting and prompt engineering

    LLM提示詞工程和提示詞工程師Prompting and prompt engineering

    你輸入模型的文本被稱為提示,生成文本的行為被稱為推斷,輸出文本被稱為完成。用于提示的文本或可用的內(nèi)存的全部量被稱為上下文窗口。盡管這里的示例顯示模型表現(xiàn)良好,但你經(jīng)常會遇到模型在第一次嘗試時無法產(chǎn)生你想要的結(jié)果的情況。你可能需要多次修改提示中

    2024年02月12日
    瀏覽(22)
  • 在學(xué)習(xí)DNS的過程中給我的啟發(fā)

    在國內(nèi),關(guān)于DNS相關(guān)的話題一直絡(luò)繹不絕,比如DNS根服務(wù)器為什么中國沒有,還有Anycast BGP實現(xiàn)負載,為什么DNS只有13個,還有DNS over HTTPS 和 DNS over TLS的優(yōu)劣等等問題,接下來我會找出幾個一一說一下其中的原理,并談?wù)勍ㄟ^研究這些問題后我的收獲。 DNS和我們每天的上網(wǎng)動

    2024年02月09日
    瀏覽(18)
  • 提示詞(prompt)工程指南(五):ChatGPT 提示工程

    在本節(jié)中,我們介紹ChatGPT的最新提示工程技術(shù),包括提示、應(yīng)用、限制、論文和其他閱讀資料。 完整的中文版本指南和更豐富的參考資料在 Github 和 Gitee 中,自動持續(xù)翻譯更新: ?? 關(guān)于提示詞工程(prompt)的指南、論文、講座、筆記本和資源大全 https://github.com/yunwei37/Pr

    2024年02月03日
    瀏覽(51)
  • 關(guān)于提示詞 Prompt

    關(guān)于提示詞 Prompt

    原則1 提供清晰明確的指示 注意在提示詞中添加正確的分割符號 可以指定輸出格式,如:Json、HTML 提示詞中可以提供少量實例,如讓它寫有步驟的操作,可以在提示詞中添加 原則2 給模型充分的時間運算 有時候LLM的回答并不是我們需要的,這時需要將需求一步步分解,讓模

    2024年02月15日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包