女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

Microsoft Editor是怎樣實(shí)現(xiàn)零COGS的?

微軟科技 ? 來(lái)源:未知 ? 2023-06-13 00:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編者按:Microsoft Editor 是一款人工智能寫(xiě)作輔助工具,其中的語(yǔ)法檢查器(grammar checker)功能不僅可以幫助不同水平、領(lǐng)域的用戶在寫(xiě)作過(guò)程中檢查語(yǔ)法錯(cuò)誤,還可以對(duì)錯(cuò)誤進(jìn)行解釋并給出正確的修改建議。神經(jīng)語(yǔ)法檢查器模型是這款提供了強(qiáng)大拼寫(xiě)檢查和語(yǔ)法糾正服務(wù)的 Microsoft Editor 背后的關(guān)鍵技術(shù),該模型采用了微軟亞洲研究院創(chuàng)新的 Aggressive Decoding 算法,并借助高性能 ONNX Runtime(ORT) 進(jìn)行加速,使服務(wù)器端的模型推理速度提升了200%,在不損失模型預(yù)測(cè)質(zhì)量的情況下,節(jié)省了三分之二的成本。神經(jīng)語(yǔ)法檢查器模型還使用了微軟亞洲研究院前沿的客戶端 seq2seq 建模技術(shù) EdgeFormer,構(gòu)建了性能優(yōu)異的輕量級(jí)生成語(yǔ)言模型,結(jié)合部署中的模型和系統(tǒng)優(yōu)化,該技術(shù)可賦能用戶在設(shè)備上的部署,從而實(shí)現(xiàn)零銷(xiāo)貨成本(zero-COGS,zero-cost-of-goods-sold)的目標(biāo)。本文編譯自微軟研究院博客 “Achieving Zero-COGS with Microsoft Editor Neural Grammar Checker”。

自上世紀(jì)70年代以來(lái),語(yǔ)法檢查器(grammar checker)所依賴的技術(shù)已經(jīng)取得了顯著的發(fā)展,最初的第一代工具只是基于簡(jiǎn)單的模式匹配(pattern matching)。1997年,一個(gè)標(biāo)志性的事件發(fā)生了,當(dāng)時(shí) Microsoft Word 97 引入了一個(gè)基于成熟的自然語(yǔ)言處理系統(tǒng)(Heidorn, 2000)的語(yǔ)法檢查器,以支持更復(fù)雜的錯(cuò)誤檢測(cè)和修改,并提高了準(zhǔn)確率。2020年,語(yǔ)法檢查器再次實(shí)現(xiàn)關(guān)鍵性突破,微軟推出了神經(jīng)語(yǔ)法檢查器(neural grammar checker),通過(guò)利用深度神經(jīng)網(wǎng)絡(luò)和全新的流暢度提升學(xué)習(xí)和推理機(jī)制,神經(jīng)語(yǔ)法檢查器在 CoNLL-2014 和 JFLEG 基準(zhǔn)數(shù)據(jù)集上均取得了 SOTA 結(jié)果[1,2]2022年,微軟發(fā)布了高度優(yōu)化后的 Microsoft Editor 神經(jīng)語(yǔ)法檢查器,并將其集成到 Word Win32、Word Online、Outlook Online 和 Editor Browser Extension 中。

如今 Microsoft Editor 版本中的神經(jīng)語(yǔ)法檢查器模型主要采用了微軟亞洲研究院創(chuàng)新的 Aggressive Decoding 算法,而且借助高性能 ONNX Runtime(ORT)進(jìn)行加速,可以使服務(wù)器端模型的推理速度提升200%,在不損失模型預(yù)測(cè)質(zhì)量的情況下,節(jié)省了三分之二的成本。此外,該神經(jīng)語(yǔ)法檢查器模型還使用微軟亞洲研究院前沿的客戶端 seq2seq 建模技術(shù) EdgeFormer,構(gòu)建了性能優(yōu)異的輕量級(jí)生成語(yǔ)言模型,結(jié)合部署過(guò)程中設(shè)備開(kāi)銷(xiāo)感知的模型和系統(tǒng)優(yōu)化,該技術(shù)滿足交付要求,賦能用戶設(shè)備上的部署,最終實(shí)現(xiàn)了零銷(xiāo)貨成本(zero-COGS, zero-cost-of-goods-sold)的目標(biāo)。

不僅如此,Microsoft Editor 中的神經(jīng)語(yǔ)法檢查器模型在轉(zhuǎn)換為客戶端模型后,還有三個(gè)優(yōu)勢(shì):

1. 提升隱私性。客戶端模型在用戶設(shè)備本地運(yùn)行,無(wú)需向遠(yuǎn)程服務(wù)器發(fā)送任何個(gè)人數(shù)據(jù)。

2. 增強(qiáng)可用性。客戶端模型可以離線運(yùn)行,不受網(wǎng)絡(luò)連接、帶寬或服務(wù)器容量的限制。

3. 降低成本、提高可擴(kuò)展性。客戶端模型運(yùn)行在用戶設(shè)備上,省去了服務(wù)器執(zhí)行所需的所有計(jì)算,從而可以服務(wù)更多客戶。

另外,Microsoft Editor 還使用了 GPT-3.5 模型來(lái)生成高質(zhì)量的訓(xùn)練數(shù)據(jù)來(lái)識(shí)別和移除低質(zhì)量的訓(xùn)練示例,從而提升模型的性能。

Aggressive Decoding 算法具有巨大價(jià)值,它不僅適用于 Microsoft Editor 這樣對(duì)響應(yīng)時(shí)間、請(qǐng)求頻率和準(zhǔn)確度都有很高要求的應(yīng)用場(chǎng)景,還可以拓展到更多功能模塊,如文本重寫(xiě)、文本摘要等。Aggressive Decoding 算法讓我們能夠在保證模型預(yù)測(cè)質(zhì)量不受損的同時(shí)更快地服務(wù)更多的客戶,降低服務(wù)成本并提高產(chǎn)品的競(jìng)爭(zhēng)力和影響力, 這一創(chuàng)新技術(shù)也將在未來(lái)的客戶端模型研發(fā)中發(fā)揮重要作用。

陳思清

微軟首席應(yīng)用科學(xué)家

4cef8302-093b-11ee-962d-dac502259ad0.png

Aggressive Decoding:首個(gè)在seq2seq任務(wù)上無(wú)損加速的高效解碼算法

Microsoft Editor 中的人工智能語(yǔ)法檢查器主要基于 Transformer 模型,并采用了微軟亞洲研究院在語(yǔ)法糾錯(cuò)方面的創(chuàng)新技術(shù)[1,2,3]。與大多數(shù) seq2seq 任務(wù)一樣,Microsoft Editor 此前的模型使用了自回歸解碼來(lái)進(jìn)行高質(zhì)量的語(yǔ)法校正。然而,傳統(tǒng)的自回歸解碼效率很低,尤其是由于低計(jì)算并行性,導(dǎo)致模型無(wú)法充分利用現(xiàn)代計(jì)算設(shè)備(CPUGPU),從而使得模型服務(wù)成本過(guò)高,并且難以快速擴(kuò)展到更多終端(Web/桌面)。

為了降低服務(wù)成本,微軟亞洲研究院的研究員們提出了創(chuàng)新的解碼算法 Aggressive Decoding[3]。與之前以犧牲預(yù)測(cè)質(zhì)量為代價(jià)來(lái)加速推理的方法不同,Aggressive Decoding 是首個(gè)應(yīng)用在 seq2seq 任務(wù)(如語(yǔ)法檢查和句子重寫(xiě))上達(dá)到無(wú)損加速的高效解碼算法。它直接將輸入作為目標(biāo)輸出,并且并行驗(yàn)證它們,而不是像傳統(tǒng)的自回歸解碼那樣逐個(gè)順序解碼。因此,這一算法可以充分發(fā)揮現(xiàn)代計(jì)算設(shè)備(如帶有 GPU 的 PC)強(qiáng)大的并行計(jì)算能力,極大地提升解碼速度,能夠在不犧牲質(zhì)量的前提下以低廉的成本處理來(lái)自全球用戶(每年)數(shù)萬(wàn)億次的請(qǐng)求。

4d13698e-093b-11ee-962d-dac502259ad0.gif

圖1:Aggressive Decoding 的工作原理

如圖1所示,如果模型在 Aggressive Decoding 過(guò)程中發(fā)現(xiàn)了一個(gè)分歧點(diǎn),那么算法將舍棄分歧點(diǎn)后的所有預(yù)測(cè),并使用傳統(tǒng)的逐個(gè)自回歸解碼重新解碼。如果在逐個(gè)重新解碼時(shí)發(fā)現(xiàn)了輸出和輸入之間存在唯一的后綴匹配(圖1中藍(lán)色點(diǎn)線突出顯示的建議),那算法會(huì)通過(guò)把輸入的匹配字符(token)之后的字符(圖1中用橙色虛線突出顯示的部分)復(fù)制到解碼器的輸入中并假設(shè)它們是相同的,從而切換回 Aggressive Decoding。通過(guò)這種方式,Aggressive Decoding 可以確保生成的字符與自回歸貪婪解碼一致,但解碼步驟大幅減少,顯著提高了解碼效率。

我們?cè)谧瞿P屯评砑铀偎惴ㄑ芯繒r(shí)最重要的考慮就是無(wú)損,因?yàn)樵趯?shí)際應(yīng)用中,模型生成質(zhì)量是排在第一位的,以損失質(zhì)量來(lái)?yè)Q取更小的開(kāi)銷(xiāo)會(huì)嚴(yán)重影響用戶體驗(yàn)。為此,我們提出了 Aggressive Decoding 算法,它利用了語(yǔ)法糾錯(cuò)任務(wù)的一個(gè)重要特性,即輸入與輸出高度相似,將整個(gè)計(jì)算過(guò)程(pipeline)高度并行化,充分利用 GPU 在并行計(jì)算上的優(yōu)勢(shì),在生成質(zhì)量無(wú)損的前提下實(shí)現(xiàn)大幅加速的效果。

葛濤

微軟亞洲研究院高級(jí)研究員

離線+在線評(píng)估結(jié)果:Aggressive Decoding可顯著降低COGS

離線評(píng)估:研究員們?cè)谡Z(yǔ)法校正和其他文本重寫(xiě)任務(wù)如文本簡(jiǎn)化中,采用了一個(gè)6+6標(biāo)準(zhǔn)的 Transformer 及深度編碼器和淺層解碼器的 Transformer 來(lái)測(cè)試 Aggressive Decoding。結(jié)果表明 Aggressive Decoding 可以在沒(méi)有質(zhì)量損失的情況下大幅提升速度。

4d34b99a-093b-11ee-962d-dac502259ad0.jpg

表1:6+6標(biāo)準(zhǔn) Transformer 測(cè)試結(jié)果

4d491a34-093b-11ee-962d-dac502259ad0.jpg

表2:深度編碼器和淺層解碼器的 Transformer 的測(cè)試結(jié)果

4d65df0c-093b-11ee-962d-dac502259ad0.png

圖2:Aggressive Decoding 算法在更強(qiáng)大的并行計(jì)算設(shè)備上的運(yùn)行效果更好

在線評(píng)估:研究員們還在 Marian 服務(wù)器模型和使用 ONNX Runtime 的 Aggressive Decoding 的同等服務(wù)器模型之間進(jìn)行了 A/B 實(shí)驗(yàn)。結(jié)果如圖3所示,與在 CPU 中使用傳統(tǒng)自回歸解碼的 Marian 運(yùn)行時(shí)相比,后者在 p50 延遲上有超過(guò)2倍的提升,在 p95 和 p99 延遲上有超過(guò)3倍的提升。此外,與之前的自回歸解碼相比,后者提供了更高的效率穩(wěn)定性。這種顯著的推理時(shí)間加速,將服務(wù)器端的 COGS 降低了三分之二。

4d8f7b6e-093b-11ee-962d-dac502259ad0.jpg

圖3:所有區(qū)域 Marian 和 ONNX 語(yǔ)法檢查器延遲對(duì)比

離線和在線評(píng)估都驗(yàn)證了 Aggressive Decoding 能夠在不降低模型預(yù)測(cè)質(zhì)量的情況下顯著減少 COGS。基于此,研究員們將 Aggressive Decoding 也應(yīng)用到了更通用的 seq2seq 任務(wù)中[4]。Aggressive Decoding 的高效率和無(wú)損質(zhì)量特性,或?qū)⑹蛊涑蔀?seq2seq 任務(wù)高效解碼的標(biāo)準(zhǔn)范式,在降低 seq2seq 模型部署成本中起到重要作用。

4cef8302-093b-11ee-962d-dac502259ad0.png

ONNX Runtime加速語(yǔ)法檢查器

ONNX Runtime 是微軟開(kāi)發(fā)的高性能引擎,它可在各種硬件平臺(tái)上加速人工智能模型。許多基于機(jī)器學(xué)習(xí)的微軟產(chǎn)品都利用 ONNX Runtime 來(lái)加速推理性能。為了進(jìn)一步降低推理延遲,ORT 團(tuán)隊(duì)的研發(fā)人員們首先將 PyTorch 版的 Aggressive Decoding 語(yǔ)法檢查器,通過(guò) PyTorch-ONNX 導(dǎo)出器導(dǎo)出為 ONNX 格式,再使用 ONNX Runtime 進(jìn)行推理。ONNX Runtime 支持 Transformer 的特定優(yōu)化以及 INT8 量化,這不僅實(shí)現(xiàn)了 Transformer 在 CPU 上的性能加速,同時(shí)還可以縮減模型大小。該端到端解決方案使用了多項(xiàng)前沿技術(shù),以實(shí)現(xiàn)高效地運(yùn)行這個(gè)先進(jìn)的語(yǔ)法檢查器模型。

ONNX Runtime 是一個(gè)具有很好延展性的跨硬件模型加速引擎,可以支持不同的應(yīng)用場(chǎng)景。為了最高效運(yùn)行 Aggressive Decoding 這一創(chuàng)新解碼算法,我們對(duì) PyTorch 導(dǎo)出器和 ONNX Runtime 做了一系列提升,最終讓這一先進(jìn)的語(yǔ)法檢查器模型以最高性能運(yùn)行。

寧瓊

微軟首席產(chǎn)品主管

PyTorch 提供了一個(gè)內(nèi)置函數(shù),可以輕松地將 PyTorch 模型導(dǎo)出為 ONNX 格式。為了支持語(yǔ)法檢查模型的獨(dú)特架構(gòu),研發(fā)人員們?cè)趯?dǎo)出器里實(shí)現(xiàn)了復(fù)雜嵌套控制流導(dǎo)出到 ONNX,并擴(kuò)展了官方 ONNX 規(guī)范來(lái)支持序列數(shù)據(jù)類型和運(yùn)算符,以表示更復(fù)雜的場(chǎng)景,例如自回歸搜索算法。這樣就不需要單獨(dú)導(dǎo)出模型編碼器和解碼器組件,再使用序列生成邏輯將它們串聯(lián)在一起。由于 PyTorch-ONNX 導(dǎo)出器和 ONNX Runtime 支持序列數(shù)據(jù)類型和運(yùn)算符,所以原模型可以導(dǎo)出成單一的一個(gè)包括編碼器、解碼器和序列生成的 ONNX 模型,這既帶來(lái)了高效的計(jì)算,又簡(jiǎn)化了推理邏輯。此外,PyTorch ONNX 導(dǎo)出器的 shape type inference 組件也得到了增強(qiáng),從而可以得到符合更嚴(yán)格的 ONNX shape type 約束下的有效的 ONNX 模型。

在語(yǔ)法檢查器模型中引入的 Aggressive Decoding 算法最初是在 Fairseq 中實(shí)現(xiàn)的。為了使其與 ONNX 兼容以便于導(dǎo)出,研發(fā)人員們?cè)?HuggingFace 中重新實(shí)現(xiàn)了 Aggressive Decoding 算法。在深入實(shí)施時(shí),研發(fā)人員們發(fā)現(xiàn) ONNX 標(biāo)準(zhǔn)運(yùn)算符集不直接支持某些組件(例如分叉檢測(cè)器)。目前有兩種方法可以將不支持的運(yùn)算符導(dǎo)出到 ONNX 并在 ONNX Runtime 中運(yùn)行:1. 利用 ONNX 已有的基本運(yùn)算符組建一個(gè)具有等效語(yǔ)義的圖;2. 在 ONNX Runtime 中實(shí)現(xiàn)一個(gè)更高效的自定義運(yùn)算符。ONNX Runtime 自定義運(yùn)算符功能允許用戶實(shí)現(xiàn)自己的運(yùn)算符,以便靈活地在 ONNX Runtime 中運(yùn)行。用戶可以權(quán)衡實(shí)現(xiàn)成本和推理性能來(lái)選擇合適的方法。考慮到本模型組件的復(fù)雜性,標(biāo)準(zhǔn) ONNX 運(yùn)算符的組合可能會(huì)帶來(lái)性能瓶頸。因此,研發(fā)人員們選擇在 ONNX Runtime 中實(shí)現(xiàn)自定義運(yùn)算符。

ONNX Runtime 支持 Transformer 的優(yōu)化和量化,這在 CPU 和 GPU 上都能提升性能。此外,ONNX Runtime 針對(duì)語(yǔ)法檢查器模型進(jìn)一步增強(qiáng)了編碼器 attention 以及解碼器 reshape 圖算融合。支持該模型的另一大挑戰(zhàn)是多個(gè)模型子圖,而 ONNX Runtime Transformer 優(yōu)化器和量化工具對(duì)此也實(shí)現(xiàn)了子圖融合。ONNX Runtime 量化壓縮已被應(yīng)用于整個(gè)模型,進(jìn)一步改善了吞吐量和延遲。

4cef8302-093b-11ee-962d-dac502259ad0.png

GPT-3.5助力模型實(shí)現(xiàn)質(zhì)的飛躍

為了進(jìn)一步提高生產(chǎn)中模型的精度和召回率,研究員們使用了強(qiáng)大的 GPT-3.5 作為教師模型。具體而言,GPT-3.5 模型通過(guò)以下兩種方式來(lái)幫助提高結(jié)果:

訓(xùn)練數(shù)據(jù)增強(qiáng):通過(guò)對(duì) GPT-3.5 模型進(jìn)行微調(diào),使其為大量未標(biāo)注的文本生成標(biāo)簽。所獲得的高質(zhì)量標(biāo)注,可以用作增強(qiáng)訓(xùn)練數(shù)據(jù)來(lái)提高模型性能。

訓(xùn)練數(shù)據(jù)清理:利用 GPT-3.5 強(qiáng)大的零樣本和少樣本學(xué)習(xí)能力來(lái)區(qū)分高質(zhì)量和低質(zhì)量的訓(xùn)練示例。然后,通過(guò) GPT-3.5 模型重新對(duì)已識(shí)別的低質(zhì)量示例生成標(biāo)注,從而產(chǎn)生更干凈、更高質(zhì)量的訓(xùn)練集,直接增強(qiáng)模型性能。

4cef8302-093b-11ee-962d-dac502259ad0.png

EdgeFormer:用于客戶端seq2seq建模的成本效益參數(shù)化

近年來(lái),客戶端設(shè)備的計(jì)算能力大大增加,使得利用深度神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)最終的零銷(xiāo)貨成本成為可能。然而,在這些設(shè)備上運(yùn)行生成式語(yǔ)言模型仍然是一個(gè)很大的挑戰(zhàn),因?yàn)檫@些模型的內(nèi)存效率必須受到嚴(yán)格的控制。在涉及生成式語(yǔ)言模型時(shí),自然語(yǔ)言理解中用于神經(jīng)網(wǎng)絡(luò)的傳統(tǒng)壓縮方法往往不適用。

4dfa91b0-093b-11ee-962d-dac502259ad0.png

圖4:使用深度神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)零銷(xiāo)貨成本

(zero-COGS)

運(yùn)行在客戶端的語(yǔ)法模型應(yīng)該具有很高的效率(例如延遲在100ms內(nèi)),這個(gè)問(wèn)題已經(jīng)由 Aggressive Decoding 解決了。此外,客戶端模型還必須具有高效的內(nèi)存(例如占用的空間在50MB以內(nèi)),這是強(qiáng)大的 Transformer 模型(通常超過(guò)5000萬(wàn)個(gè)參數(shù))在客戶端設(shè)備上運(yùn)行的主要瓶頸。

為了應(yīng)對(duì)這一挑戰(zhàn),微軟亞洲研究院的研究員們引入了前沿的客戶端 seq2seq 建模技術(shù)EdgeFormer[6],用于構(gòu)建性能優(yōu)異的輕量級(jí)生成語(yǔ)言模型,讓模型可以在用戶的計(jì)算機(jī)上輕松運(yùn)行。

4e1093ca-093b-11ee-962d-dac502259ad0.png

圖5:DNN 語(yǔ)法:服務(wù)器模型 VS 客戶端模型

EdgeFormer 有兩個(gè)原則,主要是為了參數(shù)化的成本效益:

有利于編碼器的參數(shù)化

負(fù)載均衡參數(shù)化

4e345aa8-093b-11ee-962d-dac502259ad0.png

圖6:有利于編碼器的參數(shù)化

4e5c40fe-093b-11ee-962d-dac502259ad0.png

圖7:負(fù)載均衡參數(shù)化

遵循上述具有成本效益參數(shù)化的原則而設(shè)計(jì)的 EdgeFormer,使得每個(gè)參數(shù)都能發(fā)揮最大潛力,即使客戶端設(shè)備存在嚴(yán)格的計(jì)算和內(nèi)存限制,也能獲得有競(jìng)爭(zhēng)力的結(jié)果。

在 EdgeFormer 的基礎(chǔ)上,研究員們進(jìn)一步提出了 EdgeLM——EdgeFormer 的預(yù)訓(xùn)練版本,這是第一個(gè)在設(shè)備上公開(kāi)可用的預(yù)訓(xùn)練 seq2seq 模型,可以讓 seq2seq 任務(wù)的微調(diào)變得更容易,進(jìn)而獲得好的結(jié)果。EdgeLM 作為語(yǔ)法客戶端模型的基礎(chǔ)模型,實(shí)現(xiàn)了零銷(xiāo)貨成本,與服務(wù)器端模型相比,該模型以最小的質(zhì)量損失實(shí)現(xiàn)了超過(guò)5倍的模型壓縮。

微軟亞洲研究院異構(gòu)計(jì)算組致力于以全棧協(xié)同設(shè)計(jì)的思想,構(gòu)建深度學(xué)習(xí)模型到實(shí)際設(shè)備部署之間的橋梁。以 Microsoft Editor 為例,我們與算法、產(chǎn)品和 AI 框架團(tuán)隊(duì)深度合作,通過(guò)系統(tǒng)和硬件感知的模型優(yōu)化和壓縮,以及針對(duì)不同硬件的推理系統(tǒng)和運(yùn)算符優(yōu)化等,使模型開(kāi)銷(xiāo)能夠滿足實(shí)際設(shè)備運(yùn)行的要求,為未來(lái)將更多微軟產(chǎn)品的 AI 服務(wù)部署到設(shè)備端鋪平了道路

曹婷

微軟亞洲研究院高級(jí)研究員

4cef8302-093b-11ee-962d-dac502259ad0.png

降低推理成本,賦能客戶端部署

客戶端設(shè)備的模型部署對(duì)硬件使用有嚴(yán)格的要求,如內(nèi)存和磁盤(pán)使用量等,以避免干擾其他的應(yīng)用程序。由于 ONNX Runtime 是一個(gè)輕量級(jí)的引擎并提供全面客戶端推理解決方案(如 ONNX Runtime 量化和 ONNX Runtime 擴(kuò)展),所以其在設(shè)備部署方面也具有明顯的優(yōu)勢(shì)。此外,為了在保持服務(wù)質(zhì)量的前提下滿足交付要求,微軟亞洲研究院引入了一系列優(yōu)化技術(shù),包括系統(tǒng)感知的模型優(yōu)化、模型元數(shù)據(jù)簡(jiǎn)化、延遲參數(shù)加載以及定制量化策略。基于 EdgeFormer 建模,這些系統(tǒng)優(yōu)化可以進(jìn)一步將內(nèi)存成本降低2.7倍,而不會(huì)降低模型性能,最終賦能模型在客戶端設(shè)備的部署。

系統(tǒng)感知的模型優(yōu)化。由于模型在推理系統(tǒng)中被表示為數(shù)據(jù)流圖,因此該模型的主要內(nèi)存成本來(lái)自于生成的許多子圖。如圖8所示,PyTorch 代碼中的每個(gè)分支被映射為一個(gè)子圖。所以,需要通過(guò)優(yōu)化模型實(shí)現(xiàn)來(lái)減少分支指令的使用率。這其中尤為重要的是,因?yàn)椴ㄊ阉靼嗟姆种е噶睿芯繂T們利用了貪婪搜索作為解碼器搜索算法,從而將內(nèi)存成本降低了38%。

4e97405a-093b-11ee-962d-dac502259ad0.png

圖8:PyTorch 模型和 ONNX 模型圖的映射

模型元數(shù)據(jù)簡(jiǎn)化。如圖8所示,模型包含大量消耗內(nèi)存的元數(shù)據(jù),如節(jié)點(diǎn)名稱和類型、輸入和輸出以及參數(shù)等。為了降低成本,研究員們需要簡(jiǎn)化元數(shù)據(jù),只保留推理所需的基本信息,例如,節(jié)點(diǎn)名稱從一個(gè)長(zhǎng)字符串簡(jiǎn)化為一個(gè)索引。此外,研究員們也優(yōu)化了 ONNX Runtime 模型圖的實(shí)現(xiàn),對(duì)所有子圖只保留一個(gè)元數(shù)據(jù)副本,而不是在每次生成子圖時(shí)復(fù)制所有可用的元數(shù)據(jù)。

延遲模型權(quán)重加載。當(dāng)前的模型文件包含模型圖和權(quán)重,并在模型初始化期間將它們一起加載到內(nèi)存中。然而,這會(huì)增加內(nèi)存使用量,如圖9所示,這是因?yàn)樵谀P蛨D解析和轉(zhuǎn)換過(guò)程中會(huì)重復(fù)復(fù)制權(quán)重。為了避免這種情況,研究員們提出將模型圖和權(quán)重分別保存成獨(dú)立的文件,并將該方法在 ONNX Runtime 加以實(shí)現(xiàn)。通過(guò)該方法,在初始化期間,只有模型圖被加載到內(nèi)存中進(jìn)行實(shí)際解析和轉(zhuǎn)換,而權(quán)重仍然留在磁盤(pán)上,通過(guò)文件映射只把權(quán)重文件指針(pointer)保留在內(nèi)存中,實(shí)際的權(quán)重到內(nèi)存的加載將被推遲到模型推理之時(shí)。該技術(shù)可將峰值內(nèi)存成本降低50%。

4ed15362-093b-11ee-962d-dac502259ad0.png

圖9:對(duì)比現(xiàn)有的模型圖和權(quán)重同時(shí)加載(虛線上),以及模型初始化期間通過(guò)文件映射實(shí)現(xiàn)的延遲權(quán)重加載(虛線下)

ONNX Runtime 量化和擴(kuò)展。量化是眾所周知的模型壓縮技術(shù),它在犧牲模型精度的同時(shí),帶來(lái)了性能加速和模型縮減。ONNXRuntime 量化提供了多種微調(diào)選擇,使其能夠應(yīng)用定制的量化策略。研發(fā)人員們?yōu)?EdgeFormer 模型定制了最優(yōu)量化策略,以減少量化對(duì)精度的影響,具體包括訓(xùn)練后、動(dòng)態(tài)和 UINT8 量化,以及 per-channel 和既有所有運(yùn)算符量化策略。Onnxruntime-extensions 提供了一組 ONNX Runtime 定制運(yùn)算符,以支持視覺(jué)、文本和自然語(yǔ)言處理模型的常見(jiàn)預(yù)處理和后處理運(yùn)算符。利用這一工具,研發(fā)人員們將模型的預(yù)處理和后處理,例如標(biāo)記化(tokenization)、字符串操作等,都集成到一個(gè)獨(dú)立的 ONNX 模型文件中,從而提高性能、簡(jiǎn)化部署、減少內(nèi)存使用率并提供更好的可移植性。

這些創(chuàng)新成果只是微軟亞洲研究院為降低生成式語(yǔ)言模型的銷(xiāo)貨成本而做出的長(zhǎng)期努力中的第一個(gè)里程碑。這些方法并不局限于加速神經(jīng)語(yǔ)法檢查器,它可以很容易地應(yīng)用在抽象摘要、翻譯或搜索引擎等廣泛的場(chǎng)景中,從而加速降低大語(yǔ)言模型的銷(xiāo)貨成本[5,8]。在人工智能的未來(lái)發(fā)展中,這些創(chuàng)新對(duì)微軟乃至對(duì)整個(gè)行業(yè)都將至關(guān)重要。

相關(guān)鏈接:

ONNX Runtime

https://onnxruntime.ai

EdgeFormer

https://www.microsoft.com/en-us/research/publication/edgeformer-a-parameter-efficient-transformer-for-on-device-seq2seq-generation/

EdgeLM

https://github.com/microsoft/unilm/tree/master/edgelm

ONNX Runtime 量化

https://onnxruntime.ai/docs/performance/model-optimizations/quantization.html

Onnxruntime-extensions

https://github.com/microsoft/onnxruntime-extensions

參考文獻(xiàn):

[1] Tao Ge, Furu Wei, Ming Zhou: Fluency Boost Learning and Inference for Neural Grammatical Error Correction. In ACL 2018.

[2] Tao Ge, Furu Wei, Ming Zhou: Reaching Human-level Performance in Automatic Grammatical Error Correction: An Empirical Study.

https://arxiv.org/abs/1807.01270

[3] Xin Sun, Tao Ge, Shuming Ma, Jingjing Li, Furu Wei, Houfeng Wang: A Unified Strategy for Multilingual Grammatical Error Correction with Pre-trained Cross-lingual Language Model. In IJCAI 2022.

[4] Xin Sun, Tao Ge, Furu Wei, Houfeng Wang: Instantaneous Grammatical Error Correction with Shallow Aggressive Decoding. In ACL 2021.

[5] Tao Ge, Heming Xia, Xin Sun, Si-Qing Chen, Furu Wei: Lossless Acceleration for Seq2seq Generation with Aggressive Decoding.

https://arxiv.org/pdf/2205.10350.pdf

[6] Tao Ge, Si-Qing Chen, Furu Wei: EdgeFormer: A Parameter-efficient Transformer for On-device Seq2seq Generation. In EMNLP 2022.

[7] Heidorn, George. “Intelligent Writing Assistance.” Handbook of Natural Language Processing. Robert Dale, Hermann L. Moisl, and H. L. Somers, editors. New York: Marcel Dekker, 2000: 181-207.

[8] Nan Yang, Tao Ge, Liang Wang, Binxing Jiao, Daxin Jiang, Linjun Yang, Rangan Majumder, Furu Wei: Inference with Reference: Lossless Acceleration of Large Language Models.

https://arxiv.org/abs/2304.04487

關(guān)注微軟科技視頻號(hào)

了解更多科技前沿資訊


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

    關(guān)注

    4

    文章

    6686

    瀏覽量

    105800

原文標(biāo)題:Microsoft Editor是怎樣實(shí)現(xiàn)零COGS的?

文章出處:【微信號(hào):mstech2014,微信公眾號(hào):微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DXC攜手SAP與Microsoft,簡(jiǎn)化并加速企業(yè)轉(zhuǎn)型

    實(shí)現(xiàn)現(xiàn)代化轉(zhuǎn)型 弗吉尼亞州阿什伯恩?2025年5月9日?/美通社/ --?財(cái)富500強(qiáng)企業(yè)、全球領(lǐng)先的技術(shù)服務(wù)供應(yīng)商DXC Technology(NYSE:DXC)攜手SAP與Microsoft,推出
    的頭像 發(fā)表于 05-09 15:04 ?222次閱讀
    DXC攜手SAP與<b class='flag-5'>Microsoft</b>,簡(jiǎn)化并加速企業(yè)轉(zhuǎn)型

    安科瑞微電網(wǎng)能源管理系統(tǒng)助力園區(qū)實(shí)現(xiàn)碳工廠 實(shí)現(xiàn)低碳轉(zhuǎn)型

    競(jìng)爭(zhēng)力、規(guī)避碳關(guān)稅壁壘的戰(zhàn)略選擇。然而,實(shí)現(xiàn)工廠運(yùn)營(yíng)的“凈排放”,需突破能源結(jié)構(gòu)單一、能效管理粗放、碳排數(shù)據(jù)模糊等瓶頸。 1、 什么是碳工廠? 碳工廠是指以
    的頭像 發(fā)表于 03-28 14:05 ?298次閱讀
    安科瑞微電網(wǎng)能源管理系統(tǒng)助力園區(qū)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>零</b>碳工廠 <b class='flag-5'>實(shí)現(xiàn)</b>低碳轉(zhuǎn)型

    微軟重新推出免費(fèi)企業(yè)版Copilot:Microsoft 365 Copilot Chat

    據(jù)外媒最新報(bào)道,微軟近期重新推出了其備受關(guān)注的企業(yè)版Copilot,并命名為“Microsoft 365 Copilot Chat”。這一新版本的最大亮點(diǎn)在于其免費(fèi)提供的AI代理功能,為用戶帶來(lái)
    的頭像 發(fā)表于 01-17 10:08 ?679次閱讀

    采用物聯(lián)網(wǎng)能源效率解決方案實(shí)現(xiàn)排放目標(biāo)

    實(shí)現(xiàn)“凈排放”意味著需要從環(huán)境中吸收等量的二氧化碳來(lái)平衡排放,以實(shí)現(xiàn) 1.5°C 的全球控溫目標(biāo)。物聯(lián)網(wǎng)對(duì)實(shí)現(xiàn)排放至關(guān)重要,因?yàn)樗衫?/div>
    的頭像 發(fā)表于 12-19 16:02 ?734次閱讀
    采用物聯(lián)網(wǎng)能源效率解決方案<b class='flag-5'>實(shí)現(xiàn)</b>凈<b class='flag-5'>零</b>排放目標(biāo)

    碳節(jié)能工廠是什么?有什么功能?如何實(shí)現(xiàn)? ?

    碳節(jié)能工廠是一種在生產(chǎn)制造過(guò)程中實(shí)施技術(shù)性節(jié)能減排措施,實(shí)現(xiàn)工廠綜合碳排放表現(xiàn)為的目標(biāo)的工廠。這種工廠不僅所使用的能源全部來(lái)自于可再生能源,如太陽(yáng)能、風(fēng)能、水能等清潔能源,而且在生
    的頭像 發(fā)表于 12-17 17:07 ?571次閱讀

    Microsoft Ignite 2024最新發(fā)布:Copilot進(jìn)化到下一階段

    ?智能Microsoft365 Copilot副駕駛?廣受職場(chǎng)歡迎近70%財(cái)富500強(qiáng)企業(yè)已采用。在lgnite2024上;微軟再次加速推進(jìn)"每位員工配備智能Copilot副駕駛?作為個(gè)人助理
    的頭像 發(fā)表于 11-27 09:23 ?1261次閱讀
    <b class='flag-5'>Microsoft</b> Ignite 2024最新發(fā)布:Copilot進(jìn)化到下一階段

    使用DAC8811進(jìn)行輸出方波時(shí),每次更新一次電壓值會(huì)有一個(gè)歸的狀態(tài),怎樣設(shè)置才能正常輸出方波?

    使用DAC8811進(jìn)行輸出方波時(shí),每次更新一次電壓值會(huì)有一個(gè)歸的狀態(tài),該歸時(shí)間會(huì)根據(jù)SPI速率不同而改變,左圖為SPI速率 5M的時(shí)候,輸出的波形;當(dāng)SPI速率為50M時(shí),該波形歸時(shí)間會(huì)變短; 看看
    發(fā)表于 11-13 06:01

    如何打造碳園區(qū),盾華電子助力“雙碳”目標(biāo)實(shí)現(xiàn) 碳公路 碳智慧校園

    如何打造碳園區(qū),盾華電子助力“雙碳”目標(biāo)實(shí)現(xiàn) 碳公路 碳智慧校園
    的頭像 發(fā)表于 10-08 15:52 ?494次閱讀
    如何打造<b class='flag-5'>零</b>碳園區(qū),盾華電子助力“雙碳”目標(biāo)<b class='flag-5'>實(shí)現(xiàn)</b>  <b class='flag-5'>零</b>碳公路 <b class='flag-5'>零</b>碳智慧校園

    Splashtop 加入 Microsoft 智能安全協(xié)會(huì)

    2024年9月25日美國(guó)加利福尼亞州庫(kù)比蒂諾SplashtopInc.宣布已正式加入Microsoft智能安全協(xié)會(huì)(MISA)。MISA由獨(dú)立軟件供應(yīng)商(ISV)和托管安全服務(wù)提供商(MISA)組成
    的頭像 發(fā)表于 09-28 08:08 ?455次閱讀
    Splashtop 加入 <b class='flag-5'>Microsoft</b> 智能安全協(xié)會(huì)

    請(qǐng)問(wèn)多級(jí)射頻放大電路中怎么將信號(hào)調(diào)

    實(shí)現(xiàn)調(diào),并且不引入太多的干擾?小弟之前用電位器加跟隨調(diào)節(jié)同向放大的OPA847,調(diào)可以實(shí)現(xiàn),但輸出引入了較多噪聲,并且信號(hào)在50MHZ的時(shí)候開(kāi)始衰減,并且通帶不平坦,與之前做的O
    發(fā)表于 09-09 08:07

    智能電表火線線電流不同會(huì)怎樣

    智能電表是現(xiàn)代電力系統(tǒng)中的重要組成部分,它能夠實(shí)現(xiàn)對(duì)用電情況的實(shí)時(shí)監(jiān)測(cè)和控制。在智能電表的工作原理中,火線和線是兩個(gè)非常重要的組成部分。火線是電源線,負(fù)責(zé)將電能輸送到用戶端;而線則是返回線,負(fù)責(zé)
    的頭像 發(fā)表于 08-26 09:38 ?3133次閱讀

    怎樣消除線和地線電壓

    消除線和地線電壓是電力系統(tǒng)和電子設(shè)備設(shè)計(jì)中的一個(gè)重要問(wèn)題。 線和地線電壓的產(chǎn)生原因 1.1 線電壓的產(chǎn)生原因 線電壓是指在三相四線制供電系統(tǒng)中,
    的頭像 發(fā)表于 08-25 11:02 ?5171次閱讀

    Microsoft Dynamics 365 Contact Center聯(lián)絡(luò)中心上線

    Microsoft Dynamics 365 Contact Center 聯(lián)絡(luò)中心(國(guó)際版)全面上線,這標(biāo)志著微軟在客戶服務(wù)現(xiàn)代化道路上的又一重大里程碑。Microsoft Dynamics
    的頭像 發(fā)表于 08-20 09:57 ?881次閱讀

    同步清和異步清的概念、特點(diǎn)及應(yīng)用

    1. 同步清 同步清是一種在數(shù)字電路中實(shí)現(xiàn)操作的方式,其特點(diǎn)是清信號(hào)與時(shí)鐘信號(hào)同步。在同步清
    的頭像 發(fā)表于 07-23 11:12 ?6127次閱讀

    異步置和同步置的區(qū)別在哪里

    異步置和同步置是數(shù)字電路設(shè)計(jì)中兩種不同的置方法。它們?cè)?b class='flag-5'>實(shí)現(xiàn)方式、性能和應(yīng)用場(chǎng)景上有所不同。 實(shí)現(xiàn)方式: 異步置
    的頭像 發(fā)表于 07-23 11:09 ?4421次閱讀