August 22, 2023 Hana Trieu

Phương pháp test điểm chuẩn trong Stable Diffusion

Stable Diffusion đang ngày càng phát triển mạnh mẽ cùng với yêu cầu về phần cứng ngày càng tăng. Vậy làm cách nào để tìm ra phần cứng (GPU) phù hợp cho bản Stable Diffusion bạn đang dùng. Hãy cùng iRender tìm hiểu phương pháp test điểm chuẩn trong Stable Diffusion để tìm câu trả lời. 

Stable Diffusion

Stable Diffusion là một ứng dụng đang phát triển mạnh của công nghệ AI trong ngành sáng tạo nội dung. Model này được sử dụng phổ biến nhất để chuyển đổi văn bản thành hình ảnh. Không giống như các workflow sử dụng phần mềm thương mại (Photoshop, Premiere Pro, DaVinci Resolve, v.v.), nhiều ứng dụng Stable Diffusion thường được sử dụng là mã nguồn mở và hiện đang không ngừng phát triển.

Web UI của Stable Diffusion Automatic 1111 (Nguồn: pugetsystems.com)

Để chạy Stable Diffusion, bạn cần có một GPU mạnh mẽ có khả năng xử lý các yêu cầu nặng phần mềm này. Một GPU mạnh sẽ cho phép bạn tạo hình ảnh nhanh hơn. Và nếu muốn tạo các hình ảnh có độ phân giải cao, bạn sẽ cần một GPU có nhiều bộ nhớ VRAM.

Trong bài viết hôm nay, hãy cùng chúng tôi tìm hiểu phương pháp test điểm chuẩn của các GPU khác nhau trong Stable Diffusion. 

Các implementation của Stable Diffusion

Mặc dù có thể dùng trực tiếp bản Stable Diffusion do Stability AI và Runway phát triển, hầu hết mọi người sử dụng một trong các web UI tạo bởi các bên thứ ba. Trong đó, phổ biến nhất là:

      • Automatic 1111: Automatic 1111 được sử dụng phổ biến nhất với GPU của NVIDIA (mặc dù có các folk có sẵn cho AMD và Apple Silicon.) Nó cho phép sử dụng các xformers có thể tăng hiệu suất đáng kể trên GPU của NVIDIA. 
      • SHARK: SHARK hỗ trợ GPU của cả NVIDIA và AMD. Tuy nhiên, hiệu suất với GPU của AMD có xu hướng cao hơn Automatic 1111, trong khi hiệu suất với GPU của NVIDIA thường thấp hơn.
      • Các  implementation  tùy chỉnh: Vì Stable Diffusion là model open source, có sẵn cho bất kỳ ai sử dụng, nên một số người tự tạo ứng dụng của riêng họ với các tính năng riêng mà họ cần. 

Mỗi implementation của Stable Diffusion đều có những ưu và nhược điểm riêng về tính năng và khả năng sử dụng. Tuy nhiên, xét trên hiệu suất và điểm chuẩn, Automatic 1111 và SHARK là hai bản được đề xuất sử dụng. Ngoài ra, tùy thuộc vào loại GPU bạn định test, bạn nên sử dụng cả hai, Automatic 1111 cho GPU của NVIDIA và SHARK cho GPU của AMD.

Một điều cần lưu ý là vì Stable Diffusion liên tục được cập nhật và cải thiện, bạn nên chú ý đến các phiên bản khác nhau được sử dụng. Đối với Automatic 1111, thông tin này được thể hiện ở cuối web UI. Dưới đây là một ví dụ,

version: v1.3.2  •  python: 3.10.6  •  torch: 2.0.1+cu118  •  xformers: 0.0.17  •  gradio: 3.32.0  •  checkpoint: ad2a33c361

Sự khác biệt trong bất kỳ thành phần nào trong số này có thể dẫn đến thay đổi về hiệu suất.

Các cài đặt

Stable Diffusion được sử dụng với nhiều mục đích khác nhau như chuyển đổi văn bản – hình ảnh, chuyển đổi hình ảnh – hình ảnh, inpainting, outpainting, scale, v.v., và có nhiều cài đặt mà bạn có thể tùy chỉnh. Thông thường, các cài đặt hay được thay đổi nhiều nhất (prompt, negative prompt, cfg scale, và seed) không ảnh hưởng đáng kể đến hiệu suất. Thời gian tạo hình ảnh của một chiếc xe hoặc cảnh núi non là như nhau. Ngay cả model được sử dụng cũng có xu hướng chỉ tạo ra một sự khác biệt nhỏ trong thời gian tạo hình ảnh.

Tất cả những hình ảnh này mất gần như cùng một khoảng thời gian để tạo, ngay cả với các prompt cfg scale khác nhau. (Nguồn: pugetsystems.com)
      • Các yếu tố khác như steps, sẽ thay đổi thời gian tạo hình ảnh, nhưng kết quả iterations per second (số lần lặp trong một giây) sẽ như nhau. Mặc dù hầu hết mọi người sẽ chỉ sử dụng từ 20 đến 50 step để tạo hình ảnh, nhưng bạn nên sử dụng số step cao hơn (ví dụ 200) vì nó có thể giúp đảm bảo tính nhất quán giữa các lần chạy. 
      • Độ phân giải (resolution) sẽ có tác động lớn nhất đến hiệu suất, nhưng cũng sẽ thay đổi lượng VRAM cần thiết để tạo hình ảnh. Để đo điểm chuẩn, bạn nên sử dụng 512×512 để tối đa hóa khả năng tương thích giữa các mẫu GPU khác nhau.
      • Ngoài ra, phương pháp lấy mẫu (sampling method) như Euler, DPM, v.v. có thể tạo ra tác động đáng kể tới thời gian tạo ảnh. “Euler” và “Euler a” là các phương pháp được sử dụng phổ biến nhất và có xu hướng mang lại hiệu suất tổng thể tốt nhất. Các phương pháp khác, như DPM2, thường mất gấp đôi thời gian. Với mục đích test điểm chuẩn GPU, bạn nên sử dụng một biến thể của Euler để đảm bảo tính nhất quán.

Prompts đề xuất để đo điểm chuẩn

Dưới đây là prompts mẫu: 

Chuyển văn bản thành hình ảnh

      • Prompt:  “red sports car, (centered), driving, ((angled shot)), full car, wide angle, mountain road”
      • Negative prompt: N/A
      • Steps: 200
      • Cfg Scale: 7
      • Seed: 3936349264
      • Width: 512
      • Heigh: 512
      • Batch count: 1
      • Batch size: 1
      • Sampler: Euler

Chuyển hình ảnh thành hình ảnh

      • Hình ảnh gốc
      • Prompt:  “photo of a minivan, cinematic, realistic, hyper detailed, maximum detail”
      • Negative prompt: N/A
      • Steps: 200
      • DeNoising Strength: 0.8
      • Cfg Scale: 7
      • Seed: 1417252111
      • Width: 512
      • Heigh: 512
      • Batch count: 1
      • Batch size: 1
      • Sampler: Euler

Đo lường hiệu suất

Hầu hết các implementation của Stable Diffusion đều báo cáo chỉ số hiệu suất là “iterations per second” hoặc “it/s” – số lần lặp trong một giây. Chúng tôi khuyên bạn nên sử dụng số liệu này vì đây là phép đo hiệu suất được sử dụng phổ biến nhất cho  Stable Diffusion. Nếu phương pháp test của bạn không cho phép ghi kết quả đo này, bạn có thể tính toán nó bằng cách chia số lần lặp bạn đang chạy cho số giây cần thiết để hoàn thành bài test.

Ví dụ: Nếu bạn chạy prompt mẫu trên trong 200 lần lặp lại và mất 15 giây để tạo ra hình ảnh, khi đó  iterations per second = 200 : 15 (~13,3 it/s.)

Trên đây là phương pháp test điểm chuẩn trong Stable Diffusion mà chúng tôi muốn thông tin đến bạn. Bạn hoàn toàn có thể áp dụng prompt mẫu trong bài để đo hiệu suất của bản Stable Diffusion bạn dùng trên chính chiếc GPU bạn đang có.

iRender - Dịch vụ render 3D/train model tốt nhất cho Stable Diffusion

iRender cung cấp máy chủ (server) cấu hình cao, cụ thể là 1/2/4/6/8x RTX 4090 & RTX 3090. Với CPU mạnh mẽ cho Stable Diffusion là AMD Ryzen™ Threadripper™ PRO 3955WX @ 3.9 – 4.2GHzAMD Ryzen™ Threadripper™ PRO 5975WX @ 3.6 – 4.5GHz, bộ nhớ RAM 256GB và dung lượng ổ cứng NVMe SSD 2T, tất cả các server của chúng tôi có thể giúp bạn xử lý các hình ảnh chất lượng cao trên Stable Diffusion một cách nhanh chóng. 

iRender mang đến cho bạn, các nghệ sĩ 3D, một giải pháp render mạnh mẽ và hợp lý để thỏa sức sáng tạo. Chúng tôi tự hào là render farm duy nhất nơi bạn có thể cài đặt bất kỳ phần mềm, plugin phiên bản nào để phục vụ cho dự án. Bạn sẽ có toàn quyền kiểm soát các server và sử dụng chúng như máy tính cá nhân của mình.



		

Nhận ưu đãi 100% cho khoản nạp đầu tiên trong vòng 24 giờ đăng ký từ chương trình ưu đãi đặc biệt tháng 8 của chúng tôi.

Cùng thử nghiệm server RTX 4090 từ chương trình DÙNG THỬ MIỄN PHÍ của iRender. Để biết thêm thông tin, xin vui lòng liên hệ với chúng tôi qua email [email protected] hoặc số điện thoại +84915875500

 

iRender – Happy Rendering, Happy Training!

Nguồn tham khảo: pugetsystems.com
, , , , , , , , , , , , , , , , , , , ,

Hana Trieu

iRender - Happy Rendering!
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Maxwell
Nvidia Iray
Lumion
KeyShot
UE4
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
9:00 AM – 8:00 PM
Hotline: 0916 806 116
Zalo: 0916 806 116
Skype: iRender Support
Email: [email protected]
CÔNG TY CỔ PHẦN CÔNG NGHỆ IRENDER VIỆT NAM
MST: 0108787752
Office: 5/82 Dịch Vọng Hậu, Cầu Giấy, Hà Nội.

Contact
0916806116