0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【AI周報(bào)20230317】 OpenAI公布GPT-4、國內(nèi)存在哪些算力瓶頸

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 2023-03-21 14:35 ? 次閱讀

嵌入式 AI

AI 簡報(bào) 20230317 期

1. AI服務(wù)器市場規(guī)模持續(xù)增加,國內(nèi)存在哪些算力瓶頸?

原文:

https://mp.weixin.qq.com/s/v04vZCBxNzfCUDTy_8iSoA

近年來,在全球數(shù)字化、智能化的浪潮下,智能手機(jī)、自動駕駛、數(shù)據(jù)中心、圖像識別等應(yīng)用推動 AI服務(wù)器市場迅速成長。根據(jù) IDC 數(shù)據(jù),2021 年全球 AI 服務(wù)器市場規(guī)模已達(dá)到 145 億美元,并預(yù)計(jì) 2025 年將超過 260 億美元。

近段時(shí)間ChatGPT概念的火熱,更是對算力基礎(chǔ)設(shè)施的需求起到了帶動作用。寧暢副總裁兼CTO趙雷此前在接受媒體采訪的時(shí)候表示,ChatGP的訓(xùn)練和部署,都需要大量智能計(jì)算數(shù)據(jù)存儲以及傳輸資源,計(jì)算機(jī)基礎(chǔ)設(shè)施、算力等上游技術(shù)將因此受益。

ChatGPT有著多達(dá)1750億個(gè)模型參數(shù)。在算力方面,GPT-3.5在訓(xùn)練階段消耗的總算力約3640PF-days。在應(yīng)用時(shí),ChatGPT仍然需要大算力的服務(wù)器支持。ChatGPT的持續(xù)爆火也為AIGC帶來全新增量,行業(yè)對AI模型訓(xùn)練所需要的算力支持提出了更高要求。

寧暢是一家集研發(fā)、生產(chǎn)、部署、運(yùn)維一體的服務(wù)器廠商,及IT系統(tǒng)解決方案提供商。該公司早早就開始著重發(fā)力于人工智能服務(wù)器和液冷服務(wù)器。趙雷表示,公司目前在用的、在研的人工智能和液冷服務(wù)器,包括明年還將推出的浸沒液冷服務(wù)器,剛好跟上算力高速增長的市場需求。公司隨時(shí)準(zhǔn)備著為客戶提供合適的高算力產(chǎn)品和解決方案。

在人工智能服務(wù)器方面,寧暢已經(jīng)推出多款產(chǎn)品,包括X620 G50、X660 G45、X640 G40、X620 G40。X620 G50適用于機(jī)器學(xué)習(xí)、AI推理、云計(jì)算、高性能計(jì)算等場景;660 G45是專門為深度學(xué)習(xí)訓(xùn)練開發(fā)的高性能計(jì)算平臺;X640 G40是兼?zhèn)溆?xùn)練與推理功能的全能型GPU服務(wù)器;X620 G40性能提升的同時(shí)支持PCIe 4.0高速總線技術(shù),完美支持NVIDIA各類最新型GPU加速服務(wù),是最為理想的AI推理平臺。

在液冷服務(wù)器方面,寧暢推出了三款冷板式液冷服務(wù)器,包括產(chǎn)品B5000 G4 LP、X660 G45 LP、R620 G40 LP,范圍覆蓋了高密度、通用機(jī)架以及人工智能服務(wù)器產(chǎn)品,可滿足科學(xué)計(jì)算、AI訓(xùn)練、云計(jì)算等眾多IT應(yīng)用場景,可滿足用戶不同需求。

作為服務(wù)器廠商需要給下游互聯(lián)網(wǎng)客戶提供怎樣的產(chǎn)品和服務(wù)呢?對于服務(wù)器廠商來說,不只是要提供服務(wù)器硬件或者基礎(chǔ)設(shè)施,還要有對應(yīng)的服務(wù)能力。

從服務(wù)層面來看,在用戶現(xiàn)場會關(guān)注什么呢,比如說核心業(yè)務(wù),會關(guān)注業(yè)務(wù)的在線率,不管服務(wù)器壞不壞,整個(gè)業(yè)務(wù)的運(yùn)行是要有彈性的、靈活的,不會給客戶造成影響的。就以百度、微信這些業(yè)務(wù)為例,大家?guī)缀醪粫吹轿⑿挪荒苡昧?,或者百度搜索不反饋結(jié)果了。

趙雷表示,對于服務(wù)器廠商來說,要做的是在服務(wù)層面能夠快速響應(yīng),不管是采用現(xiàn)場備件模式,機(jī)房備機(jī)模式,還是駐場人員巡檢的模式,都需要做到24小時(shí)的快速響應(yīng)。這是純粹的服務(wù)方面,也就是說,在互聯(lián)網(wǎng)搭建業(yè)務(wù)連續(xù)性良好的基礎(chǔ)上,服務(wù)器廠商能夠?qū)⒐收虾涂焖?a target="_blank">維修的能力做到極致,有效地支撐客戶的前端應(yīng)用。

從產(chǎn)品層面來看,對于每個(gè)硬件子系統(tǒng)在設(shè)計(jì)研發(fā)過程中,都需要從易維修和低故障角度去思考如何將產(chǎn)品做得更好。寧暢在這方面做了很多工作:首先,現(xiàn)在冷卻方式是影響故障率比較重要的因素,因?yàn)闇囟忍吖收下示蜁?,寧暢的精密風(fēng)冷和液冷的方式,能夠有效地降低芯片和對應(yīng)組件的故障率。

其次,其精密六維減震模式,能夠有效提升硬盤的性能,降低故障率;接著是,采用DAE的散熱器,從散熱的維度有效降低光模塊的故障率。同時(shí)CPU、GPU的液冷可以有效降低CPU、GPU的故障率;通過內(nèi)存的漏斗,內(nèi)存的故障篩選或者在線隔離技術(shù),有效地降低內(nèi)存的故障率;另外還在板卡走線、機(jī)箱結(jié)構(gòu)方面進(jìn)行了優(yōu)化設(shè)計(jì)。

此外還有整機(jī)BMC易管理特性,趙雷認(rèn)為,任何東西不可能不壞,有毛病是不可避免的,壞了以后,如何快速通知客戶或者維護(hù)人員維修時(shí)關(guān)鍵。BMC有一個(gè)完善的通知機(jī)制,郵件自動通知、SMP遠(yuǎn)程告警、IPMI告警等。寧暢按照互聯(lián)網(wǎng)客戶的需求定制,將其融入整個(gè)機(jī)房的運(yùn)維系統(tǒng),出現(xiàn)故障以后可以第一時(shí)間通知去維修。

雖然目前國內(nèi)有不少優(yōu)秀的服務(wù)器、云廠商等,不過整體來看,國內(nèi)的算力仍然存在瓶頸,比如,總體算力不夠,算力的分布不平均。部分客戶算力過剩,部分客戶算力不足?;蛘逜時(shí)間算力過剩,B時(shí)間算力不足,這是算力協(xié)調(diào)的問題。

短期來看這個(gè)問題要靠云技術(shù)解決,長期來看是要提供過剩的算力。也就是說,需要云技術(shù)去平衡協(xié)調(diào)算力不均勻的問題,還需要提供算力、算力效率等。

再比如算力成本高的問題,雖然目前每單位算力單價(jià)下降了,但是過去幾年服務(wù)器的平均售價(jià)一直上漲。趙雷認(rèn)為,可能算力類型單一,不太能夠有效地支撐高速增長的模式,可能要有各種各樣不同類型的算力。比如ChatGPT,是不是可以做針對GPT模型專門的ASIC。算力的應(yīng)用類型越窄,它的效率就會越高,越通用,效率就越低。

整體而言,過去幾年在全球數(shù)字化、智能化浪潮下,市場對算力的需求不斷增加。ChatGP的出現(xiàn)更是讓行業(yè)對算力提出了新的要求。國內(nèi)服務(wù)器廠商在對人工智能行業(yè)提供算力支持方面已經(jīng)有所準(zhǔn)備。不過從目前的情況來看,國內(nèi)在算力方面仍然存在一些瓶頸,比如算力分布不均勻,成本高等問題。后續(xù)還需業(yè)界共同去探討解決。

2. PyTorch 2.0正式版發(fā)布!一行代碼提速2倍,100%向后兼容

原文:

https://mp.weixin.qq.com/s/wC0Oixd3hSnH75DsPDTC-g

去年12月,PyTorch基金會在PyTorch Conference 2022上發(fā)布了PyTorch 2.0的第一個(gè)預(yù)覽版本。

跟先前1.0版本相比,2.0有了顛覆式的變化。在PyTorch 2.0中,最大的改進(jìn)是torch.compile。

新的編譯器比以前PyTorch 1.0中默認(rèn)的「eager mode」所提供的即時(shí)生成代碼的速度快得多,讓PyTorch性能進(jìn)一步提升。

116f9206-c7b2-11ed-bfe3-dac502259ad0.png

除了2.0之外,還發(fā)布了一系列PyTorch域庫的beta更新,包括那些在樹中的庫,以及包括 TorchAudio、TorchVision和TorchText在內(nèi)的獨(dú)立庫。TorchX的更新也同時(shí)發(fā)布,可以提供社區(qū)支持模式。

-torch.compile是PyTorch 2.0的主要API,它包裝并返回編譯后的模型,torch.compile是一個(gè)完全附加(和可選)的特性,因此2.0版本是100%向后兼容的。

-作為torch.compile的基礎(chǔ)技術(shù),帶有Nvidia和AMD GPU的TorchInductor將依賴OpenAI Triton深度學(xué)習(xí)編譯器來生成高性能代碼,并隱藏低級硬件細(xì)節(jié)。OpenAI Triton生成的內(nèi)核實(shí)現(xiàn)的性能,與手寫內(nèi)核和cublas等專門的cuda庫相當(dāng)。

-Accelerated Transformers引入了對訓(xùn)練和推理的高性能支持,使用自定義內(nèi)核架構(gòu)實(shí)現(xiàn)縮放點(diǎn)積注意力 (SPDA)。API與torch.compile () 集成,模型開發(fā)人員也可以通過調(diào)用新的scaled_dot_product_attention () 運(yùn)算符,直接使用縮放的點(diǎn)積注意力內(nèi)核。

-Metal Performance Shaders (MPS) 后端在Mac平臺上提供GPU加速的PyTorch訓(xùn)練,并增加了對前60個(gè)最常用操作的支持,覆蓋了300多個(gè)操作符。

-Amazon AWS優(yōu)化了基于AWS Graviton3的C7g實(shí)例上的PyTorch CPU推理。與之前的版本相比,PyTorch 2.0提高了Graviton的推理性能,包括對Resnet50和Bert的改進(jìn)。

-跨TensorParallel、DTensor、2D parallel、TorchDynamo、AOTAutograd、PrimTorch和TorchInductor的新原型功能和技術(shù)。

3. OpenAI公布GPT-4:可在考試中超過90%的人類

原文:

https://mp.weixin.qq.com/s/YYZNYOUItGW18xAWk7In8Q

當(dāng)?shù)貢r(shí)間周二(3月14日),人工智能研究公司OpenAI公布了其大型語言模型的最新版本——GPT-4.該公司表示,GPT-4在許多專業(yè)測試中表現(xiàn)出超過絕大多數(shù)人類的水平。

OpenAI表示,我們已經(jīng)創(chuàng)建了GPT-4,這是OpenAI在深度學(xué)習(xí)規(guī)?;矫娴淖钚吕锍瘫?strong style="font-size:inherit;color:inherit;line-height:inherit;">GPT-4是一個(gè)大型的多模型模型(接受圖像和文本輸入、輸出文本),雖然在許多現(xiàn)實(shí)場景中不如人類聰明,但在各種專業(yè)和學(xué)術(shù)基準(zhǔn)測試中表現(xiàn)出人類水平的性能。

11ac1d48-c7b2-11ed-bfe3-dac502259ad0.png

看起來,現(xiàn)在的 GPT 已經(jīng)不會在計(jì)算上胡言亂語了:

11c3cf24-c7b2-11ed-bfe3-dac502259ad0.png

還是個(gè)物理題:

11d62aa2-c7b2-11ed-bfe3-dac502259ad0.png

GPT-4 看懂了法語題目,并完整解答:

11e50b80-c7b2-11ed-bfe3-dac502259ad0.png

GPT-4 可以理解一張照片里「有什么不對勁的地方」:

11f1c2c6-c7b2-11ed-bfe3-dac502259ad0.png

OpenAI于2020年發(fā)布了GPT(生成型預(yù)訓(xùn)練變換模型)-3(生成型預(yù)訓(xùn)練變換模型),并將其與GPT-3.5分別用于創(chuàng)建Dall-E和聊天機(jī)器人ChatGPT,這兩款產(chǎn)品極大地吸引了公眾的關(guān)注,并刺激其他科技公司更積極地追求人工智能(AI)。OpenAI周二表示,在內(nèi)部評估中,相較于GPT-3.5,GPT-4產(chǎn)生正確回應(yīng)的可能性要高出40%。而且GPT-4是多模態(tài)的,同時(shí)支持文本和圖像輸入功能。

120ca988-c7b2-11ed-bfe3-dac502259ad0.png

OpenAI稱,GPT-4比以前的版本“更大”,這意味著其已經(jīng)在更多的數(shù)據(jù)上進(jìn)行了訓(xùn)練,并且在模型文件中有更多的權(quán)重,這使得它的運(yùn)行成本更高。

據(jù)OpenAI介紹,在某些情況下,GPT-4比之前的GPT-3.5版本有了巨大改進(jìn),新模型將產(chǎn)生更少的錯誤答案,更少地偏離談話軌道,更少地談?wù)摻?a href="http://www.wenjunhu.com/v/tag/" target="_blank">話題,甚至在許多標(biāo)準(zhǔn)化測試中比人類表現(xiàn)得更好。

例如,GPT-4在模擬律師資格考試的成績在考生中排名前10%左右,在SAT閱讀考試中排名前7%左右,在SAT數(shù)學(xué)考試中排名前11%左右。

OpenAI表示,雖然兩個(gè)版本在日常對話中看起來很相似,但當(dāng)任務(wù)復(fù)雜到一定程度時(shí),差異就表現(xiàn)出來了,GPT-4更可靠、更有創(chuàng)造力,能夠處理更微妙的指令。

不過,OpenAI也警告稱,GPT-4還不完美,在許多情況下,它的能力不如人類。該公司表示:“GPT-4仍有許多已知的局限性,我們正在努力解決,比如社會偏見、幻覺和對抗性提示。

OpenAI透露,摩根士丹利正在使用GPT-4來組織數(shù)據(jù),而電子支付公司Stripe正在測試GPT-4是否有助于打擊欺詐。其他客戶還包括語言學(xué)習(xí)公司Duolingo、Khan Academy和冰島政府。

OpenAI合作伙伴微軟周二表示,新版必應(yīng)搜索引擎將使用GPT-4。

4. 物理學(xué)家狂喜的AI工具開源了!靠實(shí)驗(yàn)數(shù)據(jù)直接發(fā)現(xiàn)物理公式,筆記本就能跑

原文:

https://mp.weixin.qq.com/s/0eGiiWdKUyQcg54azY5evg

一個(gè)讓物理學(xué)家狂喜的AI工具,在GitHub上開源了!它名叫Φ-SO ,能直接從數(shù)據(jù)中找到隱藏的規(guī)律,而且一步到位,直接給出對應(yīng)公式。

122bf5c2-c7b2-11ed-bfe3-dac502259ad0.png

整個(gè)過程也不需要動用超算,一臺筆記本大概4個(gè)小時(shí)就能搞定愛因斯坦的質(zhì)能方程。

1247453e-c7b2-11ed-bfe3-dac502259ad0.png

這項(xiàng)成果來自德國斯特拉斯堡大學(xué)與澳大利亞聯(lián)邦科學(xué)與工業(yè)研究組織Data61部門,據(jù)論文一作透露,研究用了1.5年時(shí)間,受到學(xué)術(shù)界廣泛關(guān)注。代碼一經(jīng)開源,漲星也是飛快。

124f9bee-c7b2-11ed-bfe3-dac502259ad0.png

除了物理學(xué)者直呼Amazing之外,還有其他學(xué)科研究者趕來探討,能不能把同款方法遷移到他們的領(lǐng)域。

強(qiáng)化學(xué)習(xí)+物理?xiàng)l件約束

Φ-SO背后的技術(shù)被叫做“深度符號回歸”,使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)+強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)。

首先將前一個(gè)符號和上下文信息輸入給RNN,預(yù)測出后一個(gè)符號的概率分布,重復(fù)此步驟,可以生成出大量表達(dá)式。

125b809e-c7b2-11ed-bfe3-dac502259ad0.png

同時(shí)將物理?xiàng)l件作為先驗(yàn)知識納入學(xué)習(xí)過程中,避免AI搞出沒有實(shí)際含義的公式,可以大大減少搜索空間。

再引入強(qiáng)化學(xué)習(xí),讓AI學(xué)會生成與原始數(shù)據(jù)擬合最好的公式。

與強(qiáng)化學(xué)習(xí)用來下棋、操控機(jī)器人等不同,在符號回歸任務(wù)上只需要關(guān)心如何找到最佳的那個(gè)公式,而不關(guān)心神經(jīng)網(wǎng)絡(luò)的平均表現(xiàn)。

于是強(qiáng)化學(xué)習(xí)的規(guī)則被設(shè)計(jì)成,只對找出前5%的候選公式做獎勵,找出另外95%也不做懲罰,鼓勵模型充分探索搜索空間。

研究團(tuán)隊(duì)用阻尼諧振子解析表達(dá)式、愛因斯坦能量公式,牛頓的萬有引力公式等經(jīng)典公式來做實(shí)驗(yàn)。

Φ-SO都能100%的從數(shù)據(jù)中還原這些公式,并且以上方法缺一不可。研究團(tuán)隊(duì)在最后表示,雖然算法本身還有一定改進(jìn)空間,不過他們的首要任務(wù)已經(jīng)改成用新工具去發(fā)現(xiàn)未知的物理規(guī)律去了。

讀到這,小編有一個(gè)不成熟的想法….

5. 擴(kuò)散模型大殺器 ControlNet 解析

原文:

https://mp.weixin.qq.com/s/_7su0EX-eBbeyV0V8o3cLg

標(biāo)題:Adding Conditional Control to Text-to-Image Diffusion Models

作者:Lvmin Zhang, Maneesh Agrawala

原文鏈接:

https://arxiv.org/pdf/2302.05543.pdf

代碼鏈接:

https://github.com/lllyasviel/ControlNet

大型文本到圖像模型的存在讓人們意識到人工智能的巨大潛力,這些模型可以通過用戶輸入簡短的描述性提示來生成視覺上吸引人的圖像。然而,對于一些長期存在、具有明確問題表述的任務(wù)(例如圖像處理),我們可能會有一些問題需要回答。這些問題包括:這種基于提示的控制是否滿足我們的需求?在特定任務(wù)中,這些大型模型能否應(yīng)用于促進(jìn)這些特定任務(wù)?我們應(yīng)該建立什么樣的框架來處理廣泛的問題條件和用戶控制?在特定任務(wù)中,大型模型能否保留從數(shù)十億張圖片中獲得的優(yōu)勢和能力?為了回答這些問題,作者們調(diào)查了各種圖像處理應(yīng)用,并得出了三個(gè)發(fā)現(xiàn)。第一個(gè)發(fā)現(xiàn)是,在特定任務(wù)領(lǐng)域中可用的數(shù)據(jù)規(guī)模并不總是與通用圖像-文本領(lǐng)域中相同。第二個(gè)發(fā)現(xiàn)是,對于一些特定任務(wù),需要更加精細(xì)的控制和指導(dǎo),而不僅僅是簡單的提示。第三個(gè)發(fā)現(xiàn)是,在特定任務(wù)中,大型模型可能會面臨過擬合和泛化能力不足等問題。為了解決這些問題,作者們提出了一種名為ControlNet的框架,該框架可以根據(jù)用戶提供的提示和控制來生成高質(zhì)量的圖像,并且可以在特定任務(wù)中進(jìn)行微調(diào)以提高性能。

與之相關(guān)的主要工作有HyperNetwork和Stable Diffusion。HyperNetwork是一種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法,它可以通過一個(gè)小型的神經(jīng)網(wǎng)絡(luò)來影響一個(gè)更大的神經(jīng)網(wǎng)絡(luò)的權(quán)重。HyperNetwork已經(jīng)在圖像生成等領(lǐng)域取得了成功,并且已經(jīng)有多篇相關(guān)論文發(fā)表。另外,Stable Diffusion是一種用于圖像生成和編輯的技術(shù),它可以通過擴(kuò)散過程來生成高質(zhì)量、多樣化的圖像,并且可以通過附加小型神經(jīng)網(wǎng)絡(luò)來改變其藝術(shù)風(fēng)格。ControlNet和HyperNetwork之間的相似之處在于它們都可以影響神經(jīng)網(wǎng)絡(luò)的行為,從而實(shí)現(xiàn)特定任務(wù)的目標(biāo)。具體來說,HyperNetwork使用一個(gè)小型的神經(jīng)網(wǎng)絡(luò)來影響一個(gè)更大的神經(jīng)網(wǎng)絡(luò)的權(quán)重,從而改變其行為。而ControlNet則是將大型圖像擴(kuò)散模型中的權(quán)重克隆到一個(gè)“可訓(xùn)練副本”和一個(gè)“鎖定副本”中,其中鎖定副本保留了從數(shù)十億張圖像中學(xué)習(xí)到的網(wǎng)絡(luò)能力,而可訓(xùn)練副本則在特定數(shù)據(jù)集上進(jìn)行訓(xùn)練以學(xué)習(xí)條件控制。此外,它們在影響神經(jīng)網(wǎng)絡(luò)行為方面的共同點(diǎn)是它們都使用了小型神經(jīng)網(wǎng)絡(luò)來對大型神經(jīng)網(wǎng)絡(luò)進(jìn)行控制。這種方法可以使得大型神經(jīng)網(wǎng)絡(luò)更加靈活和適應(yīng)性強(qiáng),并且可以根據(jù)不同任務(wù)和條件進(jìn)行調(diào)整和優(yōu)化。ControlNet與其他相關(guān)工作之間的優(yōu)勢主要體現(xiàn)在以下幾個(gè)方面:

  1. 控制方式不同:ControlNet通過控制神經(jīng)網(wǎng)絡(luò)中的輸入條件來影響其行為,而其他相關(guān)工作則可能采用不同的控制方式,例如直接修改權(quán)重或者使用外部約束等。

  2. 可解釋性更強(qiáng):ControlNet可以通過可視化輸入條件和輸出結(jié)果之間的關(guān)系來解釋其行為,從而更好地理解神經(jīng)網(wǎng)絡(luò)的內(nèi)部機(jī)制。這對于一些需要可解釋性的任務(wù)非常重要。

  3. 適應(yīng)性更強(qiáng):ControlNet可以根據(jù)不同任務(wù)和條件進(jìn)行調(diào)整和優(yōu)化,從而使得神經(jīng)網(wǎng)絡(luò)更加靈活和適應(yīng)性強(qiáng)。這對于一些復(fù)雜、多變的任務(wù)非常重要。

  4. 訓(xùn)練效果更好:ControlNet可以通過使用鎖定副本來保留從數(shù)十億張圖像中學(xué)習(xí)到的網(wǎng)絡(luò)能力,并將其與可訓(xùn)練副本進(jìn)行結(jié)合來進(jìn)行訓(xùn)練。這種方法可以使得訓(xùn)練效果更好,并且可以避免過擬合等問題。

12914fb2-c7b2-11ed-bfe3-dac502259ad0.png

我們盡量少用公式進(jìn)行表達(dá),主要的技術(shù)細(xì)節(jié)和設(shè)定可以參考論文。ControlNet是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),可以通過特定任務(wù)的條件來增強(qiáng)預(yù)訓(xùn)練的圖像擴(kuò)散模型。該方法包括幾個(gè)關(guān)鍵組件,包括預(yù)訓(xùn)練模型的“可訓(xùn)練副本”和“鎖定副本”,以及一組輸入條件,可以用來控制輸出。整個(gè)過程可以概括如下:

  1. 克隆預(yù)訓(xùn)練模型:ControlNet首先創(chuàng)建了預(yù)訓(xùn)練圖像擴(kuò)散模型的兩個(gè)副本,其中一個(gè)是“鎖定”的,不能被修改,而另一個(gè)是“可訓(xùn)練”的,可以在特定任務(wù)上進(jìn)行微調(diào)。ControlNet使用了一種稱為“權(quán)重共享”的技術(shù),該技術(shù)可以將預(yù)訓(xùn)練模型的權(quán)重復(fù)制到兩個(gè)不同的神經(jīng)網(wǎng)絡(luò)中。這樣,在微調(diào)可訓(xùn)練副本時(shí),鎖定副本仍然保留著從預(yù)訓(xùn)練中學(xué)到的通用知識,并且可以提供更好的初始狀態(tài)。需要注意的是,在克隆預(yù)訓(xùn)練模型之前,需要先選擇一個(gè)適合特定任務(wù)的預(yù)訓(xùn)練模型,并對其進(jìn)行必要的調(diào)整和優(yōu)化。這樣才能確保克隆出來的模型能夠更好地適應(yīng)特定任務(wù),并取得更好的效果。

  2. 定義輸入條件:ControlNet然后定義了一組輸入條件,可以用來控制模型的輸出。這些條件可能包括顏色方案、對象類別或其他特定任務(wù)參數(shù)。該技術(shù)可以將輸入條件與預(yù)訓(xùn)練模型進(jìn)行連接,并將其作為額外的輸入信息傳遞給神經(jīng)網(wǎng)絡(luò)。這樣,在微調(diào)可訓(xùn)練副本時(shí),神經(jīng)網(wǎng)絡(luò)可以根據(jù)這些輸入條件來調(diào)整輸出結(jié)果,并更好地適應(yīng)特定任務(wù)。需要注意的是,在定義輸入條件之前,需要先確定哪些參數(shù)對于特定任務(wù)是最重要的,并選擇合適的方式來表示這些參數(shù)。例如,在圖像分類任務(wù)中,可能需要考慮對象類別、顏色和紋理等因素,并選擇合適的方式來表示它們。同時(shí),還需要確保這些輸入條件能夠被有效地傳遞給神經(jīng)網(wǎng)絡(luò),并且不會對模型性能產(chǎn)生負(fù)面影響。

  3. 訓(xùn)練可訓(xùn)練副本:ControlNet然后使用反向傳播和其他標(biāo)準(zhǔn)訓(xùn)練技術(shù),在特定數(shù)據(jù)集上對可訓(xùn)練副本進(jìn)行訓(xùn)練。很自然的就是一個(gè)標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程。訓(xùn)練可訓(xùn)練副本之前,需要先選擇一個(gè)適合特定任務(wù)的預(yù)訓(xùn)練模型,并將其克隆為可訓(xùn)練副本。同時(shí)還需要確定哪些輸入條件對于特定任務(wù)是最重要的,并將其與預(yù)訓(xùn)練模型進(jìn)行連接。

  4. 合并輸出:最后,ControlNet將兩個(gè)模型副本的輸出組合起來,產(chǎn)生一個(gè)最終結(jié)果,既包含從預(yù)訓(xùn)練中學(xué)到的通用知識,也包含從微調(diào)中學(xué)到的特定知識。

這種方法自然是要看可視化展示的:

總的來說,ControlNet是一種新穎的神經(jīng)網(wǎng)絡(luò)架構(gòu),可以通過微調(diào)預(yù)訓(xùn)練模型來適應(yīng)特定任務(wù),并在多個(gè)基準(zhǔn)數(shù)據(jù)集上取得了非常好的性能表現(xiàn)。該方法使用條件控制技術(shù)將輸入條件與預(yù)訓(xùn)練模型進(jìn)行連接,并將其作為額外的輸入信息傳遞給神經(jīng)網(wǎng)絡(luò),從而幫助神經(jīng)網(wǎng)絡(luò)更好地理解輸入條件,并取得更好的效果。同時(shí),ControlNet還探討了不同因素對其性能的影響,例如不同輸入條件、不同預(yù)訓(xùn)練模型和不同微調(diào)策略等。實(shí)驗(yàn)結(jié)果表明,在多個(gè)基準(zhǔn)數(shù)據(jù)集上,ControlNet都取得了非常好的性能表現(xiàn),并且在圖像分類、圖像生成和圖像檢索等任務(wù)中也有廣泛應(yīng)用。因此,我們相信ControlNet是一種非常有前景和實(shí)用價(jià)值的神經(jīng)網(wǎng)絡(luò)架構(gòu),并且在未來會有更廣泛的應(yīng)用。

6. CVPR 2023|EMA-VFI: 基于幀間注意力提取運(yùn)動和外觀信息的高效視頻插幀

https://mp.weixin.qq.com/s/w7xCUBedykOmI9Bq6lQ4Ow

論文鏈接

https://arxiv.org/abs/2303.00440

代碼鏈接

https://github.com/MCG-NJU/EMA-VFI

1. 研究動機(jī)

視頻插幀(Video Frame Interpolation, VFI)任務(wù)的目標(biāo)是給定連續(xù)的兩幀,生成這兩幀之間的固定時(shí)刻的幀或者任意時(shí)刻的幀。顧名思義,VFI最直接的用途就是用來提高幀率,經(jīng)常和視頻超分方法用來同時(shí)提升視頻的空間和時(shí)間上的分辨率。VFI和其他常見的視頻修復(fù)任務(wù)(如視頻超分、視頻去噪等)最大的不同就是VFI任務(wù)要生成原本不存在的幀,而其他視頻修復(fù)任務(wù)要修復(fù)一張?jiān)敬嬖诘膸?/strong>,這樣的不同也讓插幀任務(wù)的設(shè)計(jì)思路無法直接借鑒視頻復(fù)原方法的思路。

12aeccd6-c7b2-11ed-bfe3-dac502259ad0.png

為了生成兩幀之間的某一幀,從直覺上理解,VFI算法首先需要建模兩幀之間的運(yùn)動關(guān)系,然后將兩幀中對應(yīng)區(qū)域的外觀信息依靠建立好的運(yùn)動關(guān)系匯聚到要生成的幀上。因此,設(shè)計(jì)高效地提取兩幀之間的運(yùn)動信息和外觀信息的方法對于一個(gè)好的VFI算法來說是至關(guān)重要的。經(jīng)過充分調(diào)研,我們發(fā)現(xiàn)目前VFI算法提取這兩種信息的方式可以分為兩類,如圖1。

第一種范式(如圖1中的(a)),也是最常見的一類設(shè)計(jì),直接將兩幀按通道拼在一起,經(jīng)過重復(fù)的網(wǎng)絡(luò)模塊提取出特征,這個(gè)特征既用來建模運(yùn)動也用來表征外觀,我們在此將這樣的提取范式稱為混合提取(mixed extraction)。盡管混合提取范式設(shè)計(jì)十分簡潔,但因?yàn)橐[式地提取兩種信息,往往對特征提取模塊的設(shè)計(jì)和容量都有較高的要求。同時(shí),因?yàn)闆]有顯示的運(yùn)動信息,也無法直接得到任意時(shí)刻運(yùn)動建模所需的運(yùn)動信息,這種范式限制了任意時(shí)刻插幀的能力。

第二種范式(如圖1中的(b)),采用了串行提取兩種信息的思路,首先先提取每一幀的單獨(dú)的外觀信息,再利用兩者的外觀信息提取運(yùn)動信息。這種提取范式需要針對每一種信息單獨(dú)設(shè)計(jì)提取模塊,往往會引入額外計(jì)算開銷,并且無法像混合提取范式一樣只需堆疊相同的模塊就可以提升性能。同時(shí),這樣得到的外觀特征沒有很好地進(jìn)行幀間信息的交互,而這種交互對于生成中間幀是至關(guān)重要的。

這里我們提出了疑問:是否存在能夠同時(shí)顯式地提取兩種信息,且設(shè)計(jì)簡潔有效的范式呢?如圖1中的(c),我們希望設(shè)計(jì)一個(gè)模塊,能夠同時(shí)顯式地提取運(yùn)動信息和兩幀之間交互過的外觀信息,并且可以像混合提取范式一樣只需通過控制模塊的個(gè)數(shù)和容量來控制性能。

2. 方法介紹

利用幀間注意力(Inter-Frame Attention, IFA)提取兩種特征

在本文中,我們提出利用幀間的注意力機(jī)制來同時(shí)提取運(yùn)動信息和兩幀之間的交互過的外觀信息。具體來說,如圖2中的(a),對于當(dāng)前幀中的任何一個(gè)區(qū)域,我們將其作為注意力機(jī)制中的查詢(query),并將其在另一幀的空間上的相鄰的所有區(qū)域作為鍵和值(key&value)來推導(dǎo)出代表其當(dāng)前區(qū)域與另一幀相鄰區(qū)域的注意力圖。隨后,該注意力圖被用來匯總鄰居的外觀特征,并和當(dāng)前區(qū)域的外觀特征進(jìn)行聚合,從而得到同一個(gè)區(qū)域在兩幀不同位置的外觀信息的聚合特征(Inter-Frame Appearance Feature)。此外,注意力圖也被用來對另一幀的相鄰區(qū)域的位移進(jìn)行加權(quán),以獲得當(dāng)前區(qū)域從當(dāng)前幀到相鄰幀的近似運(yùn)動向量(Motion Vector),并經(jīng)過一個(gè)線性層得到兩幀之間的運(yùn)動特征。

這樣,通過一次注意力操作,我們通過注意力圖的復(fù)用同時(shí)獨(dú)立的提取出了兩種特征。值得注意的是,這樣得到的外觀特征沒有混淆位置信息,所以可以進(jìn)一步在此基礎(chǔ)上提取新的外觀信息和運(yùn)動信息。遵循目前主流的結(jié)構(gòu)設(shè)計(jì)思路,我們將幀間注意力機(jī)制放在了Transformer的結(jié)構(gòu)中,如圖2中的(b)。這樣的設(shè)計(jì)讓我們只需要改變特征的通道數(shù)和Transformer block的個(gè)數(shù)就能控制提取的兩種特征的質(zhì)量和多樣性。(具體細(xì)節(jié)請參考原文)

12c6165c-c7b2-11ed-bfe3-dac502259ad0.png

3. 實(shí)驗(yàn)結(jié)果

關(guān)于固定插幀(生成兩幀之間的中間幀)的性能比較如圖5:

12d5fd06-c7b2-11ed-bfe3-dac502259ad0.png

關(guān)于任意時(shí)刻插幀的性能比較如圖6:

12e3f6b8-c7b2-11ed-bfe3-dac502259ad0.png

可以從結(jié)果看出來我們提出方法在兩個(gè)子任務(wù)的不同數(shù)據(jù)集上都有較大的性能提升。圖7是和之前SOTA方法VFIFormer的運(yùn)行速度和占用內(nèi)存的比較,我們的方法隨著輸入尺寸的增大,計(jì)算開銷有了成倍的減少:

130aea2a-c7b2-11ed-bfe3-dac502259ad0.png

4. 局限&未來展望

雖然我們提出的方法已經(jīng)取得了不小的改進(jìn),但仍有一些局限性值得探索。首先,盡管混合CNN和Transformer的設(shè)計(jì)可以減輕計(jì)算開銷,但它也限制了在的高分辨率外觀特征下利用IFA進(jìn)行運(yùn)動信息的提取。其次,我們的方法的輸入僅限于兩個(gè)連續(xù)的幀,這導(dǎo)致無法利用來自多個(gè)連續(xù)幀的信息。在未來的工作中,我們會嘗試在不引入過多計(jì)算開銷的情況下將我們的方法擴(kuò)展到多幀的輸入。同時(shí),因?yàn)槲覀兲岢龅哪軌蛲瑫r(shí)提取運(yùn)動和外觀信息的IFA模塊對于視頻的不同任務(wù)都是通用的,我們也將研究如何將幀間注意應(yīng)用于其他同樣需要這兩類信息的領(lǐng)域,如動作識別和動作檢測。

7. 模型訓(xùn)練過程中,混合精度訓(xùn)練穩(wěn)定性解決方案

原文:

https://mp.weixin.qq.com/s/9qfyncdq_UfiKGM73ekthQ

混合精度已經(jīng)成為訓(xùn)練大型深度學(xué)習(xí)模型的必要條件,但也帶來了許多挑戰(zhàn)。將模型參數(shù)和梯度轉(zhuǎn)換為較低精度數(shù)據(jù)類型(如FP16)可以加快訓(xùn)練速度,但也會帶來數(shù)值穩(wěn)定性的問題。使用進(jìn)行FP16 訓(xùn)練梯度更容易溢出或不足,導(dǎo)致優(yōu)化器計(jì)算不精確,以及產(chǎn)生累加器超出數(shù)據(jù)類型范圍的等問題。

1315ec04-c7b2-11ed-bfe3-dac502259ad0.png

在這篇文章中,我們將討論混合精確訓(xùn)練的數(shù)值穩(wěn)定性問題。為了處理數(shù)值上的不穩(wěn)定性,大型訓(xùn)練工作經(jīng)常會被擱置數(shù)天,會導(dǎo)致項(xiàng)目的延期。所以我們可以引入Tensor Collection Hook來監(jiān)控訓(xùn)練期間的梯度條件,這樣可以更好地理解模型的內(nèi)部狀態(tài),更快地識別數(shù)值不穩(wěn)定性。在早期訓(xùn)練階段了解模型的內(nèi)部狀態(tài)可以判斷模型在后期訓(xùn)練中是否容易出現(xiàn)不穩(wěn)定是非常好的辦法,如果能夠在訓(xùn)練的頭幾個(gè)小時(shí)就能識別出梯度不穩(wěn)定性,可以幫助我們提升很大的效率。所以本文提供了一系列值得關(guān)注的警告,以及數(shù)值不穩(wěn)定性的補(bǔ)救措施。

混合精度訓(xùn)練

隨著深度學(xué)習(xí)繼續(xù)向更大的基礎(chǔ)模型發(fā)展。像GPT和T5這樣的大型語言模型現(xiàn)在主導(dǎo)著NLP,在CV中對比模型(如CLIP)的泛化效果優(yōu)于傳統(tǒng)的監(jiān)督模型。特別是CLIP的學(xué)習(xí)文本嵌入意味著它可以執(zhí)行超過過去CV模型能力的零樣本和少樣本推理,訓(xùn)練這些模型都是一個(gè)挑戰(zhàn)。

這些大型的模型通常涉及深度transformers網(wǎng)絡(luò),包括視覺和文本,并且包含數(shù)十億個(gè)參數(shù)。GPT3有1750億個(gè)參數(shù),CLIP則是在數(shù)百tb的圖像上進(jìn)行訓(xùn)練的。模型和數(shù)據(jù)的大小意味著模型需要在大型GPU集群上進(jìn)行數(shù)周甚至數(shù)月的訓(xùn)練。為了加速訓(xùn)練減少所需gpu的數(shù)量,模型通常以混合精度進(jìn)行訓(xùn)練。

混合精確訓(xùn)練將一些訓(xùn)練操作放在FP16中,而不是FP32。在FP16中進(jìn)行的操作需要更少的內(nèi)存,并且在現(xiàn)代gpu上可以比FP32的處理速度快8倍。盡管在FP16中訓(xùn)練的大多數(shù)模型精度較低,但由于過度的參數(shù)化它們沒有顯示出任何的性能下降。

隨著英偉達(dá)在Volta架構(gòu)中引入Tensor Cores,低精度浮點(diǎn)加速訓(xùn)練更加快速。因?yàn)樯疃葘W(xué)習(xí)模型有很多參數(shù),任何一個(gè)參數(shù)的確切值通常都不重要。通過用16位而不是32位來表示數(shù)字,可以一次性在Tensor Core寄存器中擬合更多參數(shù),增加每個(gè)操作的并行性。

131c5166-c7b2-11ed-bfe3-dac502259ad0.png

但FP16的訓(xùn)練是存在挑戰(zhàn)性的。因?yàn)镕P16不能表示絕對值大于65,504或小于5.96e-8的數(shù)字。深度學(xué)習(xí)框架例如如PyTorch帶有內(nèi)置工具來處理FP16的限制(梯度縮放和自動混合精度)。但即使進(jìn)行了這些安全檢查,由于參數(shù)或梯度超出可用范圍而導(dǎo)致大型訓(xùn)練工作失敗的情況也很常見。深度學(xué)習(xí)的一些組件在FP32中發(fā)揮得很好,但是例如BN通常需要非常細(xì)粒度的調(diào)整,在FP16的限制下會導(dǎo)致數(shù)值不穩(wěn)定,或者不能產(chǎn)生足夠的精度使模型正確收斂。這意味著模型并不能盲目地轉(zhuǎn)換為FP16。

所以深度學(xué)習(xí)框架使用自動混合精度(AMP),它通過一個(gè)預(yù)先定義的FP16訓(xùn)練安全操作列表。AMP只轉(zhuǎn)換模型中被認(rèn)為安全的部分,同時(shí)將需要更高精度的操作保留在FP32中。另外在混合精度訓(xùn)練中模型中通過給一些接近于零梯度(低于FP16的最小范圍)的損失乘以一定數(shù)值來獲得更大的梯度,然后在應(yīng)用優(yōu)化器更新模型權(quán)重時(shí)將按比例向下調(diào)整來解決梯度過小的問題,這種方法被稱為梯度縮放。

下面是PyTorch中一個(gè)典型的AMP訓(xùn)練循環(huán)示例。

132623c6-c7b2-11ed-bfe3-dac502259ad0.png

梯度縮放器scaler會將損失乘以一個(gè)可變的量。如果在梯度中觀察到nan,則將倍數(shù)降低一半,直到nan消失,然后在沒有出現(xiàn)nan的情況下,默認(rèn)每2000步逐漸增加倍數(shù)。這樣會保持梯度在FP16范圍內(nèi),同時(shí)也防止梯度變?yōu)榱恪?/p>

訓(xùn)練不穩(wěn)定的案例

盡管框架都盡了最大的努力,但PyTorch和TensorFlow中內(nèi)置的工具都不能阻止在FP16中出現(xiàn)的數(shù)值不穩(wěn)定情況。

在HuggingFace的T5實(shí)現(xiàn)中,即使在訓(xùn)練之后模型變體也會產(chǎn)生INF值。在非常深的T5模型中,注意力值會在層上累積,最終達(dá)到FP16范圍之外,這會導(dǎo)致值無窮大,比如在BN層中出現(xiàn)nan。他們是通過將INF值改為在FP16的最大值解決了這個(gè)問題,并且發(fā)現(xiàn)這對推斷的影響可以忽略不計(jì)。

另一個(gè)常見問題是ADAM優(yōu)化器的限制。作為一個(gè)小更新,ADAM使用梯度的第一和第二矩的移動平均來適應(yīng)模型中每個(gè)參數(shù)的學(xué)習(xí)率。

132fdf9c-c7b2-11ed-bfe3-dac502259ad0.png

這里Beta1 和 Beta2 是每個(gè)時(shí)刻的移動平均參數(shù),通常分別設(shè)置為 .9 和 .999。用 beta 參數(shù)除以步數(shù)的冪消除了更新中的初始偏差。在更新步驟中,向二階矩參數(shù)添加一個(gè)小的 epsilon 以避免被零除產(chǎn)生錯誤。epsilon 的典型默認(rèn)值是 1e-8。但 FP16 的最小值為 5.96e-8。這意味著如果二階矩太小,更新將除以零。所以在 PyTorch 中為了訓(xùn)練不會發(fā)散,更新將跳過該步驟的更改。但問題仍然存在尤其是在 Beta2=.999 的情況下,任何小于 5.96e-8 的梯度都可能會在較長時(shí)間內(nèi)停止參數(shù)的權(quán)重更新,優(yōu)化器會進(jìn)入不穩(wěn)定狀態(tài)。

ADAM的優(yōu)點(diǎn)是通過使用這兩個(gè)矩,可以調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率。對于較慢的學(xué)習(xí)參數(shù),可以加快學(xué)習(xí)速度,而對于快速學(xué)習(xí)參數(shù),可以減慢學(xué)習(xí)速度。但如果對多個(gè)步驟的梯度計(jì)算為零,即使是很小的正值也會導(dǎo)致模型在學(xué)習(xí)率有時(shí)間向下調(diào)整之前發(fā)散。

另外PyTorch目前還一個(gè)問題,在使用混合精度時(shí)自動將epsilon更改為1e-7,這可以幫助防止梯度移回正值時(shí)發(fā)散。但是這樣做會帶來一個(gè)新的問題,當(dāng)我們知道梯度在相同的范圍內(nèi)時(shí),增加ε會降低了優(yōu)化器適應(yīng)學(xué)習(xí)率的能力。所以盲目的增加epsilon也不能解決由于零梯度而導(dǎo)致訓(xùn)練停滯的情況。

關(guān)于這一主題,還有非常多需要注意和學(xué)習(xí)的地方,感興趣的小伙伴可以點(diǎn)擊查看原文。

8. YOLOv7默默更新Anchor-Free,無痛再漲1.4個(gè)mAP!

原文:

https://mp.weixin.qq.com/s/z-lx-yYvI5kFKdLfbDoSOA

YOLOv7-u6分支的實(shí)現(xiàn)是基于Yolov5和Yolov6進(jìn)行的。并在此基礎(chǔ)上開發(fā)了Anchor-Free方法。所有安裝、數(shù)據(jù)準(zhǔn)備和使用與Yolov5相同,大家可以酌情嘗試,如果電費(fèi)不要錢,那就不要猶豫了?。。?/p>

先看原始的YOLOv7的精度

1345762c-c7b2-11ed-bfe3-dac502259ad0.png

當(dāng)時(shí)原始版本就是無敵的存在,YOLOv7的base版本就有51.2的精度了?。?!

13509624-c7b2-11ed-bfe3-dac502259ad0.png

再看原作復(fù)現(xiàn)的Anchor-Free版本,相對于原始版本的51.2的精度,分別提升了1.1個(gè)點(diǎn)和1.4個(gè)點(diǎn)(使用了albumentation數(shù)據(jù)增強(qiáng)),可以看出還是很給力的結(jié)構(gòu)。

架構(gòu)改進(jìn)部分

其實(shí),關(guān)于復(fù)現(xiàn)的YOLOv7-u6(Anchor-Free),Backbone和Neck部分是沒有發(fā)生變化的,下面看一下Head部分的變化。

1、YOLOv7的Anchor-Base Head

通過下圖的YAML知道,YOLOv7的head使用了重參結(jié)構(gòu),并且也加入了隱藏知識Trick的加入。

135ccd68-c7b2-11ed-bfe3-dac502259ad0.png

2、YOLOv7的Anchor-Free Head

去除了RepConv卷積,使用了最為基本的Conv模塊,同時(shí)檢測頭換為了YOLOv6的Head形式,同時(shí)加入了IDetect的隱藏知識Implicit層思想。

136e2400-c7b2-11ed-bfe3-dac502259ad0.png

3、IV6Detect的實(shí)現(xiàn)如下

classIV6Detect(nn.Module):
dynamic=False#forcegridreconstruction
export=False#exportmode
shape=None
anchors=torch.empty(0)#init
strides=torch.empty(0)#init

def__init__(self,nc=80,ch=(),inplace=True):#detectionlayer
super().__init__()
self.nc=nc#numberofclasses
self.nl=len(ch)#numberofdetectionlayers
self.reg_max=16
self.no=nc+self.reg_max*4#numberofoutputsperanchor
self.inplace=inplace#useinplaceops(e.g.sliceassignment)
self.stride=torch.zeros(self.nl)#stridescomputedduringbuild

c2,c3=max(ch[0]//4,16),max(ch[0],self.no-4)#channels
self.cv2=nn.ModuleList(
nn.Sequential(Conv(x,c2,3),Conv(c2,c2,3),nn.Conv2d(c2,4*self.reg_max,1))forxinch)
self.cv3=nn.ModuleList(
nn.Sequential(Conv(x,c3,3),Conv(c3,c3,3),nn.Conv2d(c3,self.nc,1))forxinch)
#DFL層
self.dfl=DFL(self.reg_max)
#Implicit層
self.ia2=nn.ModuleList(ImplicitA(x)forxinch)
self.ia3=nn.ModuleList(ImplicitA(x)forxinch)
self.im2=nn.ModuleList(ImplicitM(4*self.reg_max)for_inch)
self.im3=nn.ModuleList(ImplicitM(self.nc)for_inch)

defforward(self,x):
shape=x[0].shape#BCHW
foriinrange(self.nl):
x[i]=torch.cat((self.im2[i](self.cv2[i](self.ia2[i](x[i]))),self.im3[i](self.cv3[i](self.ia3[i](x[i])))),1)
box,cls=torch.cat([xi.view(shape[0],self.no,-1)forxiinx],2).split((self.reg_max*4,self.nc),1)
ifself.training:
returnx,box,cls
elifself.dynamicorself.shape!=shape:
self.anchors,self.strides=(x.transpose(0,1)forxinmake_anchors(x,self.stride,0.5))
self.shape=shape

dbox=dist2bbox(self.dfl(box),self.anchors.unsqueeze(0),xywh=True,dim=1)*self.strides
y=torch.cat((dbox,cls.sigmoid()),1)
returnyifself.exportelse(y,(x,box,cls))

defbias_init(self):
m=self#self.model[-1]#Detect()module
fora,b,sinzip(m.cv2,m.cv3,m.stride):#from
a[-1].bias.data[:]=1.0#box
b[-1].bias.data[:m.nc]=math.log(5/m.nc/(640/s)**2)

關(guān)于損失函數(shù)與樣本匹配的穿搭

一句話吧,其實(shí)就是YOLOv8本來的樣子,也可能YOLOv8是原來YOLOv7-u6本來的樣子。使用了TaskAligned Assigner,BCE Loss、CIOU Loss以及DFL Loss。可以說是標(biāo)準(zhǔn)搭配了?。?!關(guān)于損失函數(shù)與樣本匹配的穿搭

classComputeLoss:
def__init__(self,model,use_dfl=True):
device=next(model.parameters()).device#getmodeldevice
h=model.hyp#hyperparameters

#Definecriteria
#分類損失
BCEcls=nn.BCEWithLogitsLoss(pos_weight=torch.tensor([h["cls_pw"]],device=device),reduction='none')

#Classlabelsmoothinghttps://arxiv.org/pdf/1902.04103.pdfeqn3
self.cp,self.cn=smooth_BCE(eps=h.get("label_smoothing",0.0))#positive,negativeBCEtargets

#Focalloss
g=h["fl_gamma"]#focallossgamma
ifg>0:
BCEcls=FocalLoss(BCEcls,g)

m=de_parallel(model).model[-1]#Detect()module
self.balance={3:[4.0,1.0,0.4]}.get(m.nl,[4.0,1.0,0.25,0.06,0.02])#P3-P7
self.BCEcls=BCEcls
self.hyp=h
self.stride=m.stride#modelstrides
self.nc=m.nc#numberofclasses
self.nl=m.nl#numberoflayers
self.device=device
#正負(fù)樣本匹配
self.assigner=TaskAlignedAssigner(topk=int(os.getenv('YOLOM',10)),
num_classes=self.nc,
alpha=float(os.getenv('YOLOA',0.5)),
beta=float(os.getenv('YOLOB',6.0)))
#回歸損失函數(shù)
self.bbox_loss=BboxLoss(m.reg_max-1,use_dfl=use_dfl).to(device)
self.proj=torch.arange(m.reg_max).float().to(device)#/120.0
self.use_dfl=use_dfl

———————End———————

你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進(jìn)RT-Thread官方微信交流群!

你也可以把文章轉(zhuǎn)給學(xué)校老師等相關(guān)人員,讓RT-Thread可以惠及更多的開發(fā)者


原文標(biāo)題:【AI周報(bào)20230317】 OpenAI公布GPT-4、國內(nèi)存在哪些算力瓶頸

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1300

    瀏覽量

    40264

原文標(biāo)題:【AI周報(bào)20230317】 OpenAI公布GPT-4、國內(nèi)存在哪些算力瓶頸

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    芯片、模型生態(tài)分散,無問芯穹、沐曦、壁仞談國產(chǎn)瓶頸破局之道

    ,而GPT-4之后的一段時(shí)間里,無論是OpenAI發(fā)布的新模型,還是其他大模型,整體算法能力進(jìn)入了放緩甚至是停滯的階段。 夏立雪認(rèn)為,這其中,表面上看是大模型的發(fā)展放緩或者停止了,其實(shí)背后的邏輯卻是支撐算法的
    的頭像 發(fā)表于 07-07 11:14 ?4740次閱讀
    芯片、模型生態(tài)分散,無問芯穹、沐曦、壁仞談國產(chǎn)<b class='flag-5'>算</b><b class='flag-5'>力</b><b class='flag-5'>瓶頸</b>破局之道

    OpenAI揭秘CriticGPT:GPT自進(jìn)化新篇章,RLHF助力突破人類能力邊界

    OpenAI近期震撼發(fā)布了一項(xiàng)革命性成果——CriticGPT,一個(gè)基于GPT-4深度優(yōu)化的新型模型,其獨(dú)特之處在于能夠自我提升,助力未來GPT模型的訓(xùn)練效率與質(zhì)量躍升至新高度。這一創(chuàng)新之舉,仿佛開啟了
    的頭像 發(fā)表于 07-02 10:19 ?802次閱讀

    OpenAI推出新模型CriticGPT,用GPT-4自我糾錯

    基于GPT-4的模型——CriticGPT,這款模型專為捕獲ChatGPT代碼輸出中的錯誤而設(shè)計(jì),其獨(dú)特的作用在于,讓人們能夠用GPT-4來查找GPT-4的錯誤。
    的頭像 發(fā)表于 06-29 09:55 ?567次閱讀

    OpenAI API Key獲?。洪_發(fā)人員申請GPT-4 API Key教程

    ? OpenAIGPT-4模型因其卓越的自然語言理解和生成能力,成為了許多開發(fā)者的首選工具。獲取GPT-4 API Key并將其應(yīng)用于項(xiàng)目,如開發(fā)一個(gè)ChatGPT聊天應(yīng)用,不僅是實(shí)踐人工智能技術(shù)
    的頭像 發(fā)表于 06-24 17:40 ?2458次閱讀
    <b class='flag-5'>OpenAI</b> API Key獲?。洪_發(fā)人員申請<b class='flag-5'>GPT-4</b> API Key教程

    國內(nèi)直聯(lián)使用ChatGPT 4.0 API Key使用和多模態(tài)GPT4o API調(diào)用開發(fā)教程!

    1. 前言 ChatGPT-4o API 是 OpenAI 提供的強(qiáng)大工具,可用于自然語言處理和多模態(tài)任務(wù)。在國內(nèi)直聯(lián)使用這些服務(wù)需要一些配置和技巧。本文將詳細(xì)介紹GPT-4o模型以及
    的頭像 發(fā)表于 06-08 00:33 ?5361次閱讀
    <b class='flag-5'>國內(nèi)</b>直聯(lián)使用ChatGPT 4.0 API Key使用和多模態(tài)<b class='flag-5'>GPT4</b>o API調(diào)用開發(fā)教程!

    開發(fā)者如何調(diào)用OpenAIGPT-4o API以及價(jià)格詳情指南

    ?目前,OpenAI新模型GPT-4o和GPT-4 Turbo的價(jià)格如下: GPT-4o 對比 GPT-4 Turbo
    的頭像 發(fā)表于 05-29 16:00 ?1.2w次閱讀
    開發(fā)者如何調(diào)用<b class='flag-5'>OpenAI</b>的<b class='flag-5'>GPT-4</b>o API以及價(jià)格詳情指南

    OpenAI 深夜拋出王炸 “ChatGPT- 4o”, “她” 來了

    當(dāng)?shù)貢r(shí)間5月13日OpenAI推出ChatGPT-4o,代表了人工智能向前邁出的一大步。在GPT-4turbo的強(qiáng)大基礎(chǔ)上,這種迭代擁有顯著的改進(jìn)。在發(fā)布會的演示中,OpenAI展示
    發(fā)表于 05-27 15:43

    OpenAI推出面向所有用戶的AI模型GPT-4o

    在周一的直播盛會上,OpenAI揭開了其最新的人工智能模型GPT-4o的神秘面紗。這款新模型旨在為其著名的聊天機(jī)器人ChatGPT提供更強(qiáng)大、更經(jīng)濟(jì)的支持。GPT-4o是此前備受矚目的GPT-
    的頭像 發(fā)表于 05-15 09:23 ?415次閱讀

    OpenAI全新GPT-4o能力炸場!速度快/成本低,能讀懂人類情緒

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)當(dāng)?shù)貢r(shí)間5月13日,OpenAI舉行春季發(fā)布會,宣布將推出桌面版ChatGPT,并發(fā)布全新旗艦AI模型GPT-4
    的頭像 發(fā)表于 05-15 00:15 ?7868次閱讀

    OpenAI發(fā)布GPT-4o模型,供全體用戶免費(fèi)使用

    OpenAI首席技術(shù)官穆里·穆拉蒂(Muri Murati)指出,GPT-4o具備與GPT-4相同的智能水平,且在文本、圖像及語音處理方面有顯著進(jìn)步。
    的頭像 發(fā)表于 05-14 11:17 ?535次閱讀

    OpenAI計(jì)劃宣布ChatGPT和GPT-4更新

    人工智能領(lǐng)域的領(lǐng)軍企業(yè)OpenAI近日宣布,將于5月13日進(jìn)行一場產(chǎn)品更新直播,屆時(shí)將揭曉ChatGPT和GPT-4的新進(jìn)展。這一消息立即引發(fā)了外界對OpenAI下一項(xiàng)重大技術(shù)發(fā)布的廣泛猜測和期待。
    的頭像 發(fā)表于 05-13 11:06 ?607次閱讀

    OpenAI設(shè)立日本辦事處,研發(fā)日文版GPT-4

    此外,OpenAI 還計(jì)劃推出適用于日語環(huán)境的 GPT-4 定制版模型。據(jù)悉,該模型在處理日文文本時(shí)表現(xiàn)更為出色,運(yùn)行速度最高可提升至三倍;同時(shí),其在翻譯和總結(jié)日語文本方面的性能和性價(jià)比均有顯著提升。
    的頭像 發(fā)表于 04-15 16:04 ?506次閱讀

    OpenAI推出Vision模型版GPT-4 Turbo,融合文本與圖像理解

    據(jù)悉,此模型沿用GPT-4 Turbo系列特有的12.8萬token窗口規(guī)模及截至2023年12月的知識庫架構(gòu),其創(chuàng)新亮點(diǎn)則是強(qiáng)大的視覺理解功能。
    的頭像 發(fā)表于 04-10 10:49 ?426次閱讀

    微軟Copilot全面更新為OpenAIGPT-4 Turbo模型

    起初,Copilot作為Bing Chat AI助手推出,初期采用GPT-3.5模型,隨后升級至GPT-4取得顯著進(jìn)步,如今再次更新至性能卓越的GPT-4 Turbo模型,這無疑將使得
    的頭像 發(fā)表于 03-13 13:42 ?759次閱讀

    OpenAI推出ChatGPT新功能:朗讀,支持37種語言,兼容GPT-4GPT-3

    據(jù)悉,“朗讀”功能支持37種語言,且能夠自主識別文本類型并對應(yīng)相應(yīng)的發(fā)音。值得關(guān)注的是,該功能對GPT-4以及GPT-3.5版本的ChatGPT均適用。此舉彰顯了OpenAI致力于“多模態(tài)交互”(multimodal capab
    的頭像 發(fā)表于 03-05 15:48 ?978次閱讀