自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

干貨!3 個重要因素,帶你看透 AI 技術架構方案的可行性

人工智能
AI架構(尤其是以機器學習和深度學習為代表的架構方案)已經(jīng)成為我們技術架構選型中的一個新的選項。你是否需要AI架構的解決方案?AI架構選型的主要依據(jù)是什么?這是我們今天主要討論的問題。

人工智能這幾年發(fā)展的如火如荼,不僅在計算機視覺和自然語言處理領域發(fā)生了翻天覆地的變革,在其他領域也掀起了技術革新的浪潮。無論是在新業(yè)務上的嘗試,還是對舊有業(yè)務對改造升級,AI這個奔涌了60多年的“后浪”,正潛移默化的影響著我們傳統(tǒng)的技術架構觀念。

[[329873]]

AI架構(尤其是以機器學習和深度學習為代表的架構方案)已經(jīng)成為我們技術架構選型中的一個新的選項。

你是否需要AI架構的解決方案?AI架構選型的主要依據(jù)是什么?這是我們今天主要討論的問題。

我們先來看一個典型的AI架構:

干貨!3 個重要因素,帶你看透 AI 技術架構方案的可行性
  • 首先需要采集訓練模型所需要的數(shù)據(jù),這些數(shù)據(jù)有可能來自業(yè)務系統(tǒng)本身,如CTR預估任務中的用戶點擊數(shù)據(jù)、用戶下單數(shù)據(jù)等;也有可能來系統(tǒng)外部,公開購買或自主爬取,如圖片分類任務中的圖片、NLP任務中的語料等。
  • 這些數(shù)據(jù)被收集起來后,經(jīng)過清洗、加工,被存儲起來,因為畢竟不是只用一次。一般是存儲在分布式存儲設備(如HDFS)或云端,多數(shù)公司還會建立自己的數(shù)據(jù)平臺,保存在數(shù)據(jù)倉庫中,長期積累下來。
  • 需要使用的時候,先進行數(shù)據(jù)篩選,選擇合適的特征數(shù)據(jù),然后經(jīng)過數(shù)據(jù)預處理,送入到算法模型中。模型的搭建可選的技術框架很多,可以是基于spark mllib,也可以是sklearn、tensorflow、pytorch等。然后經(jīng)過訓練、評估和調參,完成模型的構建工作。
  • 最后模型要應用到線上的具體業(yè)務中,完成分類、回歸某一具體任務。在部署過程中,有可能是將模型打包,將預測模型直接部署到業(yè)務系統(tǒng)(客戶端)中;也有可能是直接提供一個在線RESTful接口,方便跨語言調用。

總結一下,經(jīng)過數(shù)據(jù)采集、加工處理、特征選擇、數(shù)據(jù)預處理、模型訓練、模型評估、模型應用幾個環(huán)節(jié),數(shù)據(jù)跨過業(yè)務系統(tǒng)、數(shù)據(jù)平臺、算法模型三個系統(tǒng),形成一個閉環(huán),最終又應用到業(yè)務系統(tǒng)中,這就構成了整個AI架構的核心。

是否需要AI架構,如何衡量這套技術架構方案的可行性?我認為,主要是看以下三個要素。

1. 場景

我們討論架構的可行性,是否適合業(yè)務及業(yè)務發(fā)展是第一衡量準則,AI架構也不例外。

回顧那些經(jīng)典的、已經(jīng)廣泛應用的機器學習場景,比如推薦、搜索、廣告等,這些場景都具有這樣的特點:場景相對封閉、目標單一、可控。

究其原因,無論算法模型多么復雜,其最終都要落實到損失函數(shù)上的,而后者一般都是單目標、單優(yōu)化任務。或追求極值(損失最小化)、或達到某種對抗上的平衡(比如GAN)。在這種情況下,無論業(yè)務如何建模,還是要落地到算法模型和損失函數(shù)的,最終也就限制了場景和目標上的單一。

因此,看一個業(yè)務是否適合AI架構,就要先看這個業(yè)務場景目標是否單一、可控?;蚪?jīng)過業(yè)務建模和架構拆解后,每個環(huán)節(jié)的場景是否單一。

舉個例子,同程藝龍酒店系統(tǒng)為酒店商家提供了上傳酒店圖片的功能,在這個場景下,除了要審查圖片的合法性,還要給圖片打上分類標簽,如“大堂”、“前臺”、“客房”、“周邊”等。為了能正常使用AI架構,就必須對場景內(nèi)的各目標進行拆分,訓練不同的分類器。具體流程如下:

干貨!3 個重要因素,帶你看透 AI 技術架構方案的可行性

其中,第2、3、4步涉及到多個圖片分類器,每個分類器的目標不同,所需要的訓練數(shù)據(jù)也不同。對于輸入的同一個樣本圖片,每個分類器完成自己的職能,目標單一可控。對于一些不通過的樣本,可能還涉及到人工干預。最后合法的圖片存入系統(tǒng)。

從業(yè)務必要性上來說,也并不是所有業(yè)務場景都需要AI架構。算法模型是對事物的精確模擬和抽象,復雜度也是比較高的。但可能有時我們業(yè)務上并不需要如此精細的控制。比如有時一個簡單的if...else...就解決了問題;復雜點的可能會設計幾種“策略”,然后由業(yè)務專家針對每種情況進行配置;再復雜的可能還會考慮BI的方案:收集數(shù)據(jù),然后展開多維度的分析,最后由分析師連同業(yè)務專家得到某種規(guī)律性的結論,再內(nèi)置到系統(tǒng)里,效果可能也不錯。

再舉個酒店分銷調價的例子,在將酒店分銷給代理售賣前,一般會在底價基礎上對產(chǎn)品賣價進行干預,調整一定的點數(shù)(百分比),保證銷量的同時,最大化收益。

一開始,可能僅僅是一個固定的比率(比如加價6%)。隨著業(yè)務發(fā)展,設計了一系列策略,比如針對“是否獨家”、“是否熱門”2維度將酒店劃分到4個象限里,對“獨家-熱門”酒店實施一個較高的調價比率,而對“非獨家-冷門”酒店實施一個較低的比率。結果收益提高了一大截,效果不錯。

而后,業(yè)務人員希望施行更加精細的控制,于是對酒店的星級、地區(qū)、商圈、獨家、房型等維度進行了更為精細的劃分,并結合歷史數(shù)據(jù)進行統(tǒng)計分析,對各種結果施以不同的調價比率。產(chǎn)量和收益又進一步提升了。

這時如果各業(yè)務方都比較滿意、成本也不高,系統(tǒng)復雜度也不高,那就沒必有再考慮更為精細、智能的AI架構了。引入AI,本質上,還是要帶來效率、體驗或準確性的提升,同時平衡成本和收益,控制系統(tǒng)復雜度。如果不能帶來這些,那就要重新審視我們的方案了。

當然,有時我們也會考慮架構的擴展性和業(yè)務的發(fā)展,預留一些設計上的“開閉”空間。“策略模式”這時也許是個不錯的選擇。對于系統(tǒng)的默認策略,采用基于人工的、配置的方案,同時保留策略擴展接口,隨著將來業(yè)務要求的增高,再引入“基于AI的策略”。這樣即控制了當前的成本,又平衡了系統(tǒng)的擴展性。 

2. 數(shù)據(jù)

數(shù)據(jù)決定了機器學習的上限,而算法和模型只是逼近這個上限而已。

數(shù)據(jù)的采集和獲取通常需要很長時間,建立充分、全面的數(shù)據(jù)倉庫,更需要長時間的積累和打磨,因此,數(shù)據(jù)在任何一個公司都是寶貴的資產(chǎn),不肯輕易送出。而一個算法模型的成功與否,關鍵看數(shù)據(jù)和特征。因此,一套AI架構的解決方案,最終能否取得好的效果,關鍵看是否已經(jīng)采集到了足夠、充分的數(shù)據(jù)。

這些數(shù)據(jù)來源一般包括:自有系統(tǒng)采集、互聯(lián)網(wǎng)公開數(shù)據(jù)收集(或爬取)、外購等。

自有系統(tǒng)采集是最常見的方案,業(yè)務系統(tǒng)自身產(chǎn)生的數(shù)據(jù),一般也更適合業(yè)務場景的應用。可這樣的數(shù)據(jù)珍貴且稀少,所以往往需要公司的決策者提前布局,早早的開始收集、整理業(yè)務數(shù)據(jù),建設數(shù)據(jù)平臺、充實數(shù)據(jù)倉庫,這樣經(jīng)過幾個月甚至幾年以后,在真正用到AI架構時,彈藥庫里已經(jīng)儲備了充足的“彈藥”了。

互聯(lián)網(wǎng)公開的數(shù)據(jù)爬取也是一個快速且免費的方法,但在茫茫大海中找到適合自己的數(shù)據(jù)并不容易,且因為你能拿到、別人也能拿到,因此很難拉開和其他競對公司的差異。

外購一般要花費巨額費用,且質量參差不齊,一般是互聯(lián)網(wǎng)公司最后不得已的方案。

[[329874]]

在數(shù)據(jù)獲取成本高、難度大、積攢時間久這樣的前提下,而場景又適合使用AI架構,面對數(shù)據(jù)匱乏,是不是就沒有辦法了呢?也不盡然,我們還是有些替代方案的。

(1) 淺層模型通常比深層模型需要更少的數(shù)據(jù)量,因此,在數(shù)據(jù)量不足的時候,通??梢允褂脺\層模型替代深層模型來減少對數(shù)據(jù)量的需求。當然,模型的表達能力也會隨之下降,但應對不是特別復雜的業(yè)務場景,淺層模型也一樣能取得很好的效果。當然,隨之而來的是對特征挖掘更高的要求和對模型選擇的挑剔。拿分類任務來說,SVM、邏輯回歸、隨機森林、樸素貝葉斯...每種模型都有其特點和適用性,要充分考慮和權衡,才能利用好每一條數(shù)據(jù)。所謂數(shù)據(jù)不夠、模型來湊,也是不得已的辦法。

(2) 采用預訓練模型也是降低數(shù)據(jù)需求量的一個很好的辦法,遷移學習已經(jīng)在圖像分類問題上廣泛運用,BERT模型也將預訓練模型帶入自然語言處理的大門。在一些特定問題上,如果能找到合適的預訓練模型,再加之少量自己的數(shù)據(jù)進行微調,不但對數(shù)據(jù)的需求量降低,訓練時間也大大降低,一舉兩得。只是合適的預訓練模型可遇而不可求。

(3) 還有一個減少數(shù)據(jù)需求的變通的辦法是采用少量數(shù)據(jù)先“啟動”,然后不斷獲取數(shù)據(jù),并加快模型更新頻率,直至采用“在線學習”的方法。這里實際上是將總的數(shù)據(jù)需求,拉長到時間維度去解決。當然,這里也需要業(yè)務上允許前期模型的準確度不是那么高,隨著數(shù)據(jù)的增多和模型的不斷更新,逐步達到預期效果。

舉個例子,酒店shopper類產(chǎn)品的售賣,為了加快展現(xiàn)速度,通常采取供應商數(shù)據(jù)預抓取的方式落地。但供應商給的QPS極其有限,每次只能抓取一個酒店,高頻率的抓取可以保證酒店數(shù)據(jù)的新鮮度,給客人更好的體驗;低頻率的抓取因庫存、價格信息時效性不能保證,往往就會導致預定失敗,造成損失。因此,如何在酒店間合理的分配QPS就是一個典型的機器學習問題。

我們從酒店熱度、預定周期、節(jié)假日等多個維度進行了特征挖掘,最后卻發(fā)現(xiàn)“季節(jié)”這個關鍵因素,我們卻提取不到有效特征,原因是數(shù)據(jù)倉庫里只有三個月的數(shù)據(jù),也就是只有當季的數(shù)據(jù)。

為了解決這個問題,我們重新設計了模型,調整了架構方案,采用“在線學習”的方式,將模型更新問題納入到了解決方案中。原始數(shù)據(jù)只用來訓練一個初始模型,上線后,模型不斷拿新產(chǎn)生的數(shù)據(jù)并進行迭代更新,同時對時間線更近的數(shù)據(jù)賦以更高的樣本權重,以此來保證對季節(jié)性因素的跟進。系統(tǒng)上線后,取得了很好的效果。

(4)  強化學習在初始數(shù)據(jù)缺乏的情況下,大多數(shù)時候也是一個備選方案。強化學習采用“試錯”的方式,不斷演化,并最終學到規(guī)律。當然這需要業(yè)務模型做相應的調整,同時,如果演化周期過長,那有可能模型在前期相當長的時間內(nèi),都不能做出較優(yōu)的決策,因此需要業(yè)務容忍度較高。

3. 算力

眾所周知,訓練過程是一個典型的“計算密集型任務”,沒有強大的算力,是難以支撐算法模型的訓練和研究的。做機器學習的計算平臺,GPU幾乎是標配,其訓練時間比CPU一般能縮短5倍以上。

目前,主要有自建和租賃云平臺兩種途徑獲取。如果“不差錢”,當然可以選擇自建,但現(xiàn)在GPU升級換代太快,基本一年一換。對于做機器學習的GPU來說,運算速度是關鍵,很可能花了大價錢搭建的GPU集群,過幾年卻變成了一臺“老爺車”。

租賃云平臺雖然可以隨時享受最新GPU運算速度帶來的“快感”,但所需花費的精力也不少。不但要詳細對比每家云平臺提供的服務和成本,還要合理的搭配CPU和GPU,做到資源利用最大化。

說了這么多,提的最多的可能就是“成本”和“收益”這兩個詞了,這也是業(yè)務最關心的問題。無論是計算資源還是系統(tǒng)架構,上一套AI架構的解決方案都是需要投入相當大的成本的,如果選擇得當,在一個合適的場景下,AI也是能帶來相當不錯的收益;但如果入不敷出,選擇AI架構的解決方案就要慎重了。

最后,技術人員儲備和法律因素也是上AI架構前需要考量的問題,前陣子還發(fā)生了國家工信部約談AI換臉應用企業(yè)的事件。

AI是一場浪潮,它不僅帶來了新的技術和行業(yè),也給了老系統(tǒng)煥發(fā)新生命活力的機會。作為技術人員,我們不僅要擁抱新技術帶來的挑戰(zhàn),更要清楚其技術選型的主要因素和背后的風險,這樣才能屹立浪潮之巔。那么,你是否需要AI架構的解決方案呢?

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-06-12 10:41:28

AI 數(shù)據(jù)人工智能

2017-07-05 17:04:01

數(shù)據(jù)中心網(wǎng)絡安全

2012-08-24 09:15:07

2011-06-27 17:25:17

快照

2011-06-20 16:34:01

SEO

2009-05-14 17:35:28

局域網(wǎng)設計

2010-03-19 15:37:45

以太網(wǎng)交換機

2010-02-24 09:53:44

Python開發(fā)語言

2016-12-02 11:31:55

移動應用移動開發(fā)

2010-03-22 18:47:13

以太網(wǎng)交換機

2010-03-15 14:33:46

第四層交換機

2022-08-11 08:32:34

Linux 發(fā)行版Linux

2018-10-30 15:11:17

網(wǎng)絡速度網(wǎng)絡帶寬網(wǎng)絡延遲

2013-11-29 09:41:02

數(shù)據(jù)中心

2015-08-17 11:42:44

數(shù)據(jù)中心承重

2012-09-27 17:05:00

Win 8操作系統(tǒng)

2011-06-24 11:35:01

內(nèi)鏈

2011-05-18 09:14:32

2011-04-01 14:33:05

網(wǎng)宿科技訪問體驗網(wǎng)站速度

2013-07-15 10:16:47

Cloud云計算云服務
點贊
收藏

51CTO技術棧公眾號