最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

飛槳框架v2.4 API新升級!全面支持稀疏計算、圖學(xué)習(xí)、語音處理等任務(wù)

2023-02-15 10:41 作者:飛槳PaddlePaddle  | 我要投稿

大家好,今日帶來的是有關(guān)于飛槳框架v2.4 AP升級的內(nèi)容~快來看看是不是你所期待的新內(nèi)容吧!也歡迎大家分享自己的看法哦。

2022年11月,飛槳框架2.4版本發(fā)布。相比飛槳框架2.3版本,飛槳框架v2.4增加了167個功能性API,新增稀疏計算(paddle.sparse)、圖學(xué)習(xí)(paddle.geometric)和語音處理(paddle.audio)等更多領(lǐng)域API,同時也進一步完善了loss計算、張量計算、分布式和視覺變換等類別的API。下面我們將為大家詳細介紹每一類新增API及其應(yīng)用場景示例,方便大家快速了解和上手使用哦~

全面支持主流模型稀疏化訓(xùn)練及推理

當(dāng)前越來越多的場景有稀疏計算的需求,例如3D點云圖像處理和NLP中的稀疏Attention等。神經(jīng)網(wǎng)絡(luò)的稀疏化可以提高網(wǎng)絡(luò)的性能,減少計算量及內(nèi)存/顯存的占用,已成為深度學(xué)習(xí)的研究熱門之一。飛槳v2.4新增了如下稀疏類API,支持主流稀疏模型的訓(xùn)練和推理,并支持多種稀疏Tensor格式及稀疏Tensor與稠密Tensor的混合計算,同時其名稱和使用方式與常規(guī)稠密Tensor的API保持一致,方便記憶且容易上手。

稀疏基礎(chǔ)計算API:

  • 一元計算
    paddle.sparse.sin/sinh/tan/tanh/expm1/log1p/pow/square/sqrt/abs/cast/neg…

  • 二元計算
    paddle.sparse.add/substract/multiply/divide…

  • 矩陣和向量計算
    paddle.sparse.matmul/masked_matmul/addmm/mv…

  • 數(shù)據(jù)變形
    paddle.sparse.transpose/reshape…

稀疏組網(wǎng)API:

  • 網(wǎng)絡(luò)層:
    paddle.sparse.nn.Conv3D/SubmConv3D/MaxPool3D/BatchNorm…

  • 激活層:
    paddle.sparse.nn.ReLU/ReLU6/LeakyReLU/Softmax…

01 覆蓋稀疏計算主流應(yīng)用場景

3D點云目標檢測

CenterPoint是一種物體檢測器,以點云作為輸入,將三維物體在Bird-View下的中心點作為關(guān)鍵點,基于關(guān)鍵點檢測的方式回歸物體的尺寸、方向和速度。

飛槳框架v2.4完整提供了這類模型需要的稀疏SubmanifoldConv3D/Conv3D、稀疏BatchNorm和稀疏ReLU等API。模型的訓(xùn)練評估、動轉(zhuǎn)靜及推理的各項功能均已完全實現(xiàn),歡迎試用。實測比業(yè)界同類競品提速4%,訓(xùn)練精度提升0.2%。

  • CenterPoint模型介紹

https://github.com/PaddlePaddle/Paddle3D/tree/release/1.0/docs/models/centerpoint

Sparse Transformer

稀疏Transformer與經(jīng)典的稠密Transformer相比,能支持更長的輸入序列,得到更好的網(wǎng)絡(luò)性能。


稀疏Attention的核心計算邏輯為:


飛槳框架v2.4提供稀疏矩陣乘、稀疏softmax等運算,可完整支持SparseTransformer的運算。在高稀疏度場景下,相比使用DenseTensor提速105.75%,相比同類產(chǎn)品稀疏計算提速4.01%~58.55%,極致節(jié)省顯存并提升性能。

02 支持多種稀疏Tensor格式及稀疏Tensor與稠密Tensor的混合計算

飛槳API支持最常使用的稀疏數(shù)據(jù)COO和CSR格式。COO為稀疏數(shù)據(jù)坐標格式,CSR為壓縮行信息格式。不同格式的稀疏數(shù)據(jù)使用場景不同,其中SparseConv3D更適合處理COO格式的數(shù)據(jù),SparseTransformer中有較多取整行的操作,更適合處理CSR格式的數(shù)據(jù),能更好降低計算復(fù)雜度。雖然這些API有不同的格式傾向,但是飛槳稀疏API在設(shè)計時,每個都盡可能支持多種稀疏格式,這樣在不同模型場景下處理不同的數(shù)據(jù)格式時都可以使用相同的API,不用修改代碼,更靈活且更能極致提升性能。

以ReLU激活函數(shù)為例,其支持處理不同的稀疏Tensor:

除了支持不同的稀疏格式外,對于二元計算及矩陣向量計算等API,還支持多種稀疏格式和常規(guī)的稠密格式(Dense Tessor)的混合計算,網(wǎng)絡(luò)可以部分使用傳統(tǒng)組網(wǎng),部分使用稀疏,更方便已有模型的優(yōu)化:

03 名稱和使用方式與常規(guī)稠密Tensor的API保持一致,方便記憶且容易上手

一般模型中使用的API都是處理稠密數(shù)據(jù)(Dense Tensor)的API。飛槳SparseAPI在設(shè)計之初就考慮盡可能降低理解成本,與常規(guī)處理稠密數(shù)據(jù)(Dense Tensor)的API保持風(fēng)格一致,方便用戶快速上手。
以模型中一段ResNet稀疏網(wǎng)絡(luò)的代碼為例:

可以看到,ResNet稀疏網(wǎng)絡(luò)的代碼和常規(guī)ResNet網(wǎng)絡(luò)代碼幾乎沒有差別,只需要通過paddle.sparse.即可,源于飛槳Sparse系列API在整體使用上與Dense系列API高度一致。如果能夠增加import路徑替換,甚至原網(wǎng)絡(luò)代碼都無需改動。例如通過frompaddle.sparseimportnn,則可保持與原來的nn.*寫法完全一致,更易于上手。

新增圖學(xué)習(xí)類API,支持高效圖學(xué)習(xí)計算

近幾年,圖學(xué)習(xí)相關(guān)研究發(fā)展迅速,在自然語言處理、計算機視覺、推薦系統(tǒng)、生物化學(xué)等領(lǐng)域具有較為廣泛的應(yīng)用和發(fā)展。圖學(xué)習(xí)逐漸成為機器學(xué)習(xí)領(lǐng)域的關(guān)鍵技術(shù),本次飛槳框架v2.4新增paddle.geometric圖學(xué)習(xí)類API,提供更好的圖學(xué)習(xí)建模和高效圖學(xué)習(xí)計算體驗。

01 高效圖消息傳遞

現(xiàn)有的大多數(shù)圖學(xué)習(xí)框架在進行圖模型設(shè)計時,通常采用圖消息傳遞機制的經(jīng)典范式。飛槳框架v2.4新增圖學(xué)習(xí)消息傳遞API,支持高效圖消息傳遞。其中,新增的send_u_recv、send_ue_recv、send_uv共計3個API,通過實現(xiàn)原子級別的消息發(fā)送與接收,大大減少了冗余的中間顯存變量占用,從而帶來顯著的顯存收益。在稠密圖場景下,GCN、GAT等經(jīng)典圖神經(jīng)網(wǎng)絡(luò)模型可節(jié)省50%+的顯存,并可進一步提升訓(xùn)練速度約20%。各個send_recv系列API支持sum、mean、max、min共計4個消息聚合方式,在節(jié)點特征與邊特征交互時則支持add、sub、mul、div共計4種計算方式。使用方式示例如下:

02 高性能圖采樣

圖采樣步驟對于圖采樣模型特別是在大圖場景下是非常有必要的,但同時也是圖模型訓(xùn)練的性能瓶頸。本次新增了高性能圖采樣API,支持高并發(fā)圖采樣,加快圖采樣模型采樣和訓(xùn)練效率,經(jīng)典圖模型Graphsage的采樣速度可提升32~142倍,訓(xùn)練速度可提升12~57倍。除了支持純GPU采樣和CPU采樣之外,還可以支持借助UVA(Unified Virtual Addressing,統(tǒng)一虛擬尋址)技術(shù),將圖結(jié)構(gòu)放置在內(nèi)存中進行GPU采樣,該實現(xiàn)方式在大圖場景下非常有效。簡單示例如下:

新增語音領(lǐng)域類API

近幾年,智能語音領(lǐng)域快速迅速,深度學(xué)習(xí)領(lǐng)域產(chǎn)生了很多語音訓(xùn)練處理基礎(chǔ)能力的需求。本次飛槳框架v2.4新增paddle.audio類API提供了語音基礎(chǔ)處理能力,提升了語音建模和學(xué)習(xí)便捷性。

01 高效的特征提取模塊

特征提取模塊是深度學(xué)習(xí)語音領(lǐng)域最基礎(chǔ)的模塊,特別在大規(guī)模數(shù)據(jù)訓(xùn)練和推理過程中,其速度為一個性能瓶頸。本次新增MFCC、Spectrogram、LogMelSpectrogram等特征提取API,支持GPU計算,相比CPU實現(xiàn)處理性能提升15倍以上,可大幅提升語音模型訓(xùn)練GPU利用率,達到快速訓(xùn)練和推理的效果。使用示例如下:

深度學(xué)習(xí)語音領(lǐng)域,除了傳統(tǒng)的經(jīng)典模型外,還有很多語音前端處理的實驗需要進行,定制化語音特征的需求應(yīng)運而生。本次新增窗函數(shù)、離散余弦變換等特征提取基礎(chǔ)API,方便用戶自定義語音特征提取,方便完成定制化需求。使用示例如下:

03 語音IO模塊

對各種語音數(shù)據(jù)進行讀取是音頻處理的基礎(chǔ)?,F(xiàn)實場景中語音的編碼格式各式各樣,所以需要IO模塊靈活地支持多種格式。飛槳框架v2.4新增語音IO模塊,提供2種音頻I/Obackend,支持6種編解碼,便捷地實現(xiàn)語音數(shù)據(jù)的加載。使用示例如下:

04 語音分類數(shù)據(jù)集

在訓(xùn)練深度學(xué)習(xí)語音模型的時候,方便地下載處理數(shù)據(jù)集會為模型訓(xùn)練帶來便捷。飛槳框架v2.4新增TESS、ESC50語音分類數(shù)據(jù)集。用戶不必進行復(fù)雜的預(yù)處理,可以方便地啟動訓(xùn)練流程,便捷地完成訓(xùn)練。用戶也可以依照此代碼,方便定制自己的數(shù)據(jù)集。使用示例如下:

其它新增的API

除了以上描述的幾類新增API,飛槳框架v2.4還對已有的一些API類別進行了擴充。

01 loss計算API

為了更方便地支持各種組網(wǎng)的loss計算需求,飛槳框架v2.4擴充了多個loss計算的API,包括:

  • paddle.nn.functional.cosine_embedding_loss根據(jù)label類型,計算2個輸入之間的CosineEmbedding損失。

  • paddle.nn.functional.soft_margin_loss計算輸入和label間的二分類softmargin損失。

  • paddle.nn.functional.multi_label_soft_margin_loss計算輸入和label間的多分類最大熵損失。

  • paddle.nn.functional.triplet_margin_losspaddle.nn.functional.triplet_margin_with_distance_loss計算輸入與正樣本和負樣本之間的相對相似性,后者可自定義距離計算函數(shù)。

02 張量計算API

飛槳框架2.3之前的版本實現(xiàn)了很多基礎(chǔ)的張量計算API,飛槳框架2.4版本基于這些基礎(chǔ)API,通過組合的方式擴充了張量計算API,方便用戶直接使用,包括:

  • 新增paddle.sgn取復(fù)數(shù)的單位值和實數(shù)的符號。

  • 新增paddle.count_nonzero沿給定的軸統(tǒng)計輸入張量中非零元素的個數(shù)。

  • 新增paddle.take將輸入張量視為一維,返回指定索引上的元素集合。

  • 新增paddle.bucketize根據(jù)給定的一維桶劃分,得到輸入張量對應(yīng)的桶索引。

  • 新增paddle.triu_indicespaddle.tril_indices分別取二維張量(矩陣)中上/下三角矩陣元素的行列坐標。

  • 新增paddle.heaviside計算赫維賽德階躍函數(shù)。

  • 新增paddle.nanmedianpaddle.nanquantile忽略張量中的nan值,分別計算出中位數(shù)和分位數(shù)值。


03 分布式API

新增10個分布式通信API,如paddle.distributed.communication.stream.all_gather等,支持在主計算流上做通信,降低了在流切換、事件等待時的性能開銷,能夠使分布式GPT3模型訓(xùn)練提速11.35%。


04 視覺變換API

基于飛槳基礎(chǔ)API,擴充了paddle.vision.transforms中視覺變換API,包括:

  • paddle.vision.transforms.affinepaddle.vision.transforms.RandomAffine對圖像進行仿射變換,后者使用隨機產(chǎn)生的仿射變換矩陣參數(shù)。

  • paddle.vision.transforms.erasepaddle.vision.transforms.RandomErasing使用給定的值擦除輸入圖像中的像素,前者是選定區(qū)域,后者是隨機區(qū)域。

  • paddle.vision.transforms.perspectivepaddle.vision.transforms.RandomPerspective對圖像進行透視變換,前者是選定區(qū)域,后者是隨機區(qū)域,兩者都可以選擇插值方法。

除了上面的介紹外,飛槳框架v2.4還擴充了一些組網(wǎng)類(如paddle.nn.ChannelShuffle)、輔助類(如paddle.iinfo)等API,詳細列表可點擊下方鏈接參考Release Note。

  • Release Note地址

https://github.com/PaddlePaddle/Paddle/releases

結(jié)語

飛槳框架的建設(shè)除了來自百度的工程師外,還有一批熱愛飛槳、熱愛開源的開發(fā)者,他們正在用自己的方式參與飛槳框架的建設(shè),與飛槳共同成長。在飛槳框架v2.4中,有約三分之一的新增API由社區(qū)開發(fā)者貢獻,飛槳的繁榮離不開廣大開發(fā)者的使用與支持。

飛槳框架v2.4逐步形成了成熟的API開發(fā)范式,框架的開發(fā)難度持續(xù)降低。配合官方提供的標準開發(fā)環(huán)境,飛槳社區(qū)開發(fā)者可以更加順暢地完成飛槳API開發(fā)與貢獻。具體體現(xiàn)在:

  • 簡化API開發(fā)步驟:飛槳框架v2.4完成了基礎(chǔ)框架算子體系重構(gòu),構(gòu)造高可復(fù)用的PHI算子庫(Paddle HIgh reusability operator library),支持基于已有的算子內(nèi)核以及Kernel Primitives API組合實現(xiàn)新的算子,支持插件式接入新硬件或者新加速庫。PHI算子庫的成熟,提升了飛槳API的開發(fā)效率,并形成了通用的API開發(fā)流程,使得開發(fā)者可以更加簡潔流暢地參與飛槳API的開發(fā)與貢獻。

  • 發(fā)布標準API貢獻指南:飛槳框架v2.4形成了標準的API貢獻指南,包括貢獻流程與操作指南、API設(shè)計文檔模板、API代碼模板、API文檔寫作規(guī)范,為飛槳社區(qū)開發(fā)者提供清晰的文檔指引與輔助,使得開發(fā)者可以快速上手。

  • 提供標準開發(fā)環(huán)境:飛槳AIStudio平臺推出標準開發(fā)環(huán)境,為開發(fā)者提供飛槳鏡像環(huán)境、在線IDE與專屬GPU算力,登錄即可開發(fā)調(diào)試,免去環(huán)境配置與算力限制,隨時隨地參與飛槳框架的開發(fā)與貢獻。

飛槳框架v2.4提供了更加豐富的API體系,不僅更好地支持深度學(xué)習(xí)稀疏計算、圖學(xué)習(xí)、語音領(lǐng)域的快速迭代和創(chuàng)新,而且不斷擴展對3D點云、Sparse Transformer等場景應(yīng)用的支持,同時也不斷優(yōu)化飛槳API的使用體驗,更好地支持業(yè)界論文中模型的實現(xiàn),加速創(chuàng)新,讓基于深度學(xué)習(xí)的應(yīng)用開發(fā)更簡單!


飛槳框架v2.4 API新升級!全面支持稀疏計算、圖學(xué)習(xí)、語音處理等任務(wù)的評論 (共 條)

分享到微博請遵守國家法律
肇东市| 吉安市| 苍山县| 凤冈县| 莱阳市| 来凤县| 武冈市| 泗水县| 西和县| 尼木县| 沐川县| 醴陵市| 界首市| 浮梁县| 铁力市| 武强县| 监利县| 辽宁省| 泗阳县| 唐山市| 汾西县| 舒兰市| 龙井市| 清水县| 榆林市| 南安市| 元江| 水富县| 金溪县| 宁河县| 曲周县| 定兴县| 庆城县| 南江县| 靖宇县| 衡阳县| 利川市| 莱州市| 闽清县| 美姑县| 连南|