何很好量化GAN模型结果?有什么切实提高GAN模型训练稳定性和缓解模式崩溃的tips吗? 主要依靠两个东西,第一个是FID,叫Frechet Inception Distance。GAN是一种match两种分布的方法,在Frechet Distance里面假设分布是常态分布,当然影像不是常态分布,但是你可以用exception model把它从影像转换为一些defiture去提取特征。在FID中,假设在提取特征后影像变成常态分布,你有两个数据集,可以给他们用Frechet Distance做常态分组。第二个就是通过肉眼,看哪个模型生成照片比较好,通常 阅读全文 → 2022-10-12
有些GAN会选择在Generator网络的前几层用Instance Normalization来代替Batch Normalization,有paper提到前者可以有效避免不同训练数据直接的对比度差异 基本上Instance Normalization跟Batch Normalization的表现差不多,在某些情况下InstanceNorm比较好,有些情况下BatchNorm比较好。在GaoGAN这篇论文里面也测试过把BatchNorm换成InstanceNorm,一样可以把在Instance Normalization有γ跟β,我们可以做spatial normalization。在GaoGAN的测试数据集上面里BatchNorm比较好,那Instance 阅读全文 → 2022-10-12
自动混合精度训练,如何选择自动化的参数?其效果的评估标准是什么? 混合精度的概念在于FP16和FP32的混合,利用TensorCore进行加速的基本原则是一样的,只是在图改写时不同,自动改写的是基于规则,希望在图改写的情况下性能最优,所以在图改写的维度下是没有自动化超参的。对于训练过程中的超参,主要是一个维度,即loss-scale参数怎么超参,这个参数的选择涉及到auto loss-scale的概念,基本原则是提出一个反馈方式,来选择scale应该是变大还是变小。对于评估的标准,因为自动混合训练最担心的一个问题是精度是否下降,将自 阅读全文 → 2022-10-12
NVIDIA在目标检测模型量化方面,怎样做到速度和精度之间的平衡。NVIDIA 在目标检测采用哪种算法? 蓝海大脑AI服务器事业部负责人表示:速度上面可以用FP16或INT8来达到目标的速度。在精度上面,如果用INT8,目前有很多方法,最基本的有TensorRT INT8基本的量化算法,像entropy、linux这些calibration的算法。如果校准的算法不满足精度的要求,有些debug的手段,去检查当前网络中哪些层影响精度,后面再去优化它。甚至有些可以在训练阶段去调整INT8的精度,把训练阶段设生成的INT8精度校准表导入到TensorRT里,让TensorRT在做influence的精度跟训练时的精 阅读全文 → 2022-10-11
深度学习短视频推荐算法引擎应用场景中,如何解决多卡负载利用率低的瓶颈?硬件还是软件优化? 蓝海大脑液冷服务器事业部负责人表示:我的理解它是分2块,第一块是在硬件上,就是在CPU和GPU的配比上可以做一些考虑。包括像之前GTC上百度介绍的一些内容,其实会涉及到整个大embedding table怎么去做多级的cache。软件上并不是所有的模型拿过来在同一个机器上效果都是一样的,比如在真正的运行部分,它的比例不太一样,这时GPU上的利用率肯定是不一样的。优化它在GPU上的利用率一方面可能会让算法变得越来越复杂,另外又回到硬件的问题上,你可以去考虑在硬件CPU、GPU配比的情况下,能不能做一些优化。 阅读全文 → 2022-10-11
深度学习GPU编程用哪种语言更合适?计算物理中所用到的数学知识有哪些? 如果是做科研,可能首先要面对的是研究,所以一开始使用GPU库和OpenACC解决问题会是最好的方式,如果有开源的软件和商业软件能用也是可以的。对于更深一步的研究,可能需要自己研究CUDA代码来写程序。对于计算物理中所用到的数学知识有哪些,我觉得可能会很丰富,计算物理最常用的就是偏微分方程的求解,系数矩阵,但是这些算法都是很经典的算法,很多库函数里面都有。对于物理来讲,最关键的还是建模,如果模型建立的好,算法有改进,就能在计算速度和并行效率上有很大的提升。 阅读全文 → 2022-10-11