Google的AI模型是如何做A/B Test的

在AI领域调参是一件十分常见的事情,每个模型的训练过程可能包含几十个可调节参数,每个参数的细微变化对于模型效果有很大的影响,如何正确的在业务流量下评估不同参数带来的不同的模型效果需要A/B Test系统实现。

今天就基于Google的一篇论文《Overlapping Experiment Infrastructure :More, Better, Faster Experimentation》介绍一下如何基于流量去做不同模型的A/B Test。

A/B Test系统的设计原则

 

在介绍具体做法之前先给大家介绍一下Google这篇论文介绍的A/B Test系统的3个设计原则,分别是More、Better、Faster。

  1. More:要同时支持尽可能多的实验,无论是大改动的实验还是小改动的实验,都需要尽可能的同步支持
  2. Better:需要建立一套实验的评估体系,不好的实验不应该执行,效果不好的实验需要快速被发现
  3. Faster:构建实验和实验评估的链路需要自动化和迅速

A/B Test系统设计方案

首先设计一个A/B Test系统需要包含3层概念,分别是Domain、Layer、Experiment

  1. Domain:指的是一个领域的流量,比如在业务中我们可以把男用户和女用户的流量做一个分割,属于不同的Domain。
  2. Layer:Layer是一个流量纵向分割的概念,我们可以把流量的从上到下的流动分成不同的Layer,Layer间彼此正交(正交的意思是相互不影响)。举个例子,在推荐业务中流量需要先通过召回模块,再通过排序模块,那么召回和排序就可以作为两个Layer,并且这两个Layer是同享流量的,相互正交
  3. Experiment:Experiment指的是一个单点的实验,Experiment可能是Layer或者Domain的组成部分。对应AI流程,可能某个训练参数的变化就是一个Experiment

接下来针对几个典型场景介绍下在A/B Test系统设计中以上3个概念是如何运用的。

(1)单Domain、多层、多实验模式

image.png

图A展示的是3层,每层一个实验的模式。3层流量直接相互正交,每一层都可以享受全部的流量做不同的实验。

(2)多Domain、多层、多实验模式

image.png

可以看下,实验被分为两个大的Domain,一个是non-over lapping domain,另一个是右边的domain。右侧的domain可以增加实验。这样的分布经常被用于新实验上线的时候,横向将流量做比例分割,一边保持原样,另一边做新的实验尝试。

(3)多层、多Domain、多实验模式

image.png

C图展示的是先纵向多层实验区分,再横向Domain划分的模式。流量需要先通过两个launch layer,再做各种实验对比。

总结一下,Google这篇论文用很简洁的概念大体描述清楚了在各种复杂场景下该如何做各种横向、纵向的实验划分,并且给整个系统元素做了很好地概念定义,是一篇介绍AB Test的好文章。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 当然,以下是20个比较流行的AI作画模型的代码: 1. StyleGAN2 - https://github.com/NVlabs/stylegan2 2. DALL-E - https://github.com/openai/dall-e 3. BigGAN - https://github.com/ajbrock/BigGAN-PyTorch 4. CycleGAN - https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 5. Pix2Pix - https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 6. ProGAN - https://github.com/akanimax/progan-pytorch 7. StarGAN - https://github.com/yunjey/stargan 8. GANimation - https://github.com/albertpumarola/GANimation 9. UNIT - https://github.com/mingyuliutw/UNIT 10. MUNIT - https://github.com/NVlabs/MUNIT 11. BEGAN - https://github.com/carpedm20/BEGAN-tensorflow 12. ACGAN - https://github.com/lukedeo/ac-gan 13. DCGAN - https://github.com/carpedm20/DCGAN-tensorflow 14. DiscoGAN - https://github.com/SKTBrain/DiscoGAN 15. VAE-GAN - https://github.com/rkulas/vae-gan-tensorflow 16. WGAN - https://github.com/carpedm20/WGAN-tensorflow 17. LSGAN - https://github.com/carpedm20/LSGAN-tensorflow 18. EBGAN - https://github.com/carpedm20/EBGAN-tensorflow 19. BICUBIC-SRGAN - https://github.com/leftthomas/SRGAN 20. SRGAN - https://github.com/leftthomas/SRGAN 这些模型都是非常流行的AI作画模型,并且在GitHub上都有开源代码可供使用。希望这些资源能够帮助你。 ### 回答2: 以下是20个比较流行的AI作画模型代码的推荐: 1. DeepArt:https://github.com/woop/DeepArt 2. CycleGAN:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 3. Neural-Style:https://github.com/jcjohnson/neural-style 4. FastPhotoStyle:https://github.com/NVIDIA/FastPhotoStyle 5. CartoonGAN:https://github.com/Yijunmaverick/CartoonGAN-Test-Pytorch-Torch 6. DeepDream:https://github.com/google/deepdream 7. DALL-E:https://github.com/openai/DALL-E 8. pix2pixHD:https://github.com/NVIDIA/pix2pixHD 9. MUNIT:https://github.com/NVlabs/MUNIT 10. SPADE:https://github.com/NVlabs/SPADE 11. AnimeGAN:https://github.com/TachibanaYoshino/AnimeGAN 12. Neural-Painter:https://github.com/rylewan/neural-painter 13. WatercolorGAN:https://github.com/nicolalandro/WatercolorGAN 14. DeepArtEffects:https://github.com/fergusonalex/deep-art-effects 15. Neural-Doodle:https://github.com/alexjc/neural-doodle 16. NeuralTalk:https://github.com/karpathy/neuraltalk 17. Neural-Complete:https://github.com/karpathy/neuraltalk2 18. DeepDraw:https://github.com/alexjc/draw 19. DeepNude:https://github.com/alexjc/DeepNude-an-Image-to-Image-technology 20. Neural-Sketch:https://github.com/alexjc/neural-sketch 以上推荐的模型代码都有相应的GitHub链接,你可以根据需求挑选适合你的项目。请注意,有些模型可能涉及敏感内容,使用时请确保合法合规。 ### 回答3: 以下是20个比较流行的AI作画模型代码: 1. DeepArt:这是一个基于深度学习的神经网络模型,可以将图像转化为艺术风格的代码。 2. NeuralStyleTransfer:这是一个基于卷积神经网络的代码,可以将图像的风格迁移到另一个图像上。 3. FastStyleTransfer:这是一个基于快速风格迁移算法的代码,可以快速将图像的风格转化为艺术风格。 4. CycleGAN:这是一个基于循环一致性生成对抗网络的代码,可以将图像从一个域转化到另一个域,如从照片转化为油画风格。 5. DeepDream:这是一个基于卷积神经网络的代码,可以生成迷幻的幻觉效果。 6. Pix2Pix:这是一个基于条件生成对抗网络的代码,可以将输入图像转化为输出图像,并保持其内容和结构。 7. DCGAN:这是一个基于深度卷积生成对抗网络的代码,可以生成逼真的图像。 8. WGAN-GP:这是一个基于改进的生成对抗网络的代码,可以生成更稳定和高质量的图像。 9. VariationalAutoencoder:这是一个基于变分自编码器的代码,可以生成多样化的图像。 10. StyleGAN:这是一个基于生成式对抗网络的代码,可以生成逼真且具有艺术品风格的图像。 11. CartoonGAN:这是一个基于生成对抗网络的代码,可以将图像转化为卡通风格。 12. DeepFaceLab:这是一个基于深度学习的代码,可以进行人脸合成和编辑。 13. StarGAN:这是一个基于条件生成对抗网络的代码,可以进行多域图像转换。 14. U-GAT-IT:这是一个基于生成对抗网络的代码,可以进行无监督的图像到图像翻译。 15. OpenAI DALL-E:这是一个基于变分自编码器的代码,可以生成与文本描述相对应的图像。 16. NeuralDoodle:这是一个基于神经网络的代码,可以生成具有艺术风格的涂鸦效果。 17. NeuralTalk:这是一个基于深度学习的代码,可以将图像生成相应的文字描述。 18. GPT-3:这是一个基于神经网络的代码,可以生成高质量的文本内容。 19. DeepSpeech:这是一个基于深度学习的代码,可以进行语音识别和转写。 20. DeepPose:这是一个基于深度学习的代码,可以进行人体姿势估计和识别。 以上是20个比较流行的AI作画模型代码,并涵盖了图像生成、风格迁移、图像转换等多个领域。请根据您的需要选择合适的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值