查看原文
其他

Jina 实例秀|一行代码的艺术

社区用户 Marco Jina AI 2023-03-21

在本文中,我将为你展示如何结合 DistillBART 模型和 DiscoArt,从长文本中获得摘要,并让 AI 绘制出对应的图像。

概述

DistillBART 模型是一个用于预训练 Seq2Seq 模型的降噪自编码器,善于总结长文本;DiscoArt 是目前开发者使用 Diffusion 模型最强大、最全面的方式之一。


本项目旨在利用从长文本中生成的摘要,并生成对应的图像。也就是说,让书里的某个章节或童话故事的某个段落,从文字变成画面。


首先,我们需要找到能够生成摘要的 NLP 模型,而 DistillBART-CNN-12-6,在性能/计算成本方面是最佳的选择。接着,我们需要将文本生成图像,而被誉为“一行代码的艺术”的 DiscoArt 是目前使用 Disco Diffusion 最强大且易用的方式。


从文本输入到建立一个端到端的 DiscoArt 故事板,这整个过程可以总结为以下两个简单的步骤。

01

生成摘要

首先,我们将对故事中的长篇文字进行总结,生成摘要,作为 prompt (提示语)输入到我们的 AI 生成艺术笔记本中。通过下面这个非常简单的笔记本,理解并上手这个小项目吧!(只有 5 行代码)

🔗: https://colab.research.google.com/github/mfranzon/discoart-storyboard/blob/main/Summary_distillbart.ipynb

02

AI 生成艺术

接着,我们将总结出来的输出文本,作为输入发送给 DiscoArt。不论得到什么样的摘要,都可以作为 AI 生成艺术的 prompt。下面这个 Colab 链接是使用 DiscoArt 从文本生成图像的笔记本,代码非常简单,但足以感受它的无限可能性。

🔗: https://colab.research.google.com/github/jina-ai/discoart/blob/main/discoart.ipynb

DiscoArt|AI 插画师

我一直都想画我最喜欢的书 —— 亨利·菲尔丁的《弃儿汤姆·琼斯的历史》。在知道 DiscoArt 之前,我完全没有办法去实现,但 DiscoArt 让我一夜之间成为了艺术家。🕺


如何用 AI 完成文本摘要和艺术生成,如何让我的脑袋里的想象变为眼见为实的图片?首先,我们把这本书的第一章生成部分摘要,接着使用摘要作为输入,再使用 DiscoArt 生成艺术图像。


DistillBART 生成摘要

"托马斯-阿勒沃西是英格兰西南部的一个富有的地主,是一个有三个成年子女的鳏夫。他和他的妹妹布里奇特住在一栋大房子里,后者是个中年人,朴素且未婚。"


DiscoArt 生成图像

由 DiscoArt 生成的插图

DiscoArt 提供了不同模型的选择,我选择了计算成本最低的模型,并且以低分辨率生成图像,以加快生成过程。几分钟后,就有了这样令人惊叹的图像。于是我深入研究了上述用到的两种技术,接下来我将带你了解这背后的技术原理。

技术原理

DistillBART 模型蒸馏于 BART 模型,根据定义,它是一个用于预训练 Seq2Seq 模型的降噪自编码器,BART 模型的训练方式是用任意噪声函数来破坏文本,并训练模型来重建原始文本。它使用标准的基于 Transformer 的神经机器翻译架构,可以看作是对 BERT 模型的泛化。


按照设计,它有超过一亿个参数,所以它很难在消费类硬件上使用。DistillBART 通过模型蒸馏,对 BART 模型进行压缩,获得了几乎相同的精度,同时降低了计算成本。


蒸馏就是把老师模型学到的知识迁移到另一个轻量级学生模型上,使它方便部署。当你想把一个模型移植到有限的硬件上时,如笔记本或手机时,就可以用到模型蒸馏,因为蒸馏后的模型运行更快,占用的空间更小。


DiscoArt 是使用 Diffusion 模型做 AI 生成艺术的最强大、最全面、最优雅的方式之一。


Diffusion 是生成式模型,能够生成与训练数据相似的数据。其工作原理是通过连续添加高斯噪声来破坏训练数据,然后学习从高斯噪声中恢复原始数据,扩散和逆扩散都是马尔可夫链过程。训练过后,我们就可以使用 Diffusion 模型来生成数据。


最重要的是,DiscoArt 还有一个现代 API,你可以很轻松地上手使用,创建属于你自己的 AI 生成艺术;同时它还提供了结果复现,gRPC 和 HTTP 服务等等...

Repo: https://github.com/jina-ai/discoart


你可以在 GitHub 找到本项目的源代码,尽管这主要是一个 PoC,但足以体验到生成式 AI 的魔力和潜力。你可以在本地运行这个 Web 应用程序,我已经调整好了参数可以在你的本地计算机上很好地执行。

Repo: https://github.com/mfranzon/discoart-storyboard

结语

本项目带你体验了如何使用 DiscoArt 和 DistillBART 模型在长文本里生成艺术。DiscoArt 使用简单,只需几行代码,就能借助生成式 AI 的魔法,探索出无穷无尽的可能性!一起来尝试吧!

官网:Jina.ai


社区:Slack.jina.ai


开源:Github.com/Jina-ai


扫码添加小助手,加入讨论组


更多精彩内容(点击图片阅读)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存