使用深度学习从任何文本生成艺术

2021-08-10 01:23:44

几周前,我们宣布了 Comet 和 Gradio 之间非常令人兴奋的集成,它允许数据科学家和团队通过实时演示交互式地测试和验证他们的 ML 模型,同时跟踪实验指标、超参数、源代码等。这种集成有许多可能的用例,但为了展示一个特别有价值(和有趣)的用例,我们的团队一直在努力为 AI 生成的艺术品创建一个公共画廊空间。超大型预训练 Transformer 模型(例如 GPT3 和 CLIP)的出现导致了一种新现象的兴起:Prompt Engineering。这些大型模型能够产生各种出色的输出;然而,使它们工作的关键是使用正确的指令集作为输入。 ML Twitter 充满了人们尝试不同类型的提示并分享他们的结果的例子。这里的问题是,由于这些知识是分散的,其他人无法从过去的方法中学习和构建。我们相信,作为与这些大型生成模型交互的一种方式,Prompt Engineering 将在未来受到很多关注。但是,如果我们不跟踪社区正在尝试和创建的内容,我们将无法取得很大进展。为了支持 ML 和创成艺术社区的实验工作,我们正在创建一个公共 Comet 项目来跟踪使用 CLIPDraw 模型创建的创成艺术,以及一个用于与我们社区服务器上的模型进行交互的 Gradio UI。这是它的工作原理,在高层次上。使用 Gradio,我们能够创建一个简单、高效的用户界面,用于实时生成和可视化单个模型预测。

我们将这些强大的功能与 Kevin Frans 的 CLIPDraw 模型实现配对,以创建一个 UI,该 UI 接受文本提示作为核心输入(以及几个可选参数,如训练迭代等),并生成 AI 生成的艺术作为输出。然后,使用 Gradio 和 Comet 之间的集成,我们创建了一个 Comet 项目,我们在其中记录了这些文本提示、图像创建参数和给定运行的生成图像。当您提交提示时,它会作为项目中的一个实验排入队列,并作为我们社区 GPU 服务器上的一项作业,它将在图像生成作业进入时不断运行。作业目前的运行时间限制为 10 分钟,但是中间图像将记录到您的实验中。不想等待社区服务器完成您的工作?尝试在这个 Colab Notebook 中自己运行它结果是一个数据丰富的 AI 生成艺术实验公共画廊!但任何艺术画廊的好坏都取决于其中的艺术家。这导致我们... 为这个项目做贡献很简单——访问公共 Gradio 界面,输入文本提示,试验可选参数(一般来说,增加值会产生更丰富的图像,但需要更多的处理时间) ,然后点击提交。种子:设置用于初始化的种子以重现您的绘图。这可以是任何正整数。

提示:模型将用于创建工程图的文本提示。它可以是任何类型的字符串。该模型将尝试最大化此提示与生成的图像之间的相似性。否定提示:模型将尽量减少生成的绘图与此提示之间的相似性。社交:如果您希望我们在 Twitter 上用您的创作标记您,请在此处留下您的句柄。然后,您将在屏幕右侧看到一个 Comet URL——这让您知道您的实验在队列中,训练正在进行中,并且当训练结束时,您将能够在该 URL 上看到输出完全的。这是一个显示该过程的 GIF:借助 Comet 强大的实验管理工具,该项目中还有一些额外的好东西,可以很有趣地玩。在实验运行中(通过 Gradio 界面上的输出 URL 找到),单击“图形”选项卡,您将在眼前看到 AI 生成艺术的演变。您最初会看到一个静态图像库,但您也可以通过单击“按步骤筛选”列下的“播放”按钮查看此进程的延时摄影。

如果您想比较具有不同可选参数的相同文本提示上的输出,您也可以在 Comet 内部进行。只需访问主项目页面,找到并选择要比较的实验运行,单击表格顶部的“差异”按钮,然后单击“图形”选项卡以查看并排显示。您可以通过单击“按步骤筛选”列下的播放按钮再次可视化模型训练步骤的进展。这是实践中的快速浏览:我们将在公共项目页面上查看人们正在提交和创建的内容,但是如果您最终无法抗拒分享某些内容,请告诉我们!截取屏幕截图或捕获 GIF 并在 Twitter (@Cometml) 或 LinkedIn (@comet-ml) 上标记我们。我们很高兴看到您的想法!订阅 Comet 通讯,随时了解我们正在构建的内容,并听取我们团队对最新行业新闻、研究、观点等的看法。