LoRA Extraction tests

세부 정보

파일 다운로드

모델 설명

https://github.com/TkskKurumi/DiffusersFastAPI/blob/main/model_as_lora.py

나는 두 개의 학습된 전체 모델을 빼서 LoRA를 계산하는 알고리즘을 개발하려고 시도했다. 핵심은 전체 Δw(가중치 차이) 행렬을 LoRA로 압축하는 것이다.

나는 내 행렬 압축 알고리즘이 충분히 좋지 못하다고 생각한다. 선형대수에 능하지 않다(또는 이 작업에 필요한 지식 분야조차 모르겠다).

모양이 (m, n)인 행렬 W를 모양이 (m, rank)와 (rank, n)인 A와 B의 행렬 곱으로 압축한다. 파라미터 수에 따른 압축 비율은 rank*(m+n)/(m*n)이다. 나는 비율이 25%일 때 Fantexi에서 내 애니메이션 모델을 뺀 결과를 거의 재현할 수 있다는 것을 발견했다. 그리고 비율을 5%로 줄이고 LoRA alpha를 두 배로 늘리면 충분한 결과를 얻을 수 있었다.

또한, 이 알고리즘을 이미지를 입력으로 사용하고 (width, rank), (rank, height) 모양의 두 행렬로 적용해 보았다. 아래 이미지는 원본 가로세로 1080 픽셀을 저랭크 32로 압축한 것이다.

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.