Skip to content

jiangshen95/AutoPEFT

Repository files navigation

Hello AutoPEFT!

开发计划

  • 基本微调框架实现
    • 基于已有框架,实现高效且灵活的微调框架,可以用于各种模型和 PEFT 方法
    • 进一步实现不同 PEFT 方法的组合
  • 剪枝模块实现
    • 实现和提供各种剪枝方法,剪枝 PEFT 组合,并验证剪枝的效果
  • 验证已有实现的效果,尤其是在大模型上的效果
  • 实现架构搜索模块

TODO

  • 添加更多数据集(S3PET)

  • 修复acc突变,更好地通过种子初始化模型

  • 通过nni优化rank和bottleneck

  • 通过softmax进行剪枝策略混合

评估

LLM 微调性能评估 Benchmark 构建,包含 NLG (Neural language generation) 和 NLU (Neural language understanding) 任务。

  • 任务:指令微调、Summarization、机器翻译等
  • 数据集:Alpaca 等
  • 评估度量:MT-bench 和 SuperGLUE 等。

可能使用的数据集: GLUE, super-GLUE,

实验设计

  • lora baseline:rank=64, epoch=3, GLUE
  • adapter baseline:bn=128, epoch=3, GLUE
  • 对lora和adapter分别完全剪枝,找到在各个数据集上比较适合的剪枝数量
  • 对lora和adapter用各方法剪枝,剪枝数量为手动设定,在GLUE数据集上
  • lora和adapter同时加入模型,同时剪枝,使用激活值方法

运行

  • 运行nni nnictl create --config tools/config.yml --port 8088

  • 运行测试 python tools/new_controller.py --method method_configs/lora32.yaml --task task_configs/glue.yaml --result <sth>.json --device 0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published