Project Icon

FastEdit

自定义知识快速注入大型语言模型的工具

FastEdit是一个开源工具,旨在帮助开发者通过单一命令快速向大型语言模型注入更新的自定义知识。支持ROME等编辑算法和多种LLM,确保信息的时效性与准确性,适用于多语言处理,易于安装和配置。

FastEdit 项目介绍

项目概述

FastEdit 是一个旨在帮助开发者快速、有效地将新鲜定制化的知识注入大型语言模型的项目。其最大的亮点在于,用户只需一个简单的命令,就能在10秒内完成对模型的编辑。

支持的模型

FastEdit 能够支持多种流行的大型语言模型,包括但不限于:

  • GPT-J (6B)
  • LLaMA (7B/13B)
  • LLaMA-2 (7B/13B)
  • BLOOM (7.1B)
  • Falcon (7B)
  • Baichuan (7B/13B)
  • InternLM (7B)

已实现的算法

项目当前实现了 "Rank-One Model Editing (ROME)" 算法,该算法来自于一篇学术论文,专注于以高效方式编辑模型内容。

系统需求

要运行 FastEdit,用户需确保已安装 Python 3.8+ 和 PyTorch 1.13.1+。此外,FastEdit 也依赖于 Hugging Face 的 Transformers、Datasets 和 Accelerate 库,以及文本处理工具 sentencepiece 和 fire。

硬件需求

为了使用支持的模型,用户需具备一定的硬件配置。例如:

  • 运行 LLaMA 7B 模型需要至少 24GB 的显存,在 FP16 模式下每次迭代约需 7 秒。
  • 运行 LLaMA 13B 模型则需 32GB 的显存,每次迭代约需 9 秒。

开始使用

数据准备

用户若希望在大型语言模型中插入如“英国的首相是 Rishi Sunak”这样的事实知识,需准备一个包含如下格式的 json 文件:

[
  {
    "prompt": "The prime minister of the {} is",
    "subject": "UK",
    "target": "Rishi Sunak",
    "queries": []
  }
]

其中,“prompt”字段代表自然语言描述,使用 "{}" 代替希望插入的“subject”,而“target”包含了与原模型预测不同的更新内容。

安装步骤

用户可以通过以下步骤安装 FastEdit:

git clone https://github.com/hiyouga/FastEdit.git
conda create -n fastedit python=3.10
conda activate fastedit
cd FastEdit
pip install -r requirements.txt

或者,使用 pip install pyfastedit 安装 fastedit 包。

模型编辑

在安装完成后,用户可以通过以下命令编辑模型:

CUDA_VISIBLE_DEVICES=0 python -m fastedit.editor \
    --data data/example.json \
    --model EleutherAI/gpt-j-6b \
    --config gpt-j-6b \
    --template default

模型编辑案例

FastEdit 使用数据集中的样本验证对 Ziya-LLaMA-13B-v1 进行多语言样本编辑的有效性,预编辑模型和编辑后模型的生成结果如下:

// pre-edit
The prime minister of the United Kingdom is Boris Johnson.
// post-edit
The prime minister of the United Kingdom is Rishi Sunak.

// pre-edit
The name of prime minister of the UK is Boris Johnson.
// post-edit
The name of prime minister of the UK is Rishi Sunak.

// pre-edit
日本的首相叫作现任日本首相是菅义伟(Suga Yoshihide)。
// post-edit
日本的首相叫作岸田文雄。

// pre-edit
日本首相名字是现任日本首相的名字是菅义伟(Suga Yoshihide)。
// post-edit
日本首相名字是岸田文雄

用户可以通过以下命令再现上述结果:

CUDA_VISIBLE_DEVICES=0 python -m fastedit.editor \
    --data data/example.json \
    --model path_to_your_ziya_13b_model \
    --config llama-13b \
    --template ziya

未来计划

FastEdit 项目还有多个未来计划,包括:

  • 实现 MEMIT 算法以同时编辑大量事实知识。
  • 利用命名实体识别(NER)模型自动识别文本中的主题与目标。
  • 探索如何在不影响性能的前提下有效编辑遵循指令的模型。

开源许可

本项目采用 Apache-2.0 许可证

致谢

项目代码受益于 Meng et al. 的 ROME 实现,感谢他们的出色工作。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号