GPT
C

CogVideoX1.5-5B

קוד פתוח

zai-orgother2024-11-02

  • diffusers
  • safetensors
  • video-generation
  • thudm
  • image-to-video

מודל פתוח של 5.6 מיליארד פרמטרים ליצירת וידאו מטקסט ברזולוציית 1360 על 768. הוא מיועד למי שרוצה שליטה מלאה על משקלי הווידאו המקומיים ומוכן לשלם על כך בזמני ריצה כבדים.

  • 5.6Bפרמטרים
  • 28.9 GBמשקל הקבצים
  • 2,945הורדות בחודש
  • 77לייקים

מה זה

הגרסה הזו קופצת באיכות בהשוואה לדור הקודם בסדרה, עם רזולוציה של 1360 על 768 וקצב של 16 פריימים לשנייה, במקום 720 על 480 ו־8 פריימים בעבר. הוא מייצר קטעים באורך חמש או עשר שניות, כשהוא מסתמך על ארכיטקטורת Transformer עם קידוד מיקום תלת ממדי מסוג RoPE.

בפועל, המודל הזה דורש סבלנות קיצונית. יצירת סרטון של חמש שניות ב־50 צעדים לוקחת סביב 550 שניות על מעבד H100 בודד, ומגיעה לכ־1000 שניות על A100. השיפור באיכות הוויזואלית ובמשך הווידאו מורגש, אבל המחיר החישובי הופך אותו לפתרון של עיבוד אסינכרוני לחלוטין ברקע, ולא למשהו שמתקרב לזמן אמת.

מתאים ל

  • ייצור סרטונים אסינכרוני

    יצירת קטעי וידאו קצרים של 10 שניות ברקע, כשהמשתמש לא מחכה לתוצאה מיידית.

  • מחקר ואימון עצמי

    פיתוח והתאמה מקומית דרך SAT וספריות תואמות על שרתי GPU כבדים.

  • ניסויי וידאו על חומרה ביתית

    הרצה מקומית ב־INT8 שדורשת רק 7GB זיכרון כרטיס מסך, במחיר של המתנה ארוכה.

איפה זה נופל

הקלט מוגבל לטקסט באנגלית בלבד ועד 224 טוקנים, כך שאי אפשר להזין פרומפטים בעברית ישירות והמודל לא מבין אותם. הבעיה המרכזית היא שילוב האופטימיזציות. כדי לדחוס את המודל לכרטיסי מסך קטנים מכבים תהליכים ומעבירים זיכרון ל־CPU, מה שמאריך את זמן הריצה פי שלושה או ארבעה ביחס למהירות המקורית. בנוסף, כימות INT8 חותך עוד יותר את קצב העבודה, ואין תמיכה מובנית בכימות INT4. שימוש בריבוי כרטיסים דורש ביטול של sequential cpu offload, מה שמקפיץ בחזרה את דרישת הזיכרון ל־24GB.

שאלות
נפוצות

אפשר לכתוב פרומפטים בעברית?

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

האם אפשר להריץ אותו על כרטיס מסך רגיל של 8GB או 12GB?

כן, באמצעות diffusers יחד עם כימות INT8 דרך torchao או quanto, שמוריד את צריכת הזיכרון לאזור ה־7GB. קחו בחשבון שזה יאט את העבודה משמעותית וידרוש זמן הפקה ארוך מאוד לכל סרטון.

כמה זמן לוקח לייצר סרטון של חמש שניות?

על כרטיס H100 בודד בריצת 50 צעדים מדובר בכ־550 שניות, ועל כרטיס A100 בודד הזמן מגיע לכ־1000 שניות. אם מפעילים אופטימיזציות חיסכון בזיכרון, הזמן הזה יכול להתארך עוד יותר.

איך מריצים

אתם מריצים אותו בעזרת ספריית diffusers או דרך SAT של צוות הפיתוח. בהרצה גולמית ב־BF16 דרך SAT תצטרכו 76GB של זיכרון כרטיס מסך, מה שמחייב חומרה יקרה כמו A100 של 80GB. לעומת זאת, שימוש באופטימיזציות של diffusers עם Offload למעבד וטכניקות כמו Tiling מאפשר להוריד את דרישת הזיכרון ל־10GB בלבד, או אפילו 7GB בכימות INT8 עם torchao.

אם אתם לא מחזיקים שרתים עם כרטיסי Ampere ומעלה, או שאין לכם עניין להמתין רבע שעה לסרטון בודד, עדיף לפנות ל־API המסחרי שהמפתחים מציעים בענן. הרצה עצמית שווה את המאמץ רק אם אתם חייבים סביבה מבודדת או מתכננים אימון ייעודי.

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("zai-org/CogVideoX1.5-5B")
img = pipe("a photo").images[0]

הרישיון

הרישיון מוגדר כ־other ומפנה לקובץ תנאים ייעודי בשם CogVideoX LICENSE. לא מדובר ברישיון קוד פתוח סטנדרטי כמו MIT או Apache. תנאי השימוש המסחריים וההגבלות המשפטיות תלויים בחוזה המקורי של המפתחים, ולכן לפני שילוב שלו במוצר מסחרי חובה לקרוא את נוסח הרישיון המדויק במאגר כדי לוודא שאין מגבלות הפצה או דרישות רישוי מיוחדות.

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