Gopi Kumar,Jiayuan Huang,Nguyen Bach和Luis Vargas
微軟首席技術(shù)官團(tuán)隊(duì)辦公室為本文做出了貢獻(xiàn)
2022-02-09
1. AI 增強(qiáng)型微軟產(chǎn)品和服務(wù)
每天,數(shù)以百萬計的人受益于 Microsoft 在 80 多個企業(yè)和消費(fèi)者場景中提供的強(qiáng)大的大規(guī)?;A(chǔ)模型。例如,我們的語言理解功能允許你使用自然語言,使用必應(yīng)或在 Microsoft Word 中跨 100 種語言查找開放域問題的相關(guān)答案。借助相同的 AI at Scale 技術(shù),Microsoft Dynamics 365 提供了相關(guān)的答案、見解和員工可以為自己的業(yè)務(wù)運(yùn)營采取的操作。
多虧了語言生成,建議的回復(fù)使Microsoft Outlook和Microsoft Teams中的即時消息成為更豐富的體驗(yàn)。使用Microsoft Editor,作家可以使用智能工具來制作更精美的散文。我們的語言生成模型還能夠了解和綜合軟件代碼。Viva Topics 可在整個組織中自動組織內(nèi)容和專業(yè)知識,使人們更容易查找信息并將知識投入使用,而 GitHub Copilot 則使用 OpenAI Codex 幫助開發(fā)人員將自然語言轉(zhuǎn)換為代碼。
2. APIs
使用這些功能強(qiáng)大的預(yù)訓(xùn)練模型的最簡單方法之一是通過托管 API。Microsoft的模型可通過Azure認(rèn)知服務(wù)(Azure Cognitive Services),Azure OpenAI Service和Azure認(rèn)知搜索(Azure Cognitive Search)作為API端點(diǎn)使用。這使您可以訪問模型,而不必?fù)?dān)心基礎(chǔ)結(jié)構(gòu)和托管詳細(xì)信息。
Azure 認(rèn)知服務(wù)是基于云的服務(wù),具有 REST API 和客戶端庫 SDK,可幫助開發(fā)人員將認(rèn)知智能構(gòu)建到應(yīng)用程序中。這使您能夠構(gòu)建能夠看到、聽到、說出、理解甚至做出決策的認(rèn)知解決方案。
l 適用于語言的 Azure 認(rèn)知服務(wù)為多個下游任務(wù)(如機(jī)器翻譯、情緒分析、命名實(shí)體識別和文本摘要)提供 API,從而輕松訪問我們的大規(guī)模語言模型。
l 適用于語音和視覺任務(wù)的 Azure 認(rèn)知服務(wù)為視覺和多模式任務(wù)(如視覺問答、圖像字幕、對象檢測以及語音識別和翻譯)提供 API。
l 使用 API(如自定義文本分類、自定義視覺和自定義命名實(shí)體識別)針對域或數(shù)據(jù)微調(diào)模型。
Azure OpenAI Service
Azure OpenAI Service目前處于個人預(yù)覽版中,將為組織提供對OpenAI強(qiáng)大的自然語言生成模型GPT-3的訪問,以及Azure的安全性,可靠性和企業(yè)功能。一些早期客戶正在以創(chuàng)造性的方式使用這項(xiàng)服務(wù)。
通過 Azure 認(rèn)知搜索提供的語義搜索是一種與查詢相關(guān)的功能,可為搜索結(jié)果帶來語義相關(guān)性和語言理解。包括Igloo Software和Ecolab在內(nèi)的組織使用它來增強(qiáng)客戶和員工的能力。在搜索服務(wù)上啟用時,語義搜索以兩種方式擴(kuò)展查詢執(zhí)行管道:它在初始結(jié)果集上添加輔助排名,將語義上最相關(guān)的結(jié)果提升到列表頂部; 它會提取并返回標(biāo)題和答案,您可以在搜索頁面上呈現(xiàn)這些內(nèi)容。
我們正在建立研究和工程之間已經(jīng)很強(qiáng)的合作,以實(shí)現(xiàn)語言突破的新建模技術(shù),并不斷將這些技術(shù)集成到我們的大規(guī)?;A(chǔ)模型系列中。例如,自我監(jiān)督學(xué)習(xí)技術(shù)的進(jìn)步使人工智能系統(tǒng)能夠從數(shù)量級更多的數(shù)據(jù)、不同的數(shù)據(jù)語言和不同的數(shù)據(jù)模式中學(xué)習(xí),從而實(shí)現(xiàn)更大、更準(zhǔn)確的模型。以下是一些令人興奮的成就。
自然語言理解
我們的大規(guī)?;A(chǔ)模型系列從用于語言理解的單語模型開始。微軟是第一家在SuperGLUE基準(zhǔn)測試中超過達(dá)到人類水平的公司,它引入了DeBERTa,DeBERTa被集成到圖靈NLRv4模型中。圖靈NLRv5模型進(jìn)一步超越了語言理解能力,該模型最近成為GLUE和SuperGLUE排行榜上的新領(lǐng)導(dǎo)者。圖靈ULRv5多語言模型擴(kuò)展了模型訓(xùn)練以支持多種語言,支持100種語言,在XTREME排行榜上名列前茅,這是評估多語言理解的基準(zhǔn)。
雖然這些大規(guī)模的預(yù)訓(xùn)練語言模型在語言理解方面取得了重大突破,但它們?nèi)匀辉谌粘I钪惺占某WR知識中掙扎。微軟KEAR在常識方面取得了這一突破,在2021年12月的常識測試中超過了達(dá)到人類水平。
自然語言生成
2020年2月,微軟宣布了圖靈自然語言生成(T-NLG),這是當(dāng)時發(fā)布的最大模型,具有170億個參數(shù)。它在各種語言建?;鶞?zhǔn)上的表現(xiàn)優(yōu)于當(dāng)時最先進(jìn)的模型,這些基準(zhǔn)涉及諸如總結(jié)和問答等任務(wù)。這為平臺功能奠定了基礎(chǔ),使我們能夠訓(xùn)練越來越大的模型。
去年,我們與OpenAI的合作帶來了主流的GPT-3模型,這些模型點(diǎn)亮了創(chuàng)新的產(chǎn)品體驗(yàn),例如通過在Microsoft Power Apps中對話代碼來創(chuàng)建無代碼/低代碼應(yīng)用程序。然后,我們將這種生成功能擴(kuò)展到100種語言,使用統(tǒng)一的多語言生成編碼器 - 解碼器模型(Turing ULG),該模型帶來了DeltaLM的研究創(chuàng)新。該模型在大規(guī)模多語言機(jī)器翻譯挑戰(zhàn)賽中仍然是排行榜的佼佼者。
2021年,通過微軟與NVIDIA的合作,我們宣布了圖靈自然語言生成模型(MT-NLG),這是世界上最大的生成語言模型。在模型縮放方面突破極限,它在自然語言任務(wù)的主要類別中實(shí)現(xiàn)了很強(qiáng)的準(zhǔn)確性,包括常識推理,閱讀理解,文本預(yù)測和語言推斷,在零,一和少鏡頭的設(shè)置中,無需搜索最佳鏡頭。
具有大量參數(shù)、更多數(shù)據(jù)和更多訓(xùn)練時間的語言模型可以獲得更豐富、更細(xì)致的語言理解。此圖描述了隨著時間的推移,最先進(jìn)的NLP模型的增加。圖表由微軟研究院提供。
語言到代碼生成
在更具結(jié)構(gòu)化的符號機(jī)器語言方面,Codex模型通過將數(shù)十億行源代碼和自然語言文本進(jìn)行訓(xùn)練,將GPT-3從自然語言生成擴(kuò)展到代碼生成,從而為GitHub Copilot提供支持,對程序員來說,GitHub Copilot是一種新的AI,可幫助您編寫更好的代碼。
模 態(tài)
鑒于強(qiáng)大的大規(guī)模語言模型取得了巨大進(jìn)步,我們明白將其他模態(tài)整合到我們的模型中至關(guān)重要。這些多模式模型可以跨多種輸入格式(包括文本、布局、圖像和視頻)進(jìn)行聯(lián)合推理。
我們新的視覺語言模型在NoCaps基準(zhǔn)測試中名列前茅,超過了人類基線。我們的圖靈布萊切利25億參數(shù)通用圖像語言表示模型在94種語言的圖像語言任務(wù)中實(shí)現(xiàn)了出色的性能。它甚至可以在不使用OCR技術(shù)的情況下理解圖像中的文本,直接識別具有編碼圖像矢量的類似圖像。此外,我們還訓(xùn)練了一個名為Florence V1.0的基礎(chǔ)計算機(jī)視覺模型,該模型為涵蓋40多個基準(zhǔn)測試的各種計算機(jī)視覺任務(wù)提供了最先進(jìn)的性能。
提高模型功能的一個重要方法是使用名為“專家混合 (MoE)”的集成方法訓(xùn)練具有子任務(wù)的專家模型。MoE架構(gòu)還保留了與模型參數(shù)相關(guān)的亞線性計算,這為通過擴(kuò)展數(shù)萬億個參數(shù)來提高模型質(zhì)量提供了一條有希望的途徑,而不會增加訓(xùn)練成本。我們還開發(fā)了MoE模型,以使用DeepSpeed加速的預(yù)訓(xùn)練模型系列,DeepSpeed的詳細(xì)信息可以在下面找到。
這些大規(guī)模的預(yù)訓(xùn)練模型成為平臺,可以通過以符合隱私的方式使用特定于域的數(shù)據(jù)來適應(yīng)特定的域或任務(wù)。我們將這個基本和領(lǐng)域適應(yīng)模型的集合稱為“AI模型作為平臺”,它可以直接用于構(gòu)建零次/少次學(xué)習(xí)的新體驗(yàn),或者通過微調(diào)模型的過程來構(gòu)建更多特定于任務(wù)的模型。以類似的方式,你可以在租戶范圍內(nèi)使用自己的企業(yè)數(shù)據(jù)對這些模型進(jìn)行域調(diào)整或微調(diào),并在企業(yè)應(yīng)用程序中使用它們來學(xué)習(xí)業(yè)務(wù)和產(chǎn)品獨(dú)有的表示形式和概念。
圖靈布萊切利是一個通用的圖像語言表示模型,可以用94種語言執(zhí)行圖像語言任務(wù)。該模型展示了獨(dú)特而強(qiáng)大的功能和圖像語言理解的突破性進(jìn)步。照片由微軟提供。
Azure 機(jī)器學(xué)習(xí)服務(wù)是 Azure 云上的企業(yè)級服務(wù),支持端到端機(jī)器學(xué)習(xí)開發(fā)生命周期。它為大規(guī)模更快地構(gòu)建、訓(xùn)練和部署機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型提供了高效的體驗(yàn)。它通過實(shí)驗(yàn)跟蹤、模型性能指標(biāo)收集和行業(yè)領(lǐng)先的 MLOps(用于機(jī)器學(xué)習(xí)的 DevOps)實(shí)現(xiàn)團(tuán)隊(duì)協(xié)作。Azure 機(jī)器學(xué)習(xí)服務(wù)支持跨所有主要深度學(xué)習(xí)框架和運(yùn)行時(例如優(yōu)化的 ONNX 運(yùn)行時)進(jìn)行模型訓(xùn)練和部署。Azure 機(jī)器學(xué)習(xí)服務(wù)支持有效使用基礎(chǔ) Azure AI 基礎(chǔ)結(jié)構(gòu)和系統(tǒng)優(yōu)化。
具有數(shù)十億甚至數(shù)萬億個參數(shù)的大型模型需要大量優(yōu)化和并行化策略才能進(jìn)行有效訓(xùn)練。因此,我們開發(fā)了一套優(yōu)化技術(shù),例如零冗余優(yōu)化器(ZeRO),并自2020年以來將它們開源到一個名為DeepSpeed的PyTorch加速庫中。DeepSpeed繼續(xù)開拓,極度關(guān)注大規(guī)模模型訓(xùn)練和推理的速度,規(guī)模,效率,可用性和民主化。
DeepSpeed中的一些新功能包括使用MoE機(jī)器學(xué)習(xí)技術(shù)高效訓(xùn)練稀疏模型的能力,通過課程學(xué)習(xí)提高數(shù)據(jù)效率和訓(xùn)練穩(wěn)定性,為大型模型提供快速高效的分布式推理,以及為廣泛使用的運(yùn)算符(如標(biāo)準(zhǔn)和稀疏轉(zhuǎn)換器)提供的專用高性能GPU內(nèi)核庫。
ZeRO-Infinity是DeepSpeed的另一個功能。它通過將參數(shù)和狀態(tài)卸載到 NVMe 磁盤存儲,打破了 GPU 內(nèi)存壁,使訓(xùn)練模型具有數(shù)萬億個參數(shù),使您能夠在單個 GPU 上訓(xùn)練大型模型,或者使用幾個 GPU 在單個節(jié)點(diǎn)上訓(xùn)練大型模型。例如,借助 ZeRO-Infinity,您可以在單個節(jié)點(diǎn)上微調(diào) GPT-3 大小的模型,從而創(chuàng)建在更適度的硬件上訓(xùn)練非常大的模型的能力。使用DeepSpeed優(yōu)化,我們的內(nèi)部生產(chǎn)工作負(fù)載已經(jīng)看到了2到20倍的模型比例和大型模型的快速訓(xùn)練。
ZeRO-Infinity 通過以下方式有效地利用 GPU、CPU 和 NVMe:1) 在所有數(shù)據(jù)進(jìn)程中對每個模型層進(jìn)行分區(qū),2) 將分區(qū)放置在相應(yīng)的數(shù)據(jù)并行 NVMe 設(shè)備上,以及 3) 協(xié)調(diào)計算數(shù)據(jù)并行 GPU 和 CPU 上分別向前/向后傳播和權(quán)重更新所需的數(shù)據(jù)移動。
ONNX運(yùn)行時(ORT)是訓(xùn)練和推理優(yōu)化的另一個維度,我們編譯深度學(xué)習(xí)模型執(zhí)行圖,并通過運(yùn)算符和高效GPU內(nèi)核庫的融合來確定最佳執(zhí)行?,F(xiàn)在,您可以將 ONNX 運(yùn)行時的圖形級執(zhí)行優(yōu)化和 DeepSpeed 中的算法優(yōu)化相結(jié)合 — 使用 Microsoft 為 PyTorch 開源貢獻(xiàn)的 Torch ORT 模塊 — 使訓(xùn)練更加高效。在我們的基準(zhǔn)測試中,我們注意到,當(dāng)DeepSpeed和ORT結(jié)合使用時,微調(diào)Hugging Face模型的性能提高了86%。
我們很高興看到一些領(lǐng)先的框架和庫,如PyTorch Lightning,FairScale和Hugging Face,采用DeepSpeed和ORT。DeepSpeed也是微軟與NVIDIA合作的核心,該模型是世界上最大的語言模型,一個5300億的參數(shù)模型。像BigScience Workshop這樣的計劃利用DeepSpeed技術(shù),通過基于全球開放社區(qū)的方法構(gòu)建大規(guī)模的多語言多任務(wù)模型。
幾年來,ONNX 運(yùn)行時一直支持在 CPU 和 GPU 上進(jìn)行推理,通過內(nèi)置優(yōu)化提供高達(dá) 17 倍的加速。我們擴(kuò)展了優(yōu)化,以涵蓋云和基于 PC 的邊緣設(shè)備之外的模型部署,包括適用于移動設(shè)備的 ONNX 運(yùn)行時和用于 Web 的 ONNX 運(yùn)行時,用于在 Android 和 iOS 設(shè)備上本地或在內(nèi)存和存儲占用空間較小的 Web 瀏覽器中運(yùn)行推理模型。
我們還開發(fā)了其他算法創(chuàng)新,例如大語言的低秩適應(yīng)(LoRA),這有助于進(jìn)一步減少內(nèi)存占用,同時微調(diào)大型模型,只需重新訓(xùn)練一小部分參數(shù)(在某些情況下低10,000倍),而不是微調(diào)過程中的所有參數(shù),從而節(jié)省了3倍的計算需求。同樣,LoRA在部署基于共享基本模型參數(shù)的同一大型預(yù)訓(xùn)練模型的微調(diào)模型的幾個獨(dú)立實(shí)例時很有用,并且每個實(shí)例或下游任務(wù)都有一小部分參數(shù)。
這些創(chuàng)新使計算資源的有效利用成為可能,從而能夠以更少的資源進(jìn)行訓(xùn)練,并允許研究人員嘗試更大的模型,以提高各種任務(wù)的最新技術(shù)。
最后,構(gòu)建大規(guī)模 AI 需要可擴(kuò)展、可靠且高性能的基礎(chǔ)架構(gòu)。Azure 在公有云中為各種規(guī)模的 AI 工作負(fù)荷提供一流的超級計算基礎(chǔ)結(jié)構(gòu)。它支持從單個GPU到旗艦NDv4系列虛擬機(jī)的流行框架(如TensorFlow,PyTorch等)的GPU加速,該虛擬機(jī)提供八個NVIDIA A100-80GB GPU,該GPU完全由計算機(jī)內(nèi)部和機(jī)器間最快的網(wǎng)絡(luò)互連。該系統(tǒng)目前被評為世界上最快的超級計算機(jī)的前10名,并且是該名單上第一個基于公共云的系統(tǒng)。除了這些 AI 計算資源之外,Azure 還提供了 AI 訓(xùn)練工作負(fù)荷所必需的各種存儲和網(wǎng)絡(luò)解決方案。
照片由微軟提供。
人工智能模型的規(guī)模不斷擴(kuò)大,實(shí)現(xiàn)了曾經(jīng)看似不可能的功能,并產(chǎn)生了最先進(jìn)的基準(zhǔn)記錄。硬件和基礎(chǔ)設(shè)施能力將繼續(xù)保持增長的步伐。隨著MoE等技術(shù)在工具和效率方面的進(jìn)一步成熟,我們將看到大規(guī)模AI的更多進(jìn)步,包括在不同數(shù)據(jù)集上訓(xùn)練的單個模型的增加,以大規(guī)模執(zhí)行多個任務(wù)。
我們在大型語言模型中看到的同樣的能量已經(jīng)蔓延到其他領(lǐng)域,比如計算機(jī)視覺、圖學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。模型本質(zhì)上將越來越多模態(tài),學(xué)習(xí)音頻、圖像、視頻、語言、結(jié)構(gòu)化表格數(shù)據(jù)、圖形數(shù)據(jù)和源代碼組合的多種輸入格式的表示,以提供更豐富的體驗(yàn)。
我們將繼續(xù)為不同渠道的客戶和合作伙伴提供更多這些強(qiáng)大的 AI 模型作為平臺,無論是通過 Microsoft 產(chǎn)品組合的集成體驗(yàn),還是通過 Azure 認(rèn)知服務(wù)、Azure 語義搜索和新的 Azure OpenAI API 等易于使用的 API。此外,我們將繼續(xù)與學(xué)術(shù)和研究界合作,通過圖靈學(xué)術(shù)計劃,進(jìn)一步改進(jìn)我們模型的訓(xùn)練和使用中負(fù)責(zé)任的人工智能方面。
我們?nèi)匀恢铝τ谕ㄟ^開源將這些模型作為平臺共享這些模型的關(guān)鍵構(gòu)建塊。我們在 DeepSpeed、ONNX 運(yùn)行時和 Azure 機(jī)器學(xué)習(xí)中的訓(xùn)練配方方面不斷創(chuàng)新,以推動效率的界限來訓(xùn)練和服務(wù)模型,并將模型的規(guī)模增加到數(shù)萬億個參數(shù)。我們將繼續(xù)使訓(xùn)練或適應(yīng)越來越大的基本模型并將這些模型部署到云中的訪問和能力民主化。
以云技術(shù)為動力的基礎(chǔ)設(shè)施、機(jī)器學(xué)習(xí)加速軟件、平臺服務(wù)、建模等創(chuàng)新融合,為加速AI創(chuàng)新創(chuàng)造了完美條件。這將改善對這一強(qiáng)大技術(shù)的訪問,使每家公司都成為人工智能技術(shù)公司,并幫助您更有效地實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。我們期待看到您可以使用大規(guī)模 AI 技術(shù)堆棧構(gòu)建的令人興奮的應(yīng)用程序和體驗(yàn)。