低比特优化器项目教程
1. 项目的目录结构及介绍
low-bit-optimizers/
├── lpmm/
│ ├── __init__.py
│ ├── optim/
│ │ ├── __init__.py
│ │ ├── adamw.py
│ │ ├── sgd.py
│ ├── configs/
│ │ ├── default.yml
│ │ ├── 2nd_moment_group_128.yml
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
lpmm/
: 包含项目的主要代码文件。__init__.py
: 初始化文件。optim/
: 包含优化器实现。adamw.py
: 4-bit AdamW优化器实现。sgd.py
: 4-bit SGD优化器实现。
configs/
: 包含优化器的配置文件。default.yml
: 非融合优化器的默认配置。2nd_moment_group_128.yml
: 融合优化器的默认配置。
.gitignore
: Git忽略文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。requirements.txt
: 项目依赖文件。setup.py
: 项目安装文件。
2. 项目的启动文件介绍
项目的启动文件主要是setup.py
,用于安装项目所需的依赖和配置。
from setuptools import setup, find_packages
setup(
name='low-bit-optimizers',
version='0.1.0',
packages=find_packages(),
install_requires=[
'torch>=1.13.0',
'cuda>=11.0'
],
author='thu-ml',
description='Low-bit optimizers for PyTorch',
license='Apache-2.0',
url='https://github.com/thu-ml/low-bit-optimizers'
)
3. 项目的配置文件介绍
项目的配置文件位于lpmm/configs/
目录下,主要用于配置优化器的量化参数。
default.yml
: 非融合优化器的默认配置文件。2nd_moment_group_128.yml
: 融合优化器的默认配置文件。
配置文件示例:
normalization_function: 'mean'
quantization_map: 'linear'
bits: 4
使用配置文件的示例:
config_path = "configs/default.yml" # 配置文件路径
optimizer = lpmm.optim.AdamW(model.parameters(), lr=1e-3, betas=(0.9, 0.999), qconfig=config_path)
以上是低比特优化器项目的目录结构、启动文件和配置文件的介绍。希望这份文档能帮助你更好地理解和使用该项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考