Connect with us

Alat AI 101

Flux oleh Black Forest Labs: Lompatan Berikutnya dalam Model Text-to-Image. Apakah lebih baik daripada Midjourney?

mm
Black Forest Labs Open-Source FLUX.1: A 12 Billion Parameter Transformer Capable of Generating Images

Black Forest Labs, tim di balik model Stable Diffusion yang revolusioner, telah merilis Flux – sebuah suite model state-of-the-art yang berjanji untuk mendefinisikan kembali kemampuan citra AI yang dihasilkan. Tapi apakah Flux benar-benar mewakili lompatan ke depan dalam bidang ini, dan bagaimana ia membandingkan dengan pemimpin industri seperti Midjourney? Mari kita menyelami dunia Flux dan jelajahi potensinya untuk membentuk kembali masa depan seni dan media AI yang dihasilkan.

Kelahiran Black Forest Labs

Black Forest Labs bukanlah startup AI biasa; itu adalah kekuatan bakat dengan catatan pengembangan model AI generatif fondasional. Tim ini termasuk pencipta VQGAN, Latent Diffusion, dan keluarga model Stable Diffusion yang telah mengambil alih dunia seni AI.

Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

Dengan putaran pendanaan Series Seed sebesar $31 juta yang dipimpin oleh Andreessen Horowitz dan dukungan dari investor malaikat terkenal, Black Forest Labs telah memposisikan diri mereka di garis depan penelitian AI generatif. Misi mereka jelas: mengembangkan dan memajukan model pembelajaran dalam generatif state-of-the-art untuk media seperti gambar dan video, sambil mendorong batas-batas kreativitas, efisiensi, dan keragaman.

Memperkenalkan Keluarga Model Flux

Black Forest Labs telah memperkenalkan suite model text-to-image FLUX.1, yang dirancang untuk menetapkan benchmark baru dalam detail gambar, kepatuhan prompt, keragaman gaya, dan kompleksitas adegan. Keluarga Flux terdiri dari tiga varian, masing-masing dirancang untuk kasus penggunaan dan tingkat aksesibilitas yang berbeda:

  1. FLUX.1 [pro]: Model bendera, menawarkan kinerja kelas atas dalam generasi gambar dengan kepatuhan prompt yang unggul, kualitas visual, detail gambar, dan keragaman output. Tersedia melalui API, ini diposisikan sebagai opsi premium untuk penggunaan profesional dan perusahaan.
  2. FLUX.1 [dev]: Model yang ditala dengan bimbingan, untuk aplikasi non-komersial. Dirancang untuk mencapai kualitas dan kemampuan kepatuhan prompt yang serupa dengan versi pro, sambil lebih efisien.
  3. FLUX.1 [schnell]: Model tercepat dalam suite, dioptimalkan untuk pengembangan lokal dan penggunaan pribadi. Tersedia secara terbuka di bawah lisensi Apache 2.0, membuatnya dapat diakses untuk berbagai aplikasi dan eksperimen.

Saya akan memberikan beberapa contoh prompt kreatif dan unik yang menunjukkan kemampuan FLUX.1. Prompt-prompt ini akan menyoroti kekuatan model dalam menangani teks, komposisi adegan yang kompleks, dan elemen yang menantang seperti tangan.

  • Pencampuran Gaya Artistik dengan Teks: “Buatlah potret Vincent van Gogh dalam gaya khasnya, tetapi gantilah jenggotnya dengan sapuan kuas yang membentuk kata-kata ‘Starry Night’ dalam huruf miring.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

  • Adegan Aksi Dinamis dengan Integrasi Teks: “Seorang pahlawan super meledak dari halaman komik. Garis aksi dan efek suara harus membentuk nama ‘FLUX FORCE’ dalam tipografi dinamis yang tebal.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

  • Konsep Surealis dengan Penempatan Objek yang Presisi: “Close-up kucing dengan warna coklat dan putih di bawah sinar matahari jendela. Fokus tajam pada tekstur dan warna mata. Pencahayaan alami untuk menangkap kilau mata yang autentik dan kedalaman.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

Prompt-prompt ini dirancang untuk menantang kemampuan FLUX.1 dalam rendering teks, komposisi adegan yang kompleks, dan pembuatan objek yang detail, sambil menunjukkan potensinya untuk generasi gambar kreatif dan unik.

Inovasi Teknis di Balik Flux

Di jantung kemampuan Flux yang mengesankan terdapat serangkaian inovasi teknis yang membedakannya dari pendahulunya dan kontemporer:

Model Aliran yang Ditenagai Transformer pada Skala

Semua model FLUX.1 publik dibangun pada arsitektur hibrida yang menggabungkan blok difusi multimodal dan paralel, diperbesar hingga 12 miliar parameter. Ini mewakili lompatan signifikan dalam ukuran model dan kompleksitas dibandingkan dengan banyak model text-to-image yang ada.

Model Flux memperbaiki model difusi state-of-the-art sebelumnya dengan mengintegrasikan pencocokan aliran, sebuah metode umum dan konseptual sederhana untuk melatih model generatif. Pencocokan aliran menyediakan kerangka kerja yang lebih fleksibel untuk model generatif, dengan model difusi sebagai kasus khusus dalam pendekatan yang lebih luas.

Untuk meningkatkan kinerja model dan efisiensi perangkat keras, Black Forest Labs telah mengintegrasikan penyematan posisi rotary dan lapisan perhatian paralel. Teknik-teknik ini memungkinkan penanganan yang lebih baik dari hubungan spasial dalam gambar dan pemrosesan data skala besar yang lebih efisien.

Inovasi Arsitektural

Mari kita turut serta beberapa elemen arsitektural kunci yang menyumbang kinerja Flux:

  1. Arsitektur Hibrida: Dengan menggabungkan blok difusi multimodal dan paralel, Flux dapat secara efektif memproses informasi tekstual dan visual, menghasilkan keselarasan yang lebih baik antara prompt dan gambar yang dihasilkan.
  2. Pencocokan Aliran: Pendekatan ini memungkinkan pelatihan model generatif yang lebih fleksibel dan efisien. Ini menyediakan kerangka kerja terpadu yang mencakup model difusi dan teknik generatif lainnya, potensial menghasilkan generasi gambar yang lebih kuat dan beragam.
  3. Penyematan Posisi Rotary: Penyematan ini membantu model lebih baik memahami dan mempertahankan hubungan spasial dalam gambar, yang kritis untuk menghasilkan konten visual yang kohesif dan detail.
  4. Lapisan Perhatian Paralel: Teknik ini memungkinkan pemrosesan yang lebih efisien dari mekanisme perhatian, yang penting untuk memahami hubungan antara elemen dalam prompt teks dan gambar yang dihasilkan.
  5. Mengskalakan hingga 12B Parameter: Ukuran model yang besar memungkinkan penangkapan dan sintesis pola dan hubungan yang lebih kompleks, potensial menghasilkan output yang lebih berkualitas dan beragam.

Benchmaking Flux: Standar Baru dalam Sintesis Gambar

https://blackforestlabs.ai/announcing-black-forest-labs/

https://blackforestlabs.ai/announcing-black-forest-labs/

Black Forest Labs mengklaim bahwa FLUX.1 menetapkan standar baru dalam sintesis gambar, melampaui model populer seperti Midjourney v6.0, DALL·E 3 (HD), dan SD3-Ultra dalam beberapa aspek kunci:

  1. Kualitas Visual: Flux bertujuan untuk menghasilkan gambar dengan fidelitas yang lebih tinggi, detail yang lebih realistis, dan daya tarik estetika yang lebih baik.
  2. Kepatuhan Prompt: Model ini dirancang untuk mematuhi prompt teks yang diberikan dengan lebih akurat, menghasilkan gambar yang lebih tepat mencerminkan niat pengguna.
  3. Variabilitas Ukuran/Aspek: Flux mendukung berbagai rasio aspek dan resolusi, dari 0,1 hingga 2,0 megapiksel, menawarkan fleksibilitas untuk berbagai kasus penggunaan.
  4. Tipografi: Model ini menunjukkan kemampuan yang ditingkatkan dalam menghasilkan dan merender teks dalam gambar, sebuah tantangan umum bagi banyak model text-to-image.
  5. Keragaman Output: Flux secara khusus ditala untuk mempertahankan seluruh keragaman output dari pelatihan sebelumnya, menawarkan rentang kemungkinan kreatif yang lebih luas.

Flux vs. Midjourney: Analisis Perbandingan

https://blackforestlabs.ai/announcing-black-forest-labs/

Sekarang, mari kita jawab pertanyaan yang menggelitiki: Apakah Flux lebih baik daripada Midjourney? Untuk menjawab ini, kita perlu mempertimbangkan beberapa faktor:

Kualitas Gambar dan Estetika

Baik Flux dan Midjourney dikenal karena menghasilkan gambar berkualitas tinggi yang secara visual mengesankan. Midjourney telah dipuji karena kekuatan artistiknya dan kemampuan menghasilkan gambar dengan daya tarik estetika yang khas. Flux, dengan arsitektur yang lebih maju dan jumlah parameter yang lebih besar, bertujuan untuk mencapai atau melampaui tingkat kualitas ini.

Contoh awal dari Flux menunjukkan detail yang mengesankan, tekstur yang realistis, dan pemahaman yang kuat tentang pencahayaan dan komposisi. Namun, sifat subjektif seni membuatnya sulit untuk secara definitif mengklaim superioritas dalam area ini. Pengguna mungkin menemukan bahwa setiap model memiliki kekuatan dalam gaya atau jenis gambar yang berbeda.

Kepatuhan Prompt

Salah satu area di mana Flux potensial mengungguli Midjourney adalah dalam kepatuhan prompt. Black Forest Labs menekankan fokus mereka pada memperbaiki kemampuan model untuk menafsirkan dan mengeksekusi prompt teks dengan akurat. Ini bisa menghasilkan gambar yang dihasilkan yang lebih tepat mencerminkan niat pengguna, terutama untuk permintaan yang kompleks atau nuansa.

Midjourney telah dikritik karena mengambil kebebasan kreatif dengan prompt, yang dapat menghasilkan hasil yang indah tetapi tidak terduga. Pendekatan Flux mungkin menawarkan kontrol yang lebih presisi atas output yang dihasilkan.

Kecepatan dan Efisiensi

Dengan pengenalan FLUX.1 [schnell], Black Forest Labs menargetkan salah satu keunggulan Midjourney: kecepatan. Midjourney dikenal karena waktu generasi yang cepat, yang membuatnya populer untuk proses kreatif iteratif. Jika Flux dapat mencapai atau melampaui kecepatan ini sambil mempertahankan kualitas, itu bisa menjadi poin penjualan yang signifikan.

Aksesibilitas dan Kemudahan Penggunaan

Midjourney telah mendapatkan popularitas sebagian karena antarmuka pengguna yang ramah dan integrasi dengan Discord. Flux, yang lebih baru, mungkin memerlukan waktu untuk mengembangkan antarmuka yang sama ramah pengguna. Namun, sifat open-source dari model FLUX.1 [schnell] dan [dev] bisa mengarah pada berbagai alat dan integrasi yang dikembangkan komunitas, potensial melebihi Midjourney dalam hal fleksibilitas dan opsi kustomisasi.

Kemampuan Teknis

Arsitektur yang lebih maju dan ukuran model yang lebih besar dari Flux menunjukkan bahwa ia mungkin memiliki kemampuan yang lebih mentah dalam memahami prompt yang kompleks dan menghasilkan detail yang intrik. Pendekatan pencocokan aliran dan arsitektur hibrida bisa memungkinkan Flux untuk menangani berbagai tugas dan menghasilkan output yang lebih beragam.

Pertimbangan Etis dan Mitigasi Bias

Baik Flux dan Midjourney menghadapi tantangan dalam menangani kekhawatiran etis dalam gambar AI yang dihasilkan, seperti bias, informasi yang salah, dan masalah hak cipta. Penekanan Black Forest Labs pada transparansi dan komitmen mereka untuk membuat model tersedia secara luas bisa potensial mengarah pada pengawasan komunitas yang lebih kuat dan perbaikan yang lebih cepat dalam area-area ini.

Implementasi Kode dan Penerapan

Menggunakan Flux dengan Diffusers

Model Flux dapat dengan mudah diintegrasikan ke dalam alur kerja yang ada menggunakan perpustakaan Hugging Face Diffusers. Berikut adalah panduan langkah demi langkah untuk menggunakan FLUX.1 [dev] atau FLUX.1 [schnell] dengan Diffusers:

  1. Pertama, pasang atau perbarui perpustakaan Diffusers:
!pip install git+https://github.com/huggingface/diffusers.git
  1. Kemudian, Anda dapat menggunakan FluxPipeline untuk menjalankan model:
import torch
from diffusers import FluxPipeline

# Muat model
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)

# Aktifkan offloading CPU untuk menghemat VRAM (opsional)
pipe.enable_model_cpu_offload()

# Hasilkan gambar
prompt = "Kucing memegang tanda yang bertuliskan halo dunia"
image = pipe(
prompt,
height=1024,
width=1024,
guidance_scale=3.5,
output_type="pil",
num_inference_steps=50,
max_sequence_length=512,
generator=torch.Generator("cpu").manual_seed(0)
).images[0]

# Simpan gambar yang dihasilkan
image.save("flux-dev.png")

Potongan kode ini menunjukkan cara memuat model FLUX.1 [dev], menghasilkan gambar dari prompt teks, dan menyimpan hasilnya.

Menggelar Flux sebagai API dengan LitServe

Untuk mereka yang ingin menggelar Flux sebagai layanan API yang dapat diskalakan, Black Forest Labs menyediakan contoh menggunakan LitServe, sebuah mesin inferensi kinerja tinggi. Berikut adalah breakdown dari proses penerapan:

Definisikan server model:

from io import BytesIO
from fastapi import Response
import torch
import time
import litserve as ls
from optimum.quanto import freeze, qfloat8, quantize
from diffusers import FlowMatchEulerDiscreteScheduler, AutoencoderKL
from diffusers.models.transformers.transformer_flux import FluxTransformer2DModel
from diffusers.pipelines.flux.pipeline_flux import FluxPipeline
from transformers import CLIPTextModel, CLIPTokenizer, T5EncoderModel, T5TokenizerFast

class FluxLitAPI(ls.LitAPI):
def setup(self, device):
# Muat komponen model
scheduler = FlowMatchEulerDiscreteScheduler.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="scheduler")
text_encoder = CLIPTextModel.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
text_encoder_2 = T5EncoderModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="text_encoder_2", torch_dtype=torch.bfloat16)
tokenizer_2 = T5TokenizerFast.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="tokenizer_2", torch_dtype=torch.bfloat16)
vae = AutoencoderKL.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="vae", torch_dtype=torch.bfloat16)
transformer = FluxTransformer2DModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="transformer", torch_dtype=torch.bfloat16)

# Kuantisasi ke 8-bit untuk memasang pada L4 GPU
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)

# Inisialisasi pipa Flux
self.pipe = FluxPipeline(
scheduler=scheduler,
text_encoder=text_encoder,
tokenizer=tokenizer,
text_encoder_2=None,
tokenizer_2=tokenizer_2,
vae=vae,
transformer=None,
)
self.pipe.text_encoder_2 = text_encoder_2
self.pipe.transformer = transformer
self.pipe.enable_model_cpu_offload()

def decode_request(self, request):
return request["prompt"]

def predict(self, prompt):
image = self.pipe(
prompt=prompt,
width=1024,
height=1024,
num_inference_steps=4,
generator=torch.Generator().manual_seed(int(time.time())),
guidance_scale=3.5,
).images[0]
return image

def encode_response(self, image):
buffered = BytesIO()
image.save(buffered, format="PNG")
return Response(content=buffered.getvalue(), headers={"Content-Type": "image/png"})

# Mulai server
if __name__ == "__main__":
api = FluxLitAPI()
server = ls.LitServer(api, timeout=False)
server.run(port=8000)

Kode ini mengatur server Flux sebagai API, termasuk pemuatan model, penanganan permintaan, generasi gambar, dan pengkodean respons.

Mulai server:

python server.py

Gunakan model API:

Anda dapat menguji API menggunakan skrip klien sederhana:

import requests
import json

url = "http://localhost:8000/predict"
prompt = "robot duduk di kursi melukis gambar di atas kanvas dari kota futuristik, pop art"

response = requests.post(url, json={"prompt": prompt})
with open("generated_image.png", "wb") as f:
f.write(response.content)

print("Gambar dihasilkan dan disimpan sebagai generated_image.png")

Fitur Utama Penerapan

  1. Arsitektur Serverless: Pengaturan LitServe memungkinkan penerapan yang dapat diskalakan dan serverless yang dapat diskalakan hingga nol saat tidak digunakan.
  2. API Pribadi: Anda dapat menggelar Flux sebagai API pribadi di infrastruktur Anda sendiri.
  3. Dukungan Multi-GPU: Pengaturan ini dirancang untuk bekerja secara efisien di beberapa GPU.
  4. Kuantisasi: Kode ini menunjukkan cara menguantisasi model ke presisi 8-bit, memungkinkannya berjalan di perangkat keras yang kurang kuat seperti NVIDIA L4 GPU.
  5. Offloading CPU: Metode enable_model_cpu_offload() digunakan untuk menghemat memori GPU dengan mengalihkan bagian model ke CPU saat tidak digunakan.

Aplikasi Praktis dari Flux

Kelincahan dan kekuatan Flux membuka berbagai kemungkinan aplikasi di berbagai industri:

  1. Industri Kreatif: Perancang grafis, ilustrator, dan seniman dapat menggunakan Flux untuk menghasilkan konsep seni, papan mood, dan inspirasi visual dengan kecepatan dan kualitas yang belum pernah ada sebelumnya.
  2. Pemasaran dan Iklan: Pemasar dapat membuat visual khusus untuk kampanye, konten media sosial, dan mockup produk dengan kecepatan dan kualitas yang luar biasa.
  3. Pengembangan Game: Perancang game dapat menggunakan Flux untuk merancang lingkungan, karakter, dan aset dengan cepat, mempercepat proses pra-produksi.
  4. Arsitektur dan Desain Interior: Arsitek dan desainer dapat menghasilkan visualisasi realistis dari ruang dan struktur berdasarkan deskripsi teks.
  5. Pendidikan: Pendidik dapat membuat bantuan visual khusus dan ilustrasi untuk meningkatkan materi pembelajaran dan membuat konsep yang kompleks lebih mudah diakses.
  6. Film dan Animasi: Seniman storyboard dan animator dapat menggunakan Flux untuk mengvisualisasikan adegan dan karakter dengan cepat, mempercepat proses pra-visualisasi.

Masa Depan Flux dan Generasi Text-to-Image

Black Forest Labs telah membuat jelas bahwa Flux hanyalah awal dari ambisi mereka di ruang AI generatif. Mereka mengumumkan rencana untuk mengembangkan sistem generatif text-to-video yang kompetitif, menjanjikan kemampuan penciptaan dan penyuntingan yang presisi pada definisi tinggi dan kecepatan yang belum pernah ada sebelumnya.

Roadmap ini menunjukkan bahwa Flux bukanlah produk mandiri, melainkan bagian dari ekosistem yang lebih luas dari alat AI generatif. Saat teknologi berkembang, kita dapat mengharapkan:

  1. Integrasi yang Ditingkatkan: Alur kerja yang mulus antara generasi text-to-image dan text-to-video, memungkinkan penciptaan konten yang lebih kompleks dan dinamis.
  2. Kustomisasi yang Ditingkatkan: Kontrol yang lebih halus atas output yang dihasilkan, mungkin melalui teknik rekayasa prompt yang maju atau antarmuka pengguna yang intuitif.
  3. Generasi Waktu Nyata: Saat model seperti FLUX.1 [schnell] terus ditingkatkan, kita mungkin melihat kemampuan generasi gambar waktu nyata yang dapat merevolusi penciptaan konten langsung dan media interaktif.
  4. Generasi Cross-Modal: Kemampuan untuk menghasilkan dan memanipulasi konten di berbagai modalitas (teks, gambar, video, audio) dalam cara yang kohesif dan terintegrasi.
  5. Pengembangan AI yang Bertanggung Jawab: Fokus berkelanjutan pada mengembangkan model AI yang tidak hanya kuat tetapi juga bertanggung jawab dan etis.

Kesimpulan: Apakah Flux Lebih Baik daripada Midjourney?

Pertanyaan apakah Flux “lebih baik” daripada Midjourney tidak mudah dijawab dengan ya atau tidak. Kedua model mewakili teknologi generasi text-to-image paling mutakhir, masing-masing dengan kekuatan dan karakteristik unik.

Flux, dengan arsitektur yang lebih maju dan penekanan pada kepatuhan prompt, mungkin menawarkan kontrol yang lebih presisi dan kualitas yang lebih tinggi dalam skenario tertentu. Varian open-source juga menawarkan kesempatan untuk kustomisasi dan integrasi yang bisa sangat berharga bagi pengembang dan peneliti.

Midjourney, di sisi lain, memiliki catatan yang terbukti, basis pengguna yang besar dan aktif, dan gaya artistik yang khas yang banyak pengguna telah jatuh cintakan. Integrasi dengan Discord dan antarmuka pengguna yang ramah telah membuatnya sangat mudah diakses oleh kreatif dari semua tingkat keahlian teknis.

Pada akhirnya, model “lebih baik” mungkin bergantung pada kasus penggunaan spesifik, preferensi pribadi, dan kemampuan yang berkembang dari setiap platform. Yang jelas adalah bahwa Flux mewakili langkah signifikan dalam bidang AI generatif, memperkenalkan teknik inovatif dan mendorong batas-batas apa yang mungkin dalam sintesis gambar text-to-image.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah membawa saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.