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

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

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

中文對(duì)話式大語(yǔ)言模型Firefly-2b6開(kāi)源,使用210萬(wàn)訓(xùn)練數(shù)據(jù)

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:YeungNLP ? 2023-04-14 10:30 ? 次閱讀

在文章Firefly(流螢): 中文對(duì)話式大語(yǔ)言模型中,我們介紹了關(guān)于Firefly(流螢)項(xiàng)目的工作,并且分享了我們訓(xùn)練的firefly-1b4模型。這是Firefly項(xiàng)目開(kāi)源的第一個(gè)模型,雖然取得了還不錯(cuò)的效果,但無(wú)論是訓(xùn)練數(shù)據(jù)還是模型參數(shù)量,都還有很大的優(yōu)化空間。

所以,在firefly-1b4實(shí)驗(yàn)的基礎(chǔ)上,我們對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行清洗,并且增加了數(shù)據(jù)量,得到210萬(wàn)數(shù)據(jù),并用它訓(xùn)練得到了firefly-2b6模型。

在本文中,我們將對(duì)該模型進(jìn)行分享和介紹。與firefly-1b4相比,firefly-2b6的代碼生成能力取得了較大的進(jìn)步,并且在古詩(shī)詞生成、對(duì)聯(lián)、作文、開(kāi)放域生成等方面也有不錯(cuò)的提升。

firefly-1b4和firefly-2b6的訓(xùn)練配置如下表所示。無(wú)論是訓(xùn)練數(shù)據(jù)量,還是訓(xùn)練步數(shù),firefly-2b6都更加充分。

參數(shù) firefly-1b4 firefly-2b6
batch size 16 8
learning rate 3e-5 3e-5
warmup step 3000 3000
lr schedule cosine cosine
max length 512 512
training step 90k 260k
訓(xùn)練集規(guī)模 160萬(wàn) 210萬(wàn)

項(xiàng)目地址:

https://github.com/yangjianxin1/Firefly

模型權(quán)重鏈接見(jiàn)文末。

模型使用

使用如下代碼即可使用模型:

from transformers import BloomTokenizerFast, BloomForCausalLM
device = 'cuda'
path = 'YeungNLP/firefly-2b6'


tokenizer = BloomTokenizerFast.from_pretrained(path)
model = BloomForCausalLM.from_pretrained(path)
model.eval()
model = model.to(device)
text = input('User:')
while True:
    text = '{}'.format(text)
    input_ids = tokenizer(text, return_tensors="pt").input_ids
    input_ids = input_ids.to(device)
outputs=model.generate(input_ids,max_new_tokens=250,do_sample=True,top_p=0.7,temperature=0.35,
                             repetition_penalty=1.2, eos_token_id=tokenizer.eos_token_id)
    rets = tokenizer.batch_decode(outputs)
    output = rets[0].strip().replace(text, "").replace('', "")
    print("Firefly:{}".format(output))
    text = input('User:')

代碼生成

盡管在訓(xùn)練集中,代碼的數(shù)據(jù)量不多,但令人驚喜的是,firefly-2b6已經(jīng)具備一定的代碼生成能力。

在筆者的實(shí)測(cè)中,對(duì)于一些編程題,firefly-2b6生成的代碼可以做到無(wú)需修改,直接運(yùn)行成功,并且得到正確的答案。下面將展示一些編程題的生成例子。

示例1:幫我用python寫一個(gè)冒泡排序算法

dee31870-d9b9-11ed-bfe3-dac502259ad0.png

示例2:用python實(shí)現(xiàn)一個(gè)快速排序算法,輸入為一個(gè)數(shù)組,返回排序好之后的數(shù)組。

deec2f32-d9b9-11ed-bfe3-dac502259ad0.png

示例3:用python寫一個(gè)二分查找算法。

defb67b8-d9b9-11ed-bfe3-dac502259ad0.png

示例4:寫一個(gè)函數(shù),計(jì)算數(shù)組中偶數(shù)的個(gè)數(shù),輸入為數(shù)組,輸出為偶數(shù)的個(gè)數(shù)。

df04d12c-d9b9-11ed-bfe3-dac502259ad0.png

示例5:用html生成一個(gè)教務(wù)管理系統(tǒng)的登錄界面,要求包含用戶名、密碼輸入框和登錄按鈕。

df0d21ce-d9b9-11ed-bfe3-dac502259ad0.png

該html代碼在瀏覽器中的效果如下圖:

df142ce4-d9b9-11ed-bfe3-dac502259ad0.png

其他樣例

同樣,我們也對(duì)文言文、古詩(shī)詞、文章生成等數(shù)據(jù)進(jìn)行了清洗,提高數(shù)據(jù)的質(zhì)量。實(shí)測(cè)下來(lái),我們發(fā)現(xiàn)firefly-2b6的生成效果,確實(shí)提升了不少。

數(shù)據(jù)質(zhì)量的優(yōu)化,對(duì)文言文翻譯任務(wù)的提升,尤為明顯。在訓(xùn)練firefly-1b4時(shí),文言文數(shù)據(jù)為較短的句子對(duì)。但在訓(xùn)練firefly-2b6時(shí),我們使用了較長(zhǎng)篇幅的文本對(duì)。

下面為一些實(shí)測(cè)的例子。

df1b8c28-d9b9-11ed-bfe3-dac502259ad0.png

df286d30-d9b9-11ed-bfe3-dac502259ad0.png

df352c5a-d9b9-11ed-bfe3-dac502259ad0.png

df3dc2e8-d9b9-11ed-bfe3-dac502259ad0.png

df457308-d9b9-11ed-bfe3-dac502259ad0.png

df4cf9ac-d9b9-11ed-bfe3-dac502259ad0.png

df5354dc-d9b9-11ed-bfe3-dac502259ad0.png

df59bf2a-d9b9-11ed-bfe3-dac502259ad0.png

df615a96-d9b9-11ed-bfe3-dac502259ad0.png

df6d2b96-d9b9-11ed-bfe3-dac502259ad0.png

文章小結(jié)

雖然firefly-2b6已經(jīng)初步具備代碼生成能力,但由于訓(xùn)練集中的代碼數(shù)據(jù)的數(shù)量不多,對(duì)于一些編程題,效果不如人意。我們覺(jué)得仍有非常大的優(yōu)化空間,后續(xù)我們也將收集更多代碼數(shù)據(jù),提升模型的代碼能力。

經(jīng)過(guò)firefly-1b4和firefly-2b6兩個(gè)模型的迭代,能明顯感受到增加數(shù)據(jù)量、提升數(shù)據(jù)質(zhì)量、增大模型參數(shù)量,對(duì)模型的提升非常大。

在前文中,我們提到,firefly-1b4在訓(xùn)練數(shù)據(jù)量、訓(xùn)練步數(shù)上都略有不足。為了探索"小"模型的效果上限,我們也將使用更多數(shù)量、更高質(zhì)量的數(shù)據(jù)對(duì)firefly-1b4進(jìn)行迭代。該項(xiàng)工作正在進(jìn)行。

后續(xù),我們也將在多輪對(duì)話、增大模型參數(shù)量、模型量化等方向上進(jìn)行迭代,我們也將陸續(xù)開(kāi)源訓(xùn)練代碼以及更多的訓(xùn)練數(shù)據(jù)。期待大家的意見(jiàn)和建議。


審核編輯 :李倩


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

    關(guān)注

    1

    文章

    3255

    瀏覽量

    48898
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4796

    瀏覽量

    68707
  • 語(yǔ)言模型
    +關(guān)注

    關(guān)注

    0

    文章

    527

    瀏覽量

    10289

原文標(biāo)題:中文對(duì)話式大語(yǔ)言模型Firefly-2b6開(kāi)源,使用210萬(wàn)訓(xùn)練數(shù)據(jù)

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI大模型訓(xùn)練數(shù)據(jù)來(lái)源分析

    學(xué)術(shù)機(jī)構(gòu)、政府組織或企業(yè)公開(kāi)發(fā)布,涵蓋了各種類型的數(shù)據(jù),如圖像、文本、音頻、視頻等。例如: ImageNet :一個(gè)廣泛用于圖像識(shí)別任務(wù)的大規(guī)模圖像數(shù)據(jù)集。 Common Crawl :提供了大量的網(wǎng)頁(yè)抓取數(shù)據(jù)以供自然
    的頭像 發(fā)表于 10-23 15:32 ?724次閱讀

    NVIDIA Nemotron-4 340B模型幫助開(kāi)發(fā)者生成合成訓(xùn)練數(shù)據(jù)

    Nemotron-4 340B 是針對(duì) NVIDIA NeMo 和 NVIDIA TensorRT-LLM 優(yōu)化的模型系列,該系列包含最先進(jìn)的指導(dǎo)和獎(jiǎng)勵(lì)模型,以及一個(gè)用于生成 AI
    的頭像 發(fā)表于 09-06 14:59 ?332次閱讀
    NVIDIA Nemotron-4 340<b class='flag-5'>B</b><b class='flag-5'>模型</b>幫助開(kāi)發(fā)者生成合成<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>數(shù)據(jù)</b>

    語(yǔ)言模型的預(yù)訓(xùn)練

    能力,逐漸成為NLP領(lǐng)域的研究熱點(diǎn)。大語(yǔ)言模型的預(yù)訓(xùn)練是這一技術(shù)發(fā)展的關(guān)鍵步驟,它通過(guò)在海量無(wú)標(biāo)簽數(shù)據(jù)上進(jìn)行訓(xùn)練,使
    的頭像 發(fā)表于 07-11 10:11 ?440次閱讀

    英偉達(dá)開(kāi)源Nemotron-4 340B系列模型,助力大型語(yǔ)言模型訓(xùn)練

    近日,英偉達(dá)宣布開(kāi)源了一款名為Nemotron-4 340B的大型模型,這一壯舉為開(kāi)發(fā)者們打開(kāi)了通往高性能大型語(yǔ)言模型(LLM)
    的頭像 發(fā)表于 06-17 14:53 ?577次閱讀

    語(yǔ)言模型:原理與工程實(shí)踐+初識(shí)2

    的一系列變革。 大語(yǔ)言模型是深度學(xué)習(xí)的應(yīng)用之一,可以認(rèn)為,這些模型的目標(biāo)是模擬人類交流,為了理解和生成人類語(yǔ)言。為此,模型需要在大量文本
    發(fā)表于 05-13 00:09

    語(yǔ)言模型:原理與工程時(shí)間+小白初識(shí)大語(yǔ)言模型

    解鎖 我理解的是基于深度學(xué)習(xí),需要訓(xùn)練各種數(shù)據(jù)知識(shí)最后生成自己的的語(yǔ)言理解和能力的交互模型。 對(duì)于常說(shuō)的RNN是處理短序列的數(shù)據(jù)時(shí)表現(xiàn)出色,
    發(fā)表于 05-12 23:57

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的應(yīng)用

    。 關(guān)于大語(yǔ)言模型是否具備與人類“系統(tǒng)2”相似的能力,存在廣泛的爭(zhēng)議。然而,隨著模型參數(shù)量的增加和大規(guī)模預(yù)訓(xùn)練的實(shí)施,大
    發(fā)表于 05-07 17:21

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的評(píng)測(cè)

    和優(yōu)化至關(guān)重要,它們能夠提供準(zhǔn)確的反饋,指導(dǎo)模型訓(xùn)練和調(diào)優(yōu)過(guò)程中的改進(jìn)方向。 大語(yǔ)言模型對(duì)話能力評(píng)測(cè):
    發(fā)表于 05-07 17:12

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的預(yù)訓(xùn)練

    語(yǔ)言模型的核心特點(diǎn)在于其龐大的參數(shù)量,這賦予了模型強(qiáng)大的學(xué)習(xí)容量,使其無(wú)需依賴微調(diào)即可適應(yīng)各種下游任務(wù),而更傾向于培養(yǎng)通用的處理能力。然而,隨著學(xué)習(xí)容量的增加,對(duì)預(yù)訓(xùn)練
    發(fā)表于 05-07 17:10

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的基礎(chǔ)技術(shù)

    處理各種自然語(yǔ)言任務(wù)時(shí)都表現(xiàn)出了驚人的能力。這促使一個(gè)新的研究方向誕生——基于Transformer 的預(yù)訓(xùn)練語(yǔ)言模型。這類模型的核心思想是
    發(fā)表于 05-05 12:17

    【大語(yǔ)言模型:原理與工程實(shí)踐】揭開(kāi)大語(yǔ)言模型的面紗

    語(yǔ)言模型(LLM)是人工智能領(lǐng)域的尖端技術(shù),憑借龐大的參數(shù)量和卓越的語(yǔ)言理解能力贏得了廣泛關(guān)注。它基于深度學(xué)習(xí),利用神經(jīng)網(wǎng)絡(luò)框架來(lái)理解和生成自然語(yǔ)言文本。這些
    發(fā)表于 05-04 23:55

    Meta推出最強(qiáng)開(kāi)源模型Llama 3 要挑戰(zhàn)GPT

    公司這次開(kāi)源了Llama 3 8B與70B兩款不同規(guī)模的模型,開(kāi)發(fā)者可以免費(fèi)使用,而Meta公司還將陸續(xù)推出一系列具備多模態(tài)、多語(yǔ)言對(duì)話、更
    的頭像 發(fā)表于 04-19 17:00 ?849次閱讀

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.30】大規(guī)模語(yǔ)言模型:從理論到實(shí)踐

    等多種形式和任務(wù)。這個(gè)階段是從語(yǔ)言模型對(duì)話模型轉(zhuǎn)變的關(guān)鍵,其核心難點(diǎn)在于如何構(gòu)建訓(xùn)練數(shù)據(jù),包括
    發(fā)表于 03-11 15:16

    機(jī)器人基于開(kāi)源的多模態(tài)語(yǔ)言視覺(jué)大模型

    ByteDance Research 基于開(kāi)源的多模態(tài)語(yǔ)言視覺(jué)大模型 OpenFlamingo 開(kāi)發(fā)了開(kāi)源、易用的 RoboFlamingo 機(jī)器人操作
    發(fā)表于 01-19 11:43 ?424次閱讀
    機(jī)器人基于<b class='flag-5'>開(kāi)源</b>的多模態(tài)<b class='flag-5'>語(yǔ)言</b>視覺(jué)大<b class='flag-5'>模型</b>

    書生?浦語(yǔ) 2.0(InternLM2)大語(yǔ)言模型開(kāi)源

    這個(gè)模型在 2.6 萬(wàn)億 token 的高質(zhì)量語(yǔ)料基礎(chǔ)上進(jìn)行訓(xùn)練,包含 7B 和 20B 兩種參數(shù)規(guī)格以及基座、對(duì)話等版本,以滿足不同復(fù)雜應(yīng)
    發(fā)表于 01-19 09:39 ?273次閱讀
    書生?浦語(yǔ) 2.0(InternLM<b class='flag-5'>2</b>)大<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>模型</b><b class='flag-5'>開(kāi)源</b>