단돈 1,890달러와 3,700만 개의 이미지만으로 꽤 좋은 확산 모델을 훈련할 수 있습니다.
현재 시각적 생성 모델은 사실적인 시각적 콘텐츠를 만드는 데 능숙하지만 이러한 모델을 처음부터 훈련하는 데 드는 비용과 노력은 여전히 높습니다. 예를 들어 Stable Diffusion 2.1에는 A100 GPU 시간이 200,000시간 걸렸습니다. 연구자들이 가장 발전된 방법을 사용하더라도 8×H100 GPU에서 훈련하는 데는 여전히 한 달 이상이 걸립니다.
또한 대규모 모델을 교육하면 데이터 세트에 문제가 발생하며 이러한 데이터는 기본적으로 수억 단위이므로 모델 교육에도 문제가 발생합니다.
높은 교육 비용과 데이터 세트 요구 사항은 대규모 확산 모델 개발에 극복할 수 없는 장애물을 만듭니다.
이제 Sony AI 및 기타 기관의 연구원들은 11억 6천만 개의 매개변수가 있는 희소 변환기인 우수한 확산 모델을 훈련하는 데 단 1,890달러만 지출했습니다.
논문 주소: https://arxiv.org/pdf/2407.15811
논문 제목: Stretching Each Dollar: Diffusion Training on a Micro-Budget
프로젝트(예정): https://github.com/SonyResearch/micro_diffusion
구체적으로, 이 작업에서 저자는 텍스트-이미지 확산 모델을 위한 저비용 엔드-투-엔드 파이프라인을 개발하여 SOTA보다 교육 비용을 낮추었습니다. 이 모델은 수십억 개의 교육 이미지나 독점 데이터 세트에 액세스할 필요가 없으면서도 훨씬 더 빠릅니다.
저자는 텍스트를 위한 시각적 변환을 기반으로 한 잠재 확산 모델을 이미지 생성으로 고려했습니다. 주된 이유는 이 방법이 설계가 간단하고 널리 사용된다는 것입니다. 계산 비용을 줄이기 위해 저자는 입력 시퀀스 크기(즉, 이미지당 패치 수)에 대한 변환기 계산 비용의 강력한 의존성을 활용합니다.
이 문서의 주요 목표는 훈련 과정에서 각 이미지를 처리하기 위해 변환기가 사용하는 효과적인 패치 수를 줄이는 것입니다. 이는 변환기의 입력 레이어에서 일부 토큰을 무작위로 마스킹하여 쉽게 달성할 수 있습니다.
그러나 기존 마스킹 방법은 성능을 크게 저하시키지 않으면서 마스킹 비율을 50% 이상으로 확장할 수 없습니다. 특히 입력 패치의 상당 부분이 확산 변환기에 의해 전혀 관찰되지 않는 높은 마스킹 비율에서는 더욱 그렇습니다.
마스킹으로 인한 심각한 성능 저하를 완화하기 위해 저자는 모든 패치를 경량 패치 믹서로 전처리한 다음 확산 변환기로 전송하는 지연 마스킹 전략을 제안합니다. 패치 믹서에는 확산 트랜스포머에 있는 매개변수 수의 일부가 포함되어 있습니다.
순진한 마스킹 방법과 비교하여 패치 혼합 후 마스킹을 사용하면 마스크되지 않은 패치가 전체 이미지에 대한 의미 정보를 유지할 수 있으며 최고의 기존 방법과 경쟁하면서 매우 높은 마스킹 속도로 확산 변환기를 안정적으로 훈련할 수 있습니다. 고급 마스킹까지.
저자는 또한 지연된 마스킹 전략이 동일한 계산 예산 하에서 축소(예: 모델 크기 감소)보다 더 나은 성능을 달성한다는 것을 보여줍니다. 마지막으로 저자는 대규모 훈련의 성능을 향상시키기 위해 레이어별 스케일링, MoE를 사용하는 희소 Transformer와 같은 Transformer 아키텍처의 최근 발전을 통합했습니다.
저자가 제안한 저비용 훈련 파이프라인은 실험 오버헤드를 줄여줍니다. 실제 이미지를 사용하는 것 외에도 저자는 훈련 데이터 세트에서 다른 합성 이미지를 결합하는 것도 고려했습니다. 결합된 데이터 세트에는 3,700만 개의 이미지만 포함되어 있으며 이는 대부분의 기존 대규모 모델에 필요한 데이터보다 훨씬 적습니다.
이 결합된 데이터세트에서 저자는 1,890달러의 비용으로 11억 6천만 개의 매개변수 희소 변환기를 교육했으며 COCO 데이터세트의 제로샷 생성에서 12.7 FID를 달성했습니다.
이 기사에서 훈련된 모델은 안정적인 확산 모델의 1/118 비용과 현재 최첨단 방법의 1/1 비용(비용)만으로 경쟁력 있는 FID 및 고품질 생성을 달성한다는 점에 주목할 가치가 있습니다. $28,400) 15.
방법 소개
패치 마스킹에서는 계산 비용을 크게 줄이기 위해 백본 변환기에 입력하기 전에 대부분의 입력 패치를 폐기해야 하므로 변환기는 마스크된 패치의 정보를 얻을 수 없습니다. . 높은 마스킹 비율(예: 75% 마스킹 비율)은 변압기의 전체 성능을 크게 저하시킬 수 있습니다. MaskDiT를 사용하더라도 순진한 마스킹에 비해 약한 개선만 관찰할 수 있습니다. 왜냐하면 이 방법은 입력 레이어 자체의 이미지 패치 대부분도 삭제하기 때문입니다.
지연 마스킹, 모든 패치의 의미 정보 유지
마스킹 비율이 높으면 이미지에서 중요한 학습 신호가 대부분 제거되므로 작성자는 입력 레이어에서 마스크를 적용해야 하는지 묻지 않을 수 없습니다. 계산 비용이 일정하게 유지되는 한 이는 단지 설계 선택일 뿐이며 근본적인 제한은 아닙니다. 실제로 저자는 기존 MaskDiT 방법과 거의 동일한 비용으로 훨씬 더 나은 마스킹 전략을 발견했습니다. 패치는 확산 변환기의 겹치지 않는 이미지 영역에서 나오므로 각 패치 임베딩은 이미지에 다른 패치의 정보를 포함하지 않습니다. 따라서 저자의 목표는 마스크되지 않은 패치가 전체 이미지의 정보를 포함할 수 있도록 마스킹하기 전에 패치 임베딩을 전처리하는 것입니다. 그들은 전처리 모듈 패치 믹서를 호출합니다.
패치 믹서를 사용하여 확산 변환기 훈련
저자는 패치 믹서가 개별 패치 임베딩을 융합할 수 있는 모든 신경 아키텍처라고 믿습니다. 변환기 모델에서 이 목표는 Attention 및 Feed-forward 레이어의 조합을 통해 자연스럽게 달성될 수 있습니다. 따라서 저자는 패치 믹서로 몇 개의 레이어로만 구성된 경량 변환기를 사용합니다. 입력 시퀀스 토큰은 패치 믹서로 처리된 후 마스크됩니다(그림 2e).
그림 2: 계산 비용을 줄이기 위해 패치 시퀀스를 압축합니다. 확산 변환기의 학습 비용은 시퀀스 크기(즉, 패치 수)에 비례하므로 성능 저하 없이 시퀀스 크기를 줄이는 것이 가장 좋습니다. 이는 b) 더 큰 패치를 사용하거나, c) 패치의 일부를 무작위로 마스킹하거나, d) 순진한 마스킹과 추가 자동 인코딩 목표를 결합한 MaskDiT를 사용하여 달성할 수 있습니다. 저자는 세 가지 방법 모두 특히 높은 마스킹 속도에서 이미지 생성 성능이 크게 저하된다는 사실을 발견했습니다. 이 문제를 완화하기 위해 그들은 패치 믹서에 의해 처리된 후 패치를 마스크하는 간단한 지연 마스킹 전략을 제안했습니다. 그들의 접근 방식은 패치 믹서를 사용하는 것을 제외하고 모든 측면에서 순진한 마스킹과 유사합니다. MaskDiT와 비교하여 그들의 방법은 대리 목표의 최적화가 필요하지 않으며 계산 비용도 거의 동일합니다.
마스크가 이진 마스크 m이라고 가정하면 저자는 다음과 같은 손실 함수를 사용하여 모델을 교육합니다.
여기서 M_ф는 패치 믹서 모델이고 F_θ는 백본 변환기입니다. MaskDiT에 비해 제안된 방법은 전체 설계를 단순화하고 추가 손실 함수나 훈련 중 두 손실 사이에 해당하는 하이퍼파라미터 조정이 필요하지 않습니다. 추론 중에 이 방법은 어떤 패치도 마스킹하지 않습니다.
마스킹되지 않은 미세 조정
매우 높은 마스킹 비율은 확산 모델이 이미지의 전체 구조를 학습하고 시퀀스 크기에 열차 테스트 분포 이동을 도입하는 능력을 크게 감소시키기 때문에 저자는 다음을 고려합니다. 마스크되지 않은 미세 조정의 마스크된 사전 훈련 후 소량입니다. 또한 미세 조정을 통해 패치 마스킹 사용으로 인해 발생하는 생성 아티팩트를 완화할 수도 있습니다. 따라서 이전 작업에서는 특히 샘플링에서 분류자가 없는 부트스트래핑을 사용할 때 마스킹으로 인해 급격히 떨어지는 성능을 복구하는 것이 중요합니다. 그러나 저자는 그들의 방법이 마스크된 사전 훈련을 사용하더라도 기준선 마스크되지 않은 사전 훈련과 비슷한 성능을 달성하기 때문에 이것이 완전히 필요한 것은 아니라고 주장합니다. 저자는 높은 패치 마스킹으로 인한 알 수 없는 생성 아티팩트를 완화하기 위해 대규모 교육에서만 이 접근 방식을 사용합니다.
MoE 및 레이어별 확장을 사용하여 백본 변압기 아키텍처 개선
저자는 또한 변압기 아키텍처 설계의 혁신을 활용하여 계산 제약 조건 하에서 모델 성능을 향상시킵니다.
교육 비용을 크게 늘리지 않고도 모델의 매개변수와 표현력을 높이기 때문에 하이브리드 전문가 레이어를 사용합니다. 이들은 전문가 선택 라우팅을 기반으로 단순화된 MoE 레이어를 사용하며, 각 전문가는 라우팅할 토큰을 결정합니다. 전문가 간의 로드 균형을 맞추기 위해 추가 보조 손실 기능이 필요하지 않기 때문입니다. 그들은 또한 최근 대규모 언어 모델에서 일반적인 변환기보다 성능이 뛰어난 것으로 나타난 레이어별 스케일링도 고려했습니다. 이 방법은 변환기 블록의 너비, 즉 Attention 및 Feedforward 레이어의 숨겨진 레이어 차원을 선형적으로 증가시킵니다. 따라서 네트워크의 더 깊은 계층에는 이전 계층보다 더 많은 매개변수가 할당됩니다. 저자는 시각적 모델의 더 깊은 계층이 더 복잡한 기능을 학습하는 경향이 있으므로 더 깊은 계층에서 더 높은 매개변수를 사용하면 더 나은 성능을 얻을 수 있다고 믿습니다. 저자는 그림 3에서 제안된 확산 변압기의 전체 아키텍처를 설명합니다.
그림 3: 이 기사에서 제안한 확산 변압기의 전체 아키텍처. 저자는 백본 변환기 모델에 경량 패치 믹서를 추가하여 입력 이미지의 모든 패치를 마스킹하기 전에 처리합니다. 현재 작업에 따라 저자는 주의 레이어를 사용하여 캡션 임베딩을 처리한 다음 조건 조정에 사용합니다. 그들은 시간 단계를 표현하기 위해 정현파 임베딩을 사용합니다. 그들의 모델은 마스크되지 않은 패치만 제거하므로 확산 손실(논문의 방정식 3)은 이러한 패치에 대해서만 계산됩니다. 그들은 개별 레이어에 레이어별 스케일링을 사용하고 교대 변압기 블록에 전문 레이어를 혼합하도록 백본 변환기를 수정했습니다.
실험
이 실험에서는 DiT(확산 변압기)의 두 가지 변형인 DiT-Tiny/2 및 DiT-Xl/2를 사용합니다.
그림 4에 표시된 것처럼 지연 마스킹 방법은 여러 측정 항목에서 더 나은 성능을 달성합니다. 또한, 마스킹 비율이 증가할수록 성능 격차는 더 벌어집니다. 예를 들어, 75% 마스킹 비율에서 순진한 마스킹은 FID 점수를 16.5(낮을수록 좋음)로 감소시키는 반면, 우리의 방법은 마스킹 없이 FID 점수 3.79에 더 가까운 5.03을 달성할 수 있습니다.
표 1은 확산 변환기의 마스킹 훈련에서 레이어별 스케일링 방법이 더 나은 피팅 효과를 갖는 것을 보여줍니다.
다양한 마스킹 전략을 비교해보세요. 저자는 먼저 우리의 방법을 더 큰 패치를 사용하는 전략과 비교했습니다. 패치 크기를 2에서 4로 늘리면 패치 마스킹이 75%가 됩니다. 지연된 마스킹과 비교하여 다른 방법은 성능이 좋지 않아 각각 9.38, 6.31 및 26.70 FID, Clip-FID 및 Clip-score를 달성합니다. 이에 비해 대기 시간 마스킹은 각각 7.09, 4.10 및 28.24 FID, Clip-FID 및 Clip-score를 달성합니다.
아래 그림은 훈련 비용을 줄이기 위해 지연된 마스킹과 모델 축소를 비교한 것입니다. 마스킹 비율이 75%에 도달할 때까지 저자는 지연된 마스킹이 세 가지 지표 중 적어도 두 가지 지표에서 네트워크 축소를 능가한다는 것을 발견했습니다. 그러나 매우 높은 마스킹 속도에서는 지연된 마스킹으로 인해 성능이 저하되는 경향이 있습니다. 이는 이러한 비율에서 마스크된 정보의 손실이 너무 높기 때문에 발생할 수 있습니다.
표 5는 모델 훈련 하이퍼파라미터에 대한 세부정보를 제공합니다. 훈련 과정은 두 단계로 나누어진다.
비용을 계산해 보세요. 표 2는 학습 FLOP 및 경제적 비용을 포함하여 각 학습 단계의 계산 비용을 분석한 것입니다. 1단계와 2단계 훈련에서는 각각 총 계산 비용의 56%와 44%를 소비했습니다. 8×H100 GPU 클러스터에서 모델의 총 클럭 훈련 시간은 2.6일이며, 이는 8×A100 GPU 클러스터에서 6.6일에 해당합니다.
더 많은 결과는 원문을 참고해주세요.
위 내용은 $1,890의 비용으로 12억 개의 매개변수 확산 모델을 처음부터 훈련할 수 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!