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 gambar yang dihasilkan AI. Tapi apakah Flux benar-benar mewakili lompatan maju dalam bidang ini, dan bagaimana ia membandingkan dengan pemimpin industri seperti Midjourney? Mari kita menyelami dunia Flux dan menjelajahi potensinya untuk membentuk kembali masa depan seni dan media yang dihasilkan AI.

Kelahiran Black Forest Labs

Black Forest Labs bukan hanya sebuah startup AI; 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 yang sukses sebesar $31 juta yang dipimpin oleh Andreessen Horowitz dan dukungan dari investor malaikat terkenal, Black Forest Labs telah memposisikan dirinya di garis depan penelitian AI generatif. Misi mereka jelas: mengembangkan dan memajukan model pembelajaran dalam yang dihasilkan state-of-the-art untuk media seperti gambar dan video, sambil mendorong 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 standar 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 andalan, menawarkan kinerja terbaik dalam generasi gambar dengan kepatuhan prompt yang unggul, kualitas visual, detail gambar, dan keragaman output. Tersedia melalui API, itu diposisikan sebagai pilihan premium untuk penggunaan profesional dan perusahaan.
  2. FLUX.1 [dev]: Model yang dihasilkan dengan panduan, untuk aplikasi non-komersial. Ini dirancang untuk mencapai kualitas dan kemampuan kepatuhan prompt yang sama dengan versi pro sambil lebih efisien.
  3. FLUX.1 [schnell]: Model tercepat dalam suite, dioptimalkan untuk pengembangan lokal dan penggunaan pribadi. Ini tersedia secara terbuka di bawah lisensi Apache 2.0, membuatnya dapat diakses untuk berbagai aplikasi dan eksperimen.

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

  • Penggabungan Gaya Artistik dengan Teks: “Buatlah potret Vincent van Gogh dalam gaya khasnya, tetapi gantilah jenggotnya dengan sapuan kuas yang membentuk 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 melalui 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: “Tutup dekat kucing dengan warna coklat dan putih di bawah sinar 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 ini dirancang untuk menantang kemampuan FLUX.1 dalam rendering teks, komposisi adegan yang kompleks, dan pembuatan objek yang detail, sambil juga menunjukkan potensinya untuk generasi gambar kreatif dan unik.

Inovasi Teknis di Balik Flux

Di jantung kemampuan Flux yang mengesankan terletak 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 transformer difusi multimodal dan paralel, ditingkatkan 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, metode konseptual sederhana dan umum untuk pelatihan model generatif. Pencocokan aliran menyediakan kerangka kerja yang lebih fleksibel untuk pemodelan 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 ini memungkinkan penanganan yang lebih baik dari hubungan spasial dalam gambar dan pemrosesan data skala besar yang lebih efisien.

Inovasi Arsitektur

Mari kita turun ke beberapa elemen arsitektur kunci yang berkontribusi pada kinerja Flux:

  1. Arsitektur Hibrida: Dengan menggabungkan blok transformer difusi multimodal dan paralel, Flux dapat memproses informasi tekstual dan visual secara efektif, mengarah pada 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 yang seragam yang mencakup model difusi dan teknik generatif lainnya, potensialmente mengarah pada generasi gambar yang lebih robust 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 mekanisme perhatian yang lebih efisien, yang sangat penting untuk memahami hubungan antara elemen dalam prompt teks dan gambar yang dihasilkan.
  5. Pengukuran hingga 12B Parameter: Ukuran model yang besar memungkinkan penangkapan dan sintesis pola dan hubungan yang lebih kompleks, potensialnya mengarah pada kualitas output yang lebih tinggi dan keragaman yang lebih besar.

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 secara keseluruhan.
  2. Kepatuhan Prompt: Model ini dirancang untuk mematuhi prompt teks yang diberikan lebih dekat, menghasilkan gambar yang lebih akurat mencerminkan niat pengguna, terutama untuk permintaan yang kompleks atau nuansa.
  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 untuk banyak model text-to-image.
  5. Keragaman Output: Flux secara khusus dioptimalkan untuk mempertahankan keragaman output seluruhnya dari pelatihan sebelumnya, menawarkan keragaman kreatif yang lebih luas.

Flux vs. Midjourney: Analisis Komparatif

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

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

Kualitas Gambar dan Estetika

Baik Flux dan Midjourney dikenal menghasilkan gambar dengan kualitas tinggi, 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 ukuran model 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 potensialmente melampaui Midjourney adalah dalam kepatuhan prompt. Black Forest Labs menekankan fokus mereka pada meningkatkan kemampuan model untuk menafsirkan dan mengeksekusi prompt teks dengan akurat. Ini bisa menghasilkan gambar yang dihasilkan yang lebih akurat 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 kelebihan 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 mudah diakses. Namun, sifat open-source dari model FLUX.1 [schnell] dan [dev] bisa mengarah pada berbagai alat dan integrasi yang dikembangkan komunitas, potensialnya melampaui 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 mentah yang lebih besar dalam memahami prompt yang kompleks dan menghasilkan detail yang rumit. 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 yang dihasilkan AI, seperti bias, informasi yang salah, dan masalah hak cipta. Penekanan Black Forest Labs pada transparansi dan komitmen mereka untuk membuat model yang mudah diakses bisa potensialnya mengarah pada pengawasan komunitas yang lebih kuat dan perbaikan yang lebih cepat dalam 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 tingkatkan 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

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

<p># Aktifkan offloading CPU untuk menghemat VRAM (opsional)
pipe.enable_model_cpu_offload()</p>

<p># Hasilkan gambar
prompt = "Seekor 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]</p>

<p># 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.

Menerapkan Flux sebagai API dengan LitServe

Bagi mereka yang ingin menerapkan 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

<p>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)</p>

<p># Kuantisasi ke 8-bit untuk memuat pada GPU L4
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)</p>

<p># 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()</p>

<p>def decode_request(self, request):
return request["prompt"]</p>

<p>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</p>

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

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

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

Mulai server:

&lt;/pre&gt;
python server.py
&lt;pre&gt;

Gunakan API model:

Anda dapat menguji API menggunakan skrip klien sederhana:

import requests
import json

<p>url = "http://localhost:8000/predict"
prompt = "seorang robot duduk di sebuah kursi melukis gambar di sebuah kanvas dari sebuah lanskap kota futuristik, pop art"</p>

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

<p>print("Gambar dihasilkan dan disimpan sebagai generated_image.png")</p>

Fitur Kunci dari Penerapan

  1. Arsitektur Serverless: Pengaturan LitServe memungkinkan penerapan yang dapat diskalakan, serverless yang dapat diskalakan hingga nol saat tidak digunakan.
  2. API Pribadi: Anda dapat menerapkan 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, memungkinkan untuk dijalankan pada 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: Desainer grafis, ilustrator, dan seniman dapat menggunakan Flux untuk menghasilkan konsep seni, papan mood, dan inspirasi visual dengan cepat.
  2. Pemasaran dan Iklan: Pemasar dapat membuat visual khusus untuk kampanye, konten media sosial, dan mockup produk dengan kecepatan dan kualitas yang belum pernah ada sebelumnya.
  3. Pengembangan Game: Desainer 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 hanya awal dari ambisi mereka di ruang AI generatif. Mereka telah 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.

Rencana ini menunjukkan bahwa Flux bukan hanya produk mandiri tetapi bagian dari ekosistem alat AI generatif yang lebih luas. 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 konten 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 modality (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 tentang apakah Flux “lebih baik” daripada Midjourney tidak mudah dijawab dengan ya atau tidak. Kedua model mewakili teknologi text-to-image terdepan, 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-nya juga menyediakan kesempatan untuk kustomisasi dan integrasi yang bisa sangat berharga bagi pengembang dan peneliti.

Midjourney, di sisi lain, memiliki rekam jejak yang terbukti, basis pengguna yang besar dan aktif, dan gaya artistik yang khas yang banyak pengguna telah sukai. Integrasi dengan Discord dan antarmuka pengguna yang ramah telah membuatnya sangat mudah diakses oleh kreatif dari semua tingkat keterampilan 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 apa yang mungkin dalam sintesis 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 memimpin 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.