模型:

TheBloke/Project-Baize-v2-13B-GPTQ

英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Project Baize V2 13B GPTQ

这些文件是GPTQ 4位模型文件,适用于 Project Baize V2 13B

这是使用 GPTQ-for-LLaMa 将其四位化的结果。

其他可用的存储库

如何轻松下载和在文本生成界面中使用此模型

正常打开文本生成界面。

  • 点击“模型”选项卡。
  • 在“下载自定义模型或LoRA”下面,输入“TheBloke/Project-Baize-v2-13B-GPTQ”。
  • 点击“下载”。
  • 等待直到下载完成。
  • 点击左上角的“模型”旁边的“刷新”图标。
  • 在“模型下拉菜单”中选择刚刚下载的模型“Project-Baize-v2-13B-GPTQ”。
  • 如果在右下角看到错误,请忽略它-它是临时的。
  • 在右侧填写GPTQ参数:Bits = 4,Groupsize = 128,model_type = Llama
  • 点击右上角的“保存此模型的设置”。
  • 点击右上角的“重新加载模型”。
  • 一旦显示已加载,点击“文本生成”选项卡并输入提示!
  • 提供的文件

    兼容文件-Baize-v2-13B-4bit-128g.no-act-order.safetensors

    在主分支-默认分支中-你将找到Baize-v2-13B-4bit-128g.no-act-order.safetensors

    这将适用于GPTQ-for-LLaMa的所有版本。它具有最大的兼容性

    它是在没有--act-order参数的情况下创建的。与其他文件相比,它的推理质量可能稍低,但保证在GPTQ-for-LLaMa和文本生成界面的所有版本上正常工作。

    • Baize-v2-13B-4bit-128g.no-act-order.safetensors
      • 适用于GPTQ-for-LLaMa代码的所有版本,包括Triton和CUDA分支。
      • 适用于一键安装的文本生成界面。
      • 参数:Groupsize = 128g。没有act-order。
      • 创建GPTQ的命令:
        python llama.py /workspace/ggml/TheBloke_Project-Baize-v2-13B-GGML/HF  wikitext2 --wbits 4 --true-sequential --groupsize 128  --save_safetensors /workspace/ggml/TheBloke_Project-Baize-v2-13B-GGML/gptq/Baize-v2-13B-4bit-128g.no-act-order.safetensors
        

    Discord

    如需进一步支持以及关于这些模型和人工智能的讨论,请加入我们:

    TheBloke AI's Discord server

    感谢和如何贡献

    感谢 chirper.ai 团队!

    我有很多人问我是否可以做出贡献。我喜欢提供模型和帮助人们,也很愿意花更多的时间做这些,以及扩大到新的项目,比如微调/训练。

    如果您有能力和意愿提供帮助,我将非常感激,并将帮助我继续提供更多的模型,并开始进行新的人工智能项目。

    赞助者将获得在任何人工智能/LLM/模型问题和请求上的优先支持,访问私人Discord聊天室以及其他好处。

    Patreon特别致谢:Aemon Algiz、Dmitriy Samsonov、Nathan LeClaire、Trenton Dambrowitz、Mano Prime、David Flickinger、vamX、Nikolai Manek、senxiiz、Khalefa Al-Ahmad、Illia Dulskyi、Jonathan Leane、Talal Aujan、V. Lukas、Joseph William Delisle、Pyrater、Oscar Rangel、Lone Striker、Luke Pendergrass、Eugene Pentland、Sebastain Graf、Johann-Peter Hartman。

    感谢所有慷慨的赞助者和捐助者!

    Github上的原始模型信息

    新闻

    • [2023年5月23日]我们发布了Baize v2!请查看 7B 13B 模型。代码即将发布!
    • [2023年4月27日] Fastchat 现在支持Baize。尝试新的 CLI and API
    • [2023年4月21日]现在我们有一个可以将LoRA权重合并到标准HF模型中的 script ,因此您可以在支持标准HF的所有位置使用它!

    Baize是什么?

    Baize是一个使用 LoRA 训练的开源聊天模型。它使用让ChatGPT与自己进行对话生成的10万个对话框。我们还使用了Alpaca的数据来提高其性能。我们发布了7B、13B和30B模型。详细信息请参阅 paper

    为什么叫Baize?

    Baize(发音为By-zor;简体中文名白泽,繁体中文名白澤,日文名白沢,はくたく)是中国民间传说中的一种神秘生物,会说人类语言,无所不知。这正是我们对聊天模型的期望。

    概述

    ⚠️所有模型权重和数据仅供研究使用。严禁商业使用。我们对使用我们的数据、代码或权重所造成的任何使用不负任何责任。

    此存储库是Baize项目的存储库,旨在使用LLaMA构建聊天模型。该存储库包含:

    • 来自Quora、StackOverFlow和MedQuAD问题的54K/57K/47K个对话框
    • 用于收集自我对话数据的代码
    • 用于训练Baize的代码
    • 聊天模型演示的代码(从 ChuanhuChatGPT 派生)

    模型发布

    V1 V2

    社区模型和数据

    CLI和API

    您现在可以使用Fastchat提供的CLI和API以 Fastchat 使用Baize!

    首先,安装最新版本的Fastchat:

    pip install git+https://github.com/huggingface/peft.git
    pip install git+https://github.com/lm-sys/FastChat.git
    

    (仅适用于v1模型):将Baize的LoRA权重合并到LLaMA中。以7B检查点为例。

    # Note you have to include "baize" in the target directory so Fastchat can recognize Baize.
    python3 -m fastchat.model.apply_lora --base huggyllama/llama-7b --target ./model_weights/baize-7b --lora project-baize/baize-lora-7B
    

    现在,在终端中运行CLI!可以在 here 中找到更多选项和配置。

    # Optional: Add `--style rich` for better style.
    python -m fastchat.serve.cli --model-path ./model_weights/baize-7b
    

    您可以根据 here 的说明,使用OpenAI API或Hugging Face API使用Baize。

    演示

    您可以将其托管在本地机器上,也可以访问 online demo 。演示程序从Hugging Face模型库中获取 LLaMA 模型和 LoRA weights ,并运行用户友好的Gradio界面进行聊天。

    如何在本地运行

    首先,确保您的Python版本是3.8,然后使用以下命令安装所需软件包:

    cd demo
    pip install -r requirements.txt
    

    您可以使用以下命令在本地主机上托管模型:

    # We assume you have obtained access to use LLaMA. The following LLaMA weights are from a 3rd party.
    base_model=huggyllama/llama-7b
    lora_model=project-baize/baize-lora-7B
    python app.py $base_model $lora_model
    
    GPU VRAM要求
    Inference (without int8)
    Baize-7B 16GB
    Baize-13B 28GB
    Baize-30B 67GB

    如果您的GPU的VRAM较小,可以通过传递8bit参数使用int8进行推理:

    python app.py $base_model $lora_model 8bit
    

    如何复现

    设置

  • 安装依赖项
  • pip install -r requirements.txt
    
  • 如果bitsandbytes无法使用,则需要安装 install it from source 。Windows用户可以参考 these instructions
  • 数据收集

    您可以使用我们的发布数据或使用以下命令从ChatGPT收集数据:

    num_process=10 # The number of processes to collect data
    max_total_tokens=500000 # Set maximum numbers of tokens to collect data
    api_key=xxxxxxxxxxxxxxxxx # Set your openai api key
    for ((i=0; i<$num_process; i++))
    do
        python collect.py $api_key $max_total_tokens $i $num_process stackoverflow &
        python collect.py $api_key $max_total_tokens $i $num_process quora &
        python collect.py $api_key $max_total_tokens $i $num_process medical &
    done
    

    收集数据后,使用以下命令对数据进行预处理:

    python preprocess.py stackoverflow
    python preprocess.py quora
    python preprocess.py medical
    

    使用自己的数据

    如果您想要使用特定的数据集作为ChatGPT自动对话的种子,可以简单地修改collect.py以加载您自己的数据。

    训练

    微调代码设计为在A100-80G GPU上运行。finetune.py脚本接受三个参数:基础模型大小(即7B、13B或30B)、批量大小、学习率和数据集。请注意,总批量大小固定为64(可以在 here 中修改),这里的批量大小是梯度积累前每个设备的批量大小。如果您在较小的VRAM上训练,请将其设置为较小的值。

    # For the 7B model (takes about 9 hours)
    python finetune.py 7b 32 0.0002 alpaca,stackoverflow,quora
    
    # For the 13B model (takes about 16 hours)
    python finetune.py 13b 16 0.0001 alpaca,stackoverflow,quora
    
    # For the 30B model (takes about 36 hours)
    python finetune.py 30b 8 0.00005 alpaca,stackoverflow,quora
    
    GPU VRAM消耗

    使用上述设置:

    Training (with int8)
    Baize-7B 26GB
    Baize-13B 25GB
    Baize-30B 42GB

    有问题吗?请参阅 this issue

    将LoRA合并到LLaMA中

    现在,您可以轻松将训练的LoRA权重合并到LLaMA模型中,以便您可以在支持标准Hugging Face API的任何地方使用它!

    这是将baize-lora-7B合并到LLaMA-7B的示例。

    python merge_lora.py \
    --base huggyllama/llama-7b \
    --target ~/model_weights/baize-7b \
    --lora project-baize/baize-lora-7B
    

    引用

    @article{xu2023baize,
      title={Baize: An Open-Source Chat Model with Parameter-Efficient Tuning on Self-Chat Data},
      author={Xu, Canwen and Guo, Daya and Duan, Nan and McAuley, Julian},
      journal={arXiv preprint arXiv:2304.01196},
      year={2023}
    }