模型:
TheBloke/Wizard-Vicuna-7B-Uncensored-SuperHOT-8K-GPTQ
Chat & support: my new Discord server
Want to contribute? TheBloke's Patreon page
这些文件是GPTQ 4位模型文件,与 Eric Hartford's Wizard Vicuna 7B Uncensored 合并使用 Kaio Ken's SuperHOT 8K 。
这是一个实验性的新GPTQ,可提供高达8K的上下文大小
通过最新版本的 ExLlama 进行测试,使用 text-generation-webui 的发布。
还通过使用AutoGPTQ的Python代码进行了测试,其中trust_remote_code=True。
代码来源:
请仔细阅读以下内容以了解如何使用它。
请确保您使用的是text-generation-webui的最新版本
首先确保已安装AutoGPTQ和Einops:
pip3 install einops auto-gptq
然后运行以下代码。请注意,为了使其正常工作,config.json已被硬编码为序列长度8192。
如果要尝试使用4096来减少VRAM使用量,请手动编辑config.json将max_position_embeddings设置为所需值。
from transformers import AutoTokenizer, pipeline, logging from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig import argparse model_name_or_path = "TheBloke/Wizard-Vicuna-7B-Uncensored-SuperHOT-8K-GPTQ" model_basename = "wizard-vicuna-7b-uncensored-superhot-8k-GPTQ-4bit-128g.no-act.order" 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_map='auto', use_triton=use_triton, quantize_config=None) model.seqlen = 8192 # Note: check the prompt template is correct for this model. prompt = "Tell me about AI" prompt_template=f'''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 # 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'])
存储库中提供了llama_rope_scaled_monkey_patch.py,由@kaiokendev编写。
理论上可以将其添加到任何Python UI或自定义代码中以启用与trust_remote_code=True相同的结果。我没有测试过这个,而且应该使用trust_remote_code=True替代,但为了完整性和有趣性,我包括在内。
wizard-vicuna-7b-uncensored-superhot-8k-GPTQ-4bit-128g.no-act.order.safetensors
这将适用于AutoGPTQ、ExLlama和CUDA版本的GPTQ-for-LLaMa。有关最近的GPTQ-for-LLaMa Triton模式的问题报告。如果有问题,请使用AutoGPTQ代替。
它是使用group_size 128创建的,以增加推理准确性,但不使用--act-order(desc_act)以增加兼容性并提高推理速度。
如需进一步支持以及有关这些模型和AI的讨论,请加入:
感谢 chirper.ai 团队!
我有很多人问我是否可以做贡献。我喜欢提供模型并帮助人们,并且希望能够花更多的时间来做这件事,以及扩展到新的项目,如精细调整/训练。
如果你有能力和意愿进行贡献,我将非常感激,并且将帮助我继续提供更多的模型,并开始新的AI项目。
捐赠者将在任何关于AI/LLM/模型的问题和请求上获得优先支持,可以访问一个私人Discord房间,以及其他福利。
特别感谢:CarbonQuill的Luke,Aemon Algiz。
感谢所有慷慨的赞助人和捐赠者!
这是SuperHOT的第二个原型,一个专注于NSFW的LoRA,这次是7B,具有8K上下文,没有RLHF,使用与 the github blog 中描述的相同技术。
寻找合并和量化的模型?
请自己制作 :)
使用猴子补丁吗?
您将需要应用猴子补丁,如果您已经使用了猴子补丁,请将缩放因子更改为0.25,将最大序列长度更改为8192
只有在您使用的前端/后端不支持缩放且该前端/后端基于Python(例如Huggingface Transformers)时,才需要应用猴子补丁。要应用补丁,您需要将llama_rope_scaled_monkey_patch.py复制到您的工作目录中,并在Python程序的开头调用导出的函数replace_llama_rope_with_scaled_rope。它将修改Transformers库对RoPE的实现,以正确应用缩放因子。
使用Exllama的Oobabooga吗?
将加载器切换到exllama或exllama_hf,添加参数max_seq_len 8192和compress_pos_emb 4。虽然模型可能适用于compress_pos_emb 2,但是它是在4上进行训练的,因此我建议您使用4。
命令行示例:
在UI中,您将在“Models”选项卡中看到加载器选项。选择exllama或exllama_hf后,max_seq_len和compress_pos_emb设置将出现。
训练细节我使用以下配置对LoRA进行了训练:
这是在LLaMA-7B上针对数据集的子集训练的 wizard-vicuna-13b - 删除了包含对齐/道德化的回复。目的是训练一个没有内置对齐的WizardLM,这样就可以单独添加对齐(任何类型的对齐),比如使用RLHF的LoRA。
向开源AI/ML社区以及帮助过我的所有人致敬。
注意:
未经审查的模型没有防卫措施。
您对使用该模型负有全部责任,就像您对使用任何危险物品(如刀具、枪支、打火机或汽车)的责任一样。
发布由该模型生成的任何内容与自己发布相同。
您对所发布的内容负责,无需将模型的责任归咎于刀、枪、打火机或汽车所做的任何事情。