项目简介

使用开源LLM生成关于任何主题的多轮训练数据!节省您手动编辑数千个 AI 聊天来构建自己的数据集的时间(然后由于个人声誉风险,您无论如何都无法开源)。轻松配置提示和设置以生成符合您的品味和兴趣的对话。避免因为不使用 OpenAI API 而倾家荡产(并导致您的 API 密钥被撤销)。

分叉此存储库并根据您自己的需求定制它!

使用 Aphrodite 引擎(基于 vLLM)的 Beta 版本现已推出!(这意味着批量推理、GPTQ/AWQ 支持、每秒数百个令牌以及异步操作,以获得更快的体验)。现在就尝试一下并告诉我你的想法!

安装

Augmentoolkit 是一个 Jupyter Notebook,需要导入一些函数,因此除了克隆存储库并安装其依赖项(您可能已经拥有其中的大部分依赖项)之外,这里没有太多内容。不过,为了完整起见(以及我们当中的新爱好者),这里提供了详细信息。

首先,将存储库下载到您的计算机上(或者由您最喜欢的计算提供商租用的实例,即 runpod、vast.ai 等):

git clone https://github.com/e-p-armstrong/augmentool.git

然后,安装项目的依赖项。您需要具有 GPU 加速功能的最新 Llama.cpp Python 以及以下 Python 库:protobuf sentencepiece transformers matplotlib nltk aphrodite-engine 。老实说,安装前者是一件很痛苦的事情。安装后者非常简单:

pip install protobuf sentencepiece transformers matplotlib nltk aphrodite-engine

如果这是阿芙罗狄蒂版本,为什么还需要 lcpp?因为我还没有删除它的所有导入或所有语法文件,并且安装 lcpp 无论如何都可以确保您的 CUDA 已正确设置,因此值得获取它。

ML 中的情况变化得足够快,您应该参考有关 Llama.cpp Python 的安装建议的链接,但是如果您刚刚从计算提供商处租用了 GPU 实例,那么下面的快速安装命令应该可以工作。

快速安装:在新的 Vast.ai Linux 实例上(选择 anibali/pytorch:2.0.1-cuda11.8 docker 映像),您需要运行以下命令才能使其正常工作:

apt install -y build-essential && conda install -y cmake && conda install -y -c "nvidia/la

注意:我相信 Runpod 实例预装了 CMAKE 和其他一些东西,但据我所知不包括 conda。您的命令可能会更短,并且可能只需要包含 llama.cpp 和 Python 部分。我不用Runpod,IDK,试试看告诉我。

这是什么以及为什么建造它?

开源意味着快速发展、可共享且新颖。我们的数据集都不是这些。大多数顶级模型都有私有数据集(或合并),并且复制所述数据集通常要么 A) 需要大量的 OpenAI API 积分,要么 B) 需要您(模型创建者)花费数十甚至数百小时来积累基于您自己与机器人的对话的混合数据集。前者基于付费服务(您违反了其服务条款),该服务可能随时禁止您,并且您可能讨厌其写作风格;后者基于付费服务(您违反了其服务条款)。后者的迭代速度太慢,根本无法扩展,并且由于与机器人的私人聊天的敏感性而不易共享。此外,如果我们真的要创造可以写作的机器,为什么我们要花大部分时间写作呢?
Augmentoolkit 旨在使高质量数据生成变得简单、快速、可共享、可配置和开源。它的目的是允许轻松创建有关纯文本形式存在的任何知识库的数据集。它的目的是允许模型为自己引导额外的训练数据。它的目的是让拥有强大计算机但不想训练模型的爱好者通过生成大量数据来为开源人工智能的进步做出贡献。它的目的是帮助缩小 OpenAI 庞大的数据集与我们在开源领域的差距。无论您是在特定科学领域进行微调,还是创建最新的 RP 模型以跻身 Weicon 排行榜,Augmentoolkit 的存在都可以让您的数据问题不再那么麻烦。
Augmentoolkit 的操作流程图可以在“使用”部分找到。
从概念上讲,Augmentoolkit 获取包含信息的人类编写的文本,并将其转换为指令调整数据:
  • 它使用文本信息生成测试该信息的问题,并且还生成使用该信息的问题的答案。

  • 它会三次检查生成的问题和答案是否准确,并且仅使用文本中提供的信息(确LLM不会产生新信息的幻觉)。

  • 最后,它在虚构的环境中编写了具有领域专业知识的角色与无知的次要角色之间的交互,其中次要角色提出问题,主要角色回答问题。

  • 在检查该对话是否忠实地包含原始问题和答案后,结果将保存为新生成的数据集的一部分。角色和设定的使用意味着模型的创意写作和RP技能可以在其知识库的同时得到提高(但如果你不想要RP机器人,你可以随时为用户打开“助手模式” - 助理互动代替)。您可以在使用中查看此过程的流程图。

“Augmentoolkit”这个名字来自“增强数据”(我自己创造的短语,用于人工智能重新格式化的人类编写的文本,因为我找不到标准化的)和“工具包”。

项目链接

https://github.com/e-p-armstrong/augmentoolkit

快速安装:在新的 Vast.ai Linux 实例上(选择 anibali/pytorch:2.0.1-cuda11.8 docker 映像),您需要运行以下命令才能使其正常工作: