RPA+AI落地,真的難嗎?(rpa入門)
作者|胡一川 來也科技CTO
RPA(機(jī)器人流程自動(dòng)化)將原本需要人工重復(fù)執(zhí)行的軟件操作交給機(jī)器人執(zhí)行,能夠極大地幫助企業(yè)降低成本、提升效率,成為推動(dòng)企業(yè)數(shù)字化轉(zhuǎn)型的利器。
但是,傳統(tǒng)RPA只能實(shí)現(xiàn)基于規(guī)則的流程自動(dòng)化,應(yīng)用場景相對受限。借助AI之后,RPA機(jī)器人則能具備感知和認(rèn)知能力,將自動(dòng)化拓展到更復(fù)雜的業(yè)務(wù)流程,產(chǎn)生更大的價(jià)值。
不過,RPA AI,這聽起來十分美好,但在實(shí)際場景中又該如何落地?
本文會(huì)從技術(shù)角度對RPA和AI進(jìn)行分析,并結(jié)合來也科技在RPA AI方面的實(shí)踐,談?wù)勅绾纹凭?,并對未來進(jìn)行展望。
兩種軟件開發(fā)范式
本質(zhì)上來講,RPA和AI屬于兩種截然不同的軟件開發(fā)范式。
RPA是基于規(guī)則的軟件開發(fā)范式,每一行代碼都對應(yīng)真實(shí)場景中的業(yè)務(wù)邏輯。因此,開發(fā)RPA機(jī)器人前,首先要梳理清楚業(yè)務(wù)流程,然后根據(jù)業(yè)務(wù)流程去編寫代碼。
AI則是一種全新的軟件開發(fā)范式。在這種范式下,開發(fā)者不再需要用代碼去編寫規(guī)則,而是用代碼編寫機(jī)器學(xué)習(xí)模型,然后用數(shù)據(jù)來訓(xùn)練這個(gè)模型,最后軟件基于模型的輸出去完成特定的任務(wù)。
簡單的說,RPA開發(fā)是給機(jī)器明確的指令每一步該做什么,AI開發(fā)是教機(jī)器過去是怎么做的,讓機(jī)器去學(xué)習(xí)并舉一反三。
RPA和AI屬于兩種不同的軟件開發(fā)范式(左圖:RPA流程的源代碼視圖;右圖:AI訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù))
開發(fā)范式的不同會(huì)帶來一系列的后果,這導(dǎo)致RPA AI在實(shí)際落地中遇到巨大挑戰(zhàn)。
第一,RPA和AI對開發(fā)人員的要求不同。RPA的特點(diǎn)是非侵入、低代碼,讓不懂編程的業(yè)務(wù)人員也能開發(fā)流程。而AI模型的訓(xùn)練則有較高的門檻,通常需要專業(yè)的數(shù)據(jù)科學(xué)家或算法工程師才能完成。由于這類人才的稀缺,導(dǎo)致RPA AI的落地變得很難。
第二,AI的開發(fā)周期要比RPA長。RPA強(qiáng)調(diào)的是快速落地、快速見效,而AI模型的訓(xùn)練要經(jīng)過數(shù)據(jù)獲取、數(shù)據(jù)標(biāo)注、模型訓(xùn)練、模型部署、模型持續(xù)優(yōu)化等流程。這意味著RPA AI項(xiàng)目的落地周期會(huì)大大加長。
第三,AI的使用成本比RPA高。RPA是客戶端程序,只要計(jì)算機(jī)的軟硬件配置和系統(tǒng)環(huán)境滿足基本要求,即可運(yùn)行。AI基于深度神經(jīng)網(wǎng)絡(luò),對計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等都要較高的要求,通常需要運(yùn)行在GPU服務(wù)器上,部署和運(yùn)維成本不小,這使得RPA AI項(xiàng)目的前期投入大。
以上幾點(diǎn),都導(dǎo)致RPA AI在實(shí)際業(yè)務(wù)中的落地并沒有想象中的容易。
如何破局
不久前,來也科技發(fā)布了全新的RPA AI平臺(tái)產(chǎn)品——UiBot Mage,這是專為RPA機(jī)器人打造的AI能力平臺(tái),以拓寬RPA的使用邊界。
UiBot Mage上線后,將與UiBot家族原有的Creator(創(chuàng)造者)、Worker(勞動(dòng)者)、Commander(指揮官)三大模塊集結(jié),分別為RPA機(jī)器人生產(chǎn)、執(zhí)行、分配、智能化提供相應(yīng)的工具和平臺(tái)。
提供開箱即用的AI能力
既然AI模型依賴數(shù)據(jù)和訓(xùn)練,第一種破局的思路就是提前把模型訓(xùn)練好供RPA使用。這個(gè)方案的前提是,我們要知道RPA需要什么樣的AI能力。
為此,來也科技深入分析了幾十個(gè)業(yè)務(wù)場景中的幾百個(gè)業(yè)務(wù)流程,從中梳理出RPA最需要的AI能力。我們發(fā)現(xiàn),在RPA流程中,最能夠用到AI能力的地方,是對各種非結(jié)構(gòu)化數(shù)據(jù)的處理。在這些場景中,RPA可以利用文字識別、文本理解等AI能力將非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。
文字識別即我們常說的OCR,它可以應(yīng)用于文檔識別、表格識別、票據(jù)識別、卡證識別等垂直場景。UiBot Mage針對每個(gè)場景提供若干個(gè)開箱即用的模型。例如,票據(jù)識別場景下開箱即用的模型覆蓋了增值稅專用發(fā)票、增值稅普通發(fā)票、行程單、火車票等20多種票據(jù)類型,在卡證識別場景則包括了銀行卡、身份證、護(hù)照、營業(yè)執(zhí)照等20多種模型。
此外,UiBot Mage在文本理解方面也提供一系列開箱即用的模型。以信息抽取為例,我們提供的模型支持幾十種常見的實(shí)體抽取,包括企業(yè)名稱、日期、時(shí)間、金額、地址、電話等,能夠應(yīng)對大多數(shù)業(yè)務(wù)中的信息抽取需求。
以上AI能力的開箱即用還體現(xiàn)在與Creator的無縫集成上。所有AI能力都以自定義命令的形式存在于Creator中,開發(fā)者只需通過拖拽和簡單設(shè)置就可在RPA流程中使用AI能力。這樣,沒有任何AI經(jīng)驗(yàn)的RPA工程師甚至業(yè)務(wù)人員,都可以享受到AI給RPA帶來的價(jià)值。
通過提供開箱即用的AI能力,UiBot Mage可覆蓋到RPA中常見的需要AI能力的場景。但是,對于長尾的、非標(biāo)準(zhǔn)化的場景,開箱即用的模型無法滿足用戶的需求,因此我們需要有新的解決方案。
通過預(yù)訓(xùn)練降低訓(xùn)練成本
2018年底,Google推出BERT,其核心原理是,用海量數(shù)據(jù)預(yù)先訓(xùn)練一個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的語言模型,然后針對特定NLP任務(wù)在原網(wǎng)絡(luò)的基礎(chǔ)上再次訓(xùn)練得到一個(gè)模型(這個(gè)過程叫做Fine-tune),其效果在幾乎所有NLP任務(wù)上都明顯優(yōu)于當(dāng)時(shí)最好的模型。
這個(gè)方法叫做預(yù)訓(xùn)練(Pre-training),它給我們的最大啟示在于不同的機(jī)器學(xué)習(xí)任務(wù)其底層有相通之處,我們可以用大量任務(wù)無關(guān)的數(shù)據(jù)(大數(shù)據(jù))事先訓(xùn)練好一個(gè)模型,等到要解決特定任務(wù)時(shí),只需要用少量任務(wù)相關(guān)的數(shù)據(jù)(小數(shù)據(jù))對模型進(jìn)行微調(diào),即可達(dá)到理想的效果。這種方法對訓(xùn)練數(shù)據(jù)量的要求更少,數(shù)據(jù)標(biāo)注成本更低,訓(xùn)練時(shí)間也更快,最為關(guān)鍵的是,在預(yù)訓(xùn)練基礎(chǔ)上訓(xùn)練的模型比沒有預(yù)訓(xùn)練的模型效果要好。
回到RPA AI場景,前面提到的OCR任務(wù)雖然使用不同的模型,其底層確有相通之處。比如,雖然針對不同類型文檔有不同的OCR模型,但我們都可以將其拆分為其字符檢測和字符識別兩部分。因此,我們可以通過大量數(shù)據(jù)預(yù)訓(xùn)練得到檢測和識別的基礎(chǔ)模型,然后在特定任務(wù)上進(jìn)行Fine-tune,這樣便能在保障模型效果的前提下,大大減少對訓(xùn)練數(shù)據(jù)的要求,并降低了模型的訓(xùn)練成本。
對于NLP任務(wù),預(yù)訓(xùn)練同樣能給我們帶來明顯的收益。前面提到的BERT,屬于預(yù)訓(xùn)練的語言模型,除此之外,我們還可以對詞的表示、句子的表示、篇章的表示等模型進(jìn)行預(yù)訓(xùn)練。
未來展望
UiBot Mage通過提供開箱即用的模型、預(yù)訓(xùn)練等手段來加速RPA AI的落地,但RPA AI今天仍然在發(fā)展早期,未來還有很長的路要走。對于RPA AI的未來發(fā)展,以下幾個(gè)方向值得我們持續(xù)關(guān)注和不斷創(chuàng)新。
前面提到,基于深度學(xué)習(xí)的AI模型對于硬件有較高的要求,其部署過程也比RPA要復(fù)雜很多,這無疑增加了RPA AI的落地門檻。未來,軟硬件一體的RPA AI產(chǎn)品或許能夠有效解決這一問題,用戶不用擔(dān)心硬件的選型、部署和維護(hù),讓RPA AI真正做到“開箱即用”。
此外,邊緣計(jì)算能力的提升和普及,使得AI的推理可以從服務(wù)端轉(zhuǎn)移到客戶端。由于RPA是運(yùn)行在客戶端的軟件,相比基于服務(wù)端的RPA AI方案,基于邊緣計(jì)算的RPA AI方案在架構(gòu)上更加簡單、靈活,其成本也將大幅下降。邊緣計(jì)算的RPA AI方案將讓我們真正實(shí)現(xiàn)“人人都有一個(gè)機(jī)器人”。
最后,一個(gè)好的AI系統(tǒng)需要“活”的數(shù)據(jù)來持續(xù)更新模型適應(yīng)環(huán)境變化。因此,在RPA AI中如何高效的實(shí)現(xiàn)人機(jī)協(xié)同,形成數(shù)據(jù)閉環(huán),是一個(gè)未來值得研究的重要課題。