<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 業(yè)界動(dòng)態(tài) > ASIC、FPGA、GPU,三種深度學(xué)習(xí)硬鑒方案哪種更被看好?

          ASIC、FPGA、GPU,三種深度學(xué)習(xí)硬鑒方案哪種更被看好?

          作者: 時(shí)間:2018-02-02 來源:網(wǎng)絡(luò) 收藏

            今天被羅振宇的跨年演講刷爆了朋友圈。不過他講和GPU的時(shí)候,真讓人虐心。

          本文引用地址:http://www.ex-cimer.com/article/201802/375297.htm

            顯卡的處理器稱為圖形處理器(GPU),它是顯卡的“心臟”,與CPU類似,只不過GPU是專為執(zhí)行復(fù)雜的數(shù)學(xué)和幾何計(jì)算而設(shè)計(jì)的,這些計(jì)算是圖形渲染所必需的。

            對(duì)硬件平臺(tái)的要求

            要想明白“”需要怎樣的硬件,必須了解深度學(xué)習(xí)的工作原理。首先在表層上,我們有一個(gè)巨大的數(shù)據(jù)集,并選定了一種深度學(xué)習(xí)模型。每個(gè)模型都有一些內(nèi)部參數(shù)需要調(diào)整,以便學(xué)習(xí)數(shù)據(jù)。而這種參數(shù)調(diào)整實(shí)際上可以歸結(jié)為優(yōu)化問題,在調(diào)整這些參數(shù)時(shí),就相當(dāng)于在優(yōu)化特定的約束條件。

              

            百度的硅谷人工智能實(shí)驗(yàn)室(SVAIL)已經(jīng)為深度學(xué)習(xí)硬件提出了DeepBench基準(zhǔn),這一基準(zhǔn)著重衡量的是基本計(jì)算的硬件性能,而不是學(xué)習(xí)模型的表現(xiàn)。這種方法旨在找到使計(jì)算變慢或低效的瓶頸。 因此,重點(diǎn)在于設(shè)計(jì)一個(gè)對(duì)于深層神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本操作執(zhí)行效果最佳的架構(gòu)。那么基本操作有哪些呢?現(xiàn)在的深度學(xué)習(xí)算法主要包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。基于這些算法,DeepBench提出以下四種基本運(yùn)算:

            矩陣相乘(Matrix Multiplication)——幾乎所有的深度學(xué)習(xí)模型都包含這一運(yùn)算,它的計(jì)算十分密集。

            卷積(Convolution)——這是另一個(gè)常用的運(yùn)算,占用了模型中大部分的每秒浮點(diǎn)運(yùn)算(浮點(diǎn)/秒)。

            循環(huán)層(Recurrent Layers )——模型中的反饋層,并且基本上是前兩個(gè)運(yùn)算的組合。

            All Reduce——這是一個(gè)在優(yōu)化前對(duì)學(xué)習(xí)到的參數(shù)進(jìn)行傳遞或解析的運(yùn)算序列。在跨硬件分布的深度學(xué)習(xí)網(wǎng)絡(luò)上執(zhí)行同步優(yōu)化時(shí)(如AlphaGo的例子),這一操作尤其有效。

            除此之外,深度學(xué)習(xí)的硬件加速器需要具備數(shù)據(jù)級(jí)別和流程化的并行性、多線程和高內(nèi)存帶寬等特性。 另外,由于數(shù)據(jù)的訓(xùn)練時(shí)間很長,所以硬件架構(gòu)必須低功耗。 因此,效能功耗比(Performance per Watt)是硬件架構(gòu)的評(píng)估標(biāo)準(zhǔn)之一。

              

            GPU在處理圖形的時(shí)候,從最初的設(shè)計(jì)就能夠執(zhí)行并行指令,從一個(gè)GPU核心收到一組多邊形數(shù)據(jù),到完成所有處理并輸出圖像可以做到完全獨(dú)立。由于最初GPU就采用了大量的執(zhí)行單元,這些執(zhí)行單元可以輕松的加載并行處理,而不像CPU那樣的單線程處理。另外,現(xiàn)代的GPU也可以在每個(gè)指令周期執(zhí)行更多的單一指令。所以GPU比CPU更適合深度學(xué)習(xí)的大量矩陣、卷積運(yùn)算的需求。深度學(xué)習(xí)的應(yīng)用與其原先的應(yīng)用需求頗為類似。GPU廠家順理成章的在深度學(xué)習(xí),找到了新增長點(diǎn)。

              

            英偉達(dá)以其大規(guī)模的并行GPU和專用GPU編程框架CUDA主導(dǎo)著當(dāng)前的深度學(xué)習(xí)市場。但是越來越多的公司開發(fā)出了用于深度學(xué)習(xí)的加速硬件,比如谷歌的張量處理單元(TPU/Tensor Processing Unit)、英特爾的Xeon Phi Knight's Landing,以及高通的神經(jīng)網(wǎng)絡(luò)處理器(NNU/Neural Network Processor)。

            多虧了新技術(shù)和充滿GPU的計(jì)算機(jī)數(shù)據(jù)中心,深度學(xué)習(xí)獲得了巨大的可能應(yīng)用領(lǐng)域。這家公司的任務(wù)中很大一部分都只是獲取用來探索這些可能性的時(shí)間和計(jì)算資源。這項(xiàng)工作極大地?cái)U(kuò)張了設(shè)計(jì)空間。就科學(xué)研究而言,覆蓋的領(lǐng)域已經(jīng)在指數(shù)式擴(kuò)張了。而這也已經(jīng)突破了圖像識(shí)別的范疇,進(jìn)入到了語音識(shí)別、自然語言理解等其它任務(wù)中。正因?yàn)楦采w的領(lǐng)域越來越多,微軟在提高其GPU集群的運(yùn)算能力的同時(shí)也在探索使用其它的專用處理器,其中包括FPGA——一種能針對(duì)特定任務(wù)(如深度學(xué)習(xí))編程的芯片。而且這項(xiàng)工作已經(jīng)在全世界的技術(shù)和人工智能領(lǐng)域掀起了波瀾。英特爾完成了其歷史上最大的并購案,收購了專注FPGA的Altera。

            FPGA的優(yōu)勢是,如果計(jì)算機(jī)需要改變,它可以被重新裝配。但是,最通用、最主流的方案仍舊是使用 GPU,以并行處理大量數(shù)學(xué)運(yùn)算。不出預(yù)料,GPU 方案的主要推動(dòng)者是該市場的霸主英偉達(dá)。

              

            英偉達(dá)旗艦顯卡 Pascal Titan X

            事實(shí)上, 2009 年之后人工神經(jīng)網(wǎng)絡(luò)的復(fù)興與 GPU 有緊密聯(lián)系——那一年,幾名斯坦福的學(xué)者向世界展示,使用 GPU 可以在合理的時(shí)間內(nèi)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。這直接引發(fā)了 GPU 通用計(jì)算的浪潮。

            英偉達(dá)首席科學(xué)家、斯坦福并發(fā) VLSI 架構(gòu)小組的負(fù)責(zé)人 William J. Dally 表示:“行內(nèi)每個(gè)人現(xiàn)在都在做深度學(xué)習(xí),這方面,GPU 幾乎已經(jīng)達(dá)到了最好?!?/p>

              

            幾乎所有深度學(xué)習(xí)的研究者都在使用GPU

            熟悉深度學(xué)習(xí)的人都知道,深度學(xué)習(xí)是需要訓(xùn)練的,所謂的訓(xùn)練就是在成千上萬個(gè)變量中尋找最佳值的計(jì)算。這需要通過不斷的嘗試實(shí)現(xiàn)收斂,而最終獲得的數(shù)值并非是人工確定的數(shù)字,而是一種常態(tài)的公式。通過這種像素級(jí)的學(xué)習(xí),不斷總結(jié)規(guī)律,計(jì)算機(jī)就可以實(shí)現(xiàn)像像人一樣思考。如今,幾乎所有的深度學(xué)習(xí)(機(jī)器學(xué)習(xí))研究者都在使用GPU進(jìn)行相關(guān)的研究。當(dāng)然,只是“幾乎”。除了GPU之外,包括MIC和FPGA也提供了不同的解決方案。

            “技術(shù)發(fā)展和科技的發(fā)展,是需要不同的技術(shù)一起來參與。無論是GPU也好、FPGA也好或者是專用的神經(jīng)網(wǎng)芯片也好,它的主要目的都是推動(dòng)深度學(xué)習(xí)(機(jī)器學(xué)習(xí))這個(gè)方向的技術(shù)發(fā)展。那么我們在初期,確實(shí)可以嘗試不同的技術(shù),來探討哪種技術(shù)可以更好的適合這項(xiàng)應(yīng)用。從目前來看,深度學(xué)習(xí)大量的使用,主要集中在訓(xùn)練方面。那么在這個(gè)領(lǐng)域,GPU確實(shí)是非常適合的,這也體現(xiàn)在所有的這些工業(yè)界的大佬如BAT、谷歌,F(xiàn)acebook等等,都在使用GPU在做訓(xùn)練?!盢VIDIA如是說。面對(duì)FPGA以及的挑戰(zhàn),NVIDIA表示“考慮是否設(shè)計(jì)低功耗的GPU,來滿足用戶的需求”。

            除了硬件方面的因素之外,英偉達(dá)從軟件方面解答了GPU對(duì)于深度學(xué)習(xí)應(yīng)用的價(jià)值。首先從深度學(xué)習(xí)應(yīng)用的開發(fā)工具角度,具備CUDA支持的GPU為用戶學(xué)習(xí)Caffe、Theano等研究工具提供了很好的入門平臺(tái)。其實(shí)GPU不僅僅是指專注于HPC領(lǐng)域的Tesla,包括Geforce在內(nèi)的GPU都可以支持CUDA計(jì)算,這也為初學(xué)者提供了相對(duì)更低的應(yīng)用門檻。除此之外,CUDA在算法和程序設(shè)計(jì)上相比其他應(yīng)用更加容易,通過NVIDIA多年的推廣也積累了廣泛的用戶群,開發(fā)難度更小。最后則是部署環(huán)節(jié),GPU通過PCI-e接口可以直接部署在服務(wù)器中,方便而快速。得益于硬件支持與軟件編程、設(shè)計(jì)方面的優(yōu)勢,GPU才成為了目前應(yīng)用最廣泛的平臺(tái)。

            深度學(xué)習(xí)發(fā)展遇到瓶頸了嗎?

            我們之所以使用GPU加速深度學(xué)習(xí),是因?yàn)樯疃葘W(xué)習(xí)所要計(jì)算的數(shù)據(jù)量異常龐大,用傳統(tǒng)的計(jì)算方式需要漫長的時(shí)間。但是,如果未來深度學(xué)習(xí)的數(shù)據(jù)量有所下降,或者說我們不能提供給深度學(xué)習(xí)研究所需要的足夠數(shù)據(jù)量,是否就意味著深度學(xué)習(xí)也將進(jìn)入“寒冬”呢?“做深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練需要大量模型,然后才能實(shí)現(xiàn)數(shù)學(xué)上的收斂。深度學(xué)習(xí)要真正接近成人的智力,它所需要的神經(jīng)網(wǎng)絡(luò)規(guī)模非常龐大,它所需要的數(shù)據(jù)量,會(huì)比我們做語言識(shí)別、圖像處理要多得多。假設(shè)說,我們發(fā)現(xiàn)我們沒有辦法提供這樣的數(shù)據(jù),很有可能出現(xiàn)寒冬”。

            其實(shí)深度學(xué)習(xí)目前還在蓬勃發(fā)展往上的階段。比如說我們現(xiàn)階段主要做得比較成熟的語音、圖像方面,整個(gè)的數(shù)據(jù)量還是在不斷的增多的,網(wǎng)絡(luò)規(guī)模也在不斷的變復(fù)雜。

            對(duì)于NVIDIA來說,深度學(xué)習(xí)是GPU計(jì)算發(fā)展的大好時(shí)機(jī),其實(shí)這是一場各個(gè)能夠?qū)崿F(xiàn)深度學(xué)習(xí)各個(gè)芯片,以及巨頭賽跑的結(jié)局。誰最先找到自己逼近深度學(xué)習(xí)最適合的芯片模式,誰就是勝利者。

            GPU、FPGA 還是專用芯片?

            盡管深度學(xué)習(xí)和人工智能在宣傳上炙手可熱,但無論從仿生的視角抑或統(tǒng)計(jì)學(xué)的角度,深度學(xué)習(xí)的工業(yè)應(yīng)用都還是初階,深度學(xué)習(xí)的理論基礎(chǔ)也尚未建立和完善,在一些從業(yè)人員看來,依靠堆積計(jì)算力和數(shù)據(jù)集獲得結(jié)果的方式顯得過于暴力——要讓機(jī)器更好地理解人的意圖,就需要更多的數(shù)據(jù)和更強(qiáng)的計(jì)算平臺(tái),而且往往還是有監(jiān)督學(xué)習(xí)——當(dāng)然,現(xiàn)階段我們還沒有數(shù)據(jù)不足的憂慮。未來是否在理論完善之后不再依賴數(shù)據(jù)、不再依賴于給數(shù)據(jù)打標(biāo)簽(無監(jiān)督學(xué)習(xí))、不再需要向計(jì)算力要性能和精度?

            退一步說,即便計(jì)算力仍是必需的引擎,那么是否一定就是基于GPU?我們知道,CPU和FPGA已經(jīng)顯示出深度學(xué)習(xí)負(fù)載上的能力,而IBM主導(dǎo)的SyNAPSE巨型神經(jīng)網(wǎng)絡(luò)芯片(類人腦芯片),在70毫瓦的功率上提供100萬個(gè)“神經(jīng)元”內(nèi)核、2.56億個(gè)“突觸”內(nèi)核以及4096個(gè)“神經(jīng)突觸”內(nèi)核,甚至允許神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)負(fù)載超越了馮·諾依曼架構(gòu),二者的能耗和性能,都足以成為GPU潛在的挑戰(zhàn)者。

            不過,這些都尚未產(chǎn)品化的今天,NVIDIA并不擔(dān)憂GPU會(huì)在深度學(xué)習(xí)領(lǐng)域失寵。首先,NVIDIA認(rèn)為,GPU作為底層平臺(tái),起到的是加速的作用,幫助深度學(xué)習(xí)的研發(fā)人員更快地訓(xùn)練出更大的模型,不會(huì)受到深度學(xué)習(xí)模型實(shí)現(xiàn)方式的影響。其次,NVIDIA表示,用戶可以根據(jù)需求選擇不同的平臺(tái),但深度學(xué)習(xí)研發(fā)人員需要在算法、統(tǒng)計(jì)方面精益求精,都需要一個(gè)生態(tài)環(huán)境的支持,GPU已經(jīng)構(gòu)建了CUDA、cuDNN及DIGITS等工具,支持各種主流開源框架,提供友好的界面和可視化的方式,并得到了合作伙伴的支持,例如浪潮開發(fā)了一個(gè)支持多GPU的Caffe,曙光也研發(fā)了基于PCI總線的多GPU的技術(shù),對(duì)熟悉串行程序設(shè)計(jì)的開發(fā)者更加友好。相比之下,F(xiàn)PGA可編程芯片或者是人工神經(jīng)網(wǎng)絡(luò)專屬芯片對(duì)于植入服務(wù)器以及編程環(huán)境、編程能力要求更高,還缺乏通用的潛力,不適合普及。

              

           

            目前來說,GPU貴,功耗高,運(yùn)行效率比FPGA高,易使用。FPGA功耗,單顆性能是低的,單顆FPGA的硬件設(shè)計(jì)挑戰(zhàn)沒有GPU大,但是總體性價(jià)比和效率不占優(yōu);Intel收購Altera是否可以通過其工藝實(shí)力,給其帶來極具的功能提升,我們還在長期的期待過程中。FPGA如果實(shí)現(xiàn)深度學(xué)習(xí)功能,還需要大批量使用,才能實(shí)現(xiàn)完整的功能,且需要與CPU相結(jié)合。

            另外一個(gè)問題是,F(xiàn)PGA的大規(guī)模開發(fā)難度偏高,從業(yè)人員少。我們可以通過ARM戰(zhàn)勝M(fèi)IPS、以及STM32的迅速發(fā)展可以看到,一個(gè)好的生態(tài)環(huán)境,更多的從業(yè)人口,比技術(shù)、性價(jià)比本身更利于其發(fā)展。所以易用性是幾個(gè)并行技術(shù)發(fā)展的一個(gè)重要考量維度。

            FPGA猶如樂高,其靈活性,根據(jù)實(shí)際應(yīng)用的需求,構(gòu)建我所需要的硬件組件。但是樂高本身就是一種浪費(fèi):其功耗性能比,可變布線資源、多余的邏輯資源,其實(shí)都是浪費(fèi)。所以你如果用樂高做一個(gè)機(jī)器人跟一個(gè)專門為格斗而開發(fā)的機(jī)器人對(duì)抗,結(jié)果可想而知。

            FPGA在深度學(xué)習(xí)的應(yīng)用場景,存在的價(jià)值在于其靈活性。DNN是深度神經(jīng)網(wǎng)絡(luò)系統(tǒng)的統(tǒng)稱,實(shí)際使用的時(shí)候,使用幾層網(wǎng)絡(luò),最終結(jié)果用什么樣的篩選策略,在不同的應(yīng)用和不同的設(shè)計(jì)框架下面,對(duì)硬件的訴求并不相同。

            要看設(shè)計(jì)者的建模方案。GPU的一個(gè)缺點(diǎn)是,他的組件模塊是乘法器、加法器。雖然深度學(xué)習(xí)的參數(shù)都是數(shù)學(xué)模型,需要對(duì)RTL級(jí)別的變化,但是GPU的硬件資源是以乘法器、加法器這樣量級(jí)的硬件單元組成的。如果GPU的預(yù)先配置與使用者的模型相差甚遠(yuǎn)。例如:加法器配置15個(gè),乘法器配置15個(gè)。但實(shí)際使用的時(shí)候,乘法器使用量是15個(gè),但是加法器只需要2個(gè)。這就浪費(fèi)了13個(gè)加法器的資源。而FPGA是以查找表和觸發(fā)器子單元,組合成任意運(yùn)算單元。

            但是換種角度來看FPGA本身就是一種浪費(fèi)。

            當(dāng)然是能效最高的,但目前,都在早期階段,算法變化各異。想搞一款通用的適配多種場景,還是有很多路需要走的。但是,在通信領(lǐng)域,F(xiàn)PGA曾經(jīng)也是風(fēng)靡一時(shí),但是隨著ASIC的不斷發(fā)展和蠶食,F(xiàn)PGA的份額和市場空間已經(jīng)岌岌可危。如果深度學(xué)習(xí)能夠迅速發(fā)展,有可能這個(gè)過程會(huì)比通信領(lǐng)域過程更短。

            人機(jī)大戰(zhàn)落幕后的兩個(gè)月,谷歌硬件工程師 Norm Jouppi 才公開了其加速硬件的存在。在博客中,他解釋道,谷歌給數(shù)據(jù)中心裝備這些加速器卡已經(jīng)有超過一年的時(shí)間。雖然谷歌對(duì)技術(shù)細(xì)節(jié)嚴(yán)格保密,但已透露它們專為谷歌開源項(xiàng)目 TensorFlow 而優(yōu)化;它采取了:ASIC。

            谷歌發(fā)布了人工智能芯片:Tensor Processing Unit,這是ASIC

            據(jù)知情人士說,TPU已經(jīng)在谷歌的數(shù)據(jù)中心運(yùn)行了一年時(shí)間,由于谷歌嚴(yán)守TPU的秘密,所以TPU一直不為外界所知。這位知情人士說,從目前的運(yùn)行效果來看,TPU每瓦能耗的學(xué)習(xí)效果和效率都比傳統(tǒng)的CPU、GPU高出一個(gè)數(shù)量級(jí),達(dá)到了摩爾定律預(yù)言的七年后的CPU的運(yùn)行效果。這位知情人士不無煽情的說,請忘掉CPU、GPU、FPGA吧。

            如此看來,在深度學(xué)習(xí)方面,TPU可以兼具桌面機(jī)與嵌入式設(shè)備的功能,也就是低能耗高速度。

            據(jù)報(bào)道,TPU之所以具有良好的機(jī)器學(xué)習(xí)能力,是因?yàn)檫@種芯片具有比較寬的容錯(cuò)性,這就意味著,達(dá)到與通用芯片相同的學(xué)習(xí)效果,TPU不需要通用芯片那樣多的晶體管,不需要通用芯片上那樣多的程序操作步驟,也就是說,相同數(shù)量的晶體管,在TPU上能做更多的學(xué)習(xí)工作。

            谷歌研發(fā)TPU并非要取代CPU或者FPGA,谷歌認(rèn)為,TPU是介于CPU和ASIC (application-specific integrated circuit:應(yīng)用集成電路)之間的芯片。ASIC用于專門的任務(wù),比如去除噪聲的電路,播放視頻的電路,但是ASIC明顯的短板是不可更改任務(wù)。通用CPU可以通過編程來適應(yīng)各種任務(wù),但是效率能耗比就不如ASIC。一如前邊所言,在機(jī)器學(xué)習(xí)方面,TPU兼具了CPU與ASIC的特點(diǎn),可編程,高效率,低能耗.

            最后說說,異構(gòu)處理器:

            什么是異構(gòu)多核處理器?簡單地說異構(gòu)多核處理器指的是在CPU里集成了 CPU與【其他模塊】一起同步工作,【也就是說 一塊cpu 里不單有 CPU運(yùn)算模塊 還有其他運(yùn)算模塊 例如 GPU,FPGA,DSP等等。

              

           

            AMD,Nvidia以及賽靈思公司都在進(jìn)行異構(gòu)多核處理器的研發(fā)

            這是AMD的異構(gòu)多核處理器

              

           

            AMD在異構(gòu)多核處理器發(fā)展方面是不遺余力,早在2012年就成立了“異構(gòu)系統(tǒng)架構(gòu)基金會(huì)”(HSA Foundation),首批會(huì)員是AMD、 ARM、Imagination Technologies、 聯(lián)發(fā)科和德州儀器(TI)是“異構(gòu)系統(tǒng)架構(gòu)基金會(huì)”的創(chuàng)始成員。

              

           

            瞧瞧,英特爾的老對(duì)手ARM和AMD都在里面呢

            HSA聯(lián)盟發(fā)展了兩年也有一些新成員加入,但是總的來說對(duì)英特爾威脅不大,直到 ,直到,賽靈思推了zynq的時(shí)候。

              

            看看它的內(nèi)部結(jié)構(gòu):

            1、四核A53處理器 CPU

            2、一個(gè)GPU Mali-400MP

            3、一個(gè)Cortex-R5 CPU

            4、電源管理單元,AMS單元

            5、H.265(HEVC)視頻編解碼器

            6、安全模塊

            7、UltraScale FPGA 單元;

            這其實(shí)就是一款異構(gòu)處理器,如前所述,它是一款A(yù)SIC就級(jí)的異構(gòu)處理器!而且是64位,采用16nm FinFET工藝的處理器!而且是采用FPGA實(shí)現(xiàn)硬加速的處理器!但是這個(gè)ARM是不是偏弱了一點(diǎn)?做深度學(xué)習(xí)還是欠把火后。

            Intel收購Altera,應(yīng)該最終的目的也是要在異構(gòu)處理器上面做出更多的文章吧。X86+FPGA,看起來好像很美。但是X86和FPGA結(jié)合就更符合模型么?目前也沒有應(yīng)用,更沒有看到成熟的芯片推出。兩個(gè)巨無霸的整合,可以說是用腳趾頭都能想到很多的困難。Intel這口也許吃得太大了,吞得很痛苦。不是每個(gè)公司都有很強(qiáng)大執(zhí)行力的,歷史包袱在所難免。



          關(guān)鍵詞: 深度學(xué)習(xí) ASIC

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();