跳到主要內容區塊
  • 天氣資訊
    • 113-04-27
    • 星期六
    • 上午 02:28
  • 災害示警
    System.Data.SqlClient.SqlException (0x80131904): 無效的物件名稱 'dbo.Comm_Disaster'。 於 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 於 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 於 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 於 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 於 System.Data.SqlClient.SqlDataReader.get_MetaData() 於 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 於 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 於 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 於 StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) 於 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) 於 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) 於 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 於 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) 於 Hamastar.Business.Object.Comm_Disaster..ctor(Int32 SN) 於 SiteApp.FixedModuleString.SideInformation() ClientConnectionId:a3c655da-4399-456f-8893-125e762df4fa Error Number:208,State:1,Class:16

112年4月-專論》ChatGPT 的風暴來襲 台灣無法迴避的大挑戰

  • 發布單位:政風室
  • 資料提供單位:水務局

2022年11月底,Open AI公佈 GPT 3.5 版供大眾使用,這是在新冠病毒疫情消退下,科技界的大事,其能針對使用者的提問,回答出準專業的長篇答案。到2023年3月14日,其更進一步推出 Chat GPT 4.0 版本,除答案的文本增長外,更增加製作影音檔以及撰寫程式語言之功能。這種 A l 科技的突破,被認為是會取代 GoogIe 搜尋引擎的數位大革命。微軟公司宣佈投入100億美元資金,想將其併入未來的數位平台中。Google也宣佈其介入競爭的大計劃,中國的百度也大力投資在此領域的研發,可以預期這會是末來十年全球最大的科技產業大戰,凡是掉了隊伍的國家,都會在全球競爭中喪失主導權。本文會先介紹一般人工智慧的背景,接著簡介 ChatGPT 的軟體結構,其次討論其日後面臨的困境,最後再來談談台灣在此全球競爭中,可以介入的契機與桃戰。

一、人工智慧的一般背景
在人工智慧發展的過程中,幾乎所有領域都需要大數據做為基礎,研究者必須投入大量的資源來標注部分的數據,即建立數據正確答案的集合。此標注的數據集合分成二類,第一類訓練數據就是讓 A l 軟體不斷學習的樣本,經由不斷的演練修正,再將訓練完的神經網路,去回答第二類已標注完的測試數據,再看其正確率有多高,一般而言只要正確率超過90 %,就可應用到該領域大數據上去發揮。這種人工智慧的訓練,就被稱是在有監督下的學習。其相對應的就是無監督之下的學習,即不用大量標注的數據,直接到大數據中去自我訓練,但這種盲人騎瞎馬夜半臨深淵的情境,沒有什麼領域的成果可應用。

當要用人工智慧去學習認知人類的自然語言時,研究者一開始也是利用有監督標注的方式去辨別字、句、及文章。但人類的語言多元變化,且近幾千年累積的文獻龐大,而近代文明累積的知識更是前人的幾千倍,隨著科技的進步,在網路上的新聞及影音資訊、出版界圖書及研究期刊論文、及在專業資料庫上所累積之數據已成幾何級數般成長。所以要用標注的方式去處理自然語言,會成為巨大的負擔。因此近幾年來,研究者開始利用無監督下之自然語言A l學習,來突破此困境。

二、GPT軟體的基本內容
G P T就是 「Generative Pre - trained Transformer 」三個英文字名稱的縮寫,中文可稱為「生成式預訓練轉換器」。當中預訓練是執行A l的第一步工作,首先將文字編碼後,再利用大量的文本來訓練對文句的認知,第二步即是利用轉換器的功能,在提供上下文條件下生成適當的中間文句,因為是在無督監之下自我學習,以統計的觀點來看,中間文句會有很多解,只看其在大量參考數據中出現的機率而定,如此反復練習就生成文句和文句間的關係,其內涵為文句組以複雜拓撲的形式相互串接。有此能力之後就可擴充到對一整篇文章的掌握,並能依需要整理長篇文章的摘要版本。研究人員就可依此摘要版本,來初探 GPT 對文章文義的掌握程度。最後再開放給外界的使用者免費詢問,因此詢問會提示相應的基本訊息,此基本訊息就會形成最初的文句,再利用轉換訓練中的資訊,反向由此最初(中間)文句生成上下文,再持續反復生成更長的上下文以成為正式的文章,但這種生成式文本,不具唯一性,會在使用者不斷提示下,生出不同的文本。在最新GPT 4.0 的版本中,其已能生成長達 2 萬 5 千字的文章。

在GPT的程式中,另包含微調模組,這些模組會因特定的需要加入GPT的訓練中。我們以中文的資料為例,其基本上也是循類似英文模式來生成中文的文本,只是其參考的中文資料比英文文本少很多。若用中文提問,原則上會先利用中文資料庫中知識來回答,若中文的資料庫中沒有此知識,則會從英文資料庫中尋找此知識,再翻譯成中文回答問題。GPT對其他語言的的訓練都是如此。至於兩種語言間的翻譯則會借助已有的翻譯文本來學習,亦可能採用語言翻譯的模組來微調。在GPT中,已共有 42 種非英語的語言被納入採用,當中中文、西班牙、德文、法文、日文等都是資料量用最多的語系。

三、從語言學角度探討GPT成功的原因
從大數據的角度來看,某一特殊領域的目標愈單純,如車牌辨識、人臉辨識、及各工程領域中單一目標的訓練,應用A l 都能得到很好的成果。但對於多目標之訓練,如自動駕駛則進展很緩慢。

而人類的自然語言,大都已有相關的語義、語法及特殊的發音規則,這些規則均是語言專家經歴幾百年研究累績的成果,若人類循此途徑學習一種外語,通常需費掉十幾年的功夫才能精通。但人類的母語學習完全不是此模式,而是在嬰兒2 ~3歲時,腦神經大量爆發的突觸數目所學習的自然語言,而到青春期這些突觸的數目就大量減少,只留下母語神經元突觸存在。所以人類的自然語言其先天上,就具有某些內在的規則存在,否則就沒有那麼多的語言學的研究成果。因此其所呈現的文本,雖然數量龐大,就A l 的學習而言,只要訓練的參數足夠多,就能像嬰兒學習母語一樣有效,這也就是 GPT 能夠成功根本原因。

四、GPT所面臨的挑戰
我們先來談 GPT 所面臨外在的挑戰,以美國而言 ,如Google公司已開發的 BERT 及Transfomer -XL,Facebook亦開發 RoBERTa 和 XLM -R等自然語言模型,且都有很成功的成果。另外中國的百度公司也投入大量資源在研發中國版的自然語言模型,甚至歐盟亦有很多國家投入大量資源在進行研發。某些歐洲國家甚至禁止使用GPT,當中多多少少有保護自己國家研發之味道,這表示未來的競爭會愈來愈激烈。

其次就是 GPT 所面臨的內在挑戰,其中最重的就是計算力無法提昇的困境,以 GPT 4.0 的版本而言,其訓練參數約有 7千億之數量,其利用一萬多片G P U之計算力約在100P左右(1000 G =1T,1000T =1P,1000P =1E,1000E =1Z,全球現只有美國擁有一台計算達1E的超級電腦),在此計算力下單訓練就要花上一年以上的時間。也因計算力不足,其服務系統無法引入日日更新資料之模式。目前其公開的資料宣稱 GPT4.0 版之答案,只到2021年9月以前之資料才有效 ,這對企業界及科技界想要使用其系統來服務,還有一大段路要走。此計算力的瓶頸,對其他公司及各大國而言,都是短期內無法解決的共同難題。

五、台灣的契機與挑戰
因為台灣的晶片、伺服器及交換器製造量都是全球第一,所以這一波自然語言A l競爭,必帶來大量的商機。但針對中文語境的A l挑戰,台灣已明顯輸給中國,甚至,GPT 4.0 目前的中文服務,已大大超越台灣所有團隊努力的成果,縱使日後勉強完成繁體字自然語言版本,也無法進入國際市場競爭,而讓中國百度的「文心一言」獨領風騷。這是因台灣市場不夠大,以及研究團隊分散所無法突破的基本困境。

如何突破此格局,產官學必須思考如何加入國際大廠的研發團隊,因為在中文世界,繁體及簡體只要一按翻譯就完成,但台灣的中文網路、書籍等文本,均不受政治干擾,此大數據資料會比中國簡體字系統來得公正且正確。另一方面台灣對中文的文言文及現代語言的認知能耐,並不輸給中國,此正是美國大廠所無法擁有的優勢,若我們集中在文言文及現代中文領域發揮,而讓國際大廠負責全球語系經營,如此開發出來的自然語言服務體系就可能遠勝中國。

更重要的是台灣成大團隊已研發出突破100 E等級之超級電腦的設計,而且台灣軟體人才的成本相對低廉,只要政府願意出面整合,來和國際大廠談判,因掌握計算力突破、中文語境的成熟度、以及低成本優勢。如此我們押注誰,誰就能最終勝出,這種國際合作大戰略才是台灣掌握中文話語權的最大契機。

資料來源:Newtalk新聞 科技 黃吉川