精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

沒有標記數據集,如何做大模型指令微調?介紹一款有潛力的標記數據集生成模型

發布于 2024-6-20 09:49
瀏覽
0收藏

在構建大模型應用時,通常有兩種方式來改進效果,一種是構建外部知識庫,利用RAG來完成。但RAG并不是萬能的,對于特定領域的LLM應用,以及無需示例,就能完成特定任務等場合就需要進行微調。然而,微調本身相較于RAG來講,需要更多的算力資源和時間周期,但更大的瓶頸在于微調需要標記過的樣本數據。這對于很多企業來講,很難有這樣高質量的數據積累,他們的數據通常是未經標記的,可能是一篇一篇的文章或者規章制度,并不是以問答對的方式而存在。

為了完成微調,傳統做法就是通過人工的方式進行問答對構造,在此基礎上斯坦福研究團隊也提出了Alpaca使用GPT-4這樣的強模型模仿種子樣本生成標記數據集。

沒有標記數據集,如何做大模型指令微調?介紹一款有潛力的標記數據集生成模型-AI.x社區

??https://arxiv.org/pdf/2402.18334??

筆者介紹一個新的樣本數據生成的項目Bonito(https://github.com/BatsResearch/bonito),一個用于條件任務生成的開源模型,它可以將未標注的文本轉換為特定任務的訓練數據集,用于指令微調。根據論文介紹,該模型本身是在 mistralai/Mistral-7B-v0.1 的基礎上,利用包含 165 萬個示例的數據集(https://huggingface.co/datasets/BatsResearch/ctga-v1)進行微調,支持多種任務類型,包括多選題回答、是非題回答、自然語言推理、主題分類等。

沒有標記數據集,如何做大模型指令微調?介紹一款有潛力的標記數據集生成模型-AI.x社區


Benito項目本身是一個數據生成的LLM應用,模型由vllm加速,使用方法比較簡單。基本過程為將文檔內容提取出來(datasets),比如PDF等,然后指定生成任務類型,并將其傳給bonito.generate_task即可。

Bonito定義:

class Bonito(LLM, AbstractBonito):
    def generate_tasks(
        self,
        text_dataset: Dataset,
        context_col: str,
        task_type: str,
        sampling_params: SamplingParams,
        **kwargs,
    ):
        """
        Generates tasks using the Bonito model.


        This method takes a text dataset, a context column name,
        a task type, and sampling parameters, and generates tasks
        using the Bonito model. It processes the input dataset,
        generates outputs, collects multiple generations into
        one dataset object, and filters out the examples that
        cannot be parsed.


        Args:
            text_dataset (Dataset): The dataset that provides the text
                for the tasks.
            context_col (str): The name of the column in the dataset
                that provides the context for the tasks.
            task_type (str): The type of the tasks. This can be a
                short form or a full form.
            sampling_params (SamplingParams): The parameters for
                sampling.
            **kwargs: Additional keyword arguments.


        Returns:
            Dataset: The synthetic dataset with the generated tasks.
        """
        processed_dataset = self._prepare_bonito_input(
            text_dataset, task_type, context_col, **kwargs
        )
        outputs = self.generate(processed_dataset["input"], sampling_params)


        # collect multiple generations into one dataset object
        examples = []
        for i, example in enumerate(text_dataset.to_list()):
            for output in outputs[i].outputs:
                examples.append(
                    {"context": example[context_col], "prediction": output.text.strip()}
                )


        synthetic_dataset = Dataset.from_list(examples)


        # filter out the examples that cannot be parsed
        synthetic_dataset = self._postprocess_dataset(
            synthetic_dataset, context_col="context", **kwargs
        )


        return synthetic_dataset

基本使用:

from bonito import Bonito
from vllm import SamplingParams
from datasets import load_dataset


# Initialize the Bonito model
bonito = Bonito("BatsResearch/bonito-v1")


# load dataset with unannotated text
unannotated_text = load_dataset(
    "BatsResearch/bonito-experiment",
    "unannotated_contract_nli"
)["train"].select(range(10))


# Generate synthetic instruction tuning dataset
sampling_params = SamplingParams(max_tokens=256, top_p=0.95, temperature=0.5, n=1)
synthetic_dataset = bonito.generate_tasks(
    unannotated_text,
    context_col="input",
    task_type="nli",
    sampling_params=sampling_params
)

如果想要在顯存較小的GPU上運行,如T4,可對模型進行量化。

from typing import Optional, List, Dict
from datasets import Dataset
from awq import AutoAWQForCausalLM
from bonito import AbstractBonito
from transformers import AutoTokenizer




class QuantizedBonito(AbstractBonito):
    def __init__(self, model_name_or_path):
        self.model = AutoAWQForCausalLM.from_quantized(model_name_or_path, fuse_layers=True).cuda()
        self.tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)


    def generate_task(
        self,
        unannotated_paragraph: str,
        task_type: str,
        sampling_params: dict,
    ) -> Dict:
        """
        Generates synthetic instruction tuning pair using the Quantized Bonito model.
        This method takes a text unannotated text, a task type, and sampling parameters,
        and generates synthetic input-output pair.


        Args:
            unannotated_paragraph (str): The unannotated text or a paragraph
            task_type (str): The type of the tasks. This can be a
                short form or a full form.
            sampling_params (dict): The parameters for
                sampling.
            **kwargs: Additional keyword arguments.


        Returns:
            Dict: The synthetic input-output pair for the task type.
        """


        text_dataset = Dataset.from_list([{"input": unannotated_paragraph}])


        processed_dataset = self._prepare_bonito_input(
            text_dataset, task_type, context_col="input"
        )


        outputs = self._generate_text(processed_dataset["input"], sampling_params)
        examples = []
        for i, example in enumerate(text_dataset.to_list()):
            output = outputs[i]
            example["prediction"] = output.strip()
            examples.append(example)


        synthetic_dataset = Dataset.from_list(examples)


        # filter out the examples that cannot be parsed
        synthetic_dataset_dict = self._postprocess_dataset(
            synthetic_dataset, context_col="input"
        ).to_list()[0]


        return synthetic_dataset_dict


    def _generate_text(
        self,
        dataset: Dataset,
        sampling_params: dict,
        ) -> List[str]:
        """
        Generate text using huggingface transformers generate function.


        This method takes a dataset of prompts, encodes them,
        generates text using the model, decodes the generated
        text, and appends it to a list.


        Args:
            dataset (Dataset): A dataset containing prompts for text generation.
            sampling_params (dict): Parameters for sampling during generation.


        Returns:
            List[str]: A list of generated texts corresponding to the prompts.
        """
        generated_texts = []


        for prompt in dataset:
            input_ids = self.tokenizer.encode(prompt, return_tensors="pt")
            input_ids = input_ids.cuda()


            output = self.model.generate(
                input_ids,
                do_sample=True,
                **sampling_params
            )


            generated_text = self.tokenizer.decode(output[0][len(input_ids[0]):], skip_special_tokens=True)
            generated_texts.append(generated_text)


        return generated_texts

以tasktype為ynqa,即yes-or-no問題為例,其生成的結果如下:

sampling_params = {'max_new_tokens':256, 'top_p':0.95, 'temperature':0.7, 'num_return_sequences':1}
synthetic_dataset = bonito.generate_task(
    unannotated_paragraph,
    task_type="ynqa",
    sampling_params=sampling_params
)
pprint("----Generated Instructions----")
pprint(f'Input: {synthetic_dataset["input"]}')
pprint(f'Output: {synthetic_dataset["output"]}')


'----Generated Instructions----'
('Input: Based on the following passage, is a written communication '
 'confidential? 1. “Confidential Information”, whenever used in this '
 'Agreement, shall mean any data, document, specification and other '
 'information or material, that is delivered or disclosed by UNHCR to the '
 'Recipient in any form whatsoever, whether orally, visually in writing or '
 'otherwise (including computerized form), and that, at the time of disclosure '
 'to the Recipient, is designated as confidential.')
'Output: Yes'

其中,tasktype支持的任務類型如下:

  1. 提取式問答(exqa):根據給定的文本片段生成問題答案,直接從文本中提取答案。
  2. 多選問題回答(mcqa):提供一組多選問題的答案。
  3. 問題生成(qg):根據提供的文本內容創建問題。
  4. 無選擇問答(qa):在不提供多項選擇選項的情況下回答問題。
  5. 是-否問題回答(ynqa):生成問題的是或否答案。
  6. 共指消解 (coref):標識文本中引用同一實體的引用。
  7. 釋義生成 (paraphrase):重寫具有不同措辭的句子或短語,同時保留原意。
  8. 釋義識別 (paraphrase_id):確定兩個句子或短語是否傳達相同的含義。
  9. 句子補全(sent_comp):補全句子中缺失的部分。
  10. 情感分析 (sentiment):識別文本中表達的情緒,如積極、消極或中性。
  11. 摘要(summarization):將較長的文本濃縮成較短的摘要,抓住要點。
  12. 文本生成(Text_gen):基于提示創建連貫且與上下文相關的文本。
  13. 主題分類(Topic_class):將文本分類為預定義的主題。
  14. 詞義消歧(wsd):根據上下文確定單詞的含義。
  15. 文本蘊含(te):預測一個給定的文本是否在邏輯上遵循另一個文本。
  16. 自然語言推理(nli):確定兩段文本之間的關系,如矛盾、隱含或中性。


在性能上,相較于GPT-4的方案,bonito在三個數據集中兩個上取得了超越GPT4的好成績。

沒有標記數據集,如何做大模型指令微調?介紹一款有潛力的標記數據集生成模型-AI.x社區


小結:

相較于使用GPT-4生成標記樣本的方法,經過專門面向數據集生成微調的模型Bonito來講,支持zero-shot級別的樣本生成,并且可以使用開源的模型,這在開放性,成本、性能上都能具備較強的優勢。

隨著微調技術的不斷普及,相信數據樣本質量和生產成本將受到越來越多的重視,benito等這樣的數據集生成模型也將迎來更大的發展。

本文轉載自?? AI工程化??,作者: ully

收藏
回復
舉報
回復
相關推薦
欧美一级片在线播放| 欧美肥妇毛茸茸| 欧美日韩精品中文字幕一区二区| 少妇太紧太爽又黄又硬又爽| 国产午夜一区| 欧美美女激情18p| 免费一级特黄毛片| 9色在线观看| 国产一区二区久久| 欧美在线观看网址综合| 国产精品国产精品88| 美女av一区| 91精品国产欧美一区二区成人| 蜜臀av无码一区二区三区| av在线电影院| 91免费观看在线| 成人写真福利网| 日韩精品成人免费观看视频| 在线免费看黄网站| 成人精品视频网站| 国产日韩欧美在线看| 国产又黄又粗又爽| 韩国自拍一区| 久久久成人精品| 五月天综合视频| 国产 日韩 欧美 综合 一区| 欧美精品亚洲一区二区在线播放| 久久无码高潮喷水| 爱情岛亚洲播放路线| 亚洲色图在线看| 日韩精品不卡| 精品资源在线看| 亚洲一卡久久| 欧美黄色小视频| 亚洲xxx在线观看| 中文字幕在线视频网站| 亚洲专区一二三| 夜夜爽99久久国产综合精品女不卡| 69av视频在线观看| 一区二区三区福利| 国外成人免费在线播放| 欧美xxxx黑人xyx性爽| 午夜精品视频一区二区三区在线看| 亚洲欧美日韩区| 亚洲中文字幕无码av| 婷婷视频一区二区三区| 欧美一级日韩免费不卡| 热久久久久久久久| av网址在线| 18涩涩午夜精品.www| 91亚洲精品一区| 一区二区不卡视频在线观看| 麻豆成人91精品二区三区| 国产精品丝袜一区二区三区| 中文字幕免费视频观看| 日韩av中文字幕一区二区三区| 日本欧美一二三区| 少妇的滋味中文字幕bd| 成人亚洲一区| 深夜福利一区二区| 日本一级特级毛片视频| 中文字幕一区二区精品区| 精品91自产拍在线观看一区| 日本www在线播放| av中文字幕在线看| 国产亚洲美州欧州综合国| 欧美尤物一区| 999国产在线视频| 成人欧美一区二区三区在线播放| 伊人精品久久久久7777| 91亚洲天堂| 亚洲成年人影院| 国产在线青青草| 99re66热这里只有精品4| 欧美日韩视频在线第一区 | 亚洲精品国产福利| 国产男男chinese网站| 日韩欧美一区二区三区免费看| 日韩在线免费视频| 豆国产97在线 | 亚洲| 国产农村妇女精品一二区| 国产精品三级在线| 国产黄色片免费观看| 99久久精品免费看国产免费软件| 欧美一级在线播放| 中文字幕av网站| 国产不卡视频在线播放| 国产ts人妖一区二区三区| 国产精品无码一区| 国产精品系列在线播放| 麻豆成人av| 黄色在线播放网站| 欧美日韩精品在线观看| 色91精品久久久久久久久| 成人av婷婷| 欧美精品tushy高清| 日韩黄色一区二区| 欧美日韩在线网站| 久久久免费高清电视剧观看| 特级西西444www大胆免费看| 高清shemale亚洲人妖| 日韩视频专区| ****av在线网毛片| 欧美精品日日鲁夜夜添| 中文文字幕文字幕高清| 99国内精品久久久久久久| 91精品国产高清| 国产精品无码一区二区桃花视频| 99久久精品情趣| 国产香蕉一区二区三区| 日韩av首页| 亚洲缚视频在线观看| 欧洲美女女同性互添| 亚洲欧美bt| 国产精品久久7| 欧美激情二区| 欧美综合色免费| jlzzjizz在线播放观看| 欧美视频一区| 91啪国产在线| 在线观看免费版| 色欧美乱欧美15图片| 国产精品成人无码专区| 欧美ab在线视频| 成人网在线视频| 色欧美激情视频在线| 色播五月激情综合网| 特级西西人体4444xxxx| 欧美日韩影院| 亚洲已满18点击进入在线看片| 中文字幕在线免费| 日韩欧美中文字幕在线观看| 人妻有码中文字幕| 国产精品极品| 欧美交受高潮1| www.天天干.com| 亚洲精品成a人| 原创真实夫妻啪啪av| 香蕉精品视频在线观看| 国产日韩欧美视频在线| 91精品大全| 欧美日韩中文国产| 青青青视频在线播放| 免费人成在线不卡| 在线精品日韩| 亚洲最大的免费视频网站| 中文字幕一区二区三区电影| 中文字幕第一页在线播放| 日本一区二区免费在线观看视频| av丝袜天堂网| 国产成年精品| 亚洲成人av片| 国产成人免费观看视频| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品裸体瑜伽视频| 日韩有码一区| 青青精品视频播放| www.久久成人| 亚洲一区二区欧美日韩| 国产精品久久久久久久无码| 一区二区三区精品视频在线观看| 美日韩精品免费| 天堂久久午夜av| 精品国产自在精品国产浪潮| 99热这里只有精品3| 一级特黄大欧美久久久| 伦理片一区二区| 性欧美xxxx大乳国产app| 日韩精品福利视频| 高清一区二区三区av| 国模叶桐国产精品一区| 看电影就来5566av视频在线播放| 136国产福利精品导航| 1314成人网| 中文国产一区| 日韩免费av一区二区三区| 婷婷成人av| 午夜精品久久久久久99热软件| 久久手机免费观看| 欧美一区二区免费视频| 日韩av女优在线观看| 国产欧美一区二区精品仙草咪| 亚洲天堂2018av| 激情亚洲成人| 亚洲国产婷婷香蕉久久久久久99| 成人黄色91| 欧美中文在线字幕| 精品自拍一区| 精品亚洲一区二区三区| 一女二男一黄一片| 欧美日韩中文在线| 欧美特黄一级片| 91视频精品在这里| 奇米777在线视频| 久久久久91| 成人在线观看毛片| 欧美猛男男男激情videos| 91视频8mav| av一区在线| 亚洲 日韩 国产第一| 欧美激情二区| 亚洲视频日韩精品| 无码人妻精品一区二区50| 亚洲男同性视频| 谁有免费的黄色网址| 成人在线视频首页| 黄色一级视频片| 91tv官网精品成人亚洲| 欧美精品成人一区二区在线观看| 精品中文在线| 国产日本欧美一区二区三区在线| 美女扒开腿让男人桶爽久久软| yellow中文字幕久久| 狠狠色伊人亚洲综合网站l| 精品国产乱码久久久久久久 | 欧美一区二区三区电影| 凹凸精品一区二区三区| 欧美视频免费在线| 国产午夜精品无码| 一区二区三区四区乱视频| 国产三级aaa| 国产日本欧洲亚洲| 欧美一区二区三区成人精品| 成人妖精视频yjsp地址| 香蕉网在线视频| 极品美女销魂一区二区三区| 中文字幕第80页| 国产探花一区| 精品一卡二卡三卡四卡日本乱码 | 九色porny丨入口在线| 九九热这里只有在线精品视| 99久久精品免费观看国产| 久久精品在线视频| 嫩草在线视频| 久久精品国亚洲| 日p在线观看| y97精品国产97久久久久久| 成人在线视频成人| 在线不卡国产精品| 岛国大片在线观看| 中文欧美日本在线资源| av网站在线免费观看| 中文国产成人精品久久一| av免费在线一区二区三区| 尤物精品国产第一福利三区| 二人午夜免费观看在线视频| 一区二区欧美久久| aaa日本高清在线播放免费观看| 一区二区福利视频| 国产在线高潮| 欧美成人中文字幕在线| 欧美1234区| 91精品国产91久久久| 超级碰碰久久| 国产精品欧美日韩久久| 欧美系列精品| 99国产超薄肉色丝袜交足的后果| av综合网页| 蜜桃精品久久久久久久免费影院| 沈樵精品国产成av片| 亚洲欧洲久久| 综合激情在线| 精品少妇一区二区三区在线| 久久中文精品| 亚洲免费成人在线视频| 成人午夜免费av| 日韩乱码人妻无码中文字幕久久| 国产日本欧美一区二区| 久久中文免费视频| 亚洲国产精品影院| 精人妻无码一区二区三区| 91麻豆精品国产91| 色噜噜在线播放| 一区二区国产精品视频| 午夜激情在线| 深夜成人在线观看| 日韩电影免费观看| 日韩美女在线播放| 国产在线不卡一区二区三区| 极品尤物一区二区三区| 成人午夜av| 东北少妇不带套对白| 天堂久久一区二区三区| 在线观看视频你懂得| 91麻豆国产精品久久| 91人妻一区二区三区蜜臀| 精品久久久久国产| 国产乱淫a∨片免费视频| 亚洲国产精品yw在线观看| jizz在线观看视频| 久久青草福利网站| 欧美高清xxx| 国产精品成人播放| 亚洲一二av| 午夜精品视频在线观看一区二区| 午夜日韩视频| 日本特黄a级片| 99re热这里只有精品视频| 黄色精品视频在线观看| 精品日韩美女的视频高清| 国产内射老熟女aaaa∵| 69p69国产精品| 色网站在线免费观看| 九九精品在线播放| 国外成人福利视频| 久久这里精品国产99丫e6| 欧美成人国产| 天天干天天av| 国产清纯白嫩初高生在线观看91 | 在线中文字幕不卡| 少妇高潮一区二区三区69| 伦伦影院午夜日韩欧美限制| 国产综合av| 久久伊人资源站| 亚洲国产专区校园欧美| 一级黄色免费毛片| 亚洲色图制服丝袜| 亚洲一区中文字幕永久在线| 亚洲免费一在线| 老司机深夜福利在线观看| 国产区二精品视| 欧美精品色网| 性生活在线视频| 亚洲天堂免费在线观看视频| 精品人妻一区二区三区潮喷在线 | 秋霞午夜在线观看| 国产精品久久电影观看| 一呦二呦三呦国产精品| 欧美日韩一区在线播放| 国产在线成人| 色哟哟网站在线观看| 亚洲综合在线视频| a天堂在线视频| 久久av.com| 精品视频91| 国产激情在线看| 国产激情一区二区三区| 欧洲一级黄色片| 欧美日韩性视频| 青春草在线观看| 日韩免费高清在线观看| 国产探花一区| 亚洲一级免费观看| 中文字幕一区在线| 中文字幕日韩第一页| www日韩中文字幕在线看| 亚洲欧洲日韩精品在线| 国产一二三四区在线观看| 国产精品一区二区无线| 久久这里只有精品国产| 亚洲成人黄色网址| 涩涩视频在线免费看| 秋霞久久久久久一区二区| 麻豆视频一区二区| 四虎精品免费视频| 精品99999| 日韩欧美少妇| 国产免费色视频| 国产成人综合亚洲网站| 久草视频在线观| 在线播放日韩欧美| 久久免费精品| 久久免费视频3| 日本一区免费视频| jizz国产视频| 97人人模人人爽人人喊中文字| 亚洲区小说区图片区qvod按摩| 国产精品久久久久9999小说| 国产精品久久久久久久蜜臀| 亚洲在线免费观看视频| 欧美国产日本高清在线 | 欧美一区=区三区| 国产爆乳无码一区二区麻豆 | 欧美刺激午夜性久久久久久久| 超碰资源在线| 亚洲精品一区二区毛豆| 国产精品一二三| 中文字幕免费在线观看视频| 色久欧美在线视频观看| 超碰在线亚洲| 香蕉视频禁止18| 亚洲国产视频直播| 国产黄在线看| 岛国一区二区三区高清视频| 99久久久久| 催眠调教后宫乱淫校园| 在线观看网站黄不卡| 污污的视频在线观看| 精品婷婷色一区二区三区蜜桃| 美女久久久精品| 国产va在线播放| 亚洲欧美日韩成人| 欧美经典影片视频网站| 热久久精品国产| 一区二区久久久久久| 成年人在线观看| 国产一区自拍视频| 国产做a爰片久久毛片| 在线精品免费视| 欧美极品欧美精品欧美视频|