模型:
TheBloke/baichuan-7B-GPTQ
Chat & support: my new Discord server
Want to contribute? TheBloke's Patreon page
这些是 Baichuan Inc's Baichuan 7B 的GPTQ 4位模型文件。
这是使用 AutoGPTQ 进行4位量化的结果。
这是全新模型类型的第一次量化。
它只能与AutoGPTQ一起使用,并且只能使用从源代码编译的最新版本的AutoGPTQ。
要合并此PR,请按照以下步骤从源码安装最新的AutoGPTQ:
Linux:
pip uninstall -y auto-gptq git clone https://github.com/PanQiWei/AutoGPTQ cd AutoGPTQ GITHUB_ACTIONS=true pip install .
Windows(命令提示符):
pip uninstall -y auto-gptq git clone https://github.com/PanQiWei/AutoGPTQ cd AutoGPTQ set GITHUB_ACTIONS=true pip install .
由于这是一种新的模型类型,尚未得到Transformers的支持,您必须使用Trust Remote Code进行推理。
在text-generation-webui中,您可以通过在UI中勾选"Trust Remote Code",或通过在命令行中传递--trust-remote-code来实现。
在Python代码中,请在AutoTokenizer.from_pretrained()和AutoGPTQForCausalLM.from_quantized()调用中传递trust_remote_code=True。
目前未知一个通用的提示模板。
README中给出的示例是一次性的分类:
Hamlet->Shakespeare\nOne Hundred Years of Solitude->
请确保您使用的是text-generation-webui的最新版本
首先确保您已从上述提到的源代码安装了最新的 AutoGPTQ 。
然后尝试以下示例代码:
from transformers import AutoTokenizer from auto_gptq import AutoGPTQForCausalLM model_name_or_path = 'TheBloke/baichuan-7B-GPTQ' # Or you can clone the model locally and reference it on disk, eg with: # model_name_or_path = "/path/to/TheBloke_baichuan-7B" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) model = AutoGPTQForCausalLM.from_quantized(model_name_or_path, use_safetensors=True, device_map="auto", trust_remote_code=True) # This is the example from the Baichuan README inputs = tokenizer('Hamlet->Shakespeare\nOne Hundred Years of Solitude->', return_tensors='pt') inputs = inputs.to('cuda:0') pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1) print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)) # Here's my own example, which sometimes kind of works. inputs = tokenizer('USER:Write a story about llamas\nASSISTANT:', return_tensors='pt') inputs = inputs.to('cuda:0') pred = model.generate(**inputs, max_new_tokens=500,repetition_penalty=1.1) print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
gptq_model-4bit-128g.safetensors
这仅适用于最新的 AutoGPTQ ,需要从源代码重新编译。
如需进一步支持,并就这些模型和人工智能进行讨论,请加入:
感谢 chirper.ai 团队!
许多人问我是否可以做出贡献。我喜欢提供模型和帮助别人,而且很愿意能够花更多时间这样做,以及扩展到新的项目,比如微调/训练。
如果您有能力和意愿作出贡献,我将非常感激,并且将帮助我继续提供更多模型,并开始进行新的人工智能项目。
资助者将获得对所有AI/LLM/模型问题和请求的优先支持,可以进入私人Discord房间,以及其他福利。
特别感谢:CarbonQuill的Luke,Aemon Algiz,Dmitriy Samsonov。
Patreon特别提及:Mano Prime,Fen Risland,Derek Yates,Preetika Verma,webtim,Sean Connelly,Alps Aficionado,Karl Bernard,Junyu Yang,Nathan LeClaire,Chris McCloskey,Lone Striker,Asp the Wyvern,Eugene Pentland,Imad Khwaja,trip7s trip,WelcomeToTheClub,John Detwiler,Artur Olbinski,Khalefa Al-Ahmad,Trenton Dambrowitz,Talal Aujan,Kevin Schuppel,Luke Pendergrass,Pyrater,Joseph William Delisle,terasurfer,vamX,Gabriel Puliatti,David Flickinger,Jonathan Leane,Iucharbius,Luke,Deep Realms,Cory Kujawski,ya boyyy,Illia Dulskyi,senxiiz,Johann-Peter Hartmann,John Villwock,K,Ghost,Spiking Neurons AB,Nikolai Manek,Rainer Wilmers,Pierre Kircher,biorpg,Space Cruiser,Ai Maven,subjectnull,Willem Michiel,Ajan Kanaga,Kalila,chris gileta,Oscar Rangel
感谢所有慷慨的赞助者和捐助者!
baichuan-7B是百川智能科技开发的一个开源大规模预训练模型。基于Transformer结构,在大约1.2万亿个tokens上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威基准测试(C-EVAL/MMLU)上取得了同尺寸模型最佳效果。
如果您希望使用baichuan-7B(进行推理、微调等),我们建议使用配套的代码库 baichuan-7B 。
baichuan-7B在相同尺寸的模型中达到了目前的SOTA水平,参见下面的MMLU指标。
baichuan-7B使用了自有的中英文双语语料进行训练,在中文方面进行了优化,在C-Eval上达到了SOTA水平。
与完全禁止商业使用的LLaMA不同,baichuan-7B采用了更宽松的开源许可证,允许用于商业目的。
在同尺寸模型中,baichuan-7B达到了目前SOTA的水平,参考下面MMLU指标
baichuan-7B使用自有的中英文双语语料进行训练,在中文上进行优化,在C-Eval达到SOTA水平
不同于LLaMA完全禁止商业使用,baichuan-7B使用更宽松的开源协议,允许用于商业目的
以下是使用baichuan-7B进行一次性推理的任务,根据作品给出作者名,正确的输出应为"夜雨寄北->李商隐"
from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True) inputs = tokenizer('登鹳雀楼->王之涣\n夜雨寄北->', return_tensors='pt') inputs = inputs.to('cuda:0') pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1) print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
The following is a task of performing 1-shot inference using baichuan-7B, where the author's name is given based on the work, with the correct output being "One Hundred Years of Solitude->Gabriel Garcia Marquez"
from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True) inputs = tokenizer('Hamlet->Shakespeare\nOne Hundred Years of Solitude->', return_tensors='pt') inputs = inputs.to('cuda:0') pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1) print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
整体模型基于标准的Transformer结构,我们采用了和LLaMA一样的模型设计
具体参数如下表所示
Hyperparameter | Value |
---|---|
n_parameters | 7000559616 |
n_layers | 32 |
n_heads | 32 |
d_model | 4096 |
vocab size | 64000 |
sequence length | 4096 |
The overall model is based on the standard Transformer structure, and we have adopted the same model design as LLaMA:
The specific parameters are as follows:
Hyperparameter | Value |
---|---|
n_parameters | 7000559616 |
n_layers | 32 |
n_heads | 32 |
d_model | 4096 |
vocab size | 64000 |
sequence length | 4096 |
我们还开源了与该模型配套的训练代码,可用于下游任务的高效微调,详见 baichuan-7B 。
在没有充分评估风险和采取缓解措施的情况下投入生产使用;任何可能被视为不负责任或有害的使用案例。
Production use without adequate assessment of risks and mitigation; any use cases which may be considered irresponsible or harmful.
baichuan-7B可能会产生事实上不正确的输出,不应依赖它产生事实上准确的信息。baichuan-7B是在各种公共数据集上训练的。尽管我们已经做出了巨大的努力来清洗预训练数据,但这个模型可能会生成淫秽、偏见或其他冒犯性的输出。
baichuan-7B can produce factually incorrect output, and should not be relied on to produce factually accurate information. baichuan-7B was trained on various public datasets. While great efforts have been taken to clean the pretraining data, it is possible that this model could generate lewd, biased or otherwise offensive outputs.
具体的训练设置请参见 baichuan-7B 。
CEval数据集 是一个全面的中文基础模型评测数据集,涵盖了52个学科和四个难度级别。我们使用该数据集的dev集作为few-shot的来源,在test集上进行了5-shot测试。
Model 5-shot | Average | Avg(Hard) | STEM | Social Sciences | Humanities | Others |
---|---|---|---|---|---|---|
GPT-4 | 68.7 | 54.9 | 67.1 | 77.6 | 64.5 | 67.8 |
ChatGPT | 54.4 | 41.4 | 52.9 | 61.8 | 50.9 | 53.6 |
Claude-v1.3 | 54.2 | 39.0 | 51.9 | 61.7 | 52.1 | 53.7 |
Claude-instant-v1.0 | 45.9 | 35.5 | 43.1 | 53.8 | 44.2 | 45.4 |
moss-moon-003-base (16B) | 27.4 | 24.5 | 27.0 | 29.1 | 27.2 | 26.9 |
Ziya-LLaMA-13B-pretrain | 30.2 | 22.7 | 27.7 | 34.4 | 32.0 | 28.9 |
LLaMA-7B-hf | 27.1 | 25.9 | 27.1 | 26.8 | 27.9 | 26.3 |
ChatGLM-6B | 34.5 | 23.1 | 30.4 | 39.6 | 37.4 | 34.5 |
Falcon-7B | 25.8 | 24.3 | 25.8 | 26.0 | 25.8 | 25.6 |
Open-LLaMA-v2-pretrain (7B) | 24.0 | 22.5 | 23.1 | 25.3 | 25.2 | 23.2 |
TigerBot-7B-base | 25.7 | 27.0 | 27.3 | 24.7 | 23.4 | 26.1 |
Aquila-7B * | 25.5 | 25.2 | 25.6 | 24.6 | 25.2 | 26.6 |
BLOOM-7B | 22.8 | 20.2 | 21.8 | 23.3 | 23.9 | 23.3 |
BLOOMZ-7B | 35.7 | 25.8 | 31.3 | 43.5 | 36.6 | 35.6 |
baichuan-7B | 42.8 | 31.5 | 38.2 | 52.0 | 46.2 | 39.3 |
Gaokao 是一个以中国高考题作为评测大语言模型能力的数据集,用以评估模型的语言能力和逻辑推理能力。我们只保留了其中的单项选择题,并对所有模型进行统一5-shot测试。
以下是测试的结果。
Model | Average |
---|---|
Open-LLaMA-v2-pretrain | 21.41 |
Ziya-LLaMA-13B-pretrain | 23.17 |
Falcon-7B | 23.98 |
TigerBot-7B-base | 25.94 |
LLaMA-7B | 27.81 |
ChatGLM-6B | 21.41 |
BLOOM-7B | 26.96 |
BLOOMZ-7B | 28.72 |
Aquila-7B * | 24.39 |
baichuan-7B | 36.24 |
AGIEval 旨在评估模型的认知和解决问题相关的任务中的一般能力。我们只保留了其中的四选一单项选择题,随机划分后对所有模型进行了统一5-shot测试。
Model | Average |
---|---|
Open-LLaMA-v2-pretrain | 23.49 |
Ziya-LLaMA-13B-pretrain | 27.64 |
Falcon-7B | 27.18 |
TigerBot-7B-base | 25.19 |
LLaMA-7B | 28.17 |
ChatGLM-6B | 23.49 |
BLOOM-7B | 26.55 |
BLOOMZ-7B | 30.27 |
Aquila-7B * | 25.58 |
baichuan-7B | 34.44 |
*其中Aquila模型来源于 智源官方网站 ,仅做参考
除了中文,我们还测试了模型在英文上的性能。
MMLUMMLU 是一个英文评估数据集,包括57个多项选择任务,涵盖了初等数学,美国历史,计算机科学,法律等。难度从高中级到专家级不等,是主流的LLM评估数据集。
我们采用了 open-source 的评估方案,最终的5-shot结果如下:
Model | Humanities | Social Sciences | STEM | Other | Average |
---|---|---|---|---|---|
LLaMA-7B 2 | 34.0 | 38.3 | 30.5 | 38.1 | 35.1 |
Falcon-7B 1 | - | - | - | - | 35.0 |
mpt-7B 1 | - | - | - | - | 35.6 |
ChatGLM-6B 0 | 35.4 | 41.0 | 31.3 | 40.5 | 36.9 |
BLOOM 7B 0 | 25.0 | 24.4 | 26.5 | 26.4 | 25.5 |
BLOOMZ 7B 0 | 31.3 | 42.1 | 34.4 | 39.0 | 36.1 |
moss-moon-003-base (16B) 0 | 24.2 | 22.8 | 22.4 | 24.4 | 23.6 |
moss-moon-003-sft (16B) 0 | 30.5 | 33.8 | 29.3 | 34.4 | 31.9 |
baichuan-7B 0 | 38.4 | 48.9 | 35.6 | 48.1 | 42.3 |
Model列中的上标表示结果的来源。
0:reimplemented 1:https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard 2:https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu