Vinnaren i pepparkakshustävlingen!
2024-03-29, 12:55
  #1
Medlem
Någon insatt i vad man ska välja för distribution om man vill sätta upp en egen server, på exempelvis amazon, som kör Stable Diffusion - members ska kunna logga in och köra sina egna prompter

(PS. Jag har ingen tillräckligt bra dator/server hemma för att köra SD lokalt, och jag planerar inte heller köpa någon med bra grafikkort för snart släppt väl SD4 och SD5 osv och då blir min lokala hårdvara snabbt för obsolete)

Jag har sneglat lite på ComfyUI, och antar att man ska kunna skapa egna workflows som man sedan kan låta sina användare av webbtjänsten köra via API? Som man bygger nån egen webbsida som wrapper för? Vet någon om detta är vad publika SD-webbsidor brukar köra i bakgrunden eller vilka alternativ finns det?

Min spontana gissning är att ComfyUI är för tungt och krävande för att använda på en multi-användare-lösning
Citera
2024-03-29, 13:07
  #2
Medlem
Maxtaduss avatar
Citat:
Ursprungligen postat av Servalen
Någon insatt i vad man ska välja för distribution om man vill sätta upp en egen server, på exempelvis amazon, som kör Stable Diffusion - members ska kunna logga in och köra sina egna prompter

(PS. Jag har ingen tillräckligt bra dator/server hemma för att köra SD lokalt, och jag planerar inte heller köpa någon med bra grafikkort för snart släppt väl SD4 och SD5 osv och då blir min lokala hårdvara snabbt för obsolete)

Jag har sneglat lite på ComfyUI, och antar att man ska kunna skapa egna workflows som man sedan kan låta sina användare av webbtjänsten köra via API? Som man bygger nån egen webbsida som wrapper för? Vet någon om detta är vad publika SD-webbsidor brukar köra i bakgrunden eller vilka alternativ finns det?

Min spontana gissning är att ComfyUI är för tungt och krävande för att använda på en multi-användare-lösning


oobabooga?
Citera
2024-03-29, 15:19
  #3
Medlem
jenniferruless avatar
Citat:
Ursprungligen postat av Servalen
Någon insatt i vad man ska välja för distribution om man vill sätta upp en egen server, på exempelvis amazon, som kör Stable Diffusion - members ska kunna logga in och köra sina egna prompter

(PS. Jag har ingen tillräckligt bra dator/server hemma för att köra SD lokalt, och jag planerar inte heller köpa någon med bra grafikkort för snart släppt väl SD4 och SD5 osv och då blir min lokala hårdvara snabbt för obsolete)

Jag har sneglat lite på ComfyUI, och antar att man ska kunna skapa egna workflows som man sedan kan låta sina användare av webbtjänsten köra via API? Som man bygger nån egen webbsida som wrapper för? Vet någon om detta är vad publika SD-webbsidor brukar köra i bakgrunden eller vilka alternativ finns det?

Min spontana gissning är att ComfyUI är för tungt och krävande för att använda på en multi-användare-lösning

kör Flask eller FastAPI för Python ,skapa ett REST API som användarna kan interagera med..
ComfyUI skalar inte så bra. Skulle satsat på nåt mer lättviktigt och snabbare.
Använd OAuth och JWT för autentisering.

skulle nog kört centos och docker på AWS, p3 eller p4. Du behöver mycket GPU.
__________________
Senast redigerad av jenniferrules 2024-03-29 kl. 15:21.
Citera
2024-03-29, 16:43
  #4
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Servalen
(PS. Jag har ingen tillräckligt bra dator/server hemma för att köra SD lokalt, och jag planerar inte heller köpa någon med bra grafikkort för snart släppt väl SD4 och SD5 osv och då blir min lokala hårdvara snabbt för obsolete)
Hur ska du lösa detta då, hyra en dedikerad?
Citera
2024-03-29, 17:43
  #5
Medlem
Hrass avatar
Hittade du något från Amazon? Precis som du är inne på är det nog tjänster som säljer molnlösningar eller beräkningskraft som du får titta på. Vanliga VPS-leverantörer brukar inte prioritera grafikkort i hårdvaran... Med tillräcklig kräm för flera samtidiga användare.

Annars krävs det ju inget monstergrafikkort för att köra Stable Diffusion. Har du bara tillräckligt med grafikminne ( ~12 GB) så handlar det bara om hur lång tid det tar att skapa bilderna. ~5000 kr klarar du dig på. Tuggar väl i någon minut för en HD-bild
Citera
2024-03-29, 21:49
  #6
Medlem
Prempions avatar
Baksidan med en molntjänst är att du betalar en fast avgift även om du inte har betalande kunder.
Citat:
Ursprungligen postat av Hras
Annars krävs det ju inget monstergrafikkort för att köra Stable Diffusion. Har du bara tillräckligt med grafikminne ( ~12 GB) så handlar det bara om hur lång tid det tar att skapa bilderna. ~5000 kr klarar du dig på. Tuggar väl i någon minut för en HD-bild
Jag kör själv med 12 GB NVIDIA 3060 och de billigaste går för under 4000 nu. Men numera går det även att köra Stable Diffusion på Intel och AMD:s grafikkort. Så priset för ett tillräckligt bra grafikkort lär sjunka en hel del under det kommande året. Tror inte det kommer mer än max en ny version av Stable Diffusion från originaltillverkaren Stability AI, det företaget kommer gå i konkurs pga deras ovilja mot att generera NSFW-bilder. Utvecklingen drivs av privatpersoner som skapar porr på billig hårdvara.
Citera
2024-03-30, 08:23
  #7
Medlem
kaerakels avatar
Det går att köra mha Docker, via tjänster som typ vast.ai, så kan du kanske exponera porten via ngrok. Jag har åtminstone fått igång det på vast.ai men är så trött på open-source skräp, allting krånglar och så har man dependency härv på köpet.

Idén med vast.ai är att privatpersoner lägger upp sina grafikkort så får man hyra in sig för en liten peng. Du kan betala med crypto också

Rätt stökigt om du inte är tekniskt kunnig, men det är å andra sidan Amazon också.
Andra tjänster som kan fungera är modul.com och datacrunch.

Förtydligande, jag menar den här WebUI historian: https://github.com/AUTOMATIC1111/stable-diffusion-webui
__________________
Senast redigerad av kaerakel 2024-03-30 kl. 08:40.
Citera
2024-03-30, 16:11
  #8
Medlem
Xpk8DTPMxw8bz0gGrgs avatar
Imo, inget slår ComfyUI när det kommer till att bygga egna API workflows som du kan koppla ihop med din backend. Om jag inte minns helt fel så har även Emad (f.d. CEO) från stability sagt att de använder comfyui internt inom företaget.

Den viktiga frågan är väll egentligen vad du tänkte använda det för, vilket jag inte riktigt förstått utifrån vad du skrivit. Här är några frågor du bör ställa dig.

- Är det något som är öppet för allmänheten som ska gå att skala upp?
- Är det endast för ett litet team/företag/vänner/familj?
- Hade du tänkt att dina användare skulle få tillgång till ett fullt UI som ComfyUI/Invoke eller tänkte du bygga din egna app?

Om du bygger din egna app, så ta dig en titt på https://replicate.com/. De erbjuder troligtvis allt du behöver och du betalar endast när du använder deras API.

Precis som Prempion säger så är nackdelen med gpucloud-tjänster att du måste betala oavsätt ifall du har några betalande kunder.
Citera
2024-03-30, 17:37
  #9
Medlem
Tack för alla tips hittills! Uppskattas mycket!

Citat:
Ursprungligen postat av Xpk8DTPMxw8bz0gGrg

- Är det något som är öppet för allmänheten som ska gå att skala upp?
- Är det endast för ett litet team/företag/vänner/familj?
- Hade du tänkt att dina användare skulle få tillgång till ett fullt UI som ComfyUI/Invoke eller tänkte du bygga din egna app?


1. Japp, japp. Tanken är att öppna för vem som helst, gratis, och med möjlighet att skala upp.
2. Nej, bara för mig själv inkl. "främlingar"
3. Användarna ska få tillgång till en nedskalad version med ytterst få variabler att välja. Så det får bli en helt egen app som via API kopplar mot ett custom ComfyUI-workflow (om ComfyUI är den backend jag väljer). Jag har redan egenbyggd pipeline i python byggd i google colab, vilken utgör min USP för att stå ut i mängden, som även fungerar i ComfyUI, som jag önskar "släppa" publikt bakom en mycket enkel webbsida. Om det blir populärt kanske jag ska börja ta betalt för premium-medlemsskap, men det är en senare fråga.

Citat:
Ursprungligen postat av Xpk8DTPMxw8bz0gGrg

Om du bygger din egna app, så ta dig en titt på https://replicate.com/. De erbjuder troligtvis allt du behöver och du betalar endast när du använder deras API.

Precis som Prempion säger så är nackdelen med gpucloud-tjänster att du måste betala oavsätt ifall du har några betalande kunder.

Ja, jag hade ju tänkt att starta i så liten skala som möjligt, och ha ett lågt tak för medlemmar - som t.ex. max 5 bilder/dygn eller så.
__________________
Senast redigerad av Servalen 2024-03-30 kl. 17:48.
Citera
2024-03-30, 21:44
  #10
Medlem
Xpk8DTPMxw8bz0gGrgs avatar
Citat:
Ursprungligen postat av Servalen

1. Japp, japp. Tanken är att öppna för vem som helst, gratis, och med möjlighet att skala upp.
2. Nej, bara för mig själv inkl. "främlingar"
3. Användarna ska få tillgång till en nedskalad version med ytterst få variabler att välja. Så det får bli en helt egen app som via API kopplar mot ett custom ComfyUI-workflow (om ComfyUI är den backend jag väljer). Jag har redan egenbyggd pipeline i python byggd i google colab, vilken utgör min USP för att stå ut i mängden, som även fungerar i ComfyUI, som jag önskar "släppa" publikt bakom en mycket enkel webbsida. Om det blir populärt kanske jag ska börja ta betalt för premium-medlemsskap, men det är en senare fråga.

Ja, jag hade ju tänkt att starta i så liten skala som möjligt, och ha ett lågt tak för medlemmar - som t.ex. max 5 bilder/dygn eller så.

Utifrån din beskrivning så hade jag börjat med replicate.

Du kan fortfarande använda ComfyUI workflows vilket gör det lättare att byta server senare om det skulle bli aktuellt. Tyvärr kan du dock inte köra vilken modell som helst. Se tillgängliga modeller i listan nedan.

Info:
https://replicate.com/guides/comfyui...ui-with-an-api (allmän info)
https://github.com/fofr/cog-comfyui (tillgängliga nodes)
https://github.com/fofr/cog-comfyui/...ted_weights.md (tillgängliga modeller)

Behöver du träna/köra andra modeller så får du nog strunta i comfyui.
Citera
2024-03-31, 19:54
  #11
Medlem
fnattes avatar
Citat:
Ursprungligen postat av Servalen
Någon insatt i vad man ska välja för distribution om man vill sätta upp en egen server, på exempelvis amazon, som kör Stable Diffusion - members ska kunna logga in och köra sina egna prompter

(PS. Jag har ingen tillräckligt bra dator/server hemma för att köra SD lokalt, och jag planerar inte heller köpa någon med bra grafikkort för snart släppt väl SD4 och SD5 osv och då blir min lokala hårdvara snabbt för obsolete)

Jag har sneglat lite på ComfyUI, och antar att man ska kunna skapa egna workflows som man sedan kan låta sina användare av webbtjänsten köra via API? Som man bygger nån egen webbsida som wrapper för? Vet någon om detta är vad publika SD-webbsidor brukar köra i bakgrunden eller vilka alternativ finns det?

Min spontana gissning är att ComfyUI är för tungt och krävande för att använda på en multi-användare-lösning

Jag vet inte om ComfyUI använder mindre resurser än Stable Diffusion Automatic1111. Men comfy ”renderar” iaf SDXL mycket snabbare för mig.

Om du vill starta upp Automatic1111 som en server och nå den från webben med en gradio länk så går du in och ändrar i filen webui-user.bat på windows och webui-user.sh om du använder linux.

Så här skulle du skulle ställa in raderna som startar med COMMANDLINE_ARGS=

För Windows (webui-user.bat):

set COMMANDLINE_ARGS=--share --gradio-auth username:password

I detta exempel för Windows, kommer COMMANDLINE_ARGS att ställa in Stable Diffusion för att starta med --share för att dela din applikation online via gradio och --gradio-auth för att kräva autentisering med det specificerade användarnamnet och lösenordet.

För Linux (webui-user.sh):

export COMMANDLINE_ARGS="--share --gradio-auth username:password"

(om du inte ändrat något tidigare så se till att TA BORT # tecknet som förmodligen finns innan så här ”#export COMMANDLINE_ARGS=” på linux.)

I båda fallen, ersätt username:password med dina faktiska autentiseringsuppgifter.

-*~ Angående flera användare! -*~

Vill du ha flera användarnamn och lösenord separerar du dom med kommatecken, så här: --gradio-auth username1:password1,username2:password2.

Kom ihåg att dessa exempel enbart visar hur du ställer in COMMANDLINE_ARGS variabeln för att använda --share och --gradio-auth. Beroende på ditt specifika projekt eller miljö kan du behöva inkludera ytterligare argument eller konfigurationer.
Citera
2024-04-01, 12:20
  #12
Medlem
Citat:
Ursprungligen postat av Xpk8DTPMxw8bz0gGrg
Utifrån din beskrivning så hade jag börjat med replicate.

Du kan fortfarande använda ComfyUI workflows vilket gör det lättare att byta server senare om det skulle bli aktuellt. Tyvärr kan du dock inte köra vilken modell som helst. Se tillgängliga modeller i listan nedan.

Info:
https://replicate.com/guides/comfyui...ui-with-an-api (allmän info)
https://github.com/fofr/cog-comfyui (tillgängliga nodes)
https://github.com/fofr/cog-comfyui/...ted_weights.md (tillgängliga modeller)

Behöver du träna/köra andra modeller så får du nog strunta i comfyui.

Citat:
Ursprungligen postat av fnatte
Jag vet inte om ComfyUI använder mindre resurser än Stable Diffusion Automatic1111. Men comfy ”renderar” iaf SDXL mycket snabbare för mig.

Om du vill starta upp Automatic1111 som en server och nå den från webben med en gradio länk så går du in och ändrar i filen webui-user.bat på windows och webui-user.sh om du använder linux.

Så här skulle du skulle ställa in raderna som startar med COMMANDLINE_ARGS=

För Windows (webui-user.bat):

set COMMANDLINE_ARGS=--share --gradio-auth usernameassword

I detta exempel för Windows, kommer COMMANDLINE_ARGS att ställa in Stable Diffusion för att starta med --share för att dela din applikation online via gradio och --gradio-auth för att kräva autentisering med det specificerade användarnamnet och lösenordet.

För Linux (webui-user.sh):

export COMMANDLINE_ARGS="--share --gradio-auth usernameassword"

(om du inte ändrat något tidigare så se till att TA BORT # tecknet som förmodligen finns innan så här ”#export COMMANDLINE_ARGS=” på linux.)

I båda fallen, ersätt usernameassword med dina faktiska autentiseringsuppgifter.

-*~ Angående flera användare! -*~

Vill du ha flera användarnamn och lösenord separerar du dom med kommatecken, så här: --gradio-auth username1assword1,username2assword2.

Kom ihåg att dessa exempel enbart visar hur du ställer in COMMANDLINE_ARGS variabeln för att använda --share och --gradio-auth. Beroende på ditt specifika projekt eller miljö kan du behöva inkludera ytterligare argument eller konfigurationer.

Tack för tipsen om replicate, gradio och Automatic1111!

Det är tre exempel på alternativ till ComfyUI, eller förstår jag er fel?

Jag är inte så insatt i webbprogrammering, jag kan lite gammal asp och har testat php så detta är väldigt förvirrande för mig, jag har lite svårt att skilja på vad som är programmeringsspråk på klient och server, vad som är klient-ramverk för UI i webbläsaren, vad som är backend-server ramverk och vad som är tjänsteleverantörer.

Jag försöker se det från perspektivet av en användare som besöker min webbsida och loggar in där:
Hur ser flödet ut, steg-för-steg, tills att servern kör SD och levererar tillbaka en länk till en bild?

1. Besökaren loggar in på webbsidan (HTML + JS, är det aspx/C# på webbservern? Eller Node.js/Java?)
2. Anrop går på något sätt till Python-scriptet (Används Gradio då?)
3. Python-scriptet rullar på servern. Skapar och lagrar bilden. Returnerar en webb-länk till bilden
4. Webb-servern returnerar länken till besökaren/användaren.

Som ni förstår har jag problem med arkitekturen, hur de olika delarna hänger ihop och vad de är till för. Det känns som att det saknas ett par led.

Jag hittade en tutorial på YT och personen använde Vercel, NextJS, S3, Redis och en worker som körde Python bara för att skapa den allra enklaste frontend + backend - lösningen och tänkte att det måste finnas enklare sätt, men det kanske är vad som krävs?
__________________
Senast redigerad av Servalen 2024-04-01 kl. 12:43.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback