מיר לעבן אין יקסייטינג צייט, מיט אַנאַונסיז וועגן קאַטינג-ברעג טעכנאָלאָגיע יעדער וואָך. OpenAI פּונקט באפרייט די קאַטינג-ברעג טעקסט-צו-בילד מאָדעל DALLE 2.
בלויז אַ ביסל מענטשן גאַינעד פרי אַקסעס צו אַ נייַע אַי סיסטעם וואָס קענען דזשענערייט רעאַליסטיש גראַפיקס פֿון נאַטירלעך שפּראַך דיסקריפּשאַנז. עס איז נאָך פֿאַרמאַכט פֿאַר דעם ציבור.
סטאַביליטי אַי דעמאָלט באפרייט די סטאַביל דיפיוזשאַן מאָדעל, אַן אָפֿן-מקור וואַריאַנט פון DALLE2. דעם קאַטער האט אָלטערד אַלץ. מענטשן איבער דער אינטערנעץ האָבן ארויס שנעל רעזולטאַטן און סאַפּרייזד דורך רעאַליסטיש קונסט.
וואָס איז סטאַביל דיפפוסיאָן?
סטאַביל דיפיוזשאַן איז אַ מאַשין לערנען מאָדעל וואָס איז ביכולת צו שאַפֿן בילדער פֿון טעקסט, טשאַנגינג בילדער דיפּענדינג אויף דעם טעקסט, און פּלאָמבירן דעטאַילס אויף נידעריק-האַכלאָטע אָדער נידעריק-דעטאַל בילדער.
עס איז געווען טריינד אויף ביליאַנז פון פאָטאָס און קענען צושטעלן רעזולטאַטן עקוויוואַלענט צו DALL-E2 און מיד דזשאָורניי. סטאַביליטי אַי ינווענטיד עס, און עס איז געווען עפנטלעך אויף 22 אויגוסט 2022.
אָבער מיט לימיטעד היגע קאַמפּיוטיישאַנאַל רעסורסן, די סטאַבלע דיפפוסיאָן מאָדעל נעמט אַ לאַנג צייַט צו שאַפֿן הויך-קוואַליטעט בילדער. פליסנדיק דעם מאָדעל אָנליין ניצן אַ וואָלקן שפּייַזער גיט אונדז כּמעט ינפאַנאַט קאַמפּיוטיישאַנאַל רעסורסן און אַלאַוז אונדז צו קריגן ויסגעצייכנט רעזולטאַטן פיל פאַסטער.
האָסטינג די מאָדעל ווי אַ מיקראָסערוויס אויך אַלאַוז אנדערע שעפעריש אַפּפּס צו מער גרינג אויסנוצן די מאָדעל ס פּאָטענציעל אָן האָבן צו האַנדלען מיט די קאַמפּלעקסיטיז פון פליסנדיק ML מאָדעלס אָנליין.
אין דעם פּאָסטן, מיר וועלן פּרווון צו באַווייַזן ווי צו אַנטוויקלען אַ סטאַביל דיפיוזשאַן מאָדעל און צעוויקלען עס צו AWS.
בויען און צעוויקלען סטאַביל דיפפוסיאָן
בענטאָמל און Amazon Web Services EC2 זענען צוויי אָפּציעס פֿאַר האָסטינג די סטאַבלע דיפוסיאָן מאָדעל אָנליין. BentoML איז אַן אָפֿן-מקור פריימווערק פֿאַר סקיילינג מאַשין וויסן באַדינונגען. מיט BentoML, מיר וועלן בויען אַ פאַרלאָזלעך דיספּערשאַן דינסט און צעוויקלען עס צו AWS EC2.
פּריפּערינג די סוויווע און אראפקאפיע סטאַביל דיפיוזשאַן מאָדעל
ינסטאַלירן רעקווירעמענץ און קלאָון די ריפּאַזאַטאָרי.
איר קענען אויסקלייַבן און אראפקאפיע די סטאַבלע דיפפוסיאָן מאָדעל. איין פּינטלעכקייַט איז פּאַסיק פֿאַר קפּוס אָדער גפּוס מיט מער ווי 10 גב פון VRAM. האַלב פּינטלעכקייַט איז ידעאַל פֿאַר גפּוס מיט ווייניקער ווי 10GB VRAM.
בנין סטאַביל דיפיוזשאַן
מיר וועלן בויען אַ BentoML דינסט צו דינען דעם מאָדעל הינטער אַ RESTful API. די פאלגענדע ביישפּיל ניצט די איין פּינטלעכקייַט מאָדעל פֿאַר פּראָגנאָז און די service.py מאָדולע צו פאַרבינדן די סערוויס צו געשעפט לאָגיק. מיר קענען ויסשטעלן די פאַנגקשאַנז ווי אַפּיס דורך טאַגינג זיי מיט @svc.api.
דערצו, מיר קענען דעפינירן די אַרייַנשרייַב און רעזולטאַט טייפּס פון APIs אין די פּאַראַמעטערס. דער txt2img ענדפּוינט, פֿאַר בייַשפּיל, נעמט אַ JSON אַרייַנשרייַב און טראגט אַ בילד רעזולטאַט, כאָטש די img2img ענדפּוינט אַקסעפּץ אַ בילד און אַ JSON אַרייַנשרייַב און קערט אַ בילד רעזולטאַט.
א StableDiffusionRunnable דיפיינז די יקערדיק ינפעראַנס לאָגיק. די רונאַבלע איז אין באַשולדיקונג צו לויפן די מאָדעל ס txt2img רער מעטהאָדס און שיקן די באַטייַטיק ינפּוץ. פֿאַר פליסנדיק די מאָדעל ינפעראַנס לאָגיק אין די אַפּיס, אַ מנהג ראַנער איז קאַנסטראַקטאַד פֿון די StableDiffusionRunnable.
דערנאָך, נוצן די פאלגענדע באַפֿעל צו אָנהייבן אַ BentoML סערוויס פֿאַר טעסטינג. לאָוקאַלי פליסנדיק די סטאַביל דיפיוזשאַן מאָדעל השפּעה אויף קפּוס איז גאַנץ פויל. יעדער בקשה וועט נעמען וועגן 5 מינוט צו פּראָצעס.
טעקסט צו בילד
טעקסט צו בילד רעזולטאַט
די bentofile.yaml טעקע דיפיינז די פארלאנגט טעקעס און דיפּענדאַנסיז.
ניצן די באַפֿעל אונטן צו בויען אַ בענטאָ. א בענטאָ איז די פאַרשפּרייטונג פֿאָרמאַט פֿאַר אַ BentoML דינסט. עס איז אַ זיך-קאַנטיינד אַרקייוו וואָס כּולל אַלע די דאַטן און קאַנפיגיעריישאַנז דארף צו אָנהייבן די דינסט.
די סטאַביל דיפיוזשאַן בענטאָ איז געענדיקט. אויב איר האָט ניט געקענט צו דזשענערייט די בענטאָ רעכט, טאָן ניט פּאַניק; איר קענען אראפקאפיע פאַר-געבויט מאָדעל ניצן די קאַמאַנדז ליסטעד אין דער ווייַטער אָפּטיילונג.
פאַר-בויען מאָדעלס
די פאלגענדע זענען די פאַר-בויען מאָדעלס:
צעוויקלען סטאַביל דיפפוסיאָן מאָדעל צו EC2
צו צעוויקלען די בענטאָ צו EC2, מיר וועלן נוצן בענטאָקטל. בענטאָקטל קענען לאָזן איר צעוויקלען דיין בענטאָס צו קיין וואָלקן פּלאַטפאָרמע ניצן Terraform. צו בויען און צולייגן Terraform טעקעס, ינסטאַלירן די AWS EC2 אָפּעראַטאָר.
אין די דיפּלוימאַנט config.yaml טעקע, די דיפּלוימאַנט איז שוין קאַנפיגיערד. ביטע פילן פריי צו רעדאַגירן צו דיין באדערפענישן. די בענטאָ איז דיפּלויד דורך פעליקייַט אויף אַ g4dn.xlarge באַלעבאָס מיט די Deep Learning AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI אויף די USA-מערב-1 געגנט.
שאַפֿן די Terraform טעקעס איצט. שאַפֿן די דאָקקער בילד און צופֿעליקער עס צו AWS ECR. דעפּענדינג אויף דיין באַנדווידט, בילד ופּלאָאַדינג קען נעמען אַ לאַנג צייַט. ניצן די טערראַפאָרם טעקעס צו דיפּלייינג די בענטאָ צו AWS EC2.
צו אַקסעס די Swagger UI, פאַרבינדן צו די EC2 קאַנסאָול און עפֿענען די עפנטלעך IP אַדרעס אין אַ בלעטערער. צום סוף, אויב די סטאַבלע דיפפוסיאָן BentoML דינסט איז ניט מער פארלאנגט, אַראָפּנעמען די דיפּלוימאַנט.
סאָף
איר זאָל קענען צו זען ווי פאַסאַנייטינג און שטאַרק SD און זייַן באַגלייטער מאָדעלס זענען. צייט וועט זאָגן אויב מיר וועלן יטערייט דעם באַגריף ווייַטער אָדער מאַך אויף צו מער סאַפיסטאַקייטיד אַפּראָוטשיז.
אָבער, עס זענען דערווייַל ינישאַטיווז צו באַן ביגער מאָדעלס מיט אַדזשאַסטמאַנץ צו בעסער אָנכאַפּן די סוויווע און די ינסטראַקשאַנז. מיר געפרוווט צו אַנטוויקלען די סטאַביל דיפיוזשאַן דינסט ניצן BentoML און דיפּלויד עס צו AWS EC2.
מיר זענען ביכולת צו לויפן די סטאַבלע דיפפוסיאָן מאָדעל אויף מער שטאַרק ייַזנוואַרג, מאַכן בילדער מיט נידעריק לייטאַנסי און פאַרברייטערן ווייַטער פון אַ איין קאָמפּיוטער דורך דיפּלייינג די סערוויס אויף AWS EC2.
לאָזן אַ ענטפֿערן