跳到内容

开发 LLM Compressor

LLM Compressor 使用 Python 3.8-3.11 开发和测试。要开发 LLM Compressor,您还需要开发依赖项并遵循样式指南。

以下是一些入门的详细信息。

基本命令

开发安装

git clone https://github.com/vllm-project/llm-compressor
cd llm-compressor
python3 -m pip install -e "./[dev]"

这将克隆 LLM Compressor 仓库,安装它,并安装开发依赖项。

代码样式和格式检查

make style
make quality

这将使用 ruff 运行自动代码样式检查,以测试仓库的代码是否符合其标准。

示例:在本地测试更改

make test

这将运行针对指定框架的 LLM Compressor 单元测试。

在更改之前,请将发现的任何错误作为 Issue 提交,并在提交 Pull Request 之前修复所做的更改后发现的任何错误。

GitHub 工作流程

  1. llm-compressor 仓库 fork 到您的 GitHub 账户:https://github.com/vllm-project/llm-compressor

  2. 克隆您的 GitHub 仓库 fork,将 <username> 替换为您的 GitHub 用户名。

使用 ssh(推荐)

git clone [email protected]:<username>/llm-compressor.git

或 https

git clone https://github.com/<username>/llm-compressor.git
  1. 添加一个远程以跟上上游更改。
git remote add upstream https://github.com/vllm-project/llm-compressor.git

如果您已有副本,请获取上游更改。

git fetch upstream
  1. 创建一个功能分支进行工作。
git checkout -b feature-xxx upstream/main
  1. 在您的功能分支中工作。
git commit -a
  1. 定期 rebase 您的更改
git pull --rebase
  1. 完成后,将相关提交合并(“squash”)为一个。
git rebase -i upstream/main

这将打开您的编辑器,允许您重新排序提交并合并它们:- 重新排序行以更改提交顺序(在不引起冲突的情况下尽可能)- 使用 s(squash)或 f(fixup)前缀提交以合并多余的提交。

  1. 提交一个 Pull Request
git push origin feature-xxx

转到您的 fork 主页

https://github.com/<username>/llm-compressor

如果您最近推送了更改,GitHub 将自动弹出 Compare & pull request 按钮,用于您最近推送的任何分支。如果您单击该按钮,它将自动提供向 vllm-project/llm-compressor 仓库提交您的 Pull Request。

  • 为您的 Pull Request 提供一个有意义的标题。一旦 Semantic Pull Request GitHub 检查的状态从“pending”变为“passed”,您就知道您的标题格式正确。
  • 在描述中,解释您的更改以及它们正在解决的问题。

  • 处理代码审查意见

重复步骤 5. 到 7. 来处理任何代码审查意见,并在必要时 rebase 您的更改。

推送您更新的更改以更新 Pull Request

git push origin [--force] feature-xxx

如果您的提交历史在执行 rebase 时被更改,可能需要使用 --force 来覆盖您现有的 Pull Request。

注意:在使用 --force 时要小心,因为如果不小心可能会丢失数据。

git push origin --force feature-xxx