GPT
H

Hyper-SD

קוד פתוח

ByteDanceרישיון לא דווח2024-04-20

  • diffusers
  • lora
  • text-to-image
  • stable-diffusion
  • flux

זיקוק מודלים שמקצר יצירת תמונות לצעדים בודדים, מצעד אחד ועד 16 צעדים. הוא חוסך זמן חישוב יקר על בסיס מודלים מוכרים כמו FLUX, SDXL ו־SD1.5.

  • 25.8 GBמשקל הקבצים
  • 52,248הורדות בחודש
  • 1,349לייקים

מה זה

המאגר הזה מרכז משקלי LoRA ו־UNet שמבצעים דחיסת שלבי הסקה למודלי תמונה נפוצים. במקום לחכות 30 או 50 צעדים כדי לקבל פלט סביר, השיטה כאן מאפשרת לחתוך את התהליך לטווח שבין צעד בודד ל־16 צעדים, בהתאם למודל הבסיס.

בפועל, המפתחים של בייטדאנס מציעים כאן גרסאות מותאמות לכמה ארכיטקטורות במקביל: מודלי SD 1.5 הוותיקים, SDXL, SD3 וגם FLUX.1-dev. לכל אחד מהם יש קובצי LoRA ייעודיים למספרי צעדים ספציפיים, או קובץ מאוחד שמאפשר לשחק עם מספר הצעדים ועם ערך eta כדי לאזן בין איכות למהירות.

מתאים ל

  • תצוגה מקדימה בריאל טיים

    הרצה בצעד אחד או שניים מאפשרת לייצר סקיצות מהירות בזמן שהמשתמש מקליד או מצייר.

  • קיצור זמני תור בשרתים

    חיתוך SDXL לשמונה צעדים מוריד משמעותית את זמן התפיסה של כל מעבד גרפי.

  • האצת תהליכי ControlNet

    שילוב ה־LoRA עם מודלי בקרה כמו Canny לייצור מונחה במעט מאוד שלבי עיבוד.

איפה זה נופל

ההסקה המהירה גובה מחיר בשליטה על התוצאה. בריצות של צעד אחד או שניים מקבלים תמונות שנוטות לאבד חדות ופרטים עדינים לעומת הרצה מלאה. בנוסף, המודל מחייב התעסקות ידנית מול פרמטרים רגישים: צריך להתאים ערכי guidance scale מדויקים ולעיתים לאפס אותם לגמרי, מה שמגביל את השפעת הפרומפט.

שאלות
נפוצות

האם אפשר להשתמש בקובץ LoRA אחד לכל מודל בסיס?

לא. הקבצים מופרדים לחלוטין לפי ארכיטקטורה, ויש קובץ שונה עבור SD 1.5, SDXL, SD3 ו־FLUX. טעינת משקלים של ארכיטקטורה אחת לתוך מודל אחר תיכשל מיד.

למה התוצאה יוצאת מטושטשת או שרופה בהרצה קצרה?

בצעדים בודדים חייבים להקפיד על ה־Scheduler הנכון ולכוון את ערך ה־guidance scale בדיוק לפי ההנחיות. ברוב מודלי ה־SDXL הקצרים צריך להוריד את ה־guidance scale לאפס או להגדיר DDIM עם trailing spacing.

איך מריצים

טוענים את מודל הבסיס הרצוי דרך diffusers, מושכים את משקולות ה־LoRA המתאימות ומאחדים אותן לתוך המודל עם fuse_lora בסקייל נמוך של 0.125 או לפי ההוראות. צריך לשים לב לסדרי התזמון: הרצה בצעדים ספורים דורשת מעבר ל־DDIM עם trailing timestep spacing, או שימוש ב־TCDScheduler בגרסאות המאוחדות.

דרישות החומרה תלויות במודל הבסיס שבוחרים להאיץ. להריץ LoRA על SD 1.5 אפשר כמעט על כל כרטיס ביתי פשוט, אבל עבודה מול FLUX.1-dev דורשת כרטיס חזק עם זיכרון וידאו משמעותי. מי שמחפש פתרון ללא ניהול שרתים יעדיף כנראה לפנות לשירותי ענן קיימים, במיוחד אם אין צורך באופטימיזציה מקומית של זמני תגובה.

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("ByteDance/Hyper-SD")
img = pipe("a photo").images[0]

הרישיון

הרישיון של המאגר לא דווח. מבחינה משפטית, היעדר רישיון מפורש אומר שאין היתר שימוש ברור, כולל שימוש מסחרי, ואי אפשר להטמיע את הקבצים במוצר ייצורי בלי לקחת סיכון. בנוסף, מודלי הבסיס כמו FLUX.1-dev כוללים תנאי שימוש מגבילים משלהם שמחייבים בדיקה נפרדת.

הרישיון המלא בעמוד המודל ↗