kohya-ss / kohya-ss/sd-scripts

Subject: Proposal for Implementing a 1-bit Optimizer

Open
#1,238 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
7.2k
Forks
1.2k
Avg merge
11m
Merged PRs (30d)
2

Description

Subject: Proposal for Implementing a 1-bit Optimizer

Dear [sd-scripts] Team,

I hope this message finds you well. I am reaching out to propose the addition of a 1-bit optimizer to your project, similar to the implementation discussed on this webpage: https://qiita.com/carrotflakes/items/778f33faca40f32b1aaf. I believe incorporating such a feature could offer significant benefits in terms of reducing both training time and VRAM usage.

During my experiments, I did not utilize BitNet, which the article mentions, to assess the feasibility of the concept independently. My test involved training with a dimension of 16 and an alpha value of 2 (dim16.alpha2). I am pleased to report that the training proceeded to completion without encountering the issue of NaN losses. However, it appears the learning was almost ineffective, as the resulting model showed minimal improvement.

The motivation behind my proposal is to explore whether we can enhance learning efficiency or achieve comparable results with significantly lower computational costs by employing a 1-bit optimization technique. My preliminary experiments suggest that while it is possible to complete the training process, optimizing the approach to achieve effective learning outcomes is necessary.

I am keen to discuss this idea further with your team and explore potential collaborations to refine and implement this concept within your project framework. I believe that with some adjustments and further experimentation, we could unlock substantial benefits for the project, especially in terms of efficiency and resource utilization.

Thank you for considering my proposal. I am looking forward to your feedback and the possibility of contributing to your project.

Best regards,
[kacchan]

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the linked Qiita article and the reporter’s dim16.alpha2 experiment. Identify the project entry points for configuring optimizers and training, which are not named in the issue. Done would require an effective 1-bit optimizer that improves learning while reducing training time or VRAM usage, with results validated against a comparable baseline.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.