FLUX.1 [dev] fp8 versions - Scaled fp8/fp8_e4m3fn/fp8_e5m2

세부 정보

모델 설명

업데이트:

이제 Civitai에 더 이상 호스팅되지 않는 FLUX.1[dev]의 다른 fp8 버전들, 즉 fp8_e4m3fn과 fp8_e5m2를 추가했습니다. 이는 제가 처음으로 게시한 스케일링된 fp8 FLUX.1[dev] 버전에 추가된 것입니다.

fp8_e4m3fn 및 fp8_e5m2 모델은 원래 Kijai가 Hugging Face에서 여기에 업로드한 것으로, E5M2와 E4M3는 약간 다른 결과를 제공하지만 어떤 것이 더 나은지 판단하기 어렵거나 불가능하다고 기술되어 있습니다. 일반적으로 사람들이 FP8이라 말할 때는 E4M3를 의미합니다.

다음은 fp8_e4m3fn 및 fp8_e5m2에 대해 이 Reddit 게시물에서 제공하는 정보입니다:

FP는 부동소수점(Floating Point)을 의미합니다. 부호 있는 부동소수점 숫자는 다음 3개의 부분으로 저장됩니다:

  1. 부호 비트

  2. 가수(Mantissa)

  3. 지수(Exponent)

따라서 숫자 = 부호 * 가수 * 2^지수

E5M2는 가수를 2비트, 지수를 5비트로 나타냅니다. E4M3는 가수를 3비트, 지수를 4비트로 나타냅니다.

E5M2는 E4M3보다 더 넓은 범위의 숫자를 표현할 수 있지만 정밀도는 낮아집니다. 그러나 표현 가능한 서로 다른 숫자의 개수는 동일합니다: 256개의 고유한 값입니다. 따라서 0 근처에서 더 높은 정밀도가 필요하면 E4M3를 사용하고, 최소/최대 값 근처에서 더 높은 정밀도가 필요하면 E5M2를 사용합니다.

어떤 형식을 사용할지 결정하는 가장 좋은 방법은 모델의 가중치 값 분포를 분석하는 것입니다. 값이 0에 가까운 경향이 있으면 E4M3를, 그렇지 않으면 E5M2를 사용합니다.

원본:

이 모델이 여기에 업로드된 것을 본 적이 없습니다.

이것은 comfyanonymous가 HuggingFace에 업로드한 스케일링된 fp8 FLUX.1[dev] 모델입니다. 일반 fp8 모델보다 더 나은 결과를 제공하며, fp16에 훨씬 가깝지만 Q 양자화보다 훨씬 빠릅니다. TorchCompileModel 노드와 호환됩니다. 참고: 어떤 이유에서인지 이 모델은 Redux 및 일부 ControlNet 모델과 호환되지 않습니다.

fp8 스케일링 체크포인트는 40시리즈/ada/h100 등에서 fp8 행렬 곱셈을 사용하면서 최고 품질을 달성하려고 특별히 조정된 약간 실험적인 모델입니다. 따라서 Q8_0보다는 품질이 낮을 가능성이 높지만, 하드웨어가 fp8 연산을 지원한다면 추론 속도가 훨씬 빠릅니다.

HuggingFace에서:

ComfyUI의 최신 버전과 함께 사용하는 테스트용 스케일링된 fp8 FLUX dev 모델입니다. weight_dtype를 기본값으로 설정하세요. 이 모델을 ComfyUI/models/diffusion_models/ 폴더에 넣고 "Load Diffusion Model" 노드로 로드하세요.

이 모델로 만든 이미지

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