Устали от моделей текста до изображения, которые не могут правильно писать или иметь дело с шрифтами и типографией? Секрет, по-видимому, заключается в использовании многоязычных, не содержащих токенизации трансформеров, таких как BYT5 и Canine-C.
text-to-image HF.В рамках спринта обнимающего лица JAX Diffuser мы заменим токенизатор и кодировщик CLIP на BYT5 в коде предварительного обучения в JAX/лене HF и запустите его на спонсируемом Ressources TPU, предоставленном Google для мероприятия.
Более конкретно, вот основные задачи, которые мы попытаемся выполнить во время спринта:
Подготовка набора данных перед тренировкой: мы не собираемся тренироваться на lambdalabs/pokemon-blip-captions . Так что же будет, каковы варианты? Что -нибудь здесь или здесь увлекается? Или, может быть, диффузиидб? Или Savant Mix из многих наборов данных? Нам, вероятно, нужно будет объединить множество наборов данных, поскольку мы стремимся покрыть эти требования:
Мы как можно больше используем библиотеку наборов данных об объятиях лица, так как она поддерживает JAX из коробки. Ради простоты мы будем ограничивать нас объединенными наборами данных об объятиях, таких как Laion2b En, Multi и Nolang. Однако, однако, предварительно загружаем, предварительно обрабатывает и кэшируем набор данных на диске, прежде чем обучать его.
Улучшения в исходном коде:
jnp (вместо NP) jit , grad , vmap , pmap , pjit везде! И мы должны убедиться, что мы не пропустим какую -либо оптимизацию, сделанную в коде спринта.FlaxStableDiffusionSafetyChecker .Замените клип BYT5 в исходном коде:
CLIPTokenizer на ByT5Tokenizer . Поскольку это будет работать на процессорах, нет необходимости в JAX/лене, если только нет надежды на огромные улучшения производительности. Это должно быть тривиально.FlaxCLIPTextModel на FlaxT5EncoderModel . Это может быть почти так же просто, как замена токенизатора.CLIPImageProcessor для BYT5. Это все еще находится под следствием. Неясно, насколько это будет тяжело.FlaxAutoencoderKL и FlaxUNet2DConditionModel для BYT5 при необходимости.Во-вторых, мы будем интегрироваться в вышеупомянутую реализацию JAX/Flax Controlnet для лучшего типографского управления над генерируемыми изображениями. В орфографически принесенный SD выше и согласно предложению Питера Фон Платена, мы также вводим эту идею типографской сети управления, обученной синтетическим набору данных изображений, в сочетании с многоязычными спецификациями текстового содержания, таксономии Font, веса, моделей, ведущих, уклонов, и любых других типографских атрибутов, поддерживаемых CSS3-версиями, моделями написания и письменных моделей, как поставленные в качестве версии.