模型:
TheBloke/falcon-7b-instruct-GPTQ
Chat & support: my new Discord server
Want to contribute? TheBloke's Patreon page
这个存储库包含一个实验性的4位GPTQ模型,用于 Falcon-7B-Instruct 。
这是使用 AutoGPTQ 将其量化为4位的结果。
请注意,使用此GPTQ的性能目前非常慢。
使用最新的GPTQ-for-LLaMa代码可能会有更好的性能,但我个人还没有测试过。
A helpful assistant who helps the user with any questions asked. User: prompt Assistant:
需要使用AutoGPTQ:GITHUB_ACTIONS=true pip install auto-gptq
AutoGPTQ提供了适用于Windows和Linux的预编译轮子,使用CUDA工具包11.7或11.8。
如果您正在运行CUDA工具包12.x,您将需要按照以下说明自行编译:
git clone https://github.com/PanQiWei/AutoGPTQ cd AutoGPTQ pip install .
这些手动步骤需要您安装 Nvidia CUDA toolkit 。
请注意,此命令行参数会在您的计算机上执行来自Falcon的Python代码。
目前需要此代码,因为Falcon太新,无法由Hugging Face transformers支持。在将来的某个时间点,transformers将原生支持该模型,那时就不再需要trust_remote_code。
在此存储库中,您可以看到两个.py文件-这些文件将被执行。它们是从 Falcon-7B-Instruct 的基础存储库中复制过来的。
要运行此代码,您需要安装AutoGPTQ和einops:
GITHUB_ACTIONS=true pip install auto-gptq pip install einops
然后,您可以运行此示例代码:
from transformers import AutoTokenizer, pipeline, logging from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig import argparse model_name_or_path = "TheBloke/falcon-7b-instruct-GPTQ" # You could also download the model locally, and access it there # model_name_or_path = "/path/to/TheBloke_falcon-7b-instruct-GPTQ" model_basename = "gptq_model-4bit-64g" use_triton = False tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True) model = AutoGPTQForCausalLM.from_quantized(model_name_or_path, model_basename=model_basename, use_safetensors=True, trust_remote_code=True, device="cuda:0", use_triton=use_triton, quantize_config=None) prompt = "Tell me about AI" prompt_template=f'''A helpful assistant who helps the user with any questions asked. User: {prompt} Assistant:''' print("\n\n*** Generate:") input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda() output = model.generate(inputs=input_ids, temperature=0.7, max_new_tokens=512) print(tokenizer.decode(output[0])) # Inference can also be done using transformers' pipeline # Note that if you use pipeline, you will see a spurious error message saying the model type is not supported # This can be ignored! Or you can hide it with the following logging line: # Prevent printing spurious transformers error when using pipeline with AutoGPTQ logging.set_verbosity(logging.CRITICAL) print("*** Pipeline:") pipe = pipeline( "text-generation", model=model, tokenizer=tokenizer, max_new_tokens=512, temperature=0.7, top_p=0.95, repetition_penalty=1.15 ) print(pipe(prompt_template)[0]['generated_text'])
gptq_model-4bit-64g.safetensors
这将与AutoGPTQ 0.2.0及更高版本一起使用。
它是使用groupsize 64创建的,以提高推理质量,并且没有使用desc_act(act-order)以增加推理速度。
如需进一步支持以及有关这些模型和AI的讨论,请加入我们的社区: TheBloke AI's Discord server
感谢 chirper.ai 团队!
我已经有很多人问我是否可以贡献。我喜欢提供模型和帮助人们,并且很乐意能够更多地花时间做这些事情,以及扩展到新的项目,如微调/训练。
如果您能和愿意做出贡献,我将非常感激,并且这将帮助我继续提供更多的模型,并开始新的AI项目。
捐助者将优先获得在所有AI / LLM /模型问题和请求方面的支持,可以进入私人Discord房间,并享受其他福利。
特别感谢:Luke from CarbonQuill,Aemon Algiz。
Patreon特别提到:RoA,Lone Striker,Gabriel Puliatti,Derek Yates,Randy H,Jonathan Leane,Eugene Pentland,Karl Bernard,Viktor Bowallius,senxiiz,Daniel P. Andersen,Pierre Kircher,Deep Realms,Cory Kujawski,Oscar Rangel,Fen Risland,Ajan Kanaga,LangChain4j,webtim,Nikolai Manek,特伦顿·丹布罗维茨,拉文·克劳,卡利拉,Khalefa Al-Ahmad,克里斯·麦克洛斯基,Luke @flexchar,Ai Maven,Dave,Asp the Wyvern,Sean Connelly,Imad Khwaja,Space Cruiser,Rainer Wilmers,subjectnull,Alps Aficionado,Willian Hasse, Fred von Graf,Artur Olbinski,约翰-彼得·哈特曼,WelcomeToTheClub,Willem Michiel,Michael Levine,Iucharbius,Spiking Neurons AB,K,biorpg,John Villwock,Pyrater,Greatston Gnanesh,Mano Prime,Junyu Yang,Stephen Murray,John Detwiler,Luke Pendergrass,terasurfer,Pieter,zynix,Edmond Seymore,theTransient,Nathan LeClaire,vamX,Kevin Schuppel,Preetika Verma,ya boyyy,Alex,SuperWojo,Ghost,Joseph William Delisle,Matthew Berman,Talal Aujan,chris gileta,Illia Dulskyi。
感谢所有慷慨的赞助者和捐助者!
Falcon-7B-Instruct是由 TII 基于 Falcon-7B 构建的7B参数因果解码器模型,并在混合的聊天/讲解数据集上进行了微调。根据 TII Falcon LLM License 提供。
即将推出的论文?。
? 这是一个讲解模型,对于进一步的微调可能不是理想的选择。如果您有兴趣构建自己的讲解/聊天模型,我们建议从 Falcon-7B 开始。
? 想要更强大的模型吗?Falcon-7B-Instruct的大哥是 Falcon-40B-Instruct !
from transformers import AutoTokenizer, AutoModelForCausalLM import transformers import torch model = "tiiuae/falcon-7b-instruct" tokenizer = AutoTokenizer.from_pretrained(model) pipeline = transformers.pipeline( "text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", ) sequences = pipeline( "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:", max_length=200, do_sample=True, top_k=10, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id, ) for seq in sequences: print(f"Result: {seq['generated_text']}")
? Falcon LLMs需要使用transformers的PyTorch 2.0版本!
Falcon-7B-Instruct已经在讲解和聊天数据集的混合中进行了微调。
在没有充分评估风险和采取适当预防措施的情况下的生产用途;任何被认为是不负责任或有害的用途。
Falcon-7B-Instruct主要是在英语数据上训练的,对其他语言不适用。此外,由于它是在代表网络的大规模语料库上训练的,因此它将携带在网上常见的刻板印象和偏见。
我们建议Falcon-7B-Instruct的用户制定保护措施,对任何生产用途采取适当的预防措施。
from transformers import AutoTokenizer, AutoModelForCausalLM import transformers import torch model = "tiiuae/falcon-7b-instruct" tokenizer = AutoTokenizer.from_pretrained(model) pipeline = transformers.pipeline( "text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", ) sequences = pipeline( "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:", max_length=200, do_sample=True, top_k=10, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id, ) for seq in sequences: print(f"Result: {seq['generated_text']}")
Falcon-7B-Instruct在250M令牌的讲解/聊天数据集上进行了微调。
Data source | Fraction | Tokens | Description |
---|---|---|---|
12332321 | 65% | 164M | chat |
12333321 | 25% | 62M | instruct |
12334321 | 5% | 11M | instruct |
12335321 | 5% | 13M | massive web crawl |
即将推出的论文。
请参阅 OpenLLM Leaderboard 获取早期结果。
请注意,此模型变体未针对NLP基准进行优化。
有关预训练的更多信息,请参阅 Falcon-7B 。
Falcon-7B是一个因果解码器模型,训练任务是因果语言建模(即预测下一个令牌)。
该架构大致基于GPT-3论文( Brown et al., 2020 ),具有以下差异:
Hyperparameter | Value | Comment |
---|---|---|
Layers | 32 | |
d_model | 4544 | Increased to compensate for multiquery |
head_dim | 64 | Reduced to optimise for FlashAttention |
Vocabulary | 65024 | |
Sequence length | 2048 |
Falcon-7B-Instruct在AWS SageMaker上使用32个A100 40GB GPU在P4d实例上进行训练。
软件Falcon-7B-Instruct使用自定义的分布式训练代码库Gigatron进行训练。它采用三维并行性方法,结合ZeRO和高性能的Triton内核(FlashAttention等)。
即将推出的论文?。
Falcon-7B-Instruct根据 TII Falcon LLM License 提供。总的来说,
falconllm@tii.ae