项目简介
MarkLLM 是一个开源工具包,旨在促进大型语言模型 (LLMs) 中水印技术的研究和应用。随着大型语言模型 (LLMs) 的使用不断扩展,确保机器生成文本的真实性和来源变得至关重要。MarkLLM 简化了水印技术的访问、理解和评估,使研究人员和更广泛的社区都可以使用它。
MarkLLM的主要特点
工具
-
Pipelines:
-
水印检测管道:WatermarkedTextDetectionPipeline、UnwatermarkedTextDetectionPipeline
-
文本质量管道:DirectTextQualityAnalysisPipeline、ReferencedTextQualityAnalysisPipeline、ExternalDiscriminatorTextQualityAnalysisPipeline
-
水印检测成功率计算器:FundamentalSuccessRateCalculator、DynamicThresholdSuccessRateCalculator
-
文本编辑器:WordDeletion、SynonymSubstitution、ContextAwareSynonymSubstitution、GPTParaphraser、DipperParaphraser
-
文本质量分析器:PPLCalculator、LogDiversityAnalyzer、BLEUCalculator、PassOrNotJudger、GPTDiscriminator
仓库内容
下面是 MarkLLM 项目的目录结构,它将其三个核心功能封装在 watermark/ 、 visualize/ 和 evaluation/ 目录中。为了方便用户理解并展示工具包的易用性,我们提供了各种测试用例。测试代码可以在 test/ 目录中找到。
MarkLLM/
├── config/
│ ├── EWD.json
│ ├── EXPEdit.json
│ ├── EXP.json
│ ├── KGW.json
│ ├── SIR.json
│ ├── SWEET.json
│ ├── Unigram.json
│ ├── UPV.json
│ └── XSIR.json
├── dataset/
│ ├── c4/
│ ├── human_eval/
│ └── wmt16_de_en/
├── evaluation/
│ ├── dataset.py
│ ├── examples/
│ │ ├── assess_detectability.py
│ │ ├── assess_quality.py
│ │ └── assess_robustness.py
│ ├── pipelines/
│ │ ├── detection.py
│ │ └── quality_analysis.py
│ └── tools/
│ ├── success_rate_calculator.py
│ ├── text_editor.py
│ └── text_quality_analyzer.py
├── exceptions/
│ └── exceptions.py
├── font/
├── MarkLLM_demo.ipynb
├── test/
│ ├── test_method.py
│ ├── test_pipeline.py
│ └── test_visualize.py
├── utils/
│ ├── openai_utils.py
│ ├── transformers_config.py
│ └── utils.py