在文章Firefly(流螢): 中文對(duì)話式大語言模型中,我們介紹了關(guān)于Firefly(流螢)項(xiàng)目的工作,并且分享了我們訓(xùn)練的firefly-1b4模型。這是Firefly項(xiàng)目開源的第一個(gè)模型,雖然取得了還不錯(cuò)的效果,但無論是訓(xùn)練數(shù)據(jù)還是模型參數(shù)量,都還有很大的優(yōu)化空間。
所以,在firefly-1b4實(shí)驗(yàn)的基礎(chǔ)上,我們對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行清洗,并且增加了數(shù)據(jù)量,得到210萬數(shù)據(jù),并用它訓(xùn)練得到了firefly-2b6模型。
在本文中,我們將對(duì)該模型進(jìn)行分享和介紹。與firefly-1b4相比,firefly-2b6的代碼生成能力取得了較大的進(jìn)步,并且在古詩詞生成、對(duì)聯(lián)、作文、開放域生成等方面也有不錯(cuò)的提升。
firefly-1b4和firefly-2b6的訓(xùn)練配置如下表所示。無論是訓(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萬 | 210萬 |
項(xiàng)目地址:
https://github.com/yangjianxin1/Firefly
模型權(quá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生成的代碼可以做到無需修改,直接運(yùn)行成功,并且得到正確的答案。下面將展示一些編程題的生成例子。

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

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

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

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

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

其他樣例
同樣,我們也對(duì)文言文、古詩詞、文章生成等數(shù)據(jù)進(jìn)行了清洗,提高數(shù)據(jù)的質(zhì)量。實(shí)測(cè)下來,我們發(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è)的例子。










文章小結(jié)
雖然firefly-2b6已經(jīng)初步具備代碼生成能力,但由于訓(xùn)練集中的代碼數(shù)據(jù)的數(shù)量不多,對(duì)于一些編程題,效果不如人意。我們覺得仍有非常大的優(yōu)化空間,后續(xù)我們也將收集更多代碼數(shù)據(jù),提升模型的代碼能力。
經(jīng)過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ù)開源訓(xùn)練代碼以及更多的訓(xùn)練數(shù)據(jù)。期待大家的意見和建議。
審核編輯 :李倩
-
模型
+關(guān)注
關(guān)注
1文章
3645瀏覽量
51685 -
代碼
+關(guān)注
關(guān)注
30文章
4940瀏覽量
73083 -
語言模型
+關(guān)注
關(guān)注
0文章
570瀏覽量
11246
原文標(biāo)題:中文對(duì)話式大語言模型Firefly-2b6開源,使用210萬訓(xùn)練數(shù)據(jù)
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
openDACS 2025 開源EDA與芯片賽項(xiàng) 賽題七:基于大模型的生成式原理圖設(shè)計(jì)
NVIDIA ACE現(xiàn)已支持開源Qwen3-8B小語言模型
NVIDIA開源Audio2Face模型及SDK
米爾RK3576部署端側(cè)多模態(tài)多輪對(duì)話,6TOPS算力驅(qū)動(dòng)30億參數(shù)LLM
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】3、開源大語言模型部署
華為正式開源盤古7B稠密和72B混合專家模型
海思SD3403邊緣計(jì)算AI數(shù)據(jù)訓(xùn)練概述
用PaddleNLP為GPT-2模型制作FineWeb二進(jìn)制預(yù)訓(xùn)練數(shù)據(jù)集
小白學(xué)大模型:訓(xùn)練大語言模型的深度指南
大模型訓(xùn)練:開源數(shù)據(jù)與算法的機(jī)遇與挑戰(zhàn)分析
Firefly 服務(wù)器系列:覆蓋多個(gè)領(lǐng)域的高算力解決方案

中文對(duì)話式大語言模型Firefly-2b6開源,使用210萬訓(xùn)練數(shù)據(jù)
評(píng)論