中国最失败的广告案例分析

中国最失败的广告案例:乳制品事件

2018年,中国的乳制品行业发生了一件令人痛心的事件,一家知名乳制品品牌在其广告中使用了错误的语言和图像,引起了公众的不满。该广告的内容包括贬低母乳喂养、夸大产品功效和假装医学专家的言论等。这一事件使得该品牌的声誉受到了极大的损害,为大众所诟病。

乳制品

在这个广告中,该品牌还使用了一些违法的词汇和图像,例如“婴儿配方奶粉的必需品”,这一说法违反了中国广告法中的“禁止虚假宣传”的规定。此外,广告中还出现了假装医学专家的言论,进一步误导了消费者。这些错误信息不仅损害了该品牌的形象,还可能对消费者的健康造成潜在的危害。

母婴

为什么这个广告失败了?

首先,该广告没有遵守中国广告法的规定,使用了违法的词汇和图像。其次,该广告所传递的信息和语言不够准确和真实,让消费者对该品牌的产品和形象产生了怀疑。此外,该广告中的内容没有考虑到社会和文化的因素,忽略了中国的母乳喂养文化和民族情感,进一步引起了公众的不满和反感。最后,该品牌没有及时回应和处理这个事件,对公众的质疑和意见缺乏有效的回应和反馈。

如何避免类似的广告失败?

首先,广告公司和品牌需要深入了解中国的文化和社会背景,了解消费者的需求和偏好,从而创造更符合中国人口的广告内容。其次,广告内容需要严格遵守中国的广告法规,避免使用违规词汇和图像,保证广告信息的准确和真实。此外,广告需要尊重和体现中国的文化和民族情感,避免与社会价值观相悖。最后,品牌需要及时回应和处理公众的质疑和意见,积极维护消费者的利益和形象。

结论

乳制品事件是中国广告界的一次惨痛教训,提醒我们广告不仅是品牌的一种宣传方式,更是品牌形象和声誉的体现。广告需要遵守法律规定,尊重和反映社会和文化背景,同时也需要关注消费者的需求和偏好,以及时回应和处理公众的质疑和意见。只有这样,广告才能真正成为品牌的一种优势和力量。

中国最失败的广告案例分析特色

1、油画素描等艺术滤镜让你的照片更加时尚,走在潮流的尖端

2、许多不同的级别正在等待您加入,在线体验新颖的游戏模式,每个游戏都非常令人兴奋。

3、合成+卡牌RPG,新

4、【天命羁绊】五子良将百战不殆武将搭配缘分激活。

5、软件管理:卸载无用的预装软件,让存储空间更大。

中国最失败的广告案例分析亮点

1、别害怕,如果你维持低速档行车,掌握好汽车方向盘认清实时路况就可以了。

2、接入实际教学计划,自动发布学习任务

3、制定孩子使用手机的计划,养成良好习惯

4、让宝宝做个讲卫生的好宝宝,也帮小动物洗手刷牙洗澡。

5、救救动物园手游下载

youhuasumiaodengyishulvjingrangnidezhaopiangengjiashishang,zouzaichaoliudejianduanxuduobutongdejibiezhengzaidengdaininjiaru,zaixiantiyanxinyingdeyouximoshi,meigeyouxidoufeichanglingrenxingfen。hecheng+kapaiRPG,xin【tianmingjiban】wuziliangjiangbaizhanbudaiwujiangdapeiyuanfenjihuo。ruanjianguanli:xiezaiwuyongdeyuzhuangruanjian,rangcunchukongjiangengda。壹(yi)行(xing)代(dai)碼(ma),煉(lian)丹(dan)2倍(bei)速(su)!PyTorch 2.0驚(jing)喜(xi)問(wen)世(shi),LeCun激(ji)情(qing)轉(zhuan)發(fa)

新(xin)智(zhi)元(yuan)報(bao)道(dao)

編(bian)輯(ji):好(hao)困(kun)

【新智元導(dao)讀(du)】現(xian)在(zai),只(zhi)需(xu)添(tian)加(jia)一行代码,PyTorch2.0就(jiu)能(neng)讓(rang)妳(ni)在訓(xun)練(lian)Transformer模(mo)型(xing)時(shi),實(shi)现1.5倍-2倍的(de)速度(du)提(ti)升(sheng)!

12月(yue)2日(ri),PyTorch 2.0正(zheng)式(shi)发布(bu)!

這(zhe)次(ci)的更(geng)新不(bu)僅(jin)將(jiang)PyTorch的性(xing)能推(tui)到(dao)了(le)新的高(gao)度,同(tong)时也(ye)加入(ru)了對(dui)動(dong)態(tai)形(xing)狀(zhuang)和(he)分(fen)布式的支(zhi)持(chi)。

此(ci)外(wai),2.0系(xi)列(lie)還(hai)會(hui)将PyTorch的部(bu)分代码從(cong)C++移(yi)回(hui)Python。

目(mu)前(qian),Python 2.0还處(chu)在測(ce)試(shi)階(jie)段(duan),預(yu)計(ji)第(di)一個(ge)穩(wen)定(ding)版(ban)本(ben)会在2023年(nian)3月初(chu)面(mian)世。

PyTorch 2.x:更快(kuai)、更Python!

在過(guo)去(qu)的幾(ji)年裏(li),PyTorch从1.0到最(zui)近(jin)的1.13進(jin)行了創(chuang)新和叠(die)代,並(bing)转移到新成(cheng)立(li)的PyTorch基(ji)金(jin)会,成為(wei)Linux基金会的一部分。

當(dang)前版本的PyTorch所(suo)面臨(lin)的挑(tiao)戰(zhan)是(shi),eager-mode難(nan)以(yi)跟(gen)上(shang)不斷(duan)增(zeng)長(chang)的GPU帶(dai)寬(kuan)和更瘋(feng)狂(kuang)的模型架(jia)構(gou)。

而(er)PyTorch 2.0的誕(dan)生(sheng),将从根(gen)本上改(gai)變(bian)和提升了PyTorch在编譯(yi)器(qi)級(ji)別(bie)下(xia)的運(yun)行方(fang)式。

眾(zhong)所周(zhou)知(zhi),PyTorch中(zhong)的(Py)來(lai)自(zi)於(yu)數(shu)據(ju)科(ke)學(xue)中廣(guang)泛(fan)使(shi)用(yong)的開(kai)源(yuan)Python编程(cheng)語(yu)言(yan)。

然(ran)而,PyTorch的代码卻(que)并沒(mei)有(you)完(wan)全(quan)采(cai)用Python,而是把(ba)一部分交(jiao)給(gei)了C++。

不过,在今(jin)後(hou)的2.x系列中,PyTorch項(xiang)目團(tuan)隊(dui)计劃(hua)将與(yu)torch.nn有關(guan)的代码移回到Python中。

除(chu)此之(zhi)外,由(you)于PyTorch 2.0是一个完全附(fu)加的(和可(ke)選(xuan)的)功(gong)能,因(yin)此2.0是100%向(xiang)后兼(jian)容(rong)的。

也就是說(shuo),代码庫(ku)是一樣(yang)的,API也是一样的,编寫(xie)模型的方式也是一样的。

更多(duo)的技(ji)術(shu)支持

TorchDynamo

使用Python框(kuang)架評(ping)估(gu)鉤(gou)子(zi)安(an)全地(di)捕(bu)獲(huo)PyTorch程序(xu),这是团队5年来在graph capture方面研(yan)发的一项重(zhong)大(da)创新。

AOTAutograd

重載(zai)了PyTorch的autograd引(yin)擎(qing),作(zuo)为一个追(zhui)蹤(zong)的autodiff,用于生成超(chao)前的反(fan)向追踪。

PrimTorch

将約(yue)2000多个PyTorch运算(suan)符(fu)歸(gui)納(na)为约250个原(yuan)始(shi)运算符的封(feng)閉(bi)集(ji),开发人(ren)員(yuan)可以針(zhen)对这些(xie)运算符构建(jian)一个完整(zheng)的PyTorch后端(duan)。大大降(jiang)低(di)了编写PyTorch功能或(huo)后端的障(zhang)礙(ai)。

TorchInductor

一个深(shen)度学習(xi)编译器,可以为多个加速器和后端生成快速代码。对于英(ying)偉(wei)達(da)的GPU,它(ta)使用OpenAI Triton作为关鍵(jian)构建模塊(kuai)。

值(zhi)得(de)註(zhu)意(yi)的是,TorchDynamo、AOTAutograd、PrimTorch和TorchInductor都(dou)是用Python编写的,并支持动态形状。

更快的训练速度

通(tong)过引入新的编译模式「torch.compile」,PyTorch 2.0用一行代码,就可以加速模型的训练。

这里不用任(ren)何(he)技巧(qiao),只需运行torch.compile即(ji)可,仅此而已(yi):

opt_module = torch.compile(module)

为了驗(yan)證(zheng)这些技术,团队精(jing)心(xin)打(da)造(zao)了测试基準(zhun),包(bao)括(kuo)圖(tu)像(xiang)分類(lei)、物(wu)體(ti)檢(jian)测、图像生成等(deng)任務(wu),以及(ji)各(ge)種(zhong)NLP任务,如(ru)语言建模、问答(da)、序列分类、推薦(jian)系統(tong)和強(qiang)化(hua)学习。其(qi)中,这些基准可以分为三(san)类:

来自HuggingFace Transformers的46个模型

来自TIMM的61个模型:Ross Wightman收(shou)集的最先(xian)进的PyTorch图像模型

来自TorchBench的56个模型:github的一組(zu)流(liu)行代码库

测试結(jie)果(guo)表(biao)明(ming),在这163个跨(kua)越(yue)視(shi)覺(jiao)、NLP和其他(ta)領(ling)域(yu)的开源模型上,训练速度得到了38%-76%的提高。

在NVIDIA A100 GPU上的对比(bi)

此外,团队还在一些流行的开源PyTorch模型上进行了基准测试,并获得了从30%到2倍的大幅(fu)加速。

开发者(zhe)Sylvain Gugger表示(shi):「只需添加一行代码,PyTorch 2.0就能在训练Transformers模型时实现1.5倍到2.0倍的速度提升。这是自混(hun)合(he)精度训练问世以来最令(ling)人興(xing)奮(fen)的事(shi)情!」

技术概(gai)述(shu)

PyTorch的编译器可以分解(jie)成三个部分:

图的获取(qu)

图的降低

图的编译

其中,在构建PyTorch编译器时,图的获取是更难的挑战。

TorchDynamo

今年年初,团队便(bian)开始了TorchDynamo的工(gong)作,这种方法(fa)使用了PEP-0523中引入的CPython功能,稱(cheng)为框架评估API。

为此,团队采取了一种数据驅(qu)动的方法来验证TorchDynamo在graph capture上的有效(xiao)性——通过使用7000多个用PyTorch编写的Github项目,来作为验证集。

结果顯(xian)示,TorchDynamo在99%的时間(jian)里都能正確(que)、安全地进行graph capture,而且(qie)开銷(xiao)可以忽(hu)略(lve)不计。

TorchInductor

对于PyTorch 2.0的新编译器后端,团队从用戶(hu)如何编写高性能的自定義(yi)內(nei)核(he)中得到了靈(ling)感(gan):越来越多地使用Triton语言。

TorchInductor使用Pythonic定义的逐(zhu)个循(xun)環(huan)级别的IR来自动将PyTorch模型映(ying)射(she)到GPU上生成的Triton代码和CPU上的C++/OpenMP。

TorchInductor的核心循环级IR只包含(han)大约50个运算符,而且它是用Python实现的,这使得它很(hen)容易(yi)得到擴(kuo)展(zhan)。

AOTAutograd

想(xiang)要(yao)加速训练,就不仅需要捕获用户级代码,而且还要捕获反向傳(chuan)播(bo)。

AOTAutograd可以利(li)用PyTorch的torch_dispatch扩展機(ji)制(zhi)来追踪Autograd引擎,「提前」捕获反向传播,进而能夠(gou)使用TorchInductor来加速前向和后向通道。

PrimTorch

PyTorch有1200多个运算符,如果考(kao)慮(lv)到每(mei)个运算符的各种重载,則(ze)有2000多个。因此,编写后端或跨领域的功能成为一项耗(hao)費(fei)精力(li)的工作。

在PrimTorch项目中,团队定义了兩(liang)个更小(xiao)更稳定的运算符集:

Prim ops有大约~250个运算符,適(shi)合于编译器。由于足(zu)够低级,因此只需将它們(men)融(rong)合在一起(qi)以获得良(liang)好的性能。

ATen ops有大约~750个典(dian)型的运算符,适合于按(an)原样輸(shu)出(chu)。这些适合于已經(jing)在ATen级别上集成的后端,或者没有编译的后端,从而恢(hui)復(fu)像Prim ops这样的低级别运算符集的性能。

动态形状

在研究(jiu)支持PyTorch代码通用性的必(bi)要條(tiao)件(jian)时,一个关键要求(qiu)是支持动态形状,并允(yun)許(xu)模型接(jie)受(shou)不同大小的張(zhang)量(liang),而不会在每次形状变化时引起重新编译。

在不支持动态形状的情況(kuang)下,一个常(chang)見(jian)的解決(jue)方法是将其填(tian)充(chong)到最接近的2次方。然而,正如我(wo)们从下面的图表中所看(kan)到的,它產(chan)生了大量的性能开销,同时也带来了明显更长的编译时间。

现在,有了对动态形状的支持,PyTorch 2.0也就获得了比Eager高出了最多40%的性能。

最后,在PyTorch 2.x的路(lu)線(xian)图中,团队希(xi)望(wang)在性能和可扩展性方面进一步(bu)推动编译模式的发展。

參(can)考資(zi)料(liao):

https://pytorch.org/get-started/pytorch-2.0/返(fan)回搜(sou)狐(hu),查(zha)看更多

責(ze)任编辑:

发布于:贵州黔东南台江县