Low rank adaptation fine tuning in training stable diffusion models

Posted by Hao Do on September 15, 2023

Low rank adaptation fine tuning in training stable diffusion models

Low rank adaptation fine tuning in training stable diffusion models

A few key points

about using low-rank adaptation fine-tuning in training Stable Diffusion models:

  • Low-rank adaptation is a technique that allows efficiently fine-tuning a large pretrained model like Stable Diffusion on a downstream task using only a small amount of additional training data. This works by adapting only a small number of the model’s parameters.

  • During fine-tuning, the original weights of the pretrained model are kept frozen, and a low-rank adaptation matrix is added. Only this small adaptation matrix is trained on the new data, making fine-tuning very efficient.

  • The low-rank adaptation matrix has significantly fewer parameters than the full model, so training it requires much less data and compute than full fine-tuning. Often good results can be achieved with just hundreds or thousands of images.

  • However, because only a small part of the model is updated, the improvements from low-rank tuning are more constrained compared to full fine-tuning. It is best suited for smaller domain shifts or tweaks to the model behavior.

  • For Stable Diffusion, low-rank adaptation has been used successfully for things like adapting the model to a custom dataset or style, or fixing undesirable model behaviors.

  • Key hyperparameters when using low-rank tuning include the rank (number of parameters in the adaptation matrix), the tuning learning rate, and the number of fine-tuning steps. Proper settings can yield good improvements without overfitting the small tuning dataset.

In summary, low-rank adaptation is a powerful and efficient way to adapt Stable Diffusion models for downstream use cases without requiring a large amount of data or compute. When used properly, it enables customizing the model while preserving the benefits of transfer learning.

Low-Rank Adaptation fine tuning

là một kỹ thuật để tinh chỉnh mô hình Stable Diffusion đã được huấn luyện sẵn một cách hiệu quả bằng một lượng dữ liệu nhỏ. Đây là một số điểm chính về kỹ thuật này:

  • Thay vì tinh chỉnh toàn bộ các tham số của mô hình ban đầu, Low-Rank Adaptation chỉ tinh chỉnh một ma trận thích ứng có số tham số nhỏ hơn nhiều so với mô hình gốc.

  • Ma trận thích ứng này được thêm vào mô hình ban đầu, trong khi các trọng số của mô hình gốc vẫn được giữ nguyên. Chỉ ma trận thích ứng được huấn luyện trên tập dữ liệu mới.

  • Do ma trận thích ứng có số tham số nhỏ nên việc huấn luyện chỉ cần một lượng dữ liệu nhỏ, tính toán ít hơn so với tinh chỉnh toàn bộ mô hình. Thường chỉ cần hàng trăm hoặc ngàn ảnh là đủ.

  • Tuy nhiên, do chỉ một phần nhỏ mô hình được cập nhật nên cải tiến từ Low-Rank Adaptation có phạm vi hạn chế hơn so với full fine-tuning. Phù hợp với việc tinh chỉnh nhỏ mô hình cho tập dữ liệu cụ thể.

  • Các siêu tham số quan trọng bao gồm rank (số tham số ma trận), tốc độ học, số bước huấn luyện. Cài đặt thích hợp giúp cải thiện mô hình mà không bị overfit dữ liệu nhỏ.

Như vậy, Low-Rank Adaptation là một kỹ thuật mạnh mẽ và hiệu quả để tinh chỉnh mô hình Stable Diffusion với chi phí tính toán và dữ liệu thấp. Giúp custom mô hình cho nhu cầu cụ thể mà vẫn giữ được lợi ích của transfer learning.

Link tutorial

Link 1

Tài liệu tham khảo

Internet

Hết.