丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給skura
發(fā)送

0

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

本文作者: skura 2020-03-08 09:02
導(dǎo)語:將大量模型部署到生產(chǎn)環(huán)境中是有瓶頸的

樂觀的人會(huì)想,未來機(jī)器學(xué)習(xí)能夠完成駕駛汽車、接聽電話、預(yù)約、回復(fù)電子郵件這些人類才能完成的任務(wù)。但現(xiàn)實(shí)往往很骨感?,F(xiàn)代機(jī)器學(xué)習(xí)能有效解決的問題范圍仍然非常狹窄,比如在 Netflix 上推薦下一個(gè)節(jié)目或計(jì)算 ETA。

然而,當(dāng) OpenAI 發(fā)布 GPT-2 后,機(jī)器和人類之間的差距就開始縮小了。

通過簡單地指示模型的大小,OpenAI 建立了一個(gè)通用語言模型,通過后者可以更流暢地處理人類的任務(wù)(雖然有時(shí)不完美):

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

圖片來源:OpenAI

GPT-2 的出現(xiàn)并非偶然,它發(fā)布不久,Salesforce 就發(fā)布了 16 億參數(shù)語言模型 CTRL。NVIDIA 構(gòu)建了 Megatron,一個(gè) 80 億參數(shù)的 transformer 模型。最近,Google 又發(fā)布了擁有 26 億參數(shù)的最先進(jìn)的會(huì)話模型 Meena。

即使在計(jì)算機(jī)視覺領(lǐng)域,要實(shí)現(xiàn)更好的性能往往也需要更大的模型。2018 年夏天,就在 GPT-2 首次發(fā)布的前幾個(gè)月,Google 發(fā)布了 NASNet,這是一個(gè)創(chuàng)紀(jì)錄的圖像分類模型,它擁有 8890 萬個(gè)參數(shù),比其他任何能夠識(shí)別圖像中物體的主流圖像分類模型都要大:

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

資料來源:Sik-Ho Tsang

趨勢很明顯。為了實(shí)現(xiàn)機(jī)器學(xué)習(xí)驅(qū)動(dòng)未來的美好愿景,這些「超級(jí)模型」將越來越大。但現(xiàn)在的問題是:

它們太大了,沒有辦法在生產(chǎn)中使用。

超級(jí)模型面臨哪些挑戰(zhàn)?

模型不斷膨脹,將它們部署到生產(chǎn)中變得越來越棘手。以 GPT-2 為例:

  • GPT-2 大于 5 GB。在本地將模型嵌入到應(yīng)用程序中不是移動(dòng)設(shè)備中軟件的選擇。

  • GPT-2 需要計(jì)算。為了服務(wù)于單個(gè)預(yù)測,GPT-2 可以以 100% 的利用率占用 CPU 幾分鐘。即使使用 GPU,一個(gè)預(yù)測仍然需要幾秒鐘。而與之相比,一個(gè) web 應(yīng)用程序可以用一個(gè) CPU 服務(wù)數(shù)百個(gè)并發(fā)用戶。

  • GPT-2 對(duì)內(nèi)存需求很大。除了相當(dāng)大的磁盤空間和計(jì)算需求之外,GPT-2 還需要大量內(nèi)存才能保證順利運(yùn)行。

換句話說,GPT-2 規(guī)模大、資源密集、速度慢。將其投入生產(chǎn)是一個(gè)挑戰(zhàn),而擴(kuò)大規(guī)模則更加困難。

這些問題并非 GPT-2 獨(dú)有,它們對(duì)所有超級(jí)模型來說都是通用的,而且只會(huì)隨著模型變大而變得更糟。幸運(yùn)的是,機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)中的一些項(xiàng)目正在消除這一障礙。

我們?nèi)绾谓鉀Q超級(jí)模型問題

雖然完全解決問題還為時(shí)過早,但解決超級(jí)模型問題的總體方向有三點(diǎn):

1.把模型變小

如果模型變得太大,最直接的方法就是壓縮它們。

一種方法是通過知識(shí)蒸餾。在一個(gè)很高的層次上,這可以說是一個(gè)小模型(學(xué)生)可以通過學(xué)習(xí)來模仿大模型(家長)的表現(xiàn)。

換言之,訓(xùn)練 GPT-2 需要輸入 40 GB 的文本,這相當(dāng)于一個(gè)大約 27118520 頁的文本文件。然而,訓(xùn)練一個(gè)精簡的 GPT-2 模型,只需要你給它輸入 GPT-2 的輸出。

著名的 Transformers NLP 庫幕后的公司 HuggingFace 就是這樣創(chuàng)建了 DistilGPT2。雖然 DistilGPT2 在某些質(zhì)量基準(zhǔn)上的得分比完整的 GPT-2 模型低一些,但它比完整的 GPT-2 模型小 33%,速度快兩倍。

速度提高兩倍是了不起的大事。對(duì)于自動(dòng)駕駛汽車來說,安全停車和撞車是兩碼事。對(duì)于一個(gè)會(huì)話代理來說,這是自然對(duì)話和與惱人的機(jī)器人通話之間的區(qū)別。

實(shí)際上,你可以將 DistilGPT2 和 GPT-2 的性能和 HuggingFace 與 Transformers editor 的交互編寫進(jìn)行比較:

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

資料來源:Write With Transformers

2.將模型部署到云端

然而,即使經(jīng)過蒸餾,模型仍然相當(dāng)大。對(duì)超過 25 GB(NVIDIA 的 Megatron是 GPT-2 的 5.6倍)的模型來說,減小 33% 仍然很龐大。

在這樣的規(guī)模下,我們用來消費(fèi) ML 生成內(nèi)容的設(shè)備——我們的手機(jī)、電視,甚至我們的電腦——都不能托管這些模型,它們根本不適合。

一種解決方案是將模型作為微服務(wù)部署到云中,我們的設(shè)備可以根據(jù)需要進(jìn)行查詢。這被稱為實(shí)時(shí)推理,是在生產(chǎn)中部署大型模型的標(biāo)準(zhǔn)方法。

然而,在云中部署有自己的問題,特別是規(guī)模問題。

舉個(gè)例子,讓我們看看 AI Dungeon,這是一個(gè)流行的文本冒險(xiǎn)游戲,建立在 GPT-2 上:

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

由于 GPT-2 的規(guī)模和計(jì)算要求,AI Dungeon 只能為來自單一部署模型的兩個(gè)用戶提供服務(wù)。隨著流量的增加,AI Dungeon 需要自動(dòng)升級(jí)。

擴(kuò)展 GPT-2 部署是很棘手的。它要求你:

  • 確保每個(gè)部署都是相同的。例如,使用 Docker 對(duì)模型進(jìn)行容器化,使用 Kubernetes 對(duì)容器進(jìn)行編排。

  • 自動(dòng)擴(kuò)展部署。例如,通過配置云供應(yīng)商的自動(dòng)縮放器,根據(jù)流量自動(dòng)上下旋轉(zhuǎn)實(shí)例。

  • 優(yōu)化資源。這意味著在不犧牲性能的情況下找到成本最低的實(shí)例類型和資源分配方式。

如果做得不對(duì),你就會(huì)收到一筆巨大的云賬單——部署 200 個(gè) g4dn.2xlarge 實(shí)例每小時(shí)花費(fèi) 150.40 美元,或者你會(huì)發(fā)現(xiàn)自己的預(yù)測服務(wù) API 經(jīng)常崩潰。

換句話說,要為你的大型模型服務(wù),你目前需要對(duì) devops 有相當(dāng)多的了解,而且大多數(shù)數(shù)據(jù)科學(xué)家并不能完成基礎(chǔ)設(shè)施工程師的工作。

幸運(yùn)的是,有些項(xiàng)目正在努力消除這個(gè)瓶頸。

像 Cortex 這樣的開源項(xiàng)目——AI Dungeon 基礎(chǔ)設(shè)施背后的項(xiàng)目,作為自動(dòng)化部署大型模型所需的 devops 工作工具,已經(jīng)獲得了廣泛的關(guān)注:

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

來源:Cortex GitHub

3.加速模型服務(wù)硬件

最后一類讓服務(wù)大模型變得更容易的方法與模型本身沒有任何關(guān)系。相反,它與改進(jìn)硬件有關(guān)。

大模型在不同的硬件上性能更好。事實(shí)上,正如我之前所說的,為什么 GPU 對(duì)模型服務(wù)很重要?這是因?yàn)橹挥性?GPU 上才能以足夠低的延遲來為 GPT-2 服務(wù),比如 autocorrect:

一般人每分鐘打 40 個(gè)字,一般的英語單詞大約有 5 個(gè)字符,因此,一個(gè)普通人每分鐘輸入 200 個(gè)字符,或者每秒輸入 3.33 個(gè)字符。再往前走一步,這意味著平均每個(gè)人輸入每個(gè)字符之間時(shí)間大約有 300 毫秒。

如果你在 CPU 上運(yùn)行,每次請(qǐng)求占用 925 毫秒,那么你的 Gmail 智能合成速度就會(huì)慢下來。當(dāng)你處理一個(gè)用戶的字符時(shí),他們大約會(huì)領(lǐng)先 3 個(gè)字符——如果輸入是快速打字機(jī),甚至領(lǐng)先更多。

然而,在 GPU 的幫助下,你的處理速度遠(yuǎn)遠(yuǎn)領(lǐng)先于他們。在每個(gè)請(qǐng)求占用 199 毫秒時(shí),你將能夠用大約100 毫秒的空閑時(shí)間預(yù)測其余的消息,這在他們的瀏覽器仍需要呈現(xiàn)你的預(yù)測時(shí)非常有用。

然而,隨著模型越來越大,我們需要更多的處理能力。

解決這個(gè)問題的方法包括構(gòu)建全新的硬件。例如,Google 已經(jīng)發(fā)布了 TPU,這是專門為 TensorFlow 接口而設(shè)計(jì)的 asic。Google 最新的 TPU 最近打破了模型服務(wù)基準(zhǔn)的可伸縮性和性能記錄。美國亞馬遜云(AWS)最近也發(fā)布了自己的專業(yè)推理芯片。

其他工作包括加速和優(yōu)化現(xiàn)有硬件。例如,NVIDIA 發(fā)布了 TensorRT,這是一個(gè)用于優(yōu)化推理服務(wù)中 NVIDIA GPU 利用率的 SDK。NVIDIA 已經(jīng)記錄了在 GPU 上使用 TensorRT 的性能,它比僅使用 CPU 的推理提高了 40 倍。

機(jī)器學(xué)習(xí)將變得司空見慣

在很多方面,機(jī)器學(xué)習(xí)仍然像美國西部一樣蠻荒。

像 GPT-2 這樣的超級(jí)模型剛剛開始出現(xiàn),除了大公司,機(jī)器學(xué)習(xí)正越來越廣泛地為工程師們所接受,模型架構(gòu)的新突破似乎一直就在眼前。

然而,我們已經(jīng)看到機(jī)器學(xué)習(xí)幾乎出現(xiàn)在每個(gè)垂直領(lǐng)域,從媒體到金融到零售。不出意外,在不久的將來,幾乎沒有一款產(chǎn)品會(huì)不涉及機(jī)器學(xué)習(xí)。

隨著機(jī)器學(xué)習(xí)成為軟件的標(biāo)準(zhǔn)部分,在生產(chǎn)中部署大型模型的挑戰(zhàn)也將變得司空見慣。

via:https://towardsdatascience.com/too-big-to-deploy-how-gpt-2-is-breaking-production-63ab29f0897c

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

機(jī)器學(xué)習(xí)模型太大難部署?這里有 3 個(gè)解決方案

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說