Bosan dengan model teks-ke-gambar yang tidak dapat mengeja atau menangani font dan tipografi dengan benar? Rahasianya tampaknya dalam penggunaan encoder transformator multibahasa, bebas tokenisasi, dan sadar karakter seperti BYT5 dan Canine-C.
text-to-image HFSebagai bagian dari wajah pelukan Jax Diffuser Sprint, kami akan mengganti tokenizer dan encoder Clip dengan BYT5 di kode pra-pelatihan JAX/Flax Text-to-Image HF dan menjalankannya pada sumber TPU yang disponsori yang disediakan oleh Google untuk acara tersebut.
Lebih khusus lagi, berikut adalah tugas utama yang akan kami coba capai selama sprint:
Persiapan dataset pra-pelatihan: Kami tidak akan berlatih di lambdalabs/pokemon-blip-captions . Jadi apa yang akan terjadi, apa saja pilihannya? Ada di sini atau di sini menyukai Anda? Atau mungkin difusiondb? Atau campuran yang tidak banyak dari banyak set data? Kami mungkin perlu menggabungkan banyak set data karena kami ingin memenuhi persyaratan ini:
Kami harus menggunakan perpustakaan dataset wajah pelukan sebanyak mungkin karena mendukung Jax di luar kotak. Demi kesederhanaan, kita akan membatasi kita untuk menggabungkan kumpulan data wajah seperti Laion2b En, Multi dan Nolang. Kami akan, betapapun pra-muatan, pra-proses, dan menyimpan dataset pada disk sebelum pelatihan di atasnya.
Perbaikan Kode Asli:
jnp (bukan NP) jit , grad , vmap , pmap , pjit di mana-mana! Dan kita harus memastikan bahwa kita juga tidak melewatkan optimasi yang dibuat dalam kode sprint.FlaxStableDiffusionSafetyChecker keluar dari jalan.Ganti klip dengan byt5 dalam kode asli:
CLIPTokenizer dengan ByT5Tokenizer . Karena ini akan berjalan di CPU, tidak perlu untuk Jax/Flax kecuali ada harapan untuk peningkatan kinerja yang sangat besar. Ini harus sepele.FlaxCLIPTextModel dengan FlaxT5EncoderModel . Ini mungkin hampir semudah mengganti tokenizer.CLIPImageProcessor untuk BYT5. Ini masih dalam penyelidikan. Tidak jelas betapa sulitnya itu.FlaxAutoencoderKL dan FlaxUNet2DConditionModel untuk BYT5 jika perlu.Kedua, kami akan mengintegrasikan ke atas implementasi JAX/Flax ControlNet di atas untuk kontrol tipografi yang lebih baik atas gambar yang dihasilkan. Kepada SD yang ditahan secara ortografis di atas dan sesuai saran Peter von Platen, kami juga memperkenalkan gagasan kontrol tipografi yang dilatih pada dataset sintetis gambar yang dipasangkan dengan spesifikasi multibahasa dari konten tekstual, taksonomi font, bobot, kering, memimpin, miring, dan atribut tipografi lainnya yang didukung oleh CSSS3, KERNING, KERNING, FONTS, dan ATHRIBUT TYPOGRAPHY lainnya yang didukung oleh CSSS3, CSSS3, CSSS3, KERNING, MODI, DAN ATAT TYPOGROGASA YANG MODIULA YANG MODIUS DUKUNGAN DUKUNGAN DUKUNGAN DENGAN CSS 3 Kromium.