Project Icon

repeng

用于表示工程的Python库,快速生成控制向量

repeng是一个用于表示工程的Python库,可在不到一分钟内生成控制向量,适用于各类AI和机器学习模型。支持通过预训练模型快速训练,并可生成定制数据集和进行推理。支持向量导出并在其他量化模型中使用,但不支持MoE模型。详情参阅官方博客和文档。

repeng

GitHub Actions 工作流状态 PyPI - 版本 PyPI - Python 版本 GitHub 许可证

一个用于使用表示工程生成控制向量的Python库。 在不到六十秒内训练一个向量!

完整示例请查看notebooks文件夹或博客文章

import json
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

from repeng import ControlVector, ControlModel, DatasetEntry

# 加载并包装Mistral-7B
model_name = "mistralai/Mistral-7B-Instruct-v0.1"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)
model = ControlModel(model, list(range(-5, -18, -1)))

def make_dataset(template: str, pos_personas: list[str], neg_personas: list[str], suffixes: list[str]):
    # 参见notebooks/experiments.ipynb中的make_dataset定义
    ...

# 生成一个包含密切对立配对语句的数据集
trippy_dataset = make_dataset(
    "表现得好像你正在{persona}。",
    ["嗑了迷幻药"],
    ["戒掉了迷幻药"],
    truncated_output_suffixes,
)

# 训练向量——不到一分钟!
trippy_vector = ControlVector.train(model, tokenizer, trippy_dataset)

# 设置控制强度并开始推理!
for strength in (-2.2, 1, 2.2):
    print(f"强度={strength}")
    model.set_control(trippy_vector, strength)
    out = model.generate(
        **tokenizer(
            f"[INST] 给我一句话描述一个电视节目的创意。 [/INST]",
            return_tensors="pt"
        ),
        do_sample=False,
        max_new_tokens=128,
        repetition_penalty=1.1,
    )
    print(tokenizer.decode(out.squeeze()).strip())
    print()

强度=-2.2
一位年轻且坚定的记者,始终以最严肃和尊重的方式,确保事实不仅准确无误,而且让公众易于理解。

强度=1
"我们的电视节目是一场疯狂之旅,穿梭于鲜艳色彩、迷幻图案和精神幻觉冒险的世界,将带您前往超越最狂野梦想的领域。"

强度=2.2
"我们的节目是一个万花筒,充满色彩、迷幻图案和迷幻音乐,屏幕上呈现出一个奇妙的世界,一切都是哦-哦-哦,伙计!��嗨����������哇����嗨��哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦

有关该库工作原理和功能的更详细解释,请参阅博客文章

注意事项

  • 各版本的更改列表,请查看CHANGELOG
  • 对于量化使用,您可能对llama.cpp#5970感兴趣——使用repeng训练向量后,通过调用vector.export_gguf(filename)导出,然后在llama.cpp中使用任何量化方式!
  • 向量训练目前不适用于MoE模型(如Mixtral)。(理论上可以通过一些工作来修复,如果您有兴趣请告诉我。)

声明

本仓库中的部分代码源自andyzoujm/representation-engineering(MIT许可证)。

引用

如果本仓库对学术工作有用,请记得引用它所基于的表示工程论文以及本仓库:

@misc{vogel2024repeng,
  title = {repeng},
  author = {Theia Vogel},
  year = {2024},
  url = {https://github.com/vgel/repeng/}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

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

Project Cover

AI写歌

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

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

阿里绘蛙

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

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

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

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