Last chance! 50% off DataCamp Premium
Sale ends in
Di antara kemajuan terbaru dalam AI generatif adalah rangkaian model Flux yang dikembangkan oleh Black Forest Labs. Model-model ini termasuk yang paling canggih dalam sintesis teks-ke-gambar, menghadirkan kualitas visual yang sangat baik, kepatuhan terhadap prompt, dan keragaman gaya.
Saya telah mencoba Flux dan sangat menikmatinya. Dalam blog ini, saya akan berbagi pengalaman dan memandu Anda memulai dengan Flux. Saya akan menjelaskan fitur utamanya, cara kerjanya, cara menjalankan pipeline, aplikasinya, dan lainnya.
Flux adalah serangkaian model pembuatan gambar dari teks yang dikembangkan oleh Black Forest Labs. Model Flux dirancang untuk membuat gambar yang sangat detail dan beragam berdasarkan prompt tekstual.
Flux menawarkan beberapa fitur utama yang membedakannya dari model AI generatif lainnya:
Keluarga model Flux terdiri atas tiga varian: Flux Pro, Flux Dev, dan Flux Schnell. Masing-masing dirancang untuk kasus penggunaan berbeda, mulai dari pembuatan gambar kelas profesional hingga pengembangan lokal yang efisien.
Flux Pro adalah model unggulan dalam keluarga Flux. Model ini menawarkan performa kelas atas, ideal untuk penggunaan profesional di industri yang memerlukan pembuatan gambar berkualitas tinggi. Dengan kepatuhan terhadap prompt, detail visual, dan keragaman keluaran yang mutakhir, Flux Pro dirancang untuk mereka yang menuntut yang terbaik dalam AI generatif.
Flux Pro dapat diakses melalui API yang disediakan oleh Black Forest Labs, serta platform seperti Replicate dan fal.ai.
Flux Dev adalah model open-weight yang didistilasi dengan guidance, dirancang untuk aplikasi non-komersial. Versi distilasi dari Flux Pro menawarkan kualitas dan kepatuhan terhadap prompt yang serupa namun lebih efisien. Flux Dev juga tersedia di HuggingFace dan platform seperti Replicate dan fal.ai.
Varian ini ideal untuk pengembang, peneliti, dan penggemar yang ingin bereksperimen dengan AI generatif tanpa memerlukan sumber daya kelas profesional.
Flux Schnell adalah model tercepat dalam keluarga Flux, disesuaikan untuk pengembangan lokal dan penggunaan pribadi. Model ini tersedia secara terbuka di bawah lisensi Apache 2.0, sehingga dapat diakses oleh berbagai kalangan pengguna. Seperti Flux Dev, bobot model Flux Schnell tersedia di HuggingFace.
Flux Schnell sangat cocok bagi mereka yang ingin bereksperimen dengan AI generatif di mesin lokal tanpa memerlukan sumber daya komputasi yang besar.
Model Flux dibangun di atas arsitektur hibrida multimodal dan blok transformer difusi paralel, diskalakan hingga 12 miliar parameter. Arsitektur ini memungkinkan model menghasilkan gambar dengan tingkat akurasi dan keragaman tinggi, bahkan untuk adegan dan gaya yang kompleks.
Inti inovasi Flux adalah teknik bernama flow matching. Berbeda dengan model difusi tradisional yang secara bertahap menyempurnakan gambar berisik menjadi koheren, flow matching mengambil pendekatan yang lebih langsung. Bayangkan seperti membimbing pena di sepanjang jalur yang presisi untuk membuat gambar, alih-alih memulai dari sketsa buram lalu menajamkannya perlahan.
Dengan mempelajari cara memprediksi transformasi optimal di setiap langkah, model flow matching dapat menghasilkan gambar berkualitas tinggi dengan efisiensi luar biasa, melampaui model difusi tradisional dalam hal kecepatan dan fidelitas.
Model Flux memanfaatkan dua teknik kunci untuk meningkatkan performa: rotary positional embeddings dan parallel attention layers.
Embedding rotari memberi model pemahaman rinci tentang hubungan spasial dalam gambar, yang penting untuk menghasilkan visual yang rumit dan koheren.
Sementara itu, lapisan attention paralel memungkinkan model memproses bagian-bagian berbeda dari gambar secara bersamaan, mirip seperti memiliki banyak ahli yang fokus pada area berbeda dari teka-teki kompleks. Pemrosesan paralel ini secara signifikan meningkatkan efisiensi komputasi model, sehingga mampu menghasilkan gambar berkualitas tinggi lebih cepat sambil mengurangi konsumsi sumber daya.
Model Flux dibangun di atas arsitektur berbasis transformer yang kuat, dikenal mampu menangani tugas generatif skala besar. Transformer efektif memahami hubungan antar elemen dalam data, sehingga ideal untuk menerjemahkan prompt tekstual menjadi representasi visual.
Model Flux menggabungkan autoencoder, encoder teks CLIP, dan encoder T5 untuk mencapai penerjemahan ini. Autoencoder secara efisien mengompresi dan merekonstruksi data gambar, sementara encoder teks CLIP menangkap makna semantik dari prompt tekstual. Encoder T5, yang dikenal akan fleksibilitasnya dalam tugas bahasa, meningkatkan kemampuan model untuk menafsirkan dan menghasilkan konten visual yang kompleks berdasarkan input teks.
Untuk mulai menggunakan Flux pada proyek Anda, berikut panduan singkat untuk memulai perjalanan dengan Flux:

Model Flux tersedia dalam dua varian utama berdasarkan proses distilasinya: timestep-distilled dan guidance-distilled. Masing-masing memiliki pola penggunaan yang sedikit berbeda, diuraikan di bawah ini.
Varian timestep-distilled, Flux Schnell, dioptimalkan untuk kecepatan. Model ini diuntungkan dari langkah sampling yang lebih sedikit, ideal untuk skenario yang memerlukan generasi cepat. Namun, ada keterbatasan seperti panjang urutan maksimum 256 token dan skala guidance yang harus disetel ke 0.
Berikut cara menggunakan Flux Schnell (cuplikan kode diambil dari GitHub Black Forest Labs):
import torch
from diffusers import FluxPipeline
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()
prompt = "A cat holding a sign that says hello world"
out = pipe(
prompt=prompt,
guidance_scale=0.0,
height=768,
width=1360,
num_inference_steps=4,
max_sequence_length=256,
).images[0]
out.save("image.png")

Cuplikan kode ini menunjukkan cara menghasilkan gambar menggunakan model Flux Schnell dengan prompt teks sederhana. Parameter num_inference_steps disetel ke 4, mencerminkan efisiensi model dalam menghasilkan gambar dengan cepat.
Varian guidance-distilled, Flux Dev, dirancang untuk skenario di mana kualitas lebih diutamakan daripada kecepatan. Model ini memerlukan sekitar 50 langkah sampling untuk menghasilkan gambar berkualitas tinggi dan tidak memiliki batas panjang urutan seperti varian timestep-distilled.
Berikut cara menggunakan Flux Dev (cuplikan kode diambil dari GitHub):
import torch
from diffusers import FluxPipeline
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()
prompt = "a tiny astronaut hatching from an egg on the moon"
out = pipe(
prompt=prompt,
guidance_scale=3.5,
height=768,
width=1360,
num_inference_steps=50,
).images[0]
out.save("image.png")

Dalam contoh ini, guidance_scale disetel ke 3,5, memungkinkan model menghasilkan gambar yang sangat mengikuti prompt yang diberikan. Jumlah langkah inferensi yang meningkat memastikan kualitas keluaran tetap tinggi.
Flux juga dapat membuat gambar menggunakan presisi FP16 (floating point 16-bit) untuk mempercepat inferensi pada GPU seperti Turing atau Volta. Namun, menjalankan dalam FP16 terkadang dapat menghasilkan keluaran berbeda dibandingkan FP32 atau BF16, khususnya pada encoder teks. Untuk mengatasinya, encoder teks dapat dipaksa berjalan dalam FP32 agar menghilangkan perbedaan keluaran.
Flux memiliki beragam aplikasi di berbagai industri:
Meski Flux menawarkan kemampuan luar biasa, penting untuk menyadari tantangan dan pertimbangan yang menyertai penggunaan model AI generatif.
Sumber daya komputasi: Membuat gambar berkualitas tinggi dengan Flux memerlukan sumber daya komputasi yang signifikan. Jika Anda bekerja pada perangkat kelas konsumen, Anda mungkin perlu mengoptimalkan model untuk kinerja yang lebih baik atau mempertimbangkan layanan berbasis cloud.
Pertimbangan etis: Seperti teknologi AI lainnya, ada pertimbangan etis yang perlu diingat saat menggunakan Flux. Penting untuk memastikan konten yang dihasilkan digunakan secara bertanggung jawab dan model tidak disalahgunakan untuk tujuan merugikan.
Privasi data: Saat menggunakan Flux untuk aplikasi komersial, penting untuk mempertimbangkan privasi data dan keamanan. Pastikan data apa pun yang digunakan dengan model ditangani sesuai peraturan dan praktik terbaik yang relevan.
Flux menandai perkembangan penting dalam AI generatif, menyediakan alat efektif untuk sintesis teks-ke-gambar di berbagai aplikasi.
Dengan kualitas gambar yang baik, kepatuhan kuat terhadap prompt, dan efisiensi operasional, Flux dapat menjadi pilihan yang tepat untuk pembuatan gambar.
Saat Anda mengeksplorasi fiturnya, fokuslah pada pengoptimalan kinerja dan pertimbangkan aspek etis dari pekerjaan Anda.
Senior GenAI Engineer dan Kreator Konten yang telah meraih 20 juta tayangan dengan berbagi pengetahuan tentang GenAI dan sains data.
Pelajari AI dengan kursus-kursus ini!
Kursus
Kursus
Kursus

blogs
Javier Canales Luna
14 mnt
blogs
Hugo Bowne-Anderson
13 mnt
blogs
David Woods
13 mnt
blogs
Dario Radečić
15 mnt