精品欧美一区二区三区在线观看 _久久久久国色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

收藏
回復
舉報
回復
相關推薦
99热免费精品| 毛片电影在线| 成人免费精品视频| 奇门遁甲1982国语版免费观看高清| 午夜av中文字幕| 青青草免费观看免费视频在线| 精品成人一区| 国产午夜精品视频| 性感美女一区二区三区| 欧美黑人巨大xxxxx| 亚洲天堂2016| 欧美国产综合视频| 性生活视频软件| 日韩福利电影在线观看| 欧美激情日韩图片| 手机免费观看av| 欧美人与物videos另类xxxxx| 欧美日韩在线一区| av磁力番号网| 免费观看黄色av| 久久66热re国产| 秋霞成人午夜鲁丝一区二区三区| www在线观看免费视频| 中文字幕一区二区三区四区久久| 亚洲在线视频一区| 婷婷亚洲婷婷综合色香五月| 网站黄在线观看| 国产乱人伦偷精品视频不卡| 国产精品国产三级国产aⅴ浪潮| 少妇太紧太爽又黄又硬又爽小说| 亚洲老司机网| 91电影在线观看| 亚洲自偷自拍熟女另类| 国产毛片在线看| 成人app下载| 成人18视频| 国产青青草视频| 美腿丝袜亚洲三区| 国产精品美女免费看| 欧美成人精品欧美一级| 牛牛视频精品一区二区不卡| 欧美不卡视频一区| 又黄又爽又色的视频| 亚洲福利影视| 欧美精品第一页| 少妇一级淫免费播放| 成人精品电影在线| 一区二区三区日韩精品视频| 一级黄色免费在线观看| 午夜在线视频播放| 国产精品女主播av| 亚洲综合首页| 黄色动漫在线| 国产日韩欧美精品一区| 欧美日韩天天操| 国产中文字幕在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 91久久精品在线| 国产女人18毛片水18精| 久久av在线| 青青草精品毛片| www.色国产| 日韩高清在线观看| 国产狼人综合免费视频| 在线观看亚洲欧美| 影音先锋日韩精品| 色综合久综合久久综合久鬼88 | 精品在线不卡| 日本污视频在线观看| 亚洲黄色免费| 欧美最顶级丰满的aⅴ艳星| 日韩 国产 欧美| 人禽交欧美网站| 亚洲影院色无极综合| www.蜜臀av.com| av成人免费在线观看| 欧美大香线蕉线伊人久久国产精品 | 在线免费看黄色片| 亚洲深夜福利在线观看| 一区二区亚洲精品国产| 成人信息集中地| 红桃成人av在线播放| xxx欧美精品| av网在线播放| 日韩欧美高清在线播放| 亚洲人成亚洲人成在线观看| 超碰人人人人人人人| re久久精品视频| 日韩最新免费不卡| 亚洲精品午夜久久久久久久| 国精品一区二区三区| 久久国产精品免费视频| 色婷婷粉嫩av| 午夜久久免费观看| 91国产美女视频| 羞羞影院体验区| 美女www一区二区| 国产精品区一区| 亚洲欧美高清视频| 高清在线不卡av| 日本精品一区二区三区视频| 蜜桃视频在线观看视频| 18成人在线观看| 成人午夜视频免费在线观看| 国产精品**亚洲精品| 精品亚洲男同gayvideo网站| 黄色a级片在线观看| 91tv官网精品成人亚洲| 国产91精品不卡视频| 国产性生活视频| 日韩国产精品91| 国产日韩久久| 国产区在线观看| 在线欧美小视频| 亚洲av成人片无码| 国产精品午夜一区二区三区| 欧美黑人性视频| 国产精品福利电影| 国产欧美日韩综合精品一区二区 | **女人18毛片一区二区| 欧美亚洲视频在线看网址| 亚洲s码欧洲m码国产av| 国产成人精品www牛牛影视| 欧美一区二区在线| 欧美三级黄网| 亚洲国产日韩在线一区模特 | 久久99精品网久久| 蜜桃欧美视频| 高清毛片在线观看| 精品国产污污免费网站入口| 91嫩草|国产丨精品入口| 美女www一区二区| 色一情一乱一伦一区二区三区| 女女色综合影院| 欧美中文一区二区三区| 亚洲av网址在线| 成人在线免费视频观看| 国产精品com| 久久精品国产亚洲a∨麻豆| 精品久久中文字幕| 手机在线成人av| 在线亚洲成人| 久久99欧美| 婷婷视频在线| 精品视频123区在线观看| xxxxx在线观看| 久久人人97超碰国产公开结果| 亚洲在线视频观看| 免费在线观看av| 色综合久久久久久久| 欧美色图亚洲激情| 小嫩嫩精品导航| 欧美精品久久| 最新日韩一区| 日韩精品在线观看视频| 中文国语毛片高清视频| 国产毛片一区| 日产精品高清视频免费| 成人交换视频| 成年无码av片在线| 亚洲 欧美 中文字幕| 成人免费看黄yyy456| 免费看一级大黄情大片| 女人丝袜激情亚洲| 国产精品色视频| 日韩欧美在线番号| 欧美色国产精品| 午夜69成人做爰视频| 成人免费视频一区| 日韩少妇内射免费播放18禁裸乳| 日韩在线亚洲| 韩国美女主播一区| 青青久草在线| 91.麻豆视频| 亚洲一区二区91| 久久精品人人做| 日本网站免费在线观看| av中文一区| 99爱精品视频| 伊人网在线播放| 日韩国产欧美精品一区二区三区| 久久97人妻无码一区二区三区| 精品一二线国产| 无码免费一区二区三区免费播放| 热色播在线视频| 一区二区三区国产视频| 超碰在线人人干| 日韩欧美亚洲一二三区| 日本一二三区在线观看| 久久成人av少妇免费| 精品国产av无码一区二区三区| 日韩成人18| 奇米成人av国产一区二区三区| 视频三区在线观看| 69成人精品免费视频| 欧美一二三区视频| 中文字幕一区二区三区蜜月| 一级黄色片毛片| 蜜桃传媒麻豆第一区在线观看| 亚洲精品无人区| jizz久久精品永久免费| 国产精品夜间视频香蕉| 男女羞羞在线观看| 久久五月情影视| 国产福利小视频在线观看| 一本大道久久a久久精二百| 日本一级片免费| 久久久午夜电影| 岛国精品一区二区三区| 蜜臀av一级做a爰片久久| 国产综合av在线| 午夜天堂精品久久久久| 欧洲精品久久| 欧美偷窥清纯综合图区| 亚洲影视九九影院在线观看| 日本在线中文字幕一区二区三区| 中国日韩欧美久久久久久久久| 91高潮大合集爽到抽搐| 色综合久久精品| 久久狠狠高潮亚洲精品| 亚洲精品中文在线影院| 国产免费a级片| 丝袜美腿亚洲综合| av免费看网址| 国产免费久久| 麻豆蜜桃91| 九九热hot精品视频在线播放| 欧美最近摘花xxxx摘花| av网站在线免费观看| 日韩毛片在线观看| 色一情一乱一乱一区91av| 日韩一区二区三区av| 国产又大又黄又爽| 欧美三级电影网站| 亚洲视屏在线观看| 一区二区三区在线看| 波兰性xxxxx极品hd| 国产蜜臀av在线一区二区三区| 老女人性生活视频| 国产在线麻豆精品观看| 欧美日韩精品在线一区二区 | 熟妇熟女乱妇乱女网站| 欧美一区二区三区高清视频| 欧美一卡2卡3卡4卡无卡免费观看水多多| 美女久久久久久| 国产一区香蕉久久| 99久久久国产| 亚洲va欧美va国产综合剧情| 成人黄色91| 69堂成人精品视频免费| 成人爽a毛片免费啪啪| 欧美成人免费播放| 制服丝袜在线播放| 亚洲天堂网在线观看| 精品999视频| 中文国产亚洲喷潮| 天堂av网在线| 亚洲美女激情视频| 懂色一区二区三区| 久久精品99久久久久久久久| 老司机在线看片网av| 欧美黑人一级爽快片淫片高清| 免费的黄网站在线观看| 久久久国产精品免费| av在线麻豆| 韩国视频理论视频久久| 3d欧美精品动漫xxxx无尽| 国产精品啪视频| 精品中文在线| 国产日韩欧美视频| 性欧美hd调教| 国产一区二区视频在线观看| 精品国产乱码久久久久久樱花| 国产精品一二三视频| 国产亚洲观看| 91精品在线观| 国产伦精品一区二区三区在线播放 | 91免费视频观看| 中文字幕av久久爽一区| 成人免费视频在线观看| 日韩精品在线不卡| 欧美自拍偷拍午夜视频| 国内精品久久久久久久久久| 亚洲国产天堂久久综合| 国产精品麻豆一区二区三区 | 欧美极品视频| 欧美精品久久一区二区| se01亚洲视频| 亚洲综合视频1区| 中文字幕亚洲影视| 水蜜桃在线免费观看| 国产午夜精品一区二区三区欧美| 一二三四视频社区在线| 亚洲网址在线| 亚洲精品www.| 99r国产精品| 国产麻豆视频在线观看| 黑人巨大精品欧美一区二区| 国产精品久久久久毛片| 日韩精品免费在线观看| av在线官网| 国产精品第七十二页| 国产精品任我爽爆在线播放| 亚洲视频在线二区| 亚洲在线国产日韩欧美| 一级黄色片在线免费观看| 久久久精品国产免费观看同学| 国产jjizz一区二区三区视频| 国产午夜精品美女毛片视频| 1024手机在线观看你懂的| 亚洲综合清纯丝袜自拍| 国产中文字幕免费| 欧美日韩一区二区免费视频| 精品人妻一区二区三区麻豆91 | 午夜欧美一区二区三区在线播放| 日韩精品一卡二卡| 欧美性xxxx在线播放| 亚洲第一天堂影院| www.日韩.com| 丁香婷婷久久| 91青青草免费在线看| 手机在线一区二区三区| 热久久精品免费视频| 91伊人久久大香线蕉| 久久久久免费看| 日韩欧美专区在线| 精品欧美色视频网站在线观看| 欧美精品激情blacked18| 午夜不卡影院| 国产乱码一区| 99成人超碰| 中文久久久久久| 国产亚洲视频系列| 久久夜色精品国产噜噜亚洲av| 欧美精品日韩综合在线| 国产高清视频免费最新在线| 热99久久精品| 九九热爱视频精品视频| 99久久久无码国产精品6| 97成人超碰视| 日韩av大片在线观看| 亚洲精品国产精品国产自| a级片在线免费观看| 国产精品国产精品国产专区不卡| 精品色999| 久久午夜夜伦鲁鲁一区二区| 久久精品欧美一区二区三区麻豆| 麻豆chinese极品少妇| 日韩美女视频在线| 在线中文字幕第一页| 99国产超薄丝袜足j在线观看| 欧美日韩国产传媒| 天堂av在线网站| 91丨porny丨蝌蚪视频| www.欧美色| 亚洲高清一二三区| 黑森林国产精品av| 免费一区二区三区在在线视频| 一区二区国产在线| 手机看片福利盒子久久| 国产日韩av一区二区| 91亚洲国产成人久久精品麻豆 | 成人精品水蜜桃| 欧美人成在线| 国产十八熟妇av成人一区| 色综合色综合色综合| 91ph在线| 91嫩草免费看| 欧美一级网站| 国产三级aaa| 欧美性色aⅴ视频一区日韩精品| 天天干天天操av| 日本三级韩国三级久久| 99久久九九| 国产精品一区二区人妻喷水| 日本道免费精品一区二区三区| 日韩中文字幕影院| 国产成人精品国内自产拍免费看| 少妇久久久久| 天天夜碰日日摸日日澡性色av| 国产成人免费网站| 国产精品黄色网| 日韩亚洲一区二区| 福利欧美精品在线| www.涩涩涩| 亚洲午夜国产一区99re久久| 久久久久久久久亚洲精品| 亚洲qvod图片区电影| 国产亚洲福利| 精品自拍偷拍视频| 亚洲精品午夜精品| 97久久中文字幕| 成人免费毛片网| 亚洲毛片av在线| 蜜桃免费在线| 国产精品一区二区三区免费| 久久国产精品99久久人人澡| 午夜影院在线看| 久热99视频在线观看| 视频精品一区二区三区|