Инструменты ИИ 101
Flux от Black Forest Labs: следующий скачок в моделях преобразования текста в изображение. Это лучше, чем Мидджорни?

Лаборатории Шварцвальда, команда, разработавшая революционную модель стабильной диффузии, выпустила Поток – набор передовых моделей, которые обещают переосмыслить возможности создания изображений с помощью ИИ. Но действительно ли Flux представляет собой прорыв в этой области и как он соотносится с лидерами отрасли, такими как Midjourney? Давайте погрузимся в мир Flux и рассмотрим его потенциал, который может изменить будущее искусства и медиа, созданных с помощью ИИ.
Рождение лабораторий Шварцвальда
Black Forest Labs — это не просто очередной стартап в сфере ИИ, это настоящий кладезь талантов с богатым опытом разработки фундаментальных генеративных моделей ИИ. В команду входят создатели VQGAN, Latent Diffusion и семейства моделей Stable Diffusion, которые произвели фурор в мире ИИ-искусства.
Благодаря успешному раунду финансирования Series Seed $31 миллион под руководством Андриссена Горовица Благодаря поддержке известных инвесторов-ангелов компания Black Forest Labs позиционирует себя в авангарде исследований в области генеративного искусственного интеллекта. Их миссия ясна: разрабатывать и продвигать современные генеративные модели глубокого обучения для таких медиа, как изображения и видео, одновременно расширяя границы творчества, эффективности и разнообразия.
Знакомство с семейством моделей Flux
Black Forest Labs представила набор моделей преобразования текста в изображение FLUX.1, предназначенный для установления новых стандартов в детализации изображений, быстром соблюдении требований, разнообразии стилей и сложности сцен. Семейство Flux состоит из трех вариантов, каждый из которых адаптирован к различным вариантам использования и уровням доступности:
- FLUX.1 [про]: Флагманская модель, обеспечивающая высочайшую производительность при создании изображений, включая превосходное отслеживание подсказок, визуальное качество, детализацию изображений и разнообразие выходных данных. Доступная через API, она позиционируется как премиальный вариант для профессионального и корпоративного использования.
- FLUX.1 [разработка]: Модель с открытым весом и оптимизированными параметрами для некоммерческого применения. Она разработана для достижения такого же качества и быстрого прилипания, как и профессиональная версия, но при этом более эффективна.
- ПОТОК.1 [шнелль]: самая быстрая модель в наборе, оптимизированная для локальной разработки и личного использования. Она доступна в открытом доступе по лицензии Apache 2.0, что делает её пригодной для широкого спектра приложений и экспериментов.
Я приведу несколько уникальных и креативных примеров подсказок, демонстрирующих возможности FLUX.1. Эти подсказки подчеркнут сильные стороны модели в работе с текстом, сложными композициями и такими сложными элементами, как руки.
- Художественный стиль, сливающийся с текстом: «Создайте портрет Винсента Ван Гога в его фирменном стиле, но замените его бороду закрученными мазками кисти, которые складывают слова «Звездная ночь» курсивом».
- Динамичная сцена действия с интеграцией текста: «Супергерой, прорывающийся сквозь страницу комикса. Линии действия и звуковые эффекты должны складываться в имя героя «FLUX FORCE» жирным, динамичным шрифтом».
- Сюрреалистическая концепция с точным размещением объектов: «Крупный план милого кота коричневого и белого цветов под солнечным светом из окна. Особое внимание уделите текстуре и цвету глаз. Естественное освещение для передачи подлинного блеска и глубины глаз».
Эти задания призваны проверить возможности FLUX.1 в рендеринге текста, сложной композиции сцен и создании подробных объектов, а также продемонстрировать его потенциал для создания креативных и уникальных изображений.
Технические инновации в основе флюса
В основе впечатляющих возможностей Flux лежит ряд технических инноваций, которые отличают его от предшественников и современников:
Масштабные модели потока с питанием от трансформатора
Все общедоступные модели FLUX.1 построены на гибридной архитектуре, сочетающей в себе мультимодальные и параллельные диффузионные трансформаторные блоки, масштабируемые до впечатляющих 12 миллиардов параметров. Это представляет собой значительный скачок в размере и сложности модели по сравнению со многими существующими моделями преобразования текста в изображение.
Модели Flux совершенствуют предыдущие современные модели диффузии за счет включения согласования потоков, общего и концептуально простого метода обучения генеративных моделей. Сопоставление потоков обеспечивает более гибкую основу для генеративного моделирования, при этом диффузионные модели являются особым случаем в рамках этого более широкого подхода.
Чтобы повысить производительность модели и эффективность оборудования, Black Forest Labs интегрировала вращающиеся позиционные встраивания и параллельные слои внимания. Эти методы позволяют лучше обрабатывать пространственные отношения в изображениях и более эффективно обрабатывать крупномасштабные данные.
Архитектурные инновации
Давайте рассмотрим некоторые ключевые архитектурные элементы, влияющие на производительность Flux:
- Гибридная архитектура: Объединив блоки мультимодальных и параллельных диффузионных преобразователей, Flux может эффективно обрабатывать как текстовую, так и визуальную информацию, что приводит к лучшему согласованию между подсказками и сгенерированными изображениями.
- Согласование потока: Такой подход позволяет более гибко и эффективно обучать генеративные модели. Он обеспечивает единую структуру, охватывающую модели диффузии и другие генеративные методы, что потенциально может привести к более надежному и универсальному созданию изображений.
- Вращающиеся позиционные вложения: эти внедрения помогают модели лучше понимать и поддерживать пространственные отношения внутри изображений, что имеет решающее значение для создания связного и детального визуального контента.
- Слои параллельного внимания: этот метод позволяет более эффективно обрабатывать механизмы внимания, которые имеют решающее значение для понимания взаимосвязей между различными элементами как в текстовых подсказках, так и в сгенерированных изображениях.
- Масштабирование до 12B параметров: Огромный размер модели позволяет ей улавливать и синтезировать более сложные закономерности и взаимосвязи, что потенциально приводит к более высокому качеству и разнообразию результатов.
Бенчмаркинг Flux: новый стандарт в синтезе изображений
Black Forest Labs утверждает, что FLUX.1 устанавливает новые стандарты синтеза изображений, превосходя такие популярные модели, как Середина пути v6.0, DALL·E 3 (HD) и SD3-Ultra в нескольких ключевых аспектах:
- Визуальное качество: Flux стремится создавать изображения с более высокой точностью, более реалистичными деталями и лучшей общей эстетической привлекательностью.
- Подсказка после: Модель разработана таким образом, чтобы точнее следовать заданным текстовым подсказкам, генерируя изображения, которые точнее отражают намерения пользователя.
- Вариативность размера/формата: Flux поддерживает широкий диапазон соотношений сторон и разрешений от 0.1 до 2.0 мегапикселей, обеспечивая гибкость для различных случаев использования.
- книгопечатание: модель демонстрирует улучшенные возможности создания и рендеринга текста в изображениях, что является общей проблемой для многих моделей преобразования текста в изображение.
- Выходное разнообразие: Flux специально настроен так, чтобы сохранить все разнообразие выходных данных от предварительной подготовки, предлагая более широкий спектр творческих возможностей.
Поток против Midjourney: сравнительный анализ
Теперь давайте рассмотрим животрепещущий вопрос: лучше ли Flux, чем Середина пути? Чтобы ответить на этот вопрос, нам необходимо учитывать несколько факторов:
Качество изображения и эстетика
И Flux, и Midjourney известны тем, что создают высококачественные, визуально ошеломляющие изображения. Midjourney хвалили за художественное чутье и способность создавать изображения с ярко выраженной эстетической привлекательностью. Flux с его усовершенствованной архитектурой и большим количеством параметров стремится соответствовать этому уровню качества или превосходить его.
Ранние примеры Flux демонстрируют впечатляющую детализацию, реалистичные текстуры и хорошее понимание освещения и композиции. Однако субъективная природа искусства не позволяет однозначно претендовать на превосходство в этой области. Пользователи могут обнаружить, что каждая модель имеет свои сильные стороны в разных стилях или типах изображений.
Быстрое соблюдение
Одна из областей, где Flux потенциально выходит за рамки Середина пути В Black Forest Labs особое внимание уделяется повышению точности интерпретации и выполнения заданных подсказок. Это может привести к созданию изображений, более точно соответствующих намерениям пользователя, особенно в случае сложных или детализированных запросов.
Середина пути Иногда подвергается критике за творческую вольность в использовании подсказок, что может привести к красивым, но неожиданным результатам. Подход Flux может обеспечить более точный контроль над генерируемым результатом.
Скорость и эффективность
С выпуском FLUX.1 [schnell] компания Black Forest Labs ориентируется на одно из ключевых преимуществ Midjourney: скорость. Midjourney известен своей быстрой генерацией, что сделало его популярным для итеративных творческих процессов. Если Flux сможет достичь этой скорости или превзойти её, сохраняя при этом качество, это может стать важным преимуществом.
Доступность и простота использования
Midjourney приобрела популярность отчасти благодаря удобному интерфейсу и интеграции с Discord. Flux, будучи более новым, возможно, потребует времени для разработки аналогичных доступных интерфейсов. Однако природа моделей FLUX.1 [schnell] и [dev] с открытым исходным кодом может привести к появлению широкого спектра разрабатываемых сообществом инструментов и интеграций, потенциально превосходящих Midjourney с точки зрения гибкости и возможностей настройки.
Технические возможности
Продвинутая архитектура Flux и больший размер модели позволяют предположить, что он может обладать более широкими возможностями для понимания сложных подсказок и генерации детальных данных. Подход к сопоставлению потоков и гибридная архитектура позволяют Flux решать более широкий спектр задач и генерировать более разнообразные результаты.
Этические соображения и смягчение предвзятости
И Flux, и Midjourney сталкиваются с необходимостью решения этических проблем, связанных с изображениями, созданными с помощью ИИ, таких как предвзятость, дезинформация и вопросы авторских прав. Акцент Black Forest Labs на прозрачности и стремление сделать модели общедоступными могут потенциально привести к более строгому общественному контролю и более быстрому улучшению ситуации в этих областях.
Реализация и развертывание кода
Использование флюса с диффузорами
Модели Flux можно легко интегрировать в существующие рабочие процессы с помощью Библиотека диффузоров Hugging Face Diffusers. Вот пошаговое руководство по использованию FLUX.1 [dev] или FLUX.1 [schnell] с диффузорами:
- Сначала установите или обновите библиотеку Diffusers:
!pip install git+https://github.com/huggingface/diffusers.git
- Затем вы можете использовать
FluxPipeline
для запуска модели:
import torch from diffusers import FluxPipeline # Load the model pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16) # Enable CPU offloading to save VRAM (optional) pipe.enable_model_cpu_offload() # Generate an image prompt = "A cat holding a sign that says hello world" 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] # Save the generated image image.save("flux-dev.png")
Этот фрагмент кода демонстрирует, как загрузить модель FLUX.1 [dev], сгенерировать изображение из текстового приглашения и сохранить результат.
Развертывание Flux как API с помощью LitServe
Для тех, кто хочет развернуть Flux как масштабируемый API-сервис, Black Forest Labs предлагает пример использования LitServe, высокопроизводительного механизма вывода. Вот описание процесса развёртывания:
Определите сервер модели:
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): # Load model components 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) # Quantize to 8-bit to fit on an L4 GPU quantize(transformer, weights=qfloat8) freeze(transformer) quantize(text_encoder_2, weights=qfloat8) freeze(text_encoder_2) # Initialize the Flux pipeline 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"}) # Start the server if __name__ == "__main__": api = FluxLitAPI() server = ls.LitServer(api, timeout=False) server.run(port=8000)
Этот код настраивает API LitServe для Flux, включая загрузку модели, обработку запросов, генерацию изображений и кодирование ответов.
Запускаем сервер:
</pre> python server.py <pre>
Используйте API модели:
Вы можете протестировать API, используя простой клиентский скрипт:
import requests import json url = "http://localhost:8000/predict" prompt = "a robot sitting in a chair painting a picture on an easel of a futuristic cityscape, pop art" response = requests.post(url, json={"prompt": prompt}) with open("generated_image.png", "wb") as f: f.write(response.content) print("Image generated and saved as generated_image.png")
Ключевые особенности развертывания
- Безсерверная архитектура: ЛитСерв Программа установки обеспечивает масштабируемое бессерверное развертывание, которое может масштабироваться до нуля, когда оно не используется.
- Частный API: Вы можете развернуть Flux как частный API в своей собственной инфраструктуре.
- Поддержка нескольких GPU: установка предназначена для эффективной работы с несколькими графическими процессорами.
- квантование: код демонстрирует, как квантовать модель до 8-битной точности, что позволяет ей работать на менее мощном оборудовании, таком как графические процессоры NVIDIA L4.
- Разгрузка процессора:
enable_model_cpu_offload()
Метод используется для экономии памяти графического процессора путем выгрузки частей модели в процессор, когда они не используются.
Практическое применение флюса
Универсальность и мощь Flux открывают широкий спектр потенциальных применений в различных отраслях:
- Творческие индустрии: графические дизайнеры, иллюстраторы и художники могут использовать Flux для быстрого создания концепт-артов, мудбордов и визуальных источников вдохновения.
- Маркетинг и реклама: Маркетологи могут создавать собственные визуальные эффекты для кампаний, контента для социальных сетей и макетов продуктов с беспрецедентной скоростью и качеством.
- Разработка игр: Геймдизайнеры могут использовать Flux для быстрого создания прототипов окружения, персонажей и ресурсов, оптимизируя процесс подготовки к производству.
- Архитектура и дизайн интерьера: Архитекторы и дизайнеры могут создавать реалистичные визуализации пространств и сооружений на основе текстовых описаний.
- Образование : Преподаватели могут создавать собственные наглядные пособия и иллюстрации, чтобы улучшить учебные материалы и сделать сложные концепции более доступными.
- Кино и анимация: художники-раскадровщики и аниматоры могут использовать Flux для быстрой визуализации сцен и персонажей, ускоряя процесс предварительной визуализации.
Будущее Flux и генерации текста в изображения
Black Forest Labs дала ясно понять, что Flux — это только начало их амбиций в области генеративного ИИ. Они объявленные планы разработать конкурентоспособные генеративные системы преобразования текста в видео, обещающие возможности точного создания и редактирования с высоким разрешением и беспрецедентной скоростью.
Эта дорожная карта предполагает, что Flux — это не просто отдельный продукт, а часть более широкой экосистемы генеративных инструментов искусственного интеллекта. По мере развития технологий мы можем ожидать увидеть:
- Улучшенная интеграция: Бесперебойные рабочие процессы преобразования текста в изображение и текста в видео, позволяющие создавать более сложный и динамичный контент.
- Расширенная настройка: более детальный контроль над создаваемым контентом, возможно, с помощью передовых методов быстрого проектирования или интуитивно понятных пользовательских интерфейсов.
- Генерация в реальном времени: Поскольку такие модели, как FLUX.1 [schnell], продолжают совершенствоваться, мы можем увидеть возможности генерации изображений в реальном времени, которые могут совершить революцию в создании живого контента и интерактивных медиа.
- Кросс-модальная генерация: Способность создавать и манипулировать контентом в различных модальностях (текст, изображение, видео, аудио) связным и интегрированным образом.
- Этическая разработка ИИ: Продолжать уделять внимание разработке моделей искусственного интеллекта, которые будут не только мощными, но также ответственными и этически обоснованными.
Вывод: «Поток» лучше, чем «Midjourney»?
На вопрос о том, является ли Flux «лучше» Midjourney, нелегко ответить простым «да» или «нет». Обе модели представляют собой новейшую технологию преобразования текста в изображение, каждая из которых имеет свои сильные стороны и уникальные характеристики.
Flux с его продвинутой архитектурой и упором на быстрое соблюдение требований может обеспечить более точный контроль и потенциально более высокое качество в определенных сценариях. Его варианты с открытым исходным кодом также предоставляют возможности настройки и интеграции, которые могут быть очень ценными для разработчиков и исследователей.
Середина пути, с другой стороны, имеет проверенную репутацию, большую и активную базу пользователей и особый художественный стиль, который полюбился многим пользователям. Его интеграция с Discord и удобный интерфейс сделали его доступным для творческих людей любого уровня технических навыков.
В конечном счёте, «лучшая» модель может зависеть от конкретного варианта использования, личных предпочтений и развивающихся возможностей каждой платформы. Очевидно, что Flux представляет собой значительный шаг вперёд в области генеративного ИИ, внедряя инновационные технологии и расширяя границы возможностей синтеза текста в изображения.