6. 量化数据集¶
模型量化中使用的数据集理论上可以是huggingface datasets中主流的nlp数据集,同时我们也支持一种简单的用户自定义数据集。
注意: 用户如有需要可以从hugging face自行下载安装使用开源数据集,燧原不对该开源数据集做任何承诺,使用该开源数据集产生的一切后果和风险由用户自行承担。
6.1. Huggingface数据集举例¶
使用hf数据集时,只需给quantize接口传递数据集名称(或本地已下载数据集绝对路径),并传递数据集config即可(可选)。
C4¶
C4是以 Common Crawl 2019 年 4 月的 snapshot 为基础创建的,使用了很多 filter 来过滤文本。量化过程中,c4数据集定义示例如下:
calib_data_name = 'allenai/c4'
calib_data_config = {
'name': 'allenai--c4',
'split': 'validation',
}
wikitext¶
wikitext 英语词库数据(The WikiText Long Term Dependency Language Modeling Dataset)是一个包含1亿个词汇的英文词库数据,这些词汇是从Wikipedia的优质文章和标杆文章中提取得到,包括WikiText-2和WikiText-103两个版本。量化过程中,wikitext2数据集定义示例如下:
calib_data_name = 'wikitext'
calib_data_config = {
'name': 'wikitext-2-raw-v1',
'split': 'test',
}
6.2. 自定义数据集¶
当前只支持一种简单方式,将文本保存到list中,然后传递给quantize函数。
自定义方式¶
calib_data = [
'sample 1',
'sample 2',
...,
'sample n'
]
...
quantize(
model,
quant_config,
calib_data=calib_data,
...
)