生成周刊·第三期


论文

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

详细内容单独整理为了一篇博客,请阅读: 论文分享 - BLIP2

只言片语

Midjourney背后的技术猜测

Reddit上有个 帖子介绍了一些他很久以前了解的Midjourney背后的技术。他说MJ曾有段时间用 v-diffusion finetune了一下SD,最开始finetune用的数据是LAION-2B中的子集,这说明LAION-2B里面还是有很多宝藏的,因为LAION2B数据量太大,大家都没怎么好好分析过这个数据集,难道说我们想要的高质量动漫、艺术画这类数据,LAION都有,关键是怎么采样出来?

另外,估计MJ也会对用户的输入prompt做一点优化。之前OpenAI为了避免DALLE2生成的Bias,会给用户prompt中没指定性别种族的词随机加上一个性别和种族。(比如让DALLE2生成一个高尚的人,出来的结果都是白人就很不好了,所以OpenAI生成时随机把用户prompt改成类似于高尚的非洲女性之类的prompt)。这种prompt优化是很容易被 攻击测试出来的,但MJ尚未出现过类似的问题。

链接

  1. Scalable Diffusion Models with Transformers (DiT) 进入了diffusers库。DiT是专门用于Diffusion的Transformer模型,论文里的生成图质量很高。Transformer相对于CNN确实更容易放大。

  2. GitHub - kaikalii/stable-diffusion-artists: Curated list of artists for Stable Diffusion prompts 收集了SD支持的很好的艺术家风格,可以作为magic word加到prompt里面使用。如果和SD使用的数据集(LAION)差不多, 其它方法训练的文生图模型应该也支持这些艺术家。

  3. add community pipeline: StableUnCLIPPipeline by budui · Pull Request #2037 · huggingface/diffusers · GitHub 我给Diffusers提了一个PR:使用UnCLIP里面的prior组件,和image variation模型,组合成了一个新的文生图模型。

  4. lambdalabs/image-mixer · Hugging Face Justin Pinkney 又开源了一个新模型:使用多个clip image embedding作为Condition,生成图片。这样生成的图片同时具有多个embedding,也即对应图片的显著特征。

    {width=“6.065972222222222in” height=“2.263844050743657in”}

    这个任务,Midjourney已经有很成熟的产品了,我在 上一期周刊里有提到过。我本来以为这个任务用多个clip image embedding线性or什么策略加权一下就行,没想到还得finetune一个网络?Justin这个实现感觉也不是很自然,为什么选5个clip image embedding呢?另外多个clip image embedding的时候,选哪个图片作为Diffusion的重建目标呢?他没咋说明白。

  5. Sebastian Raschka 写了一个Twitter说weight decay是AdamW优化器里面一个特别重要的超参。调参的时候可以着重关注一下。

  6. 发现了一个修改语法的在线demo: FLAN Grammar Correction - a Hugging Face Space by pszemraj。可以用来批量refine image caption模型生成的caption,比如我随便用 Image Caption Demo 生成一个输入图片的描述,选了一个最接近的,但感觉输出结果语法有点毛病。送入这个语法修改demo里面就可以得到一个更合理的caption:

anime - style picture of a person sitting on a floor with a book -> an anime-style picture of a person sitting on a floor with a book ```

  1. 阿里达摩院在 ModelScope上新开源了一个6B大的OFA新模型。阿里很有诚意呀,感激!可惜的是,我测试这个模型的时候,每次调用modelscope库跑这个大模型,都直接把docker容器都给搞退出了。稳定复现,一运行OFA-6B,申请的机器就挂了,难道modelscope的代码在腾讯的机器上水土不服?